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

Evaluates the cost at the shots and performs some interpolation in between. More...

#include <CostEvaluatorSimple.h>

Inheritance diagram for ct::optcon::CostEvaluatorSimple< STATE_DIM, CONTROL_DIM, SCALAR >:
ct::optcon::tpl::DiscreteCostEvaluatorBase< SCALAR >

Public Types

typedef DIMENSIONS::state_vector_t state_vector_t
 
typedef DIMENSIONS::control_vector_t control_vector_t
 

Public Member Functions

 CostEvaluatorSimple ()=delete
 
 CostEvaluatorSimple (std::shared_ptr< ct::optcon::CostFunctionQuadratic< STATE_DIM, CONTROL_DIM, SCALAR >> costFct, std::shared_ptr< OptVectorDms< STATE_DIM, CONTROL_DIM, SCALAR >> w, std::shared_ptr< tpl::TimeGrid< SCALAR >> timeGrid, DmsSettings settings)
 Custom constructor. More...
 
 ~CostEvaluatorSimple () override=default
 
SCALAR eval () override
 Evaluates the cost function. More...
 
void evalGradient (size_t grad_length, Eigen::Map< Eigen::Matrix< SCALAR, Eigen::Dynamic, 1 >> &grad) override
 Evaluates the cost gradient. More...
 
- Public Member Functions inherited from ct::optcon::tpl::DiscreteCostEvaluatorBase< SCALAR >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW DiscreteCostEvaluatorBase ()=default
 Default constructor. More...
 
virtual ~DiscreteCostEvaluatorBase ()=default
 Destructor. More...
 
virtual void getSparsityPatternHessian (Eigen::VectorXi &iRow, Eigen::VectorXi &jCol)
 
virtual void sparseHessianValues (const Eigen::VectorXd &optVec, const Eigen::VectorXd &lambda, Eigen::VectorXd &hes)
 Evaluates the cost hessian. More...
 

Public Attributes

EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef DmsDimensions< STATE_DIM, CONTROL_DIM, SCALARDIMENSIONS
 

Detailed Description

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

Evaluates the cost at the shots and performs some interpolation in between.

Template Parameters
STATE_DIMThe state dimension
CONTROL_DIMThe control dimension

Member Typedef Documentation

◆ state_vector_t

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

◆ control_vector_t

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

Constructor & Destructor Documentation

◆ CostEvaluatorSimple() [1/2]

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

◆ CostEvaluatorSimple() [2/2]

template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
ct::optcon::CostEvaluatorSimple< STATE_DIM, CONTROL_DIM, SCALAR >::CostEvaluatorSimple ( std::shared_ptr< ct::optcon::CostFunctionQuadratic< STATE_DIM, CONTROL_DIM, SCALAR >>  costFct,
std::shared_ptr< OptVectorDms< STATE_DIM, CONTROL_DIM, SCALAR >>  w,
std::shared_ptr< tpl::TimeGrid< SCALAR >>  timeGrid,
DmsSettings  settings 
)
inline

◆ ~CostEvaluatorSimple()

template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
ct::optcon::CostEvaluatorSimple< STATE_DIM, CONTROL_DIM, SCALAR >::~CostEvaluatorSimple ( )
overridedefault

Member Function Documentation

◆ eval()

template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR >
SCALAR ct::optcon::CostEvaluatorSimple< STATE_DIM, CONTROL_DIM, SCALAR >::eval ( )
overridevirtual

Evaluates the cost function.

Returns
The evaluates cost function

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

References i, and ct::optcon::DmsSettings::N_.

Referenced by ct::optcon::CostEvaluatorSimple< STATE_DIM, CONTROL_DIM, SCALAR >::CostEvaluatorSimple().

◆ evalGradient()

template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR >
void ct::optcon::CostEvaluatorSimple< STATE_DIM, CONTROL_DIM, SCALAR >::evalGradient ( size_t  grad_length,
Eigen::Map< Eigen::Matrix< SCALAR, Eigen::Dynamic, 1 >> &  grad 
)
overridevirtual

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::CostEvaluatorSimple< STATE_DIM, CONTROL_DIM, SCALAR >::DIMENSIONS

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