![]() |
- 3.0.2 optimal control module.
|
The class takes continuous constraints defined with the constraint toolbox and discretizes them over the DMS shots. These discretized constraints can then be used in the NLP module. More...
#include <ConstraintDiscretizer.h>
Public Types | |
| typedef ct::core::StateVector< STATE_DIM, SCALAR > | state_vector_t |
| typedef ct::core::StateVectorArray< STATE_DIM, SCALAR > | state_vector_array_t |
| typedef ct::core::ControlVector< CONTROL_DIM, SCALAR > | control_vector_t |
| typedef ct::core::ControlVectorArray< CONTROL_DIM, SCALAR > | control_vector_array_t |
| typedef ct::core::tpl::TimeArray< SCALAR > | time_array_t |
| typedef Eigen::Matrix< SCALAR, Eigen::Dynamic, 1 > | VectorXs |
Public Types inherited from ct::optcon::tpl::DiscreteConstraintBase< SCALAR > | |
| using | VectorXs = Eigen::Matrix< SCALAR, Eigen::Dynamic, 1 > |
Public Member Functions | |
| ConstraintDiscretizer ()=default | |
| Default constructor. More... | |
| ~ConstraintDiscretizer () override=default | |
| Destructor. More... | |
| ConstraintDiscretizer (std::shared_ptr< OptVectorDms< STATE_DIM, CONTROL_DIM, SCALAR >> w, std::shared_ptr< SplinerBase< control_vector_t, SCALAR >> controlSpliner, std::shared_ptr< tpl::TimeGrid< SCALAR >> timeGrid, size_t N) | |
| Custom constructor. More... | |
| void | setBoxConstraints (std::shared_ptr< LinearConstraintContainer< STATE_DIM, CONTROL_DIM, SCALAR >> boxConstraints) |
| void | setGeneralConstraints (std::shared_ptr< LinearConstraintContainer< STATE_DIM, CONTROL_DIM, SCALAR >> generalConstraints) |
| VectorXs | eval () override |
| Evaluates the constraint violation. More... | |
| VectorXs | evalSparseJacobian () override |
| Returns the non zero elements of the eval method with respect to the optimization variables. More... | |
| size_t | getNumNonZerosJacobian () override |
| Returns the number of non zero elements of the jacobian. More... | |
| void | genSparsityPattern (Eigen::VectorXi &iRow_vec, Eigen::VectorXi &jCol_vec) override |
| Returns the sparsity structure of the constraint jacobian. More... | |
| VectorXs | getLowerBound () override |
| Returns the lower bound of the constraint. More... | |
| VectorXs | getUpperBound () override |
| Returns the upper bound of the constraint. More... | |
| size_t | getConstraintSize () override |
| Returns size of the constraint vector. More... | |
Public Member Functions inherited from ct::optcon::tpl::DiscreteConstraintBase< SCALAR > | |
| DiscreteConstraintBase ()=default | |
| Default constructor. More... | |
| virtual | ~DiscreteConstraintBase ()=default |
| Destructor. More... | |
| virtual void | genSparsityPatternHessian (Eigen::VectorXi &iRow_vec, Eigen::VectorXi &jCol_vec) |
| Returns the sparsity structure of the constraint hessian. More... | |
| virtual void | sparseHessianValues (const Eigen::VectorXd &optVec, const Eigen::VectorXd &lambda, Eigen::VectorXd &sparseHes) |
| Returns the non zero elements (values) of the Hessian matrix of this constraint. More... | |
| Eigen::VectorXi & | iRowHessian () |
| Eigen::VectorXi & | jColHessian () |
Public Attributes | |
| EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef tpl::DiscreteConstraintBase< SCALAR > | BASE |
Additional Inherited Members | |
Protected Member Functions inherited from ct::optcon::tpl::DiscreteConstraintBase< SCALAR > | |
| size_t | genDiagonalIndices (const size_t col_start, const size_t num_elements, Eigen::VectorXi &iRow_vec, Eigen::VectorXi &jCol_vec, const size_t indexNumber) |
| This method generates Row and Column vectors which indicate the sparsity pattern of the constraint jacobian for a quadratic matrix block containing diagonal entries only. More... | |
| size_t | genBlockIndices (const size_t col_start, const size_t num_rows, const size_t num_cols, Eigen::VectorXi &iRow_vec, Eigen::VectorXi &jCol_vec, const size_t indexNumber) |
| This method generates Row and Column vectors which indicate the sparsity pattern of the constraint jacobian for an arbitrary dense matrix block. More... | |
Protected Attributes inherited from ct::optcon::tpl::DiscreteConstraintBase< SCALAR > | |
| Eigen::VectorXi | iRowHessian_ |
| Eigen::VectorXi | jColHessian_ |
The class takes continuous constraints defined with the constraint toolbox and discretizes them over the DMS shots. These discretized constraints can then be used in the NLP module.
| STATE_DIM | The state dimension |
| CONTROL_DIM | The input dimension |
| typedef ct::core::StateVector<STATE_DIM, SCALAR> ct::optcon::ConstraintDiscretizer< STATE_DIM, CONTROL_DIM, SCALAR >::state_vector_t |
| typedef ct::core::StateVectorArray<STATE_DIM, SCALAR> ct::optcon::ConstraintDiscretizer< STATE_DIM, CONTROL_DIM, SCALAR >::state_vector_array_t |
| typedef ct::core::ControlVector<CONTROL_DIM, SCALAR> ct::optcon::ConstraintDiscretizer< STATE_DIM, CONTROL_DIM, SCALAR >::control_vector_t |
| typedef ct::core::ControlVectorArray<CONTROL_DIM, SCALAR> ct::optcon::ConstraintDiscretizer< STATE_DIM, CONTROL_DIM, SCALAR >::control_vector_array_t |
| typedef ct::core::tpl::TimeArray<SCALAR> ct::optcon::ConstraintDiscretizer< STATE_DIM, CONTROL_DIM, SCALAR >::time_array_t |
| typedef Eigen::Matrix<SCALAR, Eigen::Dynamic, 1> ct::optcon::ConstraintDiscretizer< STATE_DIM, CONTROL_DIM, SCALAR >::VectorXs |
|
default |
Default constructor.
|
overridedefault |
Destructor.
|
inline |
Custom constructor.
| [in] | w | The optimization variables |
| [in] | c_continuous | The continuous constraints |
| [in] | activeInd | A vector defining at which shots the constraint is active |
|
inline |
|
inline |
|
inlineoverridevirtual |
Evaluates the constraint violation.
Implements ct::optcon::tpl::DiscreteConstraintBase< SCALAR >.
References n.
|
inlineoverridevirtual |
Returns the non zero elements of the eval method with respect to the optimization variables.
Implements ct::optcon::tpl::DiscreteConstraintBase< SCALAR >.
References n.
|
inlineoverridevirtual |
Returns the number of non zero elements of the jacobian.
Implements ct::optcon::tpl::DiscreteConstraintBase< SCALAR >.
|
inlineoverridevirtual |
Returns the sparsity structure of the constraint jacobian.
| [out] | iRow_vec | A vector containing the row indices of the non zero elements of the constraint jacobian |
| [out] | jCol_vec | A vector containing the column indices of the non zero elements of the constraint jacobian |
Implements ct::optcon::tpl::DiscreteConstraintBase< SCALAR >.
References n.
|
inlineoverridevirtual |
Returns the lower bound of the constraint.
Implements ct::optcon::tpl::DiscreteConstraintBase< SCALAR >.
References n.
|
inlineoverridevirtual |
Returns the upper bound of the constraint.
Implements ct::optcon::tpl::DiscreteConstraintBase< SCALAR >.
References n.
|
inlineoverridevirtual |
Returns size of the constraint vector.
Implements ct::optcon::tpl::DiscreteConstraintBase< SCALAR >.
| EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef tpl::DiscreteConstraintBase<SCALAR> ct::optcon::ConstraintDiscretizer< STATE_DIM, CONTROL_DIM, SCALAR >::BASE |