19 template <
size_t DERIVED_DIM,
size_t STATE_DIM,
size_t CONTROL_DIM,
typename SCALAR =
double>
23 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
32 using VectorXi = Eigen::Matrix<int, Eigen::Dynamic, 1>;
33 using VectorXs = Eigen::Matrix<SCALAR, Eigen::Dynamic, 1>;
34 using MatrixXs = Eigen::Matrix<SCALAR, Eigen::Dynamic, Eigen::Dynamic>;
40 const size_t& constrSize,
71 virtual Eigen::Matrix<ct::core::ADCGScalar, Eigen::Dynamic, 1> evaluateCppadCg(
74 ct::core::ADCGScalar
t)
override = 0;
116 void sanityCheck(
const size_t& nCon,
const VectorXs& lb,
const VectorXs& ub)
const;
virtual VectorXs jacobianInputSparse(const state_vector_t &x, const control_vector_t &u, const SCALAR t) override=0
Returns the constraint jacobian wrt control input in sparse structure. The default implementation map...
virtual ~BoxConstraintBase()
Definition: BoxConstraintBase-impl.h:59
virtual BoxConstraintBase< DERIVED_DIM, STATE_DIM, CONTROL_DIM, SCALAR > * clone() const override=0
Creates a new instance of the object with same properties than original.
ct::core::ControlVector< control_dim > u
Definition: LoadFromFileTest.cpp:21
virtual size_t getNumNonZerosJacobianInput() const override=0
Returns the number of nonzeros in the jacobian wrt control input. The default implementation assumes ...
BoxConstraintBase(const decision_vector_t &vLow, const decision_vector_t &vHigh)
Constructor taking lower and upper state bounds directly. Assumes the box constraint is dense...
Definition: BoxConstraintBase-impl.h:12
Eigen::Matrix< SCALAR, Eigen::Dynamic, Eigen::Dynamic > MatrixXs
Definition: ConstraintBase.h:32
virtual size_t getNumNonZerosJacobianState() const override=0
Returns the number of nonzeros in the jacobian wrt state. The default implementation assumes a dense ...
Eigen::Matrix< SCALAR, Eigen::Dynamic, DERIVED_DIM > sparsity_matrix_t
Definition: BoxConstraintBase.h:36
Eigen::Matrix< SCALAR, Eigen::Dynamic, 1 > VectorXs
Definition: ConstraintBase.h:31
virtual MatrixXs jacobianState(const state_vector_t &x, const control_vector_t &u, const SCALAR t) override=0
Returns the constraint jacobian wrt state.
clear all close all load ct GNMSLog0 mat reformat t
Definition: gnmsPlot.m:6
size_t constrSize_
size of the constraint
Definition: BoxConstraintBase.h:113
virtual void sparsityPatternState(VectorXi &rows, VectorXi &cols) override=0
sparsity_matrix_t sparsity_J_
sparsity matrix
Definition: BoxConstraintBase.h:110
CppAD::AD< CppAD::cg::CG< double > > SCALAR
virtual VectorXs evaluate(const state_vector_t &x, const control_vector_t &u, const SCALAR t) override=0
The evaluation of the constraint violation. Note this method is SCALAR typed.
static void sparsityPatternSparseJacobian(const VectorXi &sparsity_vec, const size_t &constrSize, VectorXi &rows, VectorXi &cols)
generate sparsity pattern for sparse box constraint
Definition: BoxConstraintBase-impl.h:121
ct::core::StateVector< state_dim > x
Definition: LoadFromFileTest.cpp:20
virtual size_t getConstraintSize() const override
The evaluate method used for jit compilation in constraint container ad.
Definition: BoxConstraintBase-impl.h:64
Eigen::Matrix< int, Eigen::Dynamic, 1 > VectorXi
Definition: BoxConstraintBase.h:32
virtual void sparsityPatternInput(VectorXi &rows, VectorXi &cols) override=0
Base for box constraint, templated on dimension of the decision vector of the derived class...
Definition: BoxConstraintBase.h:20
virtual MatrixXs jacobianInput(const state_vector_t &x, const control_vector_t &u, const SCALAR t) override=0
Returns the constraint jacobian wrt input.
virtual VectorXs jacobianStateSparse(const state_vector_t &x, const control_vector_t &u, const SCALAR t) override=0
Returns the constraint jacobian wrt state in sparse structure. The default implementation maps the Ja...
typename ct::core::tpl::TraitSelector< SCALAR >::Trait Trait
Definition: BoxConstraintBase.h:25
VectorXi sparsity_
sparsity in vector form
Definition: BoxConstraintBase.h:107
sparsity_matrix_t diagSparsityVecToSparsityMat(const VectorXi &spVec, const size_t &nConstr)
transform a sparsity vector (giving the sparsity pattern on the diagonal) in to a sparsity matrix ...
Definition: BoxConstraintBase-impl.h:71
Base class for the constraints used in this toolbox.
Definition: ConstraintBase.h:21