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 setUnitBackwardSeed()
Data class for storing generic optimization variables.
Implements a very rudimentary block sparse matrix class.
returnValue setReference(const VariablesGrid &ref)
virtual returnValue setUnitForwardSeed()
virtual returnValue getBackwardSensitivities(BlockMatrix &D) const
returnValue clearDynamicDiscretization()
BlockMatrix upperConstraintResiduum
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)
virtual returnValue getResiduum(BlockMatrix &residuum_) const
Base class for all algorithmic modules within the ACADO Toolkit providing some basic functionality...
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.
virtual returnValue getBoundResiduum(BlockMatrix &lowerRes, BlockMatrix &upperRes)
BooleanType areSensitivitiesFrozen
virtual returnValue getObjectiveValue(double &objectiveValue)
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 evaluate(const OCPiterate &iter)
BlockMatrix getPositive() const
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.
returnValue getSubBlock(uint rowIdx, uint colIdx, DMatrix &value) const
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 double getObjectiveValue() const
BlockMatrix getNegative() const
virtual returnValue init(const OCPiterate &iter)
BlockMatrix transpose() const
virtual returnValue evaluateSensitivitiesLifted()=0
returnValue evaluateSensitivities()
virtual returnValue freezeSensitivities()
virtual returnValue setupLogging()
virtual returnValue unfreezeSensitivities()
BlockMatrix getAbsolute() 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 getForwardSensitivities(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 SCPevaluation * clone() const
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.