36 #include <qpOASES.hpp> 55 if ( ( mode < 0 ) || ( mode > 2 ) )
67 #ifdef __SUPPRESSANYOUTPUT__ 81 #ifdef __USE_SINGLE_PRECISION__ 89 #ifdef __USE_SINGLE_PRECISION__ 104 #ifdef __USE_SINGLE_PRECISION__ 110 #ifdef __USE_SINGLE_PRECISION__ 118 #ifdef __USE_SINGLE_PRECISION__ 144 #ifdef __USE_SINGLE_PRECISION__ 161 #ifdef __USE_SINGLE_PRECISION__ 169 #ifdef __USE_SINGLE_PRECISION__ 187 if ( ( from == 0 ) || ( to == 0 ) )
245 if ( globalQpObject == 0 )
266 if ( ( nV < 1 ) || ( nC < 0 ) )
269 if ( ( hessianType < 0 ) || ( hessianType > 6 ) )
301 if ( globalQProblemObject == 0 )
308 globalQProblemObject->setOptions( globalOptionsObject );
312 returnValue returnvalue = globalQProblemObject->init( H,g,A,lb,ub,lbA,ubA, *nWSR,cputime );
336 if ( globalQProblemObject == 0 )
340 returnValue returnvalue = globalQProblemObject->hotstart( g,lb,ub,lbA,ubA, *nWSR,cputime );
354 if ( globalQProblemObject != 0 )
356 delete globalQProblemObject;
357 globalQProblemObject = 0;
375 if ( ( hessianType < 0 ) || ( hessianType > 6 ) )
404 if ( globalQProblemBObject == 0 )
411 globalQProblemBObject->setOptions( globalOptionsObject );
415 returnValue returnvalue = globalQProblemBObject->init( H,g,lb,ub, *nWSR,cputime );
437 if ( globalQProblemBObject == 0 )
441 returnValue returnvalue = globalQProblemBObject->hotstart( g,lb,ub, *nWSR,cputime );
455 if ( globalQProblemBObject != 0 )
457 delete globalQProblemBObject;
458 globalQProblemBObject = 0;
474 if ( ( nV < 1 ) || ( nC < 0 ) )
477 if ( ( hessianType < 0 ) || ( hessianType > 6 ) )
509 if ( globalSQProblemObject == 0 )
516 globalSQProblemObject->setOptions( globalOptionsObject );
520 returnValue returnvalue = globalSQProblemObject->init( H,g,A,lb,ub,lbA,ubA, *nWSR,cputime );
546 if ( globalSQProblemObject == 0 )
550 returnValue returnvalue = globalSQProblemObject->hotstart( H,g,A,lb,ub,lbA,ubA, *nWSR,cputime );
564 if ( globalSQProblemObject != 0 )
566 delete globalSQProblemObject;
567 globalSQProblemObject = 0;
int_t SQProblem_init(const real_t *const H, const real_t *const g, const real_t *const A, const real_t *const lb, const real_t *const ub, const real_t *const lbA, const real_t *const ubA, int_t *const nWSR, real_t *const cputime, const qpOASES_Options *const options, real_t *const x, real_t *const y, real_t *const obj, int_t *const status)
returnValue getPrimalSolution(real_t *const xOpt) const
#define USING_NAMESPACE_QPOASES
int_t initialStatusBounds
int_t enableCholeskyRefactorisation
Implements the online active set strategy for box-constrained QPs.
BooleanType enableFarBounds
Implements the online active set strategy for QPs with varying matrices.
BEGIN_NAMESPACE_ACADO const double EPS
Manages all user-specified options for solving QPs.
int_t qpOASES_obtainOutputs(const QProblemB *const globalQpObject, returnValue returnvalue, real_t *const x, real_t *const y, real_t *const obj, int_t *const status)
Allows to pass back messages to the calling function.
int_t QProblemB_cleanup()
USING_NAMESPACE_QPOASES int_t qpOASES_Options_init(qpOASES_Options *const options, int_t mode)
int_t QProblemB_setup(int_t nV, int_t hessianType)
BooleanType enableFullLITests
BooleanType enableEqualities
BooleanType enableRamping
BooleanType enableFlippingBounds
int_t enableRegularisation
int_t enableDropInfeasibles
returnValue getDualSolution(real_t *const yOpt) const
int_t qpOASES_Options_copy(const qpOASES_Options *const from, Options *const to)
int_t QProblem_setup(int_t nV, int_t nC, int_t hessianType)
int_t QProblemB_hotstart(const real_t *const g, const real_t *const lb, const real_t *const ub, int_t *const nWSR, real_t *const cputime, real_t *const x, real_t *const y, real_t *const obj, int_t *const status)
Provides a generic way to set and pass user-specified options.
int_t dropIneqConPriority
int_t SQProblem_setup(int_t nV, int_t nC, int_t hessianType)
int enableDriftCorrection
int_t enableDriftCorrection
BooleanType enableRegularisation
int_t QProblem_init(const real_t *const H, const real_t *const g, const real_t *const A, const real_t *const lb, const real_t *const ub, const real_t *const lbA, const real_t *const ubA, int_t *const nWSR, real_t *const cputime, const qpOASES_Options *const options, real_t *const x, real_t *const y, real_t *const obj, int_t *const status)
int_t dropIneqConPriority
int_t numRegularisationSteps
int_t SQProblem_cleanup()
real_t terminationTolerance
int_t QProblemB_init(const real_t *const H, const real_t *const g, const real_t *const lb, const real_t *const ub, int_t *const nWSR, real_t *const cputime, const qpOASES_Options *const options, real_t *const x, real_t *const y, real_t *const obj, int_t *const status)
int numRegularisationSteps
int_t SQProblem_hotstart(const real_t *const H, const real_t *const g, const real_t *const A, const real_t *const lb, const real_t *const ub, const real_t *const lbA, const real_t *const ubA, int_t *const nWSR, real_t *const cputime, real_t *const x, real_t *const y, real_t *const obj, int_t *const status)
int enableCholeskyRefactorisation
int_t enableFlippingBounds
real_t terminationTolerance
BooleanType enableNZCTests
int_t QProblem_hotstart(const real_t *const g, const real_t *const lb, const real_t *const ub, const real_t *const lbA, const real_t *const ubA, int_t *const nWSR, real_t *const cputime, real_t *const x, real_t *const y, real_t *const obj, int_t *const status)
int_t getSimpleStatus(returnValue returnvalue, BooleanType doPrintStatus=BT_FALSE)
Implements the online active set strategy for QPs with general constraints.
SubjectToStatus initialStatusBounds
BooleanType enableDropInfeasibles