aligator
0.10.0
A primal-dual augmented Lagrangian-type solver for nonlinear trajectory optimization.
|
Workspace for solver SolverProxDDP. More...
#include <aligator/solvers/proxddp/workspace.hpp>
Public Types | |
using | StageModel = StageModelTpl<Scalar> |
using | Base = WorkspaceBaseTpl<Scalar> |
using | VecBool = Eigen::Matrix<bool, Eigen::Dynamic, 1> |
using | KnotType = gar::LQRKnotTpl<Scalar> |
using | ConstraintSetProduct = proxsuite::nlp::ConstraintSetProductTpl<Scalar> |
using | BlkJacobianType = BlkMatrix<MatrixXs, -1, 2> |
using | LQRProblemType = gar::LQRProblemTpl<Scalar> |
Public Member Functions | |
ALIGATOR_DYNAMIC_TYPEDEFS (Scalar) | |
WorkspaceTpl () | |
WorkspaceTpl (const TrajOptProblemTpl< Scalar > &problem) | |
WorkspaceTpl (const WorkspaceTpl &)=delete | |
WorkspaceTpl & | operator= (const WorkspaceTpl &)=delete |
WorkspaceTpl (WorkspaceTpl &&)=default | |
WorkspaceTpl & | operator= (WorkspaceTpl &&)=default |
void | cycleAppend (const TrajOptProblemTpl< Scalar > &problem, shared_ptr< StageDataTpl< Scalar > > data) |
Public Member Functions inherited from aligator::WorkspaceBaseTpl< Scalar > | |
ALIGATOR_DYNAMIC_TYPEDEFS (Scalar) | |
WorkspaceBaseTpl () | |
WorkspaceBaseTpl (const TrajOptProblemTpl< Scalar > &problem) | |
~WorkspaceBaseTpl ()=default | |
bool | isInitialized () const |
void | cycleLeft () |
Cycle the workspace data to the left. | |
void | cycleAppend (shared_ptr< StageDataTpl< Scalar > > data) |
Same as cycleLeft(), but add a StageDataTpl to problem_data. | |
Public Attributes | |
LQRProblemType::KnotVector | knots |
gar::LQRProblemTpl< Scalar > | lqr_problem |
std::vector< VectorXs > | shifted_constraints |
Shifted constraints the projection operators should be applied to. | |
std::vector< VectorXs > | cstr_lx_corr |
std::vector< VectorXs > | cstr_lu_corr |
std::vector< BlkJacobianType > | cstr_proj_jacs |
Projected path constraint Jacobians (used to symmetrize the LQ subproblem) | |
std::vector< VecBool > | active_constraints |
Masks for active constraint sets. | |
std::vector< ConstraintSetProduct > | cstr_product_sets |
Cartesian products of the constraint sets of each stage. | |
VectorXs | stage_inner_crits |
Subproblem termination criterion for each stage. | |
VectorXs | stage_cstr_violations |
Constraint violation measures for each stage and constraint. | |
std::vector< VectorXs > | stage_infeasibilities |
Stagewise infeasibilities. | |
VectorXs | state_dual_infeas |
Dual infeasibility in the states for each stage of the problem. | |
VectorXs | control_dual_infeas |
Dual infeasibility in the controls for each stage of the problem. | |
Scalar | inner_criterion = 0. |
Overall subproblem termination criterion. | |
std::vector< VectorXs > | dyn_slacks |
Dynamical infeasibility gaps. | |
std::size_t | nsteps |
Number of steps in the problem. | |
TrajOptDataTpl< Scalar > | problem_data |
Problem data. | |
Lagrangian Gradients | |
std::vector< VectorXs > | Lxs |
std::vector< VectorXs > | Lus |
std::vector< VectorXs > | Lvs |
std::vector< VectorXs > | Lds |
Trial primal-dual step | |
std::vector< VectorXs > | trial_vs |
std::vector< VectorXs > | trial_lams |
std::vector< VectorXs > | trial_us |
std::vector< VectorXs > | trial_xs |
Lagrange multipliers. | |
std::vector< VectorXs > | lams_plus |
std::vector< VectorXs > | lams_pdal |
std::vector< VectorXs > | vs_plus |
std::vector< VectorXs > | vs_pdal |
Primal-dual steps | |
std::vector< VectorXs > | dxs |
std::vector< VectorXs > | dus |
std::vector< VectorXs > | dvs |
std::vector< VectorXs > | dlams |
Previous external/proximal iterates | |
std::vector< VectorXs > | prev_xs |
std::vector< VectorXs > | prev_us |
std::vector< VectorXs > | prev_vs |
std::vector< VectorXs > | prev_lams |
Public Attributes inherited from aligator::WorkspaceBaseTpl< Scalar > | |
std::size_t | nsteps |
Number of steps in the problem. | |
TrajOptDataTpl< Scalar > | problem_data |
Problem data. | |
std::vector< VectorXs > | dyn_slacks |
Dynamical infeasibility gaps. | |
std::vector< VectorXs > | trial_xs |
std::vector< VectorXs > | trial_us |
Friends | |
template<typename T > | |
std::ostream & | operator<< (std::ostream &oss, const WorkspaceTpl< T > &self) |
Additional Inherited Members | |
Protected Attributes inherited from aligator::WorkspaceBaseTpl< Scalar > | |
bool | m_isInitialized |
Workspace for solver SolverProxDDP.
This struct holds data for the Riccati forward and backward passes, the primal-dual steps, problem data...
Definition at line 28 of file workspace.hpp.
using aligator::WorkspaceTpl< Scalar >::StageModel = StageModelTpl<Scalar> |
Definition at line 30 of file workspace.hpp.
using aligator::WorkspaceTpl< Scalar >::Base = WorkspaceBaseTpl<Scalar> |
Definition at line 31 of file workspace.hpp.
using aligator::WorkspaceTpl< Scalar >::VecBool = Eigen::Matrix<bool, Eigen::Dynamic, 1> |
Definition at line 32 of file workspace.hpp.
using aligator::WorkspaceTpl< Scalar >::KnotType = gar::LQRKnotTpl<Scalar> |
Definition at line 33 of file workspace.hpp.
using aligator::WorkspaceTpl< Scalar >::ConstraintSetProduct = proxsuite::nlp::ConstraintSetProductTpl<Scalar> |
Definition at line 34 of file workspace.hpp.
using aligator::WorkspaceTpl< Scalar >::BlkJacobianType = BlkMatrix<MatrixXs, -1, 2> |
Definition at line 35 of file workspace.hpp.
using aligator::WorkspaceTpl< Scalar >::LQRProblemType = gar::LQRProblemTpl<Scalar> |
Definition at line 36 of file workspace.hpp.
|
inline |
Definition at line 109 of file workspace.hpp.
aligator::WorkspaceTpl< Scalar >::WorkspaceTpl | ( | const TrajOptProblemTpl< Scalar > & | problem | ) |
|
delete |
|
default |
aligator::WorkspaceTpl< Scalar >::ALIGATOR_DYNAMIC_TYPEDEFS | ( | Scalar | ) |
|
delete |
|
default |
void aligator::WorkspaceTpl< Scalar >::cycleAppend | ( | const TrajOptProblemTpl< Scalar > & | problem, |
shared_ptr< StageDataTpl< Scalar > > | data ) |
|
friend |
LQRProblemType::KnotVector aligator::WorkspaceTpl< Scalar >::knots |
Definition at line 42 of file workspace.hpp.
gar::LQRProblemTpl<Scalar> aligator::WorkspaceTpl< Scalar >::lqr_problem |
Definition at line 43 of file workspace.hpp.
std::vector<VectorXs> aligator::WorkspaceTpl< Scalar >::Lxs |
Definition at line 47 of file workspace.hpp.
std::vector<VectorXs> aligator::WorkspaceTpl< Scalar >::Lus |
Definition at line 48 of file workspace.hpp.
std::vector<VectorXs> aligator::WorkspaceTpl< Scalar >::Lvs |
Definition at line 49 of file workspace.hpp.
std::vector<VectorXs> aligator::WorkspaceTpl< Scalar >::Lds |
Definition at line 50 of file workspace.hpp.
std::vector<VectorXs> aligator::WorkspaceTpl< Scalar >::trial_vs |
Definition at line 57 of file workspace.hpp.
std::vector<VectorXs> aligator::WorkspaceTpl< Scalar >::trial_lams |
Definition at line 58 of file workspace.hpp.
std::vector<VectorXs> aligator::WorkspaceTpl< Scalar >::lams_plus |
Definition at line 63 of file workspace.hpp.
std::vector<VectorXs> aligator::WorkspaceTpl< Scalar >::lams_pdal |
Definition at line 64 of file workspace.hpp.
std::vector<VectorXs> aligator::WorkspaceTpl< Scalar >::vs_plus |
Definition at line 65 of file workspace.hpp.
std::vector<VectorXs> aligator::WorkspaceTpl< Scalar >::vs_pdal |
Definition at line 66 of file workspace.hpp.
std::vector<VectorXs> aligator::WorkspaceTpl< Scalar >::shifted_constraints |
Shifted constraints the projection operators should be applied to.
Definition at line 70 of file workspace.hpp.
std::vector<VectorXs> aligator::WorkspaceTpl< Scalar >::cstr_lx_corr |
Definition at line 71 of file workspace.hpp.
std::vector<VectorXs> aligator::WorkspaceTpl< Scalar >::cstr_lu_corr |
Definition at line 72 of file workspace.hpp.
std::vector<BlkJacobianType> aligator::WorkspaceTpl< Scalar >::cstr_proj_jacs |
Projected path constraint Jacobians (used to symmetrize the LQ subproblem)
Definition at line 74 of file workspace.hpp.
std::vector<VecBool> aligator::WorkspaceTpl< Scalar >::active_constraints |
Masks for active constraint sets.
Definition at line 76 of file workspace.hpp.
std::vector<ConstraintSetProduct> aligator::WorkspaceTpl< Scalar >::cstr_product_sets |
Cartesian products of the constraint sets of each stage.
Definition at line 78 of file workspace.hpp.
std::vector<VectorXs> aligator::WorkspaceTpl< Scalar >::dxs |
Definition at line 82 of file workspace.hpp.
std::vector<VectorXs> aligator::WorkspaceTpl< Scalar >::dus |
Definition at line 83 of file workspace.hpp.
std::vector<VectorXs> aligator::WorkspaceTpl< Scalar >::dvs |
Definition at line 84 of file workspace.hpp.
std::vector<VectorXs> aligator::WorkspaceTpl< Scalar >::dlams |
Definition at line 85 of file workspace.hpp.
std::vector<VectorXs> aligator::WorkspaceTpl< Scalar >::prev_xs |
Definition at line 90 of file workspace.hpp.
std::vector<VectorXs> aligator::WorkspaceTpl< Scalar >::prev_us |
Definition at line 91 of file workspace.hpp.
std::vector<VectorXs> aligator::WorkspaceTpl< Scalar >::prev_vs |
Definition at line 92 of file workspace.hpp.
std::vector<VectorXs> aligator::WorkspaceTpl< Scalar >::prev_lams |
Definition at line 93 of file workspace.hpp.
VectorXs aligator::WorkspaceTpl< Scalar >::stage_inner_crits |
Subproblem termination criterion for each stage.
Definition at line 97 of file workspace.hpp.
VectorXs aligator::WorkspaceTpl< Scalar >::stage_cstr_violations |
Constraint violation measures for each stage and constraint.
Definition at line 99 of file workspace.hpp.
std::vector<VectorXs> aligator::WorkspaceTpl< Scalar >::stage_infeasibilities |
Stagewise infeasibilities.
Definition at line 101 of file workspace.hpp.
VectorXs aligator::WorkspaceTpl< Scalar >::state_dual_infeas |
Dual infeasibility in the states for each stage of the problem.
Definition at line 103 of file workspace.hpp.
VectorXs aligator::WorkspaceTpl< Scalar >::control_dual_infeas |
Dual infeasibility in the controls for each stage of the problem.
Definition at line 105 of file workspace.hpp.
Scalar aligator::WorkspaceTpl< Scalar >::inner_criterion = 0. |
Overall subproblem termination criterion.
Definition at line 107 of file workspace.hpp.
std::vector<VectorXs> aligator::WorkspaceBaseTpl< Scalar >::dyn_slacks |
Dynamical infeasibility gaps.
Definition at line 33 of file workspace-base.hpp.
std::size_t aligator::WorkspaceBaseTpl< Scalar >::nsteps |
Number of steps in the problem.
Definition at line 22 of file workspace-base.hpp.
TrajOptDataTpl<Scalar> aligator::WorkspaceBaseTpl< Scalar >::problem_data |
Problem data.
Definition at line 24 of file workspace-base.hpp.
std::vector<VectorXs> aligator::WorkspaceBaseTpl< Scalar >::trial_us |
Definition at line 29 of file workspace-base.hpp.
std::vector<VectorXs> aligator::WorkspaceBaseTpl< Scalar >::trial_xs |
Definition at line 28 of file workspace-base.hpp.