- 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 |