proxsuite-nlp
0.10.0
A primal-dual augmented Lagrangian-type solver for nonlinear programming on manifolds.
|
#include <proxsuite-nlp/workspace.hpp>
Public Types | |
using | Problem = ProblemTpl<Scalar> |
Public Member Functions | |
WorkspaceTpl (const Problem &prob, LDLTChoice ldlt_choice=LDLTChoice::DENSE) | |
void | init (const Problem &prob) |
Public Attributes | |
Scalar | |
long | nx |
Newton iteration variables. | |
long | ndx |
std::size_t | numblocks |
long | numdual |
MatrixXs | kkt_matrix |
KKT iteration matrix. | |
VectorXs | kkt_rhs |
KKT iteration right-hand side. | |
VectorXs | kkt_rhs_corr |
Correction for the kkt matrix. | |
VectorXs | kkt_err |
KKT linear system error (for refinement) | |
VectorXs | pd_step |
Primal-dual step \(\delta w = (\delta x, \delta\lambda)\). | |
VectorRef | prim_step |
VectorRef | dual_step |
Eigen::VectorXi | signature |
Signature of the KKT matrix. | |
LDLTVariant< Scalar > | ldlt_ |
LDLT storage. | |
VectorXs | x_prev |
VectorXs | x_trial |
VectorXs | data_lams_prev |
VectorXs | data_lams_trial |
VectorOfRef | lams_prev |
VectorOfRef | lams_trial |
VectorXs | prox_grad |
MatrixXs | prox_hess |
VectorXs | dual_residual |
Residuals. | |
VectorXs | data_cstr_values |
std::vector< VectorRef > | cstr_values |
Values of each constraint. | |
Scalar | objective_value |
Objective value. | |
VectorXs | objective_gradient |
Objective function gradient. | |
MatrixXs | objective_hessian |
Objective function Hessian. | |
VectorXs | merit_gradient |
Merit function gradient. | |
VectorXs | merit_dual_gradient |
Merit function gradient in the dual variables (if applicable) | |
MatrixXs | data_jacobians |
MatrixXs | data_hessians |
MatrixXs | data_jacobians_proj |
std::vector< MatrixRef > | cstr_jacobians |
std::vector< MatrixRef > | cstr_vector_hessian_prod |
std::vector< MatrixRef > | cstr_jacobians_proj |
VectorXs | data_shift_cstr_values |
VectorXs | data_lams_plus |
VectorXs | data_lams_plus_reproj |
VectorXs | data_lams_pdal |
VectorXs | data_lams_pdal_reproj |
VectorXs | data_shift_cstr_pdal |
std::vector< VectorRef > | lams_plus |
First-order multipliers \(\mathrm{proj}(\lambda_e + c / \mu)\). | |
std::vector< VectorRef > | lams_plus_reproj |
Product of the projector Jacobians with the first-order multipliers. | |
std::vector< VectorRef > | shift_cstr_values |
Buffer for shifted constraints. | |
std::vector< VectorRef > | lams_pdal |
Primal-dual multiplier estimates (from the pdBCL algorithm) | |
std::vector< VectorRef > | lams_pdal_reproj |
std::vector< VectorRef > | shift_cstr_pdal |
std::vector< Scalar > | ls_alphas |
std::vector< Scalar > | ls_values |
Scalar | alpha_opt |
Optimal linesearch \(\alpha^\star\). | |
Scalar | dmerit_dir = 0. |
Merit function derivative in descent direction. | |
VectorXs | tmp_dx_scaled |
Workspace class, which holds the necessary intermediary data for the solver to function.
Definition at line 25 of file workspace.hpp.
using proxsuite::nlp::WorkspaceTpl< Scalar >::Problem = ProblemTpl<Scalar> |
Definition at line 30 of file workspace.hpp.
|
inline |
Definition at line 123 of file workspace.hpp.
|
inline |
Definition at line 143 of file workspace.hpp.
proxsuite::nlp::WorkspaceTpl< Scalar >::Scalar |
Definition at line 29 of file workspace.hpp.
long proxsuite::nlp::WorkspaceTpl< Scalar >::nx |
Newton iteration variables.
Definition at line 34 of file workspace.hpp.
long proxsuite::nlp::WorkspaceTpl< Scalar >::ndx |
Definition at line 35 of file workspace.hpp.
std::size_t proxsuite::nlp::WorkspaceTpl< Scalar >::numblocks |
Definition at line 36 of file workspace.hpp.
long proxsuite::nlp::WorkspaceTpl< Scalar >::numdual |
Definition at line 37 of file workspace.hpp.
MatrixXs proxsuite::nlp::WorkspaceTpl< Scalar >::kkt_matrix |
KKT iteration matrix.
Definition at line 40 of file workspace.hpp.
VectorXs proxsuite::nlp::WorkspaceTpl< Scalar >::kkt_rhs |
KKT iteration right-hand side.
Definition at line 42 of file workspace.hpp.
VectorXs proxsuite::nlp::WorkspaceTpl< Scalar >::kkt_rhs_corr |
Correction for the kkt matrix.
Definition at line 44 of file workspace.hpp.
VectorXs proxsuite::nlp::WorkspaceTpl< Scalar >::kkt_err |
KKT linear system error (for refinement)
Definition at line 46 of file workspace.hpp.
VectorXs proxsuite::nlp::WorkspaceTpl< Scalar >::pd_step |
Primal-dual step \(\delta w = (\delta x, \delta\lambda)\).
Definition at line 48 of file workspace.hpp.
VectorRef proxsuite::nlp::WorkspaceTpl< Scalar >::prim_step |
Definition at line 49 of file workspace.hpp.
VectorRef proxsuite::nlp::WorkspaceTpl< Scalar >::dual_step |
Definition at line 50 of file workspace.hpp.
Eigen::VectorXi proxsuite::nlp::WorkspaceTpl< Scalar >::signature |
Signature of the KKT matrix.
Definition at line 52 of file workspace.hpp.
LDLTVariant<Scalar> proxsuite::nlp::WorkspaceTpl< Scalar >::ldlt_ |
LDLT storage.
Definition at line 55 of file workspace.hpp.
VectorXs proxsuite::nlp::WorkspaceTpl< Scalar >::x_prev |
Definition at line 59 of file workspace.hpp.
VectorXs proxsuite::nlp::WorkspaceTpl< Scalar >::x_trial |
Definition at line 60 of file workspace.hpp.
VectorXs proxsuite::nlp::WorkspaceTpl< Scalar >::data_lams_prev |
Definition at line 61 of file workspace.hpp.
VectorXs proxsuite::nlp::WorkspaceTpl< Scalar >::data_lams_trial |
Definition at line 62 of file workspace.hpp.
VectorOfRef proxsuite::nlp::WorkspaceTpl< Scalar >::lams_prev |
Definition at line 63 of file workspace.hpp.
VectorOfRef proxsuite::nlp::WorkspaceTpl< Scalar >::lams_trial |
Definition at line 64 of file workspace.hpp.
VectorXs proxsuite::nlp::WorkspaceTpl< Scalar >::prox_grad |
Definition at line 66 of file workspace.hpp.
MatrixXs proxsuite::nlp::WorkspaceTpl< Scalar >::prox_hess |
Definition at line 67 of file workspace.hpp.
VectorXs proxsuite::nlp::WorkspaceTpl< Scalar >::dual_residual |
Residuals.
Dual residual: gradient of the Lagrangian function
Definition at line 72 of file workspace.hpp.
VectorXs proxsuite::nlp::WorkspaceTpl< Scalar >::data_cstr_values |
Definition at line 74 of file workspace.hpp.
std::vector<VectorRef> proxsuite::nlp::WorkspaceTpl< Scalar >::cstr_values |
Values of each constraint.
Definition at line 76 of file workspace.hpp.
Scalar proxsuite::nlp::WorkspaceTpl< Scalar >::objective_value |
Objective value.
Definition at line 79 of file workspace.hpp.
VectorXs proxsuite::nlp::WorkspaceTpl< Scalar >::objective_gradient |
Objective function gradient.
Definition at line 81 of file workspace.hpp.
MatrixXs proxsuite::nlp::WorkspaceTpl< Scalar >::objective_hessian |
Objective function Hessian.
Definition at line 83 of file workspace.hpp.
VectorXs proxsuite::nlp::WorkspaceTpl< Scalar >::merit_gradient |
Merit function gradient.
Definition at line 85 of file workspace.hpp.
VectorXs proxsuite::nlp::WorkspaceTpl< Scalar >::merit_dual_gradient |
Merit function gradient in the dual variables (if applicable)
Definition at line 87 of file workspace.hpp.
MatrixXs proxsuite::nlp::WorkspaceTpl< Scalar >::data_jacobians |
Definition at line 89 of file workspace.hpp.
MatrixXs proxsuite::nlp::WorkspaceTpl< Scalar >::data_hessians |
Definition at line 90 of file workspace.hpp.
MatrixXs proxsuite::nlp::WorkspaceTpl< Scalar >::data_jacobians_proj |
Definition at line 91 of file workspace.hpp.
std::vector<MatrixRef> proxsuite::nlp::WorkspaceTpl< Scalar >::cstr_jacobians |
Definition at line 92 of file workspace.hpp.
std::vector<MatrixRef> proxsuite::nlp::WorkspaceTpl< Scalar >::cstr_vector_hessian_prod |
Definition at line 93 of file workspace.hpp.
std::vector<MatrixRef> proxsuite::nlp::WorkspaceTpl< Scalar >::cstr_jacobians_proj |
Definition at line 94 of file workspace.hpp.
VectorXs proxsuite::nlp::WorkspaceTpl< Scalar >::data_shift_cstr_values |
Definition at line 96 of file workspace.hpp.
VectorXs proxsuite::nlp::WorkspaceTpl< Scalar >::data_lams_plus |
Definition at line 97 of file workspace.hpp.
VectorXs proxsuite::nlp::WorkspaceTpl< Scalar >::data_lams_plus_reproj |
Definition at line 98 of file workspace.hpp.
VectorXs proxsuite::nlp::WorkspaceTpl< Scalar >::data_lams_pdal |
Definition at line 99 of file workspace.hpp.
VectorXs proxsuite::nlp::WorkspaceTpl< Scalar >::data_lams_pdal_reproj |
Definition at line 100 of file workspace.hpp.
VectorXs proxsuite::nlp::WorkspaceTpl< Scalar >::data_shift_cstr_pdal |
Definition at line 101 of file workspace.hpp.
std::vector<VectorRef> proxsuite::nlp::WorkspaceTpl< Scalar >::lams_plus |
First-order multipliers \(\mathrm{proj}(\lambda_e + c / \mu)\).
Definition at line 104 of file workspace.hpp.
std::vector<VectorRef> proxsuite::nlp::WorkspaceTpl< Scalar >::lams_plus_reproj |
Product of the projector Jacobians with the first-order multipliers.
Definition at line 106 of file workspace.hpp.
std::vector<VectorRef> proxsuite::nlp::WorkspaceTpl< Scalar >::shift_cstr_values |
Buffer for shifted constraints.
Definition at line 108 of file workspace.hpp.
std::vector<VectorRef> proxsuite::nlp::WorkspaceTpl< Scalar >::lams_pdal |
Primal-dual multiplier estimates (from the pdBCL algorithm)
Definition at line 110 of file workspace.hpp.
std::vector<VectorRef> proxsuite::nlp::WorkspaceTpl< Scalar >::lams_pdal_reproj |
Definition at line 111 of file workspace.hpp.
std::vector<VectorRef> proxsuite::nlp::WorkspaceTpl< Scalar >::shift_cstr_pdal |
Definition at line 112 of file workspace.hpp.
std::vector<Scalar> proxsuite::nlp::WorkspaceTpl< Scalar >::ls_alphas |
Definition at line 114 of file workspace.hpp.
std::vector<Scalar> proxsuite::nlp::WorkspaceTpl< Scalar >::ls_values |
Definition at line 115 of file workspace.hpp.
Scalar proxsuite::nlp::WorkspaceTpl< Scalar >::alpha_opt |
Optimal linesearch \(\alpha^\star\).
Definition at line 117 of file workspace.hpp.
Scalar proxsuite::nlp::WorkspaceTpl< Scalar >::dmerit_dir = 0. |
Merit function derivative in descent direction.
Definition at line 119 of file workspace.hpp.
VectorXs proxsuite::nlp::WorkspaceTpl< Scalar >::tmp_dx_scaled |
Definition at line 121 of file workspace.hpp.