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 |