proxsuite-nlp
0.10.0
A primal-dual augmented Lagrangian-type solver for nonlinear programming on manifolds.
|
#include <proxsuite-nlp/problem-base.hpp>
Public Types | |
using | Scalar = _Scalar |
using | ConstraintObject = ConstraintObjectTpl<Scalar> |
Generic constraint type. | |
using | CostType = CostFunctionBaseTpl<Scalar> |
Cost function type. | |
using | Manifold = ManifoldAbstractTpl<Scalar> |
using | Workspace = WorkspaceTpl<Scalar> |
Public Member Functions | |
const CostType & | cost () const |
const Manifold & | manifold () const |
template<class U > | |
ProblemTpl (U &&manifold, shared_ptr< CostType > cost, const std::vector< ConstraintObject > &constraints={}) | |
const ConstraintObject & | getConstraint (const std::size_t &i) const |
Get a pointer to the \(i\)-th constraint pointer. | |
std::size_t | getNumConstraints () const |
Get the number of constraint blocks. | |
int | getTotalConstraintDim () const |
int | getConstraintDim (std::size_t i) const |
Get dimension of constraint i . | |
int | nx () const |
int | ndx () const |
template<typename T > | |
void | addConstraint (T &&cstr) |
Add a constraint to the problem, after initialization. | |
auto | getSegment (VectorXs &x, std::size_t i) const |
auto | getConstSegment (const VectorXs &x, std::size_t i) const |
std::vector< int > | getIndices () const |
int | getIndex (std::size_t i) const |
void | evaluate (const ConstVectorRef &x, Workspace &workspace) const |
void | computeDerivatives (const ConstVectorRef &x, Workspace &workspace) const |
void | computeHessians (const ConstVectorRef &x, Workspace &workspace, bool evaluate_all_constraint_hessians=false) const |
Public Attributes | |
Scalar | |
polymorphic< Manifold > | manifold_ |
The working manifold \(M\). | |
shared_ptr< CostType > | cost_ |
The cost function. | |
std::vector< ConstraintObject > | constraints_ |
The set of constraints. | |
Protected Member Functions | |
void | reset_constraint_dim_vars () |
Set values of const data members for constraint dimensions. | |
Protected Attributes | |
int | nc_total_ |
Total number of constraints. | |
std::vector< int > | ncs_ |
std::vector< int > | indices_ |
Definition at line 12 of file problem-base.hpp.
using proxsuite::nlp::ProblemTpl< _Scalar >::Scalar = _Scalar |
Definition at line 14 of file problem-base.hpp.
using proxsuite::nlp::ProblemTpl< _Scalar >::ConstraintObject = ConstraintObjectTpl<Scalar> |
Generic constraint type.
Definition at line 18 of file problem-base.hpp.
using proxsuite::nlp::ProblemTpl< _Scalar >::CostType = CostFunctionBaseTpl<Scalar> |
Cost function type.
Definition at line 20 of file problem-base.hpp.
using proxsuite::nlp::ProblemTpl< _Scalar >::Manifold = ManifoldAbstractTpl<Scalar> |
Definition at line 21 of file problem-base.hpp.
using proxsuite::nlp::ProblemTpl< _Scalar >::Workspace = WorkspaceTpl<Scalar> |
Definition at line 22 of file problem-base.hpp.
|
inline |
Definition at line 35 of file problem-base.hpp.
|
inline |
Definition at line 31 of file problem-base.hpp.
|
inline |
Definition at line 32 of file problem-base.hpp.
|
inline |
Get a pointer to the \(i\)-th constraint pointer.
Definition at line 43 of file problem-base.hpp.
|
inline |
Get the number of constraint blocks.
Definition at line 48 of file problem-base.hpp.
|
inline |
Definition at line 50 of file problem-base.hpp.
|
inline |
Get dimension of constraint i
.
Definition at line 53 of file problem-base.hpp.
|
inline |
Definition at line 55 of file problem-base.hpp.
|
inline |
Definition at line 56 of file problem-base.hpp.
|
inline |
Add a constraint to the problem, after initialization.
Definition at line 59 of file problem-base.hpp.
|
inline |
Definition at line 64 of file problem-base.hpp.
|
inline |
Definition at line 68 of file problem-base.hpp.
|
inline |
Definition at line 72 of file problem-base.hpp.
|
inline |
Definition at line 74 of file problem-base.hpp.
|
inline |
Definition at line 76 of file problem-base.hpp.
|
inline |
Definition at line 85 of file problem-base.hpp.
|
inline |
Definition at line 94 of file problem-base.hpp.
|
inlineprotected |
Set values of const data members for constraint dimensions.
Definition at line 114 of file problem-base.hpp.
proxsuite::nlp::ProblemTpl< _Scalar >::Scalar |
Definition at line 15 of file problem-base.hpp.
polymorphic<Manifold> proxsuite::nlp::ProblemTpl< _Scalar >::manifold_ |
The working manifold \(M\).
Definition at line 25 of file problem-base.hpp.
shared_ptr<CostType> proxsuite::nlp::ProblemTpl< _Scalar >::cost_ |
The cost function.
Definition at line 27 of file problem-base.hpp.
std::vector<ConstraintObject> proxsuite::nlp::ProblemTpl< _Scalar >::constraints_ |
The set of constraints.
Definition at line 29 of file problem-base.hpp.
|
protected |
Total number of constraints.
Definition at line 109 of file problem-base.hpp.
|
protected |
Definition at line 110 of file problem-base.hpp.
|
protected |
Definition at line 111 of file problem-base.hpp.