- 3.0.2 optimal control module.
ct::optcon::tpl::DiscreteCostEvaluatorBase< SCALAR > Class Template Referenceabstract

Implements an abstract base class which evaluates the cost function and its gradient in the NLP. More...

#include <DiscreteCostEvaluatorBase.h>

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

Public Member Functions

EIGEN_MAKE_ALIGNED_OPERATOR_NEW DiscreteCostEvaluatorBase ()=default
 Default constructor. More...
 
virtual ~DiscreteCostEvaluatorBase ()=default
 Destructor. More...
 
virtual SCALAR eval ()=0
 Evaluates the cost function. More...
 
virtual void evalGradient (size_t grad_length, Eigen::Map< Eigen::Matrix< SCALAR, Eigen::Dynamic, 1 >> &grad)=0
 Evaluates the cost gradient. 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...
 

Detailed Description

template<typename SCALAR>
class ct::optcon::tpl::DiscreteCostEvaluatorBase< SCALAR >

Implements an abstract base class which evaluates the cost function and its gradient in the NLP.

Constructor & Destructor Documentation

◆ DiscreteCostEvaluatorBase()

template<typename SCALAR >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW ct::optcon::tpl::DiscreteCostEvaluatorBase< SCALAR >::DiscreteCostEvaluatorBase ( )
default

Default constructor.

◆ ~DiscreteCostEvaluatorBase()

template<typename SCALAR >
virtual ct::optcon::tpl::DiscreteCostEvaluatorBase< SCALAR >::~DiscreteCostEvaluatorBase ( )
virtualdefault

Destructor.

Member Function Documentation

◆ eval()

◆ evalGradient()

template<typename SCALAR >
virtual void ct::optcon::tpl::DiscreteCostEvaluatorBase< SCALAR >::evalGradient ( size_t  grad_length,
Eigen::Map< Eigen::Matrix< SCALAR, Eigen::Dynamic, 1 >> &  grad 
)
pure virtual

Evaluates the cost gradient.

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

Implemented in ExampleCostEvaluator< SCALAR >, ExampleCostEvaluator< SCALAR >, ct::optcon::CostEvaluatorFull< STATE_DIM, CONTROL_DIM, SCALAR >, and ct::optcon::CostEvaluatorSimple< STATE_DIM, CONTROL_DIM, SCALAR >.

◆ getSparsityPatternHessian()

template<typename SCALAR >
virtual void ct::optcon::tpl::DiscreteCostEvaluatorBase< SCALAR >::getSparsityPatternHessian ( Eigen::VectorXi &  iRow,
Eigen::VectorXi &  jCol 
)
inlinevirtual

◆ sparseHessianValues()

template<typename SCALAR >
virtual void ct::optcon::tpl::DiscreteCostEvaluatorBase< SCALAR >::sparseHessianValues ( const Eigen::VectorXd &  optVec,
const Eigen::VectorXd &  lambda,
Eigen::VectorXd &  hes 
)
inlinevirtual

Evaluates the cost hessian.

Parameters
[in]optVecThe optimization variables
[in]lambdamultipliers for hessian matrix
[out]hesThe cost hessian matrix coeff

Reimplemented in ExampleCostEvaluator< SCALAR >, and ExampleCostEvaluator< SCALAR >.


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