- 3.0.2 optimal control module.
ct::optcon::InitStateConstraint< STATE_DIM, CONTROL_DIM, SCALAR > Class Template Reference

The implementation of the DMS initial state constraint. More...

#include <InitStateConstraint.h>

Inheritance diagram for ct::optcon::InitStateConstraint< STATE_DIM, CONTROL_DIM, SCALAR >:
ct::optcon::tpl::DiscreteConstraintBase< SCALAR >

Public Types

typedef tpl::DiscreteConstraintBase< SCALARBASE
 
typedef DIMENSIONS::state_vector_t state_vector_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

 InitStateConstraint ()=default
 Default constructor. More...
 
 InitStateConstraint (const state_vector_t &x0, std::shared_ptr< OptVectorDms< STATE_DIM, CONTROL_DIM, SCALAR >> w)
 Custom constructor. More...
 
void updateConstraint (const state_vector_t &x0)
 Updates the constraint. More...
 
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 DmsDimensions< STATE_DIM, CONTROL_DIM, SCALARDIMENSIONS
 

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_
 

Detailed Description

template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
class ct::optcon::InitStateConstraint< STATE_DIM, CONTROL_DIM, SCALAR >

The implementation of the DMS initial state constraint.

Template Parameters
STATE_DIMThe state dimension
CONTROL_DIMThe input dimension

Member Typedef Documentation

◆ BASE

template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
typedef tpl::DiscreteConstraintBase<SCALAR> ct::optcon::InitStateConstraint< STATE_DIM, CONTROL_DIM, SCALAR >::BASE

◆ state_vector_t

template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
typedef DIMENSIONS::state_vector_t ct::optcon::InitStateConstraint< STATE_DIM, CONTROL_DIM, SCALAR >::state_vector_t

◆ VectorXs

template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
typedef Eigen::Matrix<SCALAR, Eigen::Dynamic, 1> ct::optcon::InitStateConstraint< STATE_DIM, CONTROL_DIM, SCALAR >::VectorXs

Constructor & Destructor Documentation

◆ InitStateConstraint() [1/2]

template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
ct::optcon::InitStateConstraint< STATE_DIM, CONTROL_DIM, SCALAR >::InitStateConstraint ( )
default

Default constructor.

◆ InitStateConstraint() [2/2]

template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
ct::optcon::InitStateConstraint< STATE_DIM, CONTROL_DIM, SCALAR >::InitStateConstraint ( const state_vector_t x0,
std::shared_ptr< OptVectorDms< STATE_DIM, CONTROL_DIM, SCALAR >>  w 
)
inline

Custom constructor.

Parameters
[in]x0The initial state
[in]wThe optimization variables

Member Function Documentation

◆ updateConstraint()

template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
void ct::optcon::InitStateConstraint< STATE_DIM, CONTROL_DIM, SCALAR >::updateConstraint ( const state_vector_t x0)
inline

Updates the constraint.

Parameters
[in]x0The new initial state

References x0.

◆ eval()

template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
VectorXs ct::optcon::InitStateConstraint< STATE_DIM, CONTROL_DIM, SCALAR >::eval ( )
inlineoverridevirtual

Evaluates the constraint violation.

Returns
A vector of the evaluated constraint violation

Implements ct::optcon::tpl::DiscreteConstraintBase< SCALAR >.

◆ evalSparseJacobian()

template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
VectorXs ct::optcon::InitStateConstraint< STATE_DIM, CONTROL_DIM, SCALAR >::evalSparseJacobian ( )
inlineoverridevirtual

Returns the non zero elements of the eval method with respect to the optimization variables.

Returns
A vector of the non zero elements of the constraint jacobian

Implements ct::optcon::tpl::DiscreteConstraintBase< SCALAR >.

◆ getNumNonZerosJacobian()

template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
size_t ct::optcon::InitStateConstraint< STATE_DIM, CONTROL_DIM, SCALAR >::getNumNonZerosJacobian ( )
inlineoverridevirtual

Returns the number of non zero elements of the jacobian.

Returns
The number of non zero elements of the jacobian (which should be equal to the return value of evalSparseJacobian)

Implements ct::optcon::tpl::DiscreteConstraintBase< SCALAR >.

◆ genSparsityPattern()

template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
void ct::optcon::InitStateConstraint< STATE_DIM, CONTROL_DIM, SCALAR >::genSparsityPattern ( Eigen::VectorXi &  iRow_vec,
Eigen::VectorXi &  jCol_vec 
)
inlineoverridevirtual

Returns the sparsity structure of the constraint jacobian.

Parameters
[out]iRow_vecA vector containing the row indices of the non zero elements of the constraint jacobian
[out]jCol_vecA vector containing the column indices of the non zero elements of the constraint jacobian

Implements ct::optcon::tpl::DiscreteConstraintBase< SCALAR >.

References ct::optcon::tpl::DiscreteConstraintBase< SCALAR >::genDiagonalIndices().

◆ getLowerBound()

template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
VectorXs ct::optcon::InitStateConstraint< STATE_DIM, CONTROL_DIM, SCALAR >::getLowerBound ( )
inlineoverridevirtual

Returns the lower bound of the constraint.

Returns
The lower constraint bound

Implements ct::optcon::tpl::DiscreteConstraintBase< SCALAR >.

◆ getUpperBound()

template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
VectorXs ct::optcon::InitStateConstraint< STATE_DIM, CONTROL_DIM, SCALAR >::getUpperBound ( )
inlineoverridevirtual

Returns the upper bound of the constraint.

Returns
The upper constraint bound

Implements ct::optcon::tpl::DiscreteConstraintBase< SCALAR >.

◆ getConstraintSize()

template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
size_t ct::optcon::InitStateConstraint< STATE_DIM, CONTROL_DIM, SCALAR >::getConstraintSize ( )
inlineoverridevirtual

Returns size of the constraint vector.

Returns
The size of the constraint vector (should be equal to the size of the return value of the eval method)

Implements ct::optcon::tpl::DiscreteConstraintBase< SCALAR >.

Member Data Documentation

◆ DIMENSIONS

template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef DmsDimensions<STATE_DIM, CONTROL_DIM, SCALAR> ct::optcon::InitStateConstraint< STATE_DIM, CONTROL_DIM, SCALAR >::DIMENSIONS

The documentation for this class was generated from the following file: