69 if ( _userInteraction == 0 )
217 dynHessMode = hessMode;
320 for( run1 = 0; run1 < N-1; run1++ ){
324 if( iter.
getNX() != 0 ){
326 aux.
addDense( run1 , 0, tmp2.transpose() * tmp1 );
331 aux.
setDense( N+run1, 0, tmp2.transpose() * tmp1 );
333 if( iter.
getNP() != 0 ){
335 aux.
setDense( 2*N+run1, 0, tmp2.transpose() * tmp1 );
337 if( iter.
getNU() != 0 ){
339 aux.
setDense( 3*N+run1, 0, tmp2.transpose() * tmp1 );
341 if( iter.
getNW() != 0 ){
343 aux.
setDense( 4*N+run1, 0, tmp2.transpose() * tmp1 );
358 for( run1 = 0; run1 <
N; run1++ ){
362 lambdaBoundExpand.
setDense(run1,0,tmp1);
366 lambdaBoundExpand.
setDense(N+run1,0,tmp1);
370 lambdaBoundExpand.
setDense(2*N+run1,0,tmp1);
374 lambdaBoundExpand.
setDense(3*N+run1,0,tmp1);
378 lambdaBoundExpand.
setDense(4*N+run1,0,tmp1);
387 lambdaBoundExpand.
setDense(2,0,tmp1);
398 double KKTmultiplierRegularisation
415 int hessianApproximation;
422 eps = KKTmultiplierRegularisation;
426 KKTtol = fabs(tmp(0,0));
returnValue setReference(const VariablesGrid &ref)
virtual returnValue getForwardSensitivities(BlockMatrix &D) const
virtual returnValue setUnitBackwardSeed()
Data class for storing generic optimization variables.
Implements a very rudimentary block sparse matrix class.
virtual SCPevaluation * clone() const
virtual returnValue getResiduum(BlockMatrix &residuum_) const
returnValue setReference(const VariablesGrid &ref)
virtual returnValue setUnitForwardSeed()
returnValue clearDynamicDiscretization()
BlockMatrix upperConstraintResiduum
BlockMatrix transpose() const
returnValue setDense(uint rowIdx, uint colIdx, const DMatrix &value)
Stores and evaluates the constraints of optimal control problems.
Provides a time grid consisting of vector-valued optimization variables at each grid point...
BlockMatrix objectiveGradient
Allows to pass back messages to the calling function.
virtual returnValue setUnitBackwardSeed()
AlgorithmicBase & operator=(const AlgorithmicBase &rhs)
Base class for all algorithmic modules within the ACADO Toolkit providing some basic functionality...
BlockMatrix getAbsolute() const
virtual returnValue evaluate(OCPiterate &iter, BandedCP &cp)
BEGIN_NAMESPACE_ACADO typedef unsigned int uint
BlockMatrix lambdaConstraint
virtual returnValue evaluateLagrangeGradient(uint N, const OCPiterate &iter, const BandedCP &cp, BlockMatrix &nablaL)
returnValue evaluateSensitivitiesGN(BlockMatrix &hessian)
virtual returnValue deleteAllSeeds()
virtual DynamicDiscretization * clone() const =0
#define CLOSE_NAMESPACE_ACADO
Base class for discretizing a DifferentialEquation for use in optimal control algorithms.
BlockMatrix getNegative() const
virtual returnValue getBoundResiduum(BlockMatrix &lowerRes, BlockMatrix &upperRes)
BooleanType areSensitivitiesFrozen
virtual returnValue getObjectiveValue(double &objectiveValue)
virtual double getObjectiveValue() const
BlockMatrix lambdaDynamic
virtual returnValue unfreeze()=0
BlockMatrix lowerBoundResiduum
virtual returnValue setUnitForwardSeed()
virtual double getKKTtolerance(const OCPiterate &iter, const BandedCP &cp, double KKTmultiplierRegularisation=0.0)
SCPevaluation & operator=(const SCPevaluation &rhs)
returnValue getSubBlock(uint rowIdx, uint colIdx, DMatrix &value) const
returnValue evaluate(const OCPiterate &iter)
virtual returnValue evaluateSensitivities(const OCPiterate &iter, BandedCP &cp)
virtual returnValue getForwardSensitivities(BlockMatrix &D, int order)
BlockMatrix lowerConstraintResiduum
BlockMatrix upperBoundResiduum
Encapsulates all user interaction for setting options, logging data and plotting results.
virtual returnValue evaluateSensitivities()=0
void rhs(const real_t *x, real_t *f)
virtual returnValue evaluate(OCPiterate &iter)=0
returnValue evaluate(const OCPiterate &x)
returnValue evaluateSensitivities()
virtual returnValue init(const OCPiterate &iter)
virtual returnValue evaluateSensitivitiesLifted()=0
returnValue evaluateSensitivities()
virtual returnValue freezeSensitivities()
virtual returnValue setupLogging()
virtual returnValue unfreezeSensitivities()
BlockMatrix getPositive() const
returnValue setZero(uint rowIdx, uint colIdx)
Base class for different ways to evaluate functions and derivatives within an SCPmethod for solving N...
#define BEGIN_NAMESPACE_ACADO
DynamicDiscretization * dynamicDiscretization
virtual returnValue getBackwardSensitivities(BlockMatrix &D) const
virtual returnValue setUnitBackwardSeed()
BlockMatrix constraintGradient
virtual returnValue getBackwardSensitivities(BlockMatrix &D, int order)
returnValue addDense(uint rowIdx, uint colIdx, const DMatrix &value)
virtual returnValue getConstraintResiduum(BlockMatrix &lowerRes, BlockMatrix &upperRes)
Stores and evaluates the objective function of optimal control problems.
virtual returnValue setupOptions()
#define ACADOERROR(retval)
virtual returnValue getBackwardSensitivities(BlockMatrix &D, int order)
Data class for storing conic programs arising from optimal control.