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

Performs the full cost integration over the shots. More...

#include <CostEvaluatorFull.h>

Inheritance diagram for ct::optcon::CostEvaluatorFull< 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
 
typedef DIMENSIONS::state_vector_array_t state_vector_array_t
 
typedef DIMENSIONS::control_vector_array_t control_vector_array_t
 
typedef DIMENSIONS::time_array_t time_array_t
 

Public Member Functions

 CostEvaluatorFull ()=delete
 
 CostEvaluatorFull (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< SplinerBase< control_vector_t, SCALAR >> controlSpliner, std::vector< std::shared_ptr< ShotContainer< STATE_DIM, CONTROL_DIM, SCALAR >>> shotInt, DmsSettings settings)
 Custom constructor. More...
 
 ~CostEvaluatorFull () override=default
 The destructor. More...
 
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::CostEvaluatorFull< STATE_DIM, CONTROL_DIM, SCALAR >

Performs the full cost integration over the shots.

Template Parameters
STATE_DIMThe state dimension
CONTROL_DIMThe input 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::CostEvaluatorFull< 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::CostEvaluatorFull< STATE_DIM, CONTROL_DIM, SCALAR >::control_vector_t

◆ state_vector_array_t

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

◆ control_vector_array_t

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

◆ time_array_t

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

Constructor & Destructor Documentation

◆ CostEvaluatorFull() [1/2]

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

◆ CostEvaluatorFull() [2/2]

template<size_t STATE_DIM, size_t CONTROL_DIM, typename SCALAR = double>
ct::optcon::CostEvaluatorFull< STATE_DIM, CONTROL_DIM, SCALAR >::CostEvaluatorFull ( 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< SplinerBase< control_vector_t, SCALAR >>  controlSpliner,
std::vector< std::shared_ptr< ShotContainer< STATE_DIM, CONTROL_DIM, SCALAR >>>  shotInt,
DmsSettings  settings 
)
inline

Custom constructor.

Parameters
[in]costFctThe cost function
[in]wThe optimization vector
[in]controlSplinerThe control spliner
[in]shotIntThe shot number
[in]settingsThe dms settings

References ct::optcon::CostEvaluatorFull< STATE_DIM, CONTROL_DIM, SCALAR >::~CostEvaluatorFull().

◆ ~CostEvaluatorFull()

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

Member Function Documentation

◆ eval()

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

Evaluates the cost function.

Returns
The evaluates cost function

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

References ct::optcon::DmsSettings::N_.

◆ evalGradient()

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

Evaluates the cost gradient.

Parameters
[in]grad_lengthThe size of the gradient vector
[out]gradThe values of the gradient

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

References ct::optcon::DmsSettings::N_, ct::optcon::DmsSettings::PIECEWISE_LINEAR, ct::optcon::DmsSettings::splineType_, and ct::optcon::DmsSettings::ZERO_ORDER_HOLD.

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

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