93 double lineSearchTOL, alphaMin;
112 returnvalue =
applyStep( iter,cp,alpha );
133 const double& alphaMin
137 const int maxIter = 50;
138 const double kappa = 0.5;
142 double meritFcnValue1 =
INFTY;
143 double meritFcnValue2 =
INFTY;
149 while( run1 < maxIter ){
154 if( meritFcnValue2 <= meritFcnValue1 +
EPS )
break;
155 if( alpha <= alphaMin+
EPS )
break;
returnValue setLast(LogName _name, int lastValue, double time=-INFTY)
virtual SCPstep * clone() const
Data class for storing generic optimization variables.
Implements linesearch techniques to perform a globalized step of an SCPmethod for solving NLPs...
SCPmeritFunction * meritFcn
SCPstepLinesearch & operator=(const SCPstepLinesearch &rhs)
BEGIN_NAMESPACE_ACADO const double EPS
virtual returnValue performStep(OCPiterate &iter, BandedCP &cp, SCPevaluation *eval)
Allows to pass back messages to the calling function.
virtual returnValue evaluate(double alpha, const OCPiterate &iter, BandedCP &cp, SCPevaluation &eval, double &result)
Base class for different ways to perform a step of an SCPmethod for solving NLPs. ...
virtual returnValue applyStep(OCPiterate &iter, BandedCP &cp, double alpha) const
SCPstep & operator=(const SCPstep &rhs)
#define CLOSE_NAMESPACE_ACADO
returnValue performLineSearch(const OCPiterate &iter, BandedCP &cp, SCPevaluation &eval, double &alpha, const double &alphaMin)
virtual double getKKTtolerance(const OCPiterate &iter, const BandedCP &cp, double KKTmultiplierRegularisation=0.0)
Encapsulates all user interaction for setting options, logging data and plotting results.
void rhs(const real_t *x, real_t *f)
virtual ~SCPstepLinesearch()
Base class for different ways to evaluate functions and derivatives within an SCPmethod for solving N...
#define BEGIN_NAMESPACE_ACADO
#define ACADOERROR(retval)
Data class for storing conic programs arising from optimal control.