proxsuite-nlp
0.10.0
A primal-dual augmented Lagrangian-type solver for nonlinear programming on manifolds.
|
Primal-dual augmented Lagrangian-type merit function. More...
#include <proxsuite-nlp/pdal.hpp>
Public Types | |
using | Scalar = _Scalar |
using | Problem = ProblemTpl<Scalar> |
using | Workspace = WorkspaceTpl<Scalar> |
using | ConstraintObject = ConstraintObjectTpl<Scalar> |
Public Member Functions | |
ALMeritFunctionTpl (const Problem &prob, const Scalar &beta) | |
Scalar | evaluate (const ConstVectorRef &x, const std::vector< VectorRef > &lams, Workspace &workspace) const |
void | computeGradient (const std::vector< VectorRef > &lams, Workspace &workspace) const |
Public Attributes | |
Scalar | |
Primal-dual augmented Lagrangian-type merit function.
Primal-dual Augmented Lagrangian function, extending the function from Gill & Robinson (2012) to inequality constraints. For inequality constraints of the form \( c(x) \in \calC \) and an objective function \( f\colon\calX \to \RR \),
\[ \calM_{\mu}(x, \lambda; \lambda_e) = f(x) + \frac{1}{2\mu} \dist(\proj_\calC(c(x) + \mu (\lambda_e - \lambda/2))^2 + \frac{\mu}{4}\|\lambda\|^2. \]
using proxsuite::nlp::ALMeritFunctionTpl< _Scalar >::Scalar = _Scalar |
using proxsuite::nlp::ALMeritFunctionTpl< _Scalar >::Problem = ProblemTpl<Scalar> |
using proxsuite::nlp::ALMeritFunctionTpl< _Scalar >::Workspace = WorkspaceTpl<Scalar> |
using proxsuite::nlp::ALMeritFunctionTpl< _Scalar >::ConstraintObject = ConstraintObjectTpl<Scalar> |
proxsuite::nlp::ALMeritFunctionTpl< _Scalar >::ALMeritFunctionTpl | ( | const Problem & | prob, |
const Scalar & | beta ) |
Scalar proxsuite::nlp::ALMeritFunctionTpl< _Scalar >::evaluate | ( | const ConstVectorRef & | x, |
const std::vector< VectorRef > & | lams, | ||
Workspace & | workspace ) const |
void proxsuite::nlp::ALMeritFunctionTpl< _Scalar >::computeGradient | ( | const std::vector< VectorRef > & | lams, |
Workspace & | workspace ) const |
proxsuite::nlp::ALMeritFunctionTpl< _Scalar >::Scalar |