Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Friends | List of all members
QProblem Struct Reference

Implements the online active set strategy for QPs with general constraints. More...

#include <QProblem.hpp>

Inheritance diagram for QProblem:
Inheritance graph
[legend]

Public Member Functions

returnValue getA (real_t *const _A) const
 
returnValue getA (int number, real_t *const row) const
 
returnValue getA (real_t *const _A) const
 
returnValue getA (int number, real_t *const row) const
 
returnValue getConstraints (Constraints *const _constraints) const
 
returnValue getConstraints (Constraints *const _constraints) const
 
returnValue getConstraints (Constraints &_constraints) const
 
returnValue getConstraints (Constraints &_constraints) const
 
returnValue getDualSolution (real_t *const yOpt) const
 
returnValue getDualSolution (real_t *const yOpt) const
 
virtual returnValue getDualSolution (real_t *const yOpt) const
 
virtual returnValue getDualSolution (real_t *const yOpt) const
 
returnValue getFreeVariablesFlags (BooleanType *varIsFree)
 
returnValue getLBA (real_t *const _lbA) const
 
returnValue getLBA (int number, real_t &value) const
 
returnValue getLBA (real_t *const _lbA) const
 
returnValue getLBA (int number, real_t &value) const
 
int getNAC ()
 
int getNAC ()
 
int_t getNAC () const
 
int getNAC () const
 
int getNC () const
 
int getNC () const
 
int_t getNC () const
 
int getNC () const
 
int getNEC () const
 
int getNEC () const
 
int_t getNEC () const
 
int getNEC () const
 
int getNIAC ()
 
int getNIAC ()
 
int_t getNIAC () const
 
int getNIAC () const
 
int getNZ ()
 
int getNZ ()
 
virtual int_t getNZ () const
 
virtual int getNZ () const
 
returnValue getUBA (real_t *const _ubA) const
 
returnValue getUBA (int number, real_t &value) const
 
returnValue getUBA (real_t *const _ubA) const
 
returnValue getUBA (int number, real_t &value) const
 
virtual returnValue getWorkingSet (real_t *workingSet)
 
virtual returnValue getWorkingSetBounds (real_t *workingSetB)
 
virtual returnValue getWorkingSetConstraints (real_t *workingSetC)
 
returnValue hotstart (const real_t *const g_new, const real_t *const lb_new, const real_t *const ub_new, const real_t *const lbA_new, const real_t *const ubA_new, int &nWSR, real_t *const cputime)
 
returnValue hotstart (const real_t *const g_new, const real_t *const lb_new, const real_t *const ub_new, const real_t *const lbA_new, const real_t *const ubA_new, int &nWSR, real_t *const cputime)
 
returnValue hotstart (const real_t *const g_new, const real_t *const lb_new, const real_t *const ub_new, const real_t *const lbA_new, const real_t *const ubA_new, int_t &nWSR, real_t *const cputime=0, const Bounds *const guessedBounds=0, const Constraints *const guessedConstraints=0)
 
returnValue hotstart (const char *const g_file, const char *const lb_file, const char *const ub_file, const char *const lbA_file, const char *const ubA_file, int_t &nWSR, real_t *const cputime=0, const Bounds *const guessedBounds=0, const Constraints *const guessedConstraints=0)
 
returnValue hotstart (const real_t *const g_new, const real_t *const lb_new, const real_t *const ub_new, const real_t *const lbA_new, const real_t *const ubA_new, int &nWSR, real_t *const cputime)
 
returnValue hotstart (const char *const g_file, const char *const lb_file, const char *const ub_file, const char *const lbA_file, const char *const ubA_file, int &nWSR, real_t *const cputime)
 
returnValue hotstart (const real_t *const g_new, const real_t *const lb_new, const real_t *const ub_new, const real_t *const lbA_new, const real_t *const ubA_new, int &nWSR, real_t *const cputime, const Bounds *const guessedBounds, const Constraints *const guessedConstraints)
 
returnValue hotstart (const char *const g_file, const char *const lb_file, const char *const ub_file, const char *const lbA_file, const char *const ubA_file, int &nWSR, real_t *const cputime, const Bounds *const guessedBounds, const Constraints *const guessedConstraints)
 
returnValue 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 &nWSR, const real_t *const yOpt=0, real_t *const cputime=0)
 
returnValue 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 &nWSR, const real_t *const yOpt=0, real_t *const cputime=0)
 
returnValue init (SymmetricMatrix *_H, const real_t *const _g, Matrix *_A, const real_t *const _lb, const real_t *const _ub, const real_t *const _lbA, const real_t *const _ubA, int &nWSR, real_t *const cputime)
 
returnValue init (SymmetricMatrix *_H, const real_t *const _g, Matrix *_A, const real_t *const _lb, const real_t *const _ub, const real_t *const _lbA, const real_t *const _ubA, int_t &nWSR, real_t *const cputime=0, const real_t *const xOpt=0, const real_t *const yOpt=0, const Bounds *const guessedBounds=0, const Constraints *const guessedConstraints=0, const real_t *const _R=0)
 
returnValue init (const real_t *const _H, const real_t *const _R, 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 &nWSR, const real_t *const yOpt=0, real_t *const cputime=0)
 
returnValue 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 &nWSR, real_t *const cputime)
 
returnValue 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 &nWSR, real_t *const cputime=0, const real_t *const xOpt=0, const real_t *const yOpt=0, const Bounds *const guessedBounds=0, const Constraints *const guessedConstraints=0, const real_t *const _R=0)
 
returnValue init (const char *const H_file, const char *const g_file, const char *const A_file, const char *const lb_file, const char *const ub_file, const char *const lbA_file, const char *const ubA_file, int &nWSR, real_t *const cputime)
 
returnValue init (SymmetricMatrix *_H, const real_t *const _g, Matrix *_A, const real_t *const _lb, const real_t *const _ub, const real_t *const _lbA, const real_t *const _ubA, int &nWSR, real_t *const cputime, const real_t *const xOpt, const real_t *const yOpt, const Bounds *const guessedBounds, const Constraints *const guessedConstraints)
 
returnValue init (const char *const H_file, const char *const g_file, const char *const A_file, const char *const lb_file, const char *const ub_file, const char *const lbA_file, const char *const ubA_file, int_t &nWSR, real_t *const cputime=0, const real_t *const xOpt=0, const real_t *const yOpt=0, const Bounds *const guessedBounds=0, const Constraints *const guessedConstraints=0, const char *const R_file=0)
 
returnValue 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 &nWSR, real_t *const cputime, const real_t *const xOpt, const real_t *const yOpt, const Bounds *const guessedBounds, const Constraints *const guessedConstraints)
 
returnValue init (const char *const H_file, const char *const g_file, const char *const A_file, const char *const lb_file, const char *const ub_file, const char *const lbA_file, const char *const ubA_file, int &nWSR, real_t *const cputime, const real_t *const xOpt, const real_t *const yOpt, const Bounds *const guessedBounds, const Constraints *const guessedConstraints)
 
QProblemoperator= (const QProblem &rhs)
 
QProblemoperator= (const QProblem &rhs)
 
virtual QProblemoperator= (const QProblem &rhs)
 
QProblemoperator= (const QProblem &rhs)
 
virtual returnValue printProperties ()
 
virtual returnValue printProperties ()
 
 QProblem ()
 
 QProblem ()
 
 QProblem (int _nV, int _nC)
 
 QProblem (int _nV, int _nC)
 
 QProblem (const QProblem &rhs)
 
 QProblem ()
 
 QProblem ()
 
 QProblem (const QProblem &rhs)
 
 QProblem (int_t _nV, int_t _nC, HessianType _hessianType=HST_UNKNOWN)
 
 QProblem (int _nV, int _nC, HessianType _hessianType=HST_UNKNOWN)
 
 QProblem (const QProblem &rhs)
 
 QProblem (const QProblem &rhs)
 
returnValue reset ()
 
returnValue reset ()
 
virtual returnValue reset ()
 
virtual returnValue reset ()
 
returnValue setConstraintProduct (ConstraintProduct *const _constraintProduct)
 
returnValue setConstraintProduct (ConstraintProduct *const _constraintProduct)
 
returnValue solveCurrentEQP (const int_t n_rhs, const real_t *g_in, const real_t *lb_in, const real_t *ub_in, const real_t *lbA_in, const real_t *ubA_in, real_t *x_out, real_t *y_out)
 
returnValue solveCurrentEQP (const int n_rhs, const real_t *g_in, const real_t *lb_in, const real_t *ub_in, const real_t *lbA_in, const real_t *ubA_in, real_t *x_out, real_t *y_out)
 
returnValue writeQpDataIntoMatFile (const char *const filename) const
 
returnValue writeQpWorkspaceIntoMatFile (const char *const filename)
 
 ~QProblem ()
 
 ~QProblem ()
 
virtual ~QProblem ()
 
virtual ~QProblem ()
 
- Public Member Functions inherited from QProblemB
returnValue getBounds (Bounds *const _bounds) const
 
returnValue getBounds (Bounds *const _bounds) const
 
returnValue getBounds (Bounds &_bounds) const
 
returnValue getBounds (Bounds &_bounds) const
 
uint_t getCount () const
 
returnValue getDualSolution (real_t *const yOpt) const
 
returnValue getDualSolution (real_t *const yOpt) const
 
returnValue getG (real_t *const _g) const
 
returnValue getG (real_t *const _g) const
 
returnValue getH (real_t *const _H) const
 
returnValue getH (real_t *const _H) const
 
HessianType getHessianType () const
 
HessianType getHessianType () const
 
HessianType getHessianType () const
 
HessianType getHessianType () const
 
returnValue getLB (real_t *const _lb) const
 
returnValue getLB (int number, real_t &value) const
 
returnValue getLB (real_t *const _lb) const
 
returnValue getLB (int number, real_t &value) const
 
int getNFR ()
 
int getNFR ()
 
int_t getNFR () const
 
int getNFR () const
 
int getNFV () const
 
int getNFV () const
 
int_t getNFV () const
 
int getNFV () const
 
int getNFX ()
 
int getNFX ()
 
int_t getNFX () const
 
int getNFX () const
 
int getNV () const
 
int getNV () const
 
int_t getNV () const
 
int getNV () const
 
int getNZ ()
 
int getNZ ()
 
real_t getObjVal () const
 
real_t getObjVal (const real_t *const _x) const
 
real_t getObjVal () const
 
real_t getObjVal (const real_t *const _x) const
 
real_t getObjVal () const
 
real_t getObjVal (const real_t *const _x) const
 
real_t getObjVal () const
 
real_t getObjVal (const real_t *const _x) const
 
Options getOptions () const
 
Options getOptions () const
 
returnValue getPrimalSolution (real_t *const xOpt) const
 
returnValue getPrimalSolution (real_t *const xOpt) const
 
returnValue getPrimalSolution (real_t *const xOpt) const
 
returnValue getPrimalSolution (real_t *const xOpt) const
 
PrintLevel getPrintLevel () const
 
PrintLevel getPrintLevel () const
 
PrintLevel getPrintLevel () const
 
PrintLevel getPrintLevel () const
 
QProblemStatus getStatus () const
 
QProblemStatus getStatus () const
 
QProblemStatus getStatus () const
 
QProblemStatus getStatus () const
 
returnValue getUB (real_t *const _ub) const
 
returnValue getUB (int number, real_t &value) const
 
returnValue getUB (real_t *const _ub) const
 
returnValue getUB (int number, real_t &value) const
 
returnValue hotstart (const real_t *const g_new, const real_t *const lb_new, const real_t *const ub_new, int &nWSR, real_t *const cputime)
 
returnValue hotstart (const real_t *const g_new, const real_t *const lb_new, const real_t *const ub_new, int &nWSR, real_t *const cputime)
 
returnValue hotstart (const real_t *const g_new, const real_t *const lb_new, const real_t *const ub_new, int_t &nWSR, real_t *const cputime=0, const Bounds *const guessedBounds=0)
 
returnValue hotstart (const char *const g_file, const char *const lb_file, const char *const ub_file, int_t &nWSR, real_t *const cputime=0, const Bounds *const guessedBounds=0)
 
returnValue hotstart (const real_t *const g_new, const real_t *const lb_new, const real_t *const ub_new, int &nWSR, real_t *const cputime)
 
returnValue hotstart (const char *const g_file, const char *const lb_file, const char *const ub_file, int &nWSR, real_t *const cputime)
 
returnValue hotstart (const real_t *const g_new, const real_t *const lb_new, const real_t *const ub_new, int &nWSR, real_t *const cputime, const Bounds *const guessedBounds)
 
returnValue hotstart (const char *const g_file, const char *const lb_file, const char *const ub_file, int &nWSR, real_t *const cputime, const Bounds *const guessedBounds)
 
returnValue init (const real_t *const _H, const real_t *const _g, const real_t *const _lb, const real_t *const _ub, int &nWSR, const real_t *const yOpt=0, real_t *const cputime=0)
 
returnValue init (const real_t *const _H, const real_t *const _g, const real_t *const _lb, const real_t *const _ub, int &nWSR, const real_t *const yOpt=0, real_t *const cputime=0)
 
returnValue init (SymmetricMatrix *_H, const real_t *const _g, const real_t *const _lb, const real_t *const _ub, int &nWSR, real_t *const cputime)
 
returnValue init (SymmetricMatrix *_H, const real_t *const _g, const real_t *const _lb, const real_t *const _ub, int_t &nWSR, real_t *const cputime=0, const real_t *const xOpt=0, const real_t *const yOpt=0, const Bounds *const guessedBounds=0, const real_t *const _R=0)
 
returnValue init (const real_t *const _H, const real_t *const _R, const real_t *const _g, const real_t *const _lb, const real_t *const _ub, int &nWSR, const real_t *const yOpt=0, real_t *const cputime=0)
 
returnValue init (const real_t *const _H, const real_t *const _g, const real_t *const _lb, const real_t *const _ub, int &nWSR, real_t *const cputime)
 
returnValue init (const char *const H_file, const char *const g_file, const char *const lb_file, const char *const ub_file, int &nWSR, real_t *const cputime)
 
returnValue init (const real_t *const _H, const real_t *const _g, const real_t *const _lb, const real_t *const _ub, int_t &nWSR, real_t *const cputime=0, const real_t *const xOpt=0, const real_t *const yOpt=0, const Bounds *const guessedBounds=0, const real_t *const _R=0)
 
returnValue init (SymmetricMatrix *_H, const real_t *const _g, const real_t *const _lb, const real_t *const _ub, int &nWSR, real_t *const cputime, const real_t *const xOpt, const real_t *const yOpt, const Bounds *const guessedBounds)
 
returnValue init (const char *const H_file, const char *const g_file, const char *const lb_file, const char *const ub_file, int_t &nWSR, real_t *const cputime=0, const real_t *const xOpt=0, const real_t *const yOpt=0, const Bounds *const guessedBounds=0, const char *const R_file=0)
 
returnValue init (const real_t *const _H, const real_t *const _g, const real_t *const _lb, const real_t *const _ub, int &nWSR, real_t *const cputime, const real_t *const xOpt, const real_t *const yOpt, const Bounds *const guessedBounds)
 
returnValue init (const char *const H_file, const char *const g_file, const char *const lb_file, const char *const ub_file, int &nWSR, real_t *const cputime, const real_t *const xOpt, const real_t *const yOpt, const Bounds *const guessedBounds)
 
BooleanType isInfeasible () const
 
BooleanType isInfeasible () const
 
BooleanType isInfeasible () const
 
BooleanType isInfeasible () const
 
BooleanType isInitialised () const
 
BooleanType isInitialised () const
 
BooleanType isInitialised () const
 
BooleanType isInitialised () const
 
BooleanType isSolved () const
 
BooleanType isSolved () const
 
BooleanType isSolved () const
 
BooleanType isSolved () const
 
BooleanType isUnbounded () const
 
BooleanType isUnbounded () const
 
BooleanType isUnbounded () const
 
BooleanType isUnbounded () const
 
QProblemBoperator= (const QProblemB &rhs)
 
QProblemBoperator= (const QProblemB &rhs)
 
QProblemBoperator= (const QProblemB &rhs)
 
virtual QProblemBoperator= (const QProblemB &rhs)
 
returnValue printOptions () const
 
returnValue printOptions () const
 
 QProblemB ()
 
 QProblemB ()
 
 QProblemB (int _nV)
 
 QProblemB (int _nV)
 
 QProblemB (const QProblemB &rhs)
 
 QProblemB (const QProblemB &rhs)
 
 QProblemB ()
 
 QProblemB ()
 
 QProblemB (int_t _nV, HessianType _hessianType=HST_UNKNOWN)
 
 QProblemB (int _nV, HessianType _hessianType=HST_UNKNOWN)
 
 QProblemB (const QProblemB &rhs)
 
 QProblemB (const QProblemB &rhs)
 
returnValue reset ()
 
returnValue reset ()
 
returnValue resetCounter ()
 
returnValue setHessianType (HessianType _hessianType)
 
returnValue setHessianType (HessianType _hessianType)
 
returnValue setHessianType (HessianType _hessianType)
 
returnValue setHessianType (HessianType _hessianType)
 
returnValue setOptions (const Options &_options)
 
returnValue setOptions (const Options &_options)
 
returnValue setPrintLevel (PrintLevel _printlevel)
 
returnValue setPrintLevel (PrintLevel _printlevel)
 
returnValue setPrintLevel (PrintLevel _printlevel)
 
returnValue setPrintLevel (PrintLevel _printlevel)
 
BooleanType usingRegularisation () const
 
BooleanType usingRegularisation () const
 
 ~QProblemB ()
 
 ~QProblemB ()
 
virtual ~QProblemB ()
 
virtual ~QProblemB ()
 

Public Attributes

DenseMatrixA
 
DenseMatrix AA
 
real_t Ax_l [NCMAX]
 
real_t Ax_u [NCMAX]
 
Bounds bounds
 
ConstraintProduct constraintProduct
 
unsigned int count
 
real_t delta_xFR_TMP [NVMAX]
 
real_t delta_xFRy [NCMAX]
 
real_t delta_xFRz [NVMAX]
 
real_t delta_yAC_TMP [NCMAX]
 
Flipper flipper
 
real_t g [NVMAX]
 
DenseMatrixH
 
BooleanType haveCholesky
 
HessianType hessianType
 
DenseMatrix HH
 
BooleanType infeasible
 
real_t lb [NVMAX]
 
Options options
 
real_t R [NVMAX *NVMAX]
 
real_t ramp0
 
real_t ramp1
 
int rampOffset
 
real_t regVal
 
QProblemStatus status
 
TabularOutput tabularOutput
 
real_t tau
 
real_t tempA [NVMAX]
 
real_t tempB [NCMAX]
 
real_t ub [NVMAX]
 
BooleanType unbounded
 
real_t x [NVMAX]
 
real_t y [NVMAX+NCMAX]
 
real_t ZFR_delta_xFRz [NVMAX]
 
- Public Attributes inherited from QProblemB
unsigned int count
 
real_t delta_xFR_TMP [NVMAX]
 
DenseMatrixH
 
DenseMatrix HH
 
int rampOffset
 

Protected Member Functions

returnValue addBound (int number, SubjectToStatus B_status, BooleanType updateCholesky)
 
returnValue addBound (int number, SubjectToStatus B_status, BooleanType updateCholesky)
 
virtual returnValue addBound (int_t number, SubjectToStatus B_status, BooleanType updateCholesky, BooleanType ensureLI=BT_TRUE)
 
returnValue addBound (int number, SubjectToStatus B_status, BooleanType updateCholesky, BooleanType ensureLI=BT_TRUE)
 
returnValue addBound_checkLI (int number)
 
returnValue addBound_checkLI (int number)
 
virtual returnValue addBound_checkLI (int_t number)
 
returnValue addBound_checkLI (int number)
 
returnValue addBound_ensureLI (int number, SubjectToStatus B_status)
 
returnValue addBound_ensureLI (int number, SubjectToStatus B_status)
 
virtual returnValue addBound_ensureLI (int_t number, SubjectToStatus B_status)
 
returnValue addBound_ensureLI (int number, SubjectToStatus B_status)
 
returnValue addConstraint (int number, SubjectToStatus C_status, BooleanType updateCholesky)
 
returnValue addConstraint (int number, SubjectToStatus C_status, BooleanType updateCholesky)
 
virtual returnValue addConstraint (int_t number, SubjectToStatus C_status, BooleanType updateCholesky, BooleanType ensureLI=BT_TRUE)
 
returnValue addConstraint (int number, SubjectToStatus C_status, BooleanType updateCholesky, BooleanType ensureLI=BT_TRUE)
 
returnValue addConstraint_checkLI (int number)
 
returnValue addConstraint_checkLI (int number)
 
virtual returnValue addConstraint_checkLI (int_t number)
 
returnValue addConstraint_checkLI (int number)
 
returnValue addConstraint_ensureLI (int number, SubjectToStatus C_status)
 
returnValue addConstraint_ensureLI (int number, SubjectToStatus C_status)
 
virtual returnValue addConstraint_ensureLI (int_t number, SubjectToStatus C_status)
 
returnValue addConstraint_ensureLI (int number, SubjectToStatus C_status)
 
BooleanType areBoundsConsistent (const real_t *const delta_lb, const real_t *const delta_ub, const real_t *const delta_lbA, const real_t *const delta_ubA) const
 
BooleanType areBoundsConsistent (const real_t *const delta_lb, const real_t *const delta_ub, const real_t *const delta_lbA, const real_t *const delta_ubA) const
 
returnValue areBoundsConsistent (const real_t *const lb, const real_t *const ub, const real_t *const lbA, const real_t *const ubA) const
 
returnValue backsolveR (const real_t *const b, BooleanType transposed, real_t *const a)
 
returnValue backsolveR (const real_t *const b, BooleanType transposed, BooleanType removingBound, real_t *const a)
 
returnValue backsolveR (const real_t *const b, BooleanType transposed, real_t *const a)
 
returnValue backsolveR (const real_t *const b, BooleanType transposed, BooleanType removingBound, real_t *const a)
 
returnValue backsolveT (const real_t *const b, BooleanType transposed, real_t *const a)
 
returnValue backsolveT (const real_t *const b, BooleanType transposed, real_t *const a)
 
virtual returnValue backsolveT (const real_t *const b, BooleanType transposed, real_t *const a) const
 
returnValue backsolveT (const real_t *const b, BooleanType transposed, real_t *const a) const
 
returnValue changeActiveSet (int_t BC_idx, SubjectToStatus BC_status, BooleanType BC_isBound)
 
returnValue changeActiveSet (int BC_idx, SubjectToStatus BC_status, BooleanType BC_isBound)
 
returnValue checkKKTconditions ()
 
returnValue checkKKTconditions ()
 
returnValue clear ()
 
returnValue clear ()
 
returnValue computeInitialCholesky ()
 
virtual returnValue computeProjectedCholesky ()
 
returnValue copy (const QProblem &rhs)
 
returnValue copy (const QProblem &rhs)
 
returnValue determineDataShift (const real_t *const g_new, const real_t *const lbA_new, const real_t *const ubA_new, const real_t *const lb_new, const real_t *const ub_new, real_t *const delta_g, real_t *const delta_lbA, real_t *const delta_ubA, real_t *const delta_lb, real_t *const delta_ub, BooleanType &Delta_bC_isZero, BooleanType &Delta_bB_isZero)
 
returnValue determineDataShift (const real_t *const g_new, const real_t *const lbA_new, const real_t *const ubA_new, const real_t *const lb_new, const real_t *const ub_new, real_t *const delta_g, real_t *const delta_lbA, real_t *const delta_ubA, real_t *const delta_lb, real_t *const delta_ub, BooleanType &Delta_bC_isZero, BooleanType &Delta_bB_isZero)
 
virtual returnValue determineStepDirection (const real_t *const delta_g, const real_t *const delta_lbA, const real_t *const delta_ubA, const real_t *const delta_lb, const real_t *const delta_ub, BooleanType Delta_bC_isZero, BooleanType Delta_bB_isZero, real_t *const delta_xFX, real_t *const delta_xFR, real_t *const delta_yAC, real_t *const delta_yFX)
 
returnValue determineStepDirection (const real_t *const delta_g, const real_t *const delta_lbA, const real_t *const delta_ubA, const real_t *const delta_lb, const real_t *const delta_ub, BooleanType Delta_bC_isZero, BooleanType Delta_bB_isZero, real_t *const delta_xFX, real_t *const delta_xFR, real_t *const delta_yAC, real_t *const delta_yFX)
 
returnValue dropInfeasibles (int_t BC_number, SubjectToStatus BC_status, BooleanType BC_isBound, real_t *xiB, real_t *xiC)
 
returnValue ensureNonzeroCurvature (BooleanType removeBoundNotConstraint, int_t remIdx, BooleanType &exchangeHappened, BooleanType &addBoundNotConstraint, int_t &addIdx, SubjectToStatus &addStatus)
 
returnValue ensureNonzeroCurvature (BooleanType removeBoundNotConstraint, int remIdx, BooleanType &exchangeHappened, BooleanType &addBoundNotConstraint, int &addIdx, SubjectToStatus &addStatus)
 
real_t getRelativeHomotopyLength (const real_t *const g_new, const real_t *const lb_new, const real_t *const ub_new, const real_t *const lbA_new, const real_t *const ubA_new)
 
returnValue hotstart_determineDataShift (const int *const FX_idx, const int *const AC_idx, const real_t *const g_new, const real_t *const lbA_new, const real_t *const ubA_new, const real_t *const lb_new, const real_t *const ub_new, real_t *const delta_g, real_t *const delta_lbA, real_t *const delta_ubA, real_t *const delta_lb, real_t *const delta_ub, BooleanType &Delta_bC_isZero, BooleanType &Delta_bB_isZero)
 
returnValue hotstart_determineDataShift (const int *const FX_idx, const int *const AC_idx, const real_t *const g_new, const real_t *const lbA_new, const real_t *const ubA_new, const real_t *const lb_new, const real_t *const ub_new, real_t *const delta_g, real_t *const delta_lbA, real_t *const delta_ubA, real_t *const delta_lb, real_t *const delta_ub, BooleanType &Delta_bC_isZero, BooleanType &Delta_bB_isZero)
 
returnValue hotstart_determineStepDirection (const int *const FR_idx, const int *const FX_idx, const int *const AC_idx, const real_t *const delta_g, const real_t *const delta_lbA, const real_t *const delta_ubA, const real_t *const delta_lb, const real_t *const delta_ub, BooleanType Delta_bC_isZero, BooleanType Delta_bB_isZero, real_t *const delta_xFX, real_t *const delta_xFR, real_t *const delta_yAC, real_t *const delta_yFX)
 
returnValue hotstart_determineStepDirection (const int *const FR_idx, const int *const FX_idx, const int *const AC_idx, const real_t *const delta_g, const real_t *const delta_lbA, const real_t *const delta_ubA, const real_t *const delta_lb, const real_t *const delta_ub, BooleanType Delta_bC_isZero, BooleanType Delta_bB_isZero, real_t *const delta_xFX, real_t *const delta_xFR, real_t *const delta_yAC, real_t *const delta_yFX)
 
returnValue hotstart_determineStepLength (const int *const FR_idx, const int *const FX_idx, const int *const AC_idx, const int *const IAC_idx, const real_t *const delta_lbA, const real_t *const delta_ubA, const real_t *const delta_lb, const real_t *const delta_ub, const real_t *const delta_xFX, const real_t *const delta_xFR, const real_t *const delta_yAC, const real_t *const delta_yFX, real_t *const delta_Ax, int &BC_idx, SubjectToStatus &BC_status, BooleanType &BC_isBound)
 
returnValue hotstart_determineStepLength (const int *const FR_idx, const int *const FX_idx, const int *const AC_idx, const int *const IAC_idx, const real_t *const delta_lbA, const real_t *const delta_ubA, const real_t *const delta_lb, const real_t *const delta_ub, const real_t *const delta_xFX, const real_t *const delta_xFR, const real_t *const delta_yAC, const real_t *const delta_yFX, real_t *const delta_Ax, int &BC_idx, SubjectToStatus &BC_status, BooleanType &BC_isBound)
 
returnValue hotstart_performStep (const int *const FR_idx, const int *const FX_idx, const int *const AC_idx, const int *const IAC_idx, const real_t *const delta_g, const real_t *const delta_lbA, const real_t *const delta_ubA, const real_t *const delta_lb, const real_t *const delta_ub, const real_t *const delta_xFX, const real_t *const delta_xFR, const real_t *const delta_yAC, const real_t *const delta_yFX, const real_t *const delta_Ax, int BC_idx, SubjectToStatus BC_status, BooleanType BC_isBound)
 
returnValue hotstart_performStep (const int *const FR_idx, const int *const FX_idx, const int *const AC_idx, const int *const IAC_idx, const real_t *const delta_g, const real_t *const delta_lbA, const real_t *const delta_ubA, const real_t *const delta_lb, const real_t *const delta_ub, const real_t *const delta_xFX, const real_t *const delta_xFR, const real_t *const delta_yAC, const real_t *const delta_yFX, const real_t *const delta_Ax, int BC_idx, SubjectToStatus BC_status, BooleanType BC_isBound)
 
returnValue loadQPvectorsFromFile (const char *const g_file, const char *const lb_file, const char *const ub_file, const char *const lbA_file, const char *const ubA_file, real_t *const g_new, real_t *const lb_new, real_t *const ub_new, real_t *const lbA_new, real_t *const ubA_new) const
 
returnValue loadQPvectorsFromFile (const char *const g_file, const char *const lb_file, const char *const ub_file, const char *const lbA_file, const char *const ubA_file, real_t *const g_new, real_t *const lb_new, real_t *const ub_new, real_t *const lbA_new, real_t *const ubA_new) const
 
returnValue obtainAuxiliaryWorkingSet (const real_t *const xOpt, const real_t *const yOpt, const Bounds *const guessedBounds, const Constraints *const guessedConstraints, Bounds *auxiliaryBounds, Constraints *auxiliaryConstraints) const
 
returnValue obtainAuxiliaryWorkingSet (const real_t *const xOpt, const real_t *const yOpt, const Bounds *const guessedBounds, const Constraints *const guessedConstraints, Bounds *auxiliaryBounds, Constraints *auxiliaryConstraints) const
 
returnValue obtainAuxiliaryWorkingSet (const real_t *const xOpt, const real_t *const yOpt, const Bounds *const guessedBounds, const Constraints *const guessedConstraints, Bounds *auxiliaryBounds, Constraints *auxiliaryConstraints) const
 
returnValue obtainAuxiliaryWorkingSet (const real_t *const xOpt, const real_t *const yOpt, const Bounds *const guessedBounds, const Constraints *const guessedConstraints, Bounds *auxiliaryBounds, Constraints *auxiliaryConstraints) const
 
virtual returnValue performDriftCorrection ()
 
returnValue performDriftCorrection ()
 
returnValue performPlainRatioTest (int_t nIdx, const int_t *const idxList, const real_t *const num, const real_t *const den, real_t epsNum, real_t epsDen, real_t &t, int_t &BC_idx) const
 
returnValue performPlainRatioTest (int nIdx, const int *const idxList, const real_t *const num, const real_t *const den, real_t epsNum, real_t epsDen, real_t &t, int &BC_idx) const
 
virtual returnValue performRamping ()
 
virtual returnValue performRamping ()
 
returnValue performStep (const real_t *const delta_g, const real_t *const delta_lbA, const real_t *const delta_ubA, const real_t *const delta_lb, const real_t *const delta_ub, const real_t *const delta_xFX, const real_t *const delta_xFR, const real_t *const delta_yAC, const real_t *const delta_yFX, int_t &BC_idx, SubjectToStatus &BC_status, BooleanType &BC_isBound)
 
returnValue performStep (const real_t *const delta_g, const real_t *const delta_lbA, const real_t *const delta_ubA, const real_t *const delta_lb, const real_t *const delta_ub, const real_t *const delta_xFX, const real_t *const delta_xFR, const real_t *const delta_yAC, const real_t *const delta_yFX, int &BC_idx, SubjectToStatus &BC_status, BooleanType &BC_isBound)
 
returnValue printIteration (int_t iter, int_t BC_idx, SubjectToStatus BC_status, BooleanType BC_isBound, real_t homotopyLength, BooleanType isFirstCall=BT_TRUE)
 
returnValue printIteration (int iteration, int BC_idx, SubjectToStatus BC_status, BooleanType BC_isBound)
 
real_t relativeHomotopyLength (const real_t *const g_new, const real_t *const lb_new, const real_t *const ub_new, const real_t *const lbA_new, const real_t *const ubA_new)
 
returnValue removeBound (int number, BooleanType updateCholesky)
 
returnValue removeBound (int number, BooleanType updateCholesky)
 
virtual returnValue removeBound (int_t number, BooleanType updateCholesky, BooleanType allowFlipping=BT_FALSE, BooleanType ensureNZC=BT_FALSE)
 
returnValue removeBound (int number, BooleanType updateCholesky, BooleanType allowFlipping=BT_FALSE, BooleanType ensureNZC=BT_FALSE)
 
returnValue removeConstraint (int number, BooleanType updateCholesky)
 
returnValue removeConstraint (int number, BooleanType updateCholesky)
 
virtual returnValue removeConstraint (int_t number, BooleanType updateCholesky, BooleanType allowFlipping=BT_FALSE, BooleanType ensureNZC=BT_FALSE)
 
returnValue removeConstraint (int number, BooleanType updateCholesky, BooleanType allowFlipping=BT_FALSE, BooleanType ensureNZC=BT_FALSE)
 
returnValue setA (const real_t *const A_new)
 
returnValue setA (int number, const real_t *const value)
 
returnValue setA (const real_t *const A_new)
 
returnValue setA (int number, const real_t *const value)
 
returnValue setA (Matrix *A_new)
 
returnValue setA (const real_t *const A_new)
 
returnValue setA (Matrix *A_new)
 
returnValue setA (const real_t *const A_new)
 
returnValue setLBA (const real_t *const lbA_new)
 
returnValue setLBA (int number, real_t value)
 
returnValue setLBA (const real_t *const lbA_new)
 
returnValue setLBA (int number, real_t value)
 
returnValue setLBA (const real_t *const lbA_new)
 
returnValue setLBA (int_t number, real_t value)
 
returnValue setLBA (const real_t *const lbA_new)
 
returnValue setLBA (int number, real_t value)
 
returnValue setUBA (const real_t *const ubA_new)
 
returnValue setUBA (int number, real_t value)
 
returnValue setUBA (const real_t *const ubA_new)
 
returnValue setUBA (int number, real_t value)
 
returnValue setUBA (const real_t *const ubA_new)
 
returnValue setUBA (int_t number, real_t value)
 
returnValue setUBA (const real_t *const ubA_new)
 
returnValue setUBA (int number, real_t value)
 
virtual returnValue setupAuxiliaryQP (const Bounds *const guessedBounds, const Constraints *const guessedConstraints)
 
virtual returnValue setupAuxiliaryQP (const Bounds *const guessedBounds, const Constraints *const guessedConstraints)
 
returnValue setupAuxiliaryQPbounds (const Bounds *const auxiliaryBounds, const Constraints *const auxiliaryConstraints, BooleanType useRelaxation)
 
returnValue setupAuxiliaryQPbounds (const Bounds *const auxiliaryBounds, const Constraints *const auxiliaryConstraints, BooleanType useRelaxation)
 
returnValue setupAuxiliaryQPbounds (const Bounds *const auxiliaryBounds, const Constraints *const auxiliaryConstraints, BooleanType useRelaxation)
 
returnValue setupAuxiliaryQPbounds (const Bounds *const auxiliaryBounds, const Constraints *const auxiliaryConstraints, BooleanType useRelaxation)
 
returnValue setupAuxiliaryQPgradient ()
 
returnValue setupAuxiliaryQPgradient ()
 
returnValue setupAuxiliaryQPgradient ()
 
returnValue setupAuxiliaryQPgradient ()
 
returnValue setupAuxiliaryQPsolution (const real_t *const xOpt, const real_t *const yOpt)
 
returnValue setupAuxiliaryQPsolution (const real_t *const xOpt, const real_t *const yOpt)
 
returnValue setupAuxiliaryQPsolution (const real_t *const xOpt, const real_t *const yOpt)
 
returnValue setupAuxiliaryQPsolution (const real_t *const xOpt, const real_t *const yOpt)
 
returnValue setupAuxiliaryWorkingSet (const Bounds *const auxiliaryBounds, const Constraints *const auxiliaryConstraints, BooleanType setupAfresh)
 
returnValue setupAuxiliaryWorkingSet (const Bounds *const auxiliaryBounds, const Constraints *const auxiliaryConstraints, BooleanType setupAfresh)
 
virtual returnValue setupAuxiliaryWorkingSet (const Bounds *const auxiliaryBounds, const Constraints *const auxiliaryConstraints, BooleanType setupAfresh)
 
returnValue setupAuxiliaryWorkingSet (const Bounds *const auxiliaryBounds, const Constraints *const auxiliaryConstraints, BooleanType setupAfresh)
 
returnValue setupCholeskyDecompositionProjected ()
 
returnValue setupCholeskyDecompositionProjected ()
 
returnValue setupCholeskyDecompositionProjected ()
 
virtual returnValue setupInitialCholesky ()
 
returnValue setupQPdata (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)
 
returnValue setupQPdata (const real_t *const _H, const real_t *const _R, 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)
 
returnValue setupQPdata (SymmetricMatrix *_H, const real_t *const _g, Matrix *_A, const real_t *const _lb, const real_t *const _ub, const real_t *const _lbA, const real_t *const _ubA)
 
returnValue setupQPdata (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)
 
returnValue setupQPdata (SymmetricMatrix *_H, const real_t *const _g, Matrix *_A, const real_t *const _lb, const real_t *const _ub, const real_t *const _lbA, const real_t *const _ubA)
 
returnValue setupQPdata (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)
 
returnValue setupQPdataFromFile (const char *const H_file, const char *const g_file, const char *const A_file, const char *const lb_file, const char *const ub_file, const char *const lbA_file, const char *const ubA_file)
 
returnValue setupQPdataFromFile (const char *const H_file, const char *const g_file, const char *const A_file, const char *const lb_file, const char *const ub_file, const char *const lbA_file, const char *const ubA_file)
 
returnValue setupSubjectToType ()
 
returnValue setupSubjectToType ()
 
virtual returnValue setupSubjectToType ()
 
virtual returnValue setupSubjectToType (const real_t *const lb_new, const real_t *const ub_new, const real_t *const lbA_new, const real_t *const ubA_new)
 
virtual returnValue setupSubjectToType ()
 
virtual returnValue setupSubjectToType (const real_t *const lb_new, const real_t *const ub_new, const real_t *const lbA_new, const real_t *const ubA_new)
 
returnValue setupTQfactorisation ()
 
returnValue setupTQfactorisation ()
 
virtual returnValue setupTQfactorisation ()
 
returnValue setupTQfactorisation ()
 
BooleanType shallRefactorise (const Bounds *const guessedBounds, const Constraints *const guessedConstraints) const
 
BooleanType shallRefactorise (const Bounds *const guessedBounds, const Constraints *const guessedConstraints) const
 
returnValue solveInitialQP (const real_t *const xOpt, const real_t *const yOpt, const Bounds *const guessedBounds, const Constraints *const guessedConstraints, int &nWSR, real_t *const cputime)
 
returnValue solveInitialQP (const real_t *const xOpt, const real_t *const yOpt, const Bounds *const guessedBounds, const Constraints *const guessedConstraints, int &nWSR, real_t *const cputime)
 
returnValue solveInitialQP (const real_t *const xOpt, const real_t *const yOpt, const Bounds *const guessedBounds, const Constraints *const guessedConstraints, const real_t *const _R, int_t &nWSR, real_t *const cputime)
 
returnValue solveInitialQP (const real_t *const xOpt, const real_t *const yOpt, const Bounds *const guessedBounds, const Constraints *const guessedConstraints, int &nWSR, real_t *const cputime)
 
returnValue solveQP (const real_t *const g_new, const real_t *const lb_new, const real_t *const ub_new, const real_t *const lbA_new, const real_t *const ubA_new, int_t &nWSR, real_t *const cputime, int_t nWSRperformed=0, BooleanType isFirstCall=BT_TRUE)
 
returnValue solveQP (const real_t *const g_new, const real_t *const lb_new, const real_t *const ub_new, const real_t *const lbA_new, const real_t *const ubA_new, int &nWSR, real_t *const cputime, int nWSRperformed=0)
 
returnValue solveRegularisedQP (const real_t *const g_new, const real_t *const lb_new, const real_t *const ub_new, const real_t *const lbA_new, const real_t *const ubA_new, int_t &nWSR, real_t *const cputime, int_t nWSRperformed=0, BooleanType isFirstCall=BT_TRUE)
 
returnValue solveRegularisedQP (const real_t *const g_new, const real_t *const lb_new, const real_t *const ub_new, const real_t *const lbA_new, const real_t *const ubA_new, int &nWSR, real_t *const cputime, int nWSRperformed=0)
 
virtual returnValue updateActivitiesForHotstart (const real_t *const lb_new, const real_t *const ub_new, const real_t *const lbA_new, const real_t *const ubA_new)
 
returnValue updateFarBounds (real_t curFarBound, int_t nRamp, const real_t *const lb_new, real_t *const lb_new_far, const real_t *const ub_new, real_t *const ub_new_far, const real_t *const lbA_new, real_t *const lbA_new_far, const real_t *const ubA_new, real_t *const ubA_new_far) const
 
- Protected Member Functions inherited from QProblemB
returnValue addBound (int number, SubjectToStatus B_status, BooleanType updateCholesky)
 
returnValue addBound (int number, SubjectToStatus B_status, BooleanType updateCholesky)
 
void applyGivens (real_t c, real_t s, real_t xold, real_t yold, real_t &xnew, real_t &ynew) const
 
void applyGivens (real_t c, real_t s, real_t xold, real_t yold, real_t &xnew, real_t &ynew) const
 
void applyGivens (real_t c, real_t s, real_t nu, real_t xold, real_t yold, real_t &xnew, real_t &ynew) const
 
void applyGivens (real_t c, real_t s, real_t nu, real_t xold, real_t yold, real_t &xnew, real_t &ynew) const
 
BooleanType areBoundsConsistent (const real_t *const delta_lb, const real_t *const delta_ub) const
 
BooleanType areBoundsConsistent (const real_t *const delta_lb, const real_t *const delta_ub) const
 
returnValue areBoundsConsistent (const real_t *const lb, const real_t *const ub) const
 
returnValue backsolveR (const real_t *const b, BooleanType transposed, real_t *const a)
 
returnValue backsolveR (const real_t *const b, BooleanType transposed, BooleanType removingBound, real_t *const a)
 
returnValue backsolveR (const real_t *const b, BooleanType transposed, real_t *const a)
 
returnValue backsolveR (const real_t *const b, BooleanType transposed, BooleanType removingBound, real_t *const a)
 
virtual returnValue backsolveR (const real_t *const b, BooleanType transposed, real_t *const a) const
 
virtual returnValue backsolveR (const real_t *const b, BooleanType transposed, BooleanType removingBound, real_t *const a) const
 
returnValue backsolveR (const real_t *const b, BooleanType transposed, real_t *const a) const
 
returnValue backsolveR (const real_t *const b, BooleanType transposed, BooleanType removingBound, real_t *const a) const
 
returnValue checkForIdentityHessian ()
 
returnValue checkForIdentityHessian ()
 
returnValue clear ()
 
returnValue clear ()
 
virtual returnValue computeCholesky ()
 
void computeGivens (real_t xold, real_t yold, real_t &xnew, real_t &ynew, real_t &c, real_t &s) const
 
void computeGivens (real_t xold, real_t yold, real_t &xnew, real_t &ynew, real_t &c, real_t &s) const
 
void computeGivens (real_t xold, real_t yold, real_t &xnew, real_t &ynew, real_t &c, real_t &s) const
 
void computeGivens (real_t xold, real_t yold, real_t &xnew, real_t &ynew, real_t &c, real_t &s) const
 
returnValue copy (const QProblemB &rhs)
 
returnValue copy (const QProblemB &rhs)
 
SymSparseMatcreateDiagSparseMat (int_t n, real_t diagVal=1.0)
 
returnValue determineDataShift (const real_t *const g_new, const real_t *const lb_new, const real_t *const ub_new, real_t *const delta_g, real_t *const delta_lb, real_t *const delta_ub, BooleanType &Delta_bB_isZero)
 
returnValue determineDataShift (const real_t *const g_new, const real_t *const lb_new, const real_t *const ub_new, real_t *const delta_g, real_t *const delta_lb, real_t *const delta_ub, BooleanType &Delta_bB_isZero)
 
returnValue determineHessianType ()
 
returnValue determineHessianType ()
 
real_t getRelativeHomotopyLength (const real_t *const g_new, const real_t *const lb_new, const real_t *const ub_new)
 
returnValue hotstart_determineDataShift (const int *const FX_idx, const real_t *const g_new, const real_t *const lb_new, const real_t *const ub_new, real_t *const delta_g, real_t *const delta_lb, real_t *const delta_ub, BooleanType &Delta_bB_isZero)
 
returnValue hotstart_determineDataShift (const int *const FX_idx, const real_t *const g_new, const real_t *const lb_new, const real_t *const ub_new, real_t *const delta_g, real_t *const delta_lb, real_t *const delta_ub, BooleanType &Delta_bB_isZero)
 
BooleanType isBlocking (real_t num, real_t den, real_t epsNum, real_t epsDen, real_t &t) const
 
BooleanType isBlocking (real_t num, real_t den, real_t epsNum, real_t epsDen, real_t &t) const
 
BooleanType isCPUtimeLimitExceeded (const real_t *const cputime, real_t starttime, int_t nWSR) const
 
BooleanType isCPUtimeLimitExceeded (const real_t *const cputime, real_t starttime, int nWSR) const
 
returnValue loadQPvectorsFromFile (const char *const g_file, const char *const lb_file, const char *const ub_file, real_t *const g_new, real_t *const lb_new, real_t *const ub_new) const
 
returnValue loadQPvectorsFromFile (const char *const g_file, const char *const lb_file, const char *const ub_file, real_t *const g_new, real_t *const lb_new, real_t *const ub_new) const
 
returnValue obtainAuxiliaryWorkingSet (const real_t *const xOpt, const real_t *const yOpt, const Bounds *const guessedBounds, Bounds *auxiliaryBounds) const
 
returnValue obtainAuxiliaryWorkingSet (const real_t *const xOpt, const real_t *const yOpt, const Bounds *const guessedBounds, Bounds *auxiliaryBounds) const
 
returnValue obtainAuxiliaryWorkingSet (const real_t *const xOpt, const real_t *const yOpt, const Bounds *const guessedBounds, Bounds *auxiliaryBounds) const
 
returnValue obtainAuxiliaryWorkingSet (const real_t *const xOpt, const real_t *const yOpt, const Bounds *const guessedBounds, Bounds *auxiliaryBounds) const
 
returnValue performRatioTest (int_t nIdx, const int_t *const idxList, const SubjectTo *const subjectTo, const real_t *const num, const real_t *const den, real_t epsNum, real_t epsDen, real_t &t, int_t &BC_idx) const
 
returnValue performRatioTest (int nIdx, const int *const idxList, const SubjectTo *const subjectTo, const real_t *const num, const real_t *const den, real_t epsNum, real_t epsDen, real_t &t, int &BC_idx) const
 
returnValue regulariseHessian ()
 
returnValue regulariseHessian ()
 
real_t relativeHomotopyLength (const real_t *const g_new, const real_t *const lb_new, const real_t *const ub_new)
 
returnValue removeBound (int number, BooleanType updateCholesky)
 
returnValue removeBound (int number, BooleanType updateCholesky)
 
returnValue setG (const real_t *const g_new)
 
returnValue setG (const real_t *const g_new)
 
returnValue setG (const real_t *const g_new)
 
returnValue setG (const real_t *const g_new)
 
returnValue setH (const real_t *const H_new)
 
returnValue setH (const real_t *const H_new)
 
returnValue setH (SymmetricMatrix *H_new)
 
returnValue setH (const real_t *const H_new)
 
returnValue setH (SymmetricMatrix *H_new)
 
returnValue setH (const real_t *const H_new)
 
returnValue setInfeasibilityFlag (returnValue returnvalue, BooleanType doThrowError=BT_FALSE)
 
returnValue setInfeasibilityFlag (returnValue returnvalue)
 
returnValue setLB (const real_t *const lb_new)
 
returnValue setLB (int number, real_t value)
 
returnValue setLB (const real_t *const lb_new)
 
returnValue setLB (int number, real_t value)
 
returnValue setLB (const real_t *const lb_new)
 
returnValue setLB (int_t number, real_t value)
 
returnValue setLB (const real_t *const lb_new)
 
returnValue setLB (int number, real_t value)
 
returnValue setUB (const real_t *const ub_new)
 
returnValue setUB (int number, real_t value)
 
returnValue setUB (const real_t *const ub_new)
 
returnValue setUB (int number, real_t value)
 
returnValue setUB (const real_t *const ub_new)
 
returnValue setUB (int_t number, real_t value)
 
returnValue setUB (const real_t *const ub_new)
 
returnValue setUB (int number, real_t value)
 
virtual returnValue setupAuxiliaryQP (const Bounds *const guessedBounds)
 
returnValue setupAuxiliaryQPbounds (BooleanType useRelaxation)
 
returnValue setupAuxiliaryQPbounds (BooleanType useRelaxation)
 
returnValue setupAuxiliaryQPgradient ()
 
returnValue setupAuxiliaryQPgradient ()
 
returnValue setupAuxiliaryQPsolution (const real_t *const xOpt, const real_t *const yOpt)
 
returnValue setupAuxiliaryQPsolution (const real_t *const xOpt, const real_t *const yOpt)
 
returnValue setupAuxiliaryWorkingSet (const Bounds *const auxiliaryBounds, BooleanType setupAfresh)
 
returnValue setupAuxiliaryWorkingSet (const Bounds *const auxiliaryBounds, BooleanType setupAfresh)
 
returnValue setupCholeskyDecomposition ()
 
returnValue setupCholeskyDecomposition ()
 
returnValue setupCholeskyDecomposition ()
 
returnValue setupQPdata (const real_t *const _H, const real_t *const _g, const real_t *const _lb, const real_t *const _ub)
 
returnValue setupQPdata (const real_t *const _H, const real_t *const _R, const real_t *const _g, const real_t *const _lb, const real_t *const _ub)
 
returnValue setupQPdata (SymmetricMatrix *_H, const real_t *const _g, const real_t *const _lb, const real_t *const _ub)
 
returnValue setupQPdata (const real_t *const _H, const real_t *const _g, const real_t *const _lb, const real_t *const _ub)
 
returnValue setupQPdata (SymmetricMatrix *_H, const real_t *const _g, const real_t *const _lb, const real_t *const _ub)
 
returnValue setupQPdata (const real_t *const _H, const real_t *const _g, const real_t *const _lb, const real_t *const _ub)
 
returnValue setupQPdataFromFile (const char *const H_file, const char *const g_file, const char *const lb_file, const char *const ub_file)
 
returnValue setupQPdataFromFile (const char *const H_file, const char *const g_file, const char *const lb_file, const char *const ub_file)
 
returnValue setupSubjectToType ()
 
returnValue setupSubjectToType ()
 
virtual returnValue setupSubjectToType (const real_t *const lb_new, const real_t *const ub_new)
 
virtual returnValue setupSubjectToType (const real_t *const lb_new, const real_t *const ub_new)
 
returnValue solveInitialQP (const real_t *const xOpt, const real_t *const yOpt, const Bounds *const guessedBounds, int &nWSR, real_t *const cputime)
 
returnValue solveInitialQP (const real_t *const xOpt, const real_t *const yOpt, const Bounds *const guessedBounds, int &nWSR, real_t *const cputime)
 
returnValue updateFarBounds (real_t curFarBound, int_t nRamp, const real_t *const lb_new, real_t *const lb_new_far, const real_t *const ub_new, real_t *const ub_new_far) const
 

Protected Attributes

real_t A [NCMAX_ALLOC *NVMAX]
 
MatrixA
 
real_t Ax [NCMAX_ALLOC]
 
real_tAx
 
real_tAx_l
 
real_tAx_u
 
ConstraintProductconstraintProduct
 
Constraints constraints
 
CyclingManager cyclingManager
 
real_tdelta_xFRy
 
real_tdelta_xFRz
 
real_tdelta_yAC_TMP
 
BooleanType freeConstraintMatrix
 
int idxAddB
 
int idxAddC
 
int idxRemB
 
int idxRemC
 
real_t lbA [NCMAX_ALLOC]
 
real_tlbA
 
real_t Q [NVMAX *NVMAX]
 
real_tQ
 
int sizeT
 
int_t sizeT
 
real_t T [NVMAX *NVMAX]
 
real_tT
 
real_ttempA
 
real_ttempB
 
real_t ubA [NCMAX_ALLOC]
 
real_tubA
 
real_tZFR_delta_xFRz
 
- Protected Attributes inherited from QProblemB
Bounds bounds
 
int count
 
uint_t count
 
real_tdelta_xFR_TMP
 
Flipper flipper
 
BooleanType freeHessian
 
real_t g [NVMAX]
 
real_tg
 
real_t H [NVMAX *NVMAX]
 
SymmetricMatrixH
 
BooleanType hasCholesky
 
BooleanType hasHessian
 
BooleanType haveCholesky
 
HessianType hessianType
 
BooleanType infeasible
 
BooleanType isRegularised
 
real_t lb [NVMAX]
 
real_tlb
 
Options options
 
PrintLevel printlevel
 
real_t R [NVMAX *NVMAX]
 
real_tR
 
real_t ramp0
 
real_t ramp1
 
int_t rampOffset
 
real_t regVal
 
QProblemStatus status
 
TabularOutput tabularOutput
 
real_t tau
 
real_t ub [NVMAX]
 
real_tub
 
BooleanType unbounded
 
real_t x [NVMAX]
 
real_tx
 
real_t y [NVMAX+NCMAX]
 
real_ty
 

Friends

class SolutionAnalysis
 

Detailed Description

Implements the online active set strategy for QPs with general constraints.

A class for setting up and solving quadratic programs. The main feature is the possibily to use the newly developed online active set strategy for parametric quadratic programming.

Author
Hans Joachim Ferreau
Version
1.3embedded
Date
2007-2008

A class for setting up and solving quadratic programs. The main feature is the possibily to use the newly developed online active set strategy for parametric quadratic programming.

Author
Hans Joachim Ferreau, Andreas Potschka, Christian Kirches
Version
3.0beta
Date
2007-2011

A class for setting up and solving quadratic programs. The main feature is the possibily to use the newly developed online active set strategy for parametric quadratic programming.

Author
Hans Joachim Ferreau, Andreas Potschka, Christian Kirches
Version
3.2
Date
2007-2015

A class for setting up and solving quadratic programs. The main feature is the possibily to use the newly developed online active set strategy for parametric quadratic programming.

Author
Hans Joachim Ferreau, Andreas Potschka, Christian Kirches
Version
3.1embedded
Date
2007-2015

Definition at line 53 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/INCLUDE/QProblem.hpp.

Constructor & Destructor Documentation

BEGIN_NAMESPACE_QPOASES QProblem::QProblem ( )
QProblem::QProblem ( int  _nV,
int  _nC 
)

Constructor which takes the QP dimensions only.

Parameters
_nVNumber of variables.
_nCNumber of constraints.

Definition at line 75 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblem.cpp.

QProblem::QProblem ( const QProblem rhs)

Copy constructor (deep copy).

Parameters
rhsRhs object.

Definition at line 101 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblem.cpp.

QProblem::~QProblem ( )
QProblem::QProblem ( )

Default constructor.

QProblem::QProblem ( int  _nV,
int  _nC 
)

Constructor which takes the QP dimensions only.

Parameters
_nVNumber of variables.
_nCNumber of constraints.
QProblem::QProblem ( const QProblem rhs)

Copy constructor (deep copy).

Parameters
rhsRhs object.
QProblem::~QProblem ( )

Destructor.

QProblem::QProblem ( )

Default constructor.

QProblem::QProblem ( int  _nV,
int  _nC,
HessianType  _hessianType = HST_UNKNOWN 
)

Constructor which takes the QP dimension and Hessian type information. If the Hessian is the zero (i.e. HST_ZERO) or the identity matrix (i.e. HST_IDENTITY), respectively, no memory is allocated for it and a NULL pointer can be passed for it to the init() functions.

Parameters
_nVNumber of variables.
_nCNumber of constraints.
_hessianTypeType of Hessian matrix.

Definition at line 80 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

QProblem::QProblem ( const QProblem rhs)

Copy constructor (deep copy).

Parameters
rhsRhs object.
virtual QProblem::~QProblem ( )
virtual

Destructor.

QProblem::QProblem ( )

Default constructor.

QProblem::QProblem ( int_t  _nV,
int_t  _nC,
HessianType  _hessianType = HST_UNKNOWN 
)

Constructor which takes the QP dimension and Hessian type information. If the Hessian is the zero (i.e. HST_ZERO) or the identity matrix (i.e. HST_IDENTITY), respectively, no memory is allocated for it and a NULL pointer can be passed for it to the init() functions.

Parameters
_nVNumber of variables.
_nCNumber of constraints.
_hessianTypeType of Hessian matrix.
QProblem::QProblem ( const QProblem rhs)

Copy constructor (deep copy).

Parameters
rhsRhs object.
virtual QProblem::~QProblem ( )
virtual

Destructor.

Member Function Documentation

returnValue QProblem::addBound ( int  number,
SubjectToStatus  B_status,
BooleanType  updateCholesky 
)
protected

Adds a bound to active set.

Returns
SUCCESSFUL_RETURN
RET_ADDBOUND_FAILED
RET_ADDBOUND_FAILED_INFEASIBILITY
RET_ENSURELI_FAILED
Parameters
numberNumber of bound to be added to active set.
B_statusStatus of new active bound.
updateCholeskyFlag indicating if Cholesky decomposition shall be updated.

Definition at line 1787 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblem.cpp.

returnValue QProblem::addBound ( int  number,
SubjectToStatus  B_status,
BooleanType  updateCholesky 
)
protected

Adds a bound to active set.

Returns
SUCCESSFUL_RETURN
RET_ADDBOUND_FAILED
RET_ADDBOUND_FAILED_INFEASIBILITY
RET_ENSURELI_FAILED
Parameters
numberNumber of bound to be added to active set.
B_statusStatus of new active bound.
updateCholeskyFlag indicating if Cholesky decomposition shall be updated.
virtual returnValue QProblem::addBound ( int_t  number,
SubjectToStatus  B_status,
BooleanType  updateCholesky,
BooleanType  ensureLI = BT_TRUE 
)
protectedvirtual

Adds a bound to active set.

Returns
SUCCESSFUL_RETURN
RET_ADDBOUND_FAILED
RET_ADDBOUND_FAILED_INFEASIBILITY
RET_ENSURELI_FAILED
Parameters
numberNumber of bound to be added to active set.
B_statusStatus of new active bound.
updateCholeskyFlag indicating if Cholesky decomposition shall be updated.
ensureLIEnsure linear independence by exchange rules by default.

Reimplemented in SQProblemSchur.

returnValue QProblem::addBound ( int  number,
SubjectToStatus  B_status,
BooleanType  updateCholesky,
BooleanType  ensureLI = BT_TRUE 
)
protected

Adds a bound to active set.

Returns
SUCCESSFUL_RETURN
RET_ADDBOUND_FAILED
RET_ADDBOUND_FAILED_INFEASIBILITY
RET_ENSURELI_FAILED
Parameters
numberNumber of bound to be added to active set.
B_statusStatus of new active bound.
updateCholeskyFlag indicating if Cholesky decomposition shall be updated.
ensureLIEnsure linear independence by exchange rules by default.

Definition at line 3371 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

returnValue QProblem::addBound_checkLI ( int  number)
protected

Checks if new active bound to be added is linearly dependent from from row of the active constraints matrix.

Returns
RET_LINEARLY_DEPENDENT
RET_LINEARLY_INDEPENDENT
Parameters
numberNumber of bound to be added to active set.

Definition at line 1953 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblem.cpp.

returnValue QProblem::addBound_checkLI ( int  number)
protected

Checks if new active bound to be added is linearly dependent from from row of the active constraints matrix.

Returns
RET_LINEARLY_DEPENDENT
RET_LINEARLY_INDEPENDENT
Parameters
numberNumber of bound to be added to active set.
virtual returnValue QProblem::addBound_checkLI ( int_t  number)
protectedvirtual

Checks if new active bound to be added is linearly dependent from from row of the active constraints matrix.

Returns
RET_LINEARLY_DEPENDENT
RET_LINEARLY_INDEPENDENT
Parameters
numberNumber of bound to be added to active set.

Reimplemented in SQProblemSchur.

returnValue QProblem::addBound_checkLI ( int  number)
protected

Checks if new active bound to be added is linearly dependent from from row of the active constraints matrix.

Returns
RET_LINEARLY_DEPENDENT
RET_LINEARLY_INDEPENDENT
Parameters
numberNumber of bound to be added to active set.
returnValue QProblem::addBound_ensureLI ( int  number,
SubjectToStatus  B_status 
)
protected

Ensures linear independence of constraint matrix when a new bound is added. To this end a bound or constraint is removed simultaneously if necessary.

Returns
SUCCESSFUL_RETURN
RET_LI_RESOLVED
RET_ENSURELI_FAILED
RET_ENSURELI_FAILED_TQ
RET_ENSURELI_FAILED_NOINDEX
RET_REMOVE_FROM_ACTIVESET
Parameters
numberNumber of bound to be added to active set.
B_statusStatus of new active bound.

Definition at line 1975 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblem.cpp.

returnValue QProblem::addBound_ensureLI ( int  number,
SubjectToStatus  B_status 
)
protected

Ensures linear independence of constraint matrix when a new bound is added. To this end a bound or constraint is removed simultaneously if necessary.

Returns
SUCCESSFUL_RETURN
RET_LI_RESOLVED
RET_ENSURELI_FAILED
RET_ENSURELI_FAILED_TQ
RET_ENSURELI_FAILED_NOINDEX
RET_REMOVE_FROM_ACTIVESET
Parameters
numberNumber of bound to be added to active set.
B_statusStatus of new active bound.
virtual returnValue QProblem::addBound_ensureLI ( int_t  number,
SubjectToStatus  B_status 
)
protectedvirtual

Ensures linear independence of constraint matrix when a new bound is added. To this end a bound or constraint is removed simultaneously if necessary.

Returns
SUCCESSFUL_RETURN
RET_LI_RESOLVED
RET_ENSURELI_FAILED
RET_ENSURELI_FAILED_TQ
RET_ENSURELI_FAILED_NOINDEX
RET_REMOVE_FROM_ACTIVESET
Parameters
numberNumber of bound to be added to active set.
B_statusStatus of new active bound.

Reimplemented in SQProblemSchur.

returnValue QProblem::addBound_ensureLI ( int  number,
SubjectToStatus  B_status 
)
protected

Ensures linear independence of constraint matrix when a new bound is added. To this end a bound or constraint is removed simultaneously if necessary.

Returns
SUCCESSFUL_RETURN
RET_LI_RESOLVED
RET_ENSURELI_FAILED
RET_ENSURELI_FAILED_TQ
RET_ENSURELI_FAILED_NOINDEX
RET_REMOVE_FROM_ACTIVESET
Parameters
numberNumber of bound to be added to active set.
B_statusStatus of new active bound.
returnValue QProblem::addConstraint ( int  number,
SubjectToStatus  C_status,
BooleanType  updateCholesky 
)
protected

Adds a constraint to active set.

Returns
SUCCESSFUL_RETURN
RET_ADDCONSTRAINT_FAILED
RET_ADDCONSTRAINT_FAILED_INFEASIBILITY
RET_ENSURELI_FAILED
Parameters
numberNumber of constraint to be added to active set.
C_statusStatus of new active constraint.
updateCholeskyFlag indicating if Cholesky decomposition shall be updated.

Definition at line 1339 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblem.cpp.

returnValue QProblem::addConstraint ( int  number,
SubjectToStatus  C_status,
BooleanType  updateCholesky 
)
protected

Adds a constraint to active set.

Returns
SUCCESSFUL_RETURN
RET_ADDCONSTRAINT_FAILED
RET_ADDCONSTRAINT_FAILED_INFEASIBILITY
RET_ENSURELI_FAILED
Parameters
numberNumber of constraint to be added to active set.
C_statusStatus of new active constraint.
updateCholeskyFlag indicating if Cholesky decomposition shall be updated.
virtual returnValue QProblem::addConstraint ( int_t  number,
SubjectToStatus  C_status,
BooleanType  updateCholesky,
BooleanType  ensureLI = BT_TRUE 
)
protectedvirtual

Adds a constraint to active set.

Returns
SUCCESSFUL_RETURN
RET_ADDCONSTRAINT_FAILED
RET_ADDCONSTRAINT_FAILED_INFEASIBILITY
RET_ENSURELI_FAILED
Parameters
numberNumber of constraint to be added to active set.
C_statusStatus of new active constraint.
updateCholeskyFlag indicating if Cholesky decomposition shall be updated.
ensureLIEnsure linear independence by exchange rules by default.

Reimplemented in SQProblemSchur.

returnValue QProblem::addConstraint ( int  number,
SubjectToStatus  C_status,
BooleanType  updateCholesky,
BooleanType  ensureLI = BT_TRUE 
)
protected

Adds a constraint to active set.

Returns
SUCCESSFUL_RETURN
RET_ADDCONSTRAINT_FAILED
RET_ADDCONSTRAINT_FAILED_INFEASIBILITY
RET_ENSURELI_FAILED
Parameters
numberNumber of constraint to be added to active set.
C_statusStatus of new active constraint.
updateCholeskyFlag indicating if Cholesky decomposition shall be updated.
ensureLIEnsure linear independence by exchange rules by default.

Definition at line 2901 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

returnValue QProblem::addConstraint_checkLI ( int  number)
protected

Checks if new active constraint to be added is linearly dependent from from row of the active constraints matrix.

Returns
RET_LINEARLY_DEPENDENT
RET_LINEARLY_INDEPENDENT
RET_INDEXLIST_CORRUPTED
Parameters
numberNumber of constraint to be added to active set.

Definition at line 1493 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblem.cpp.

returnValue QProblem::addConstraint_checkLI ( int  number)
protected

Checks if new active constraint to be added is linearly dependent from from row of the active constraints matrix.

Returns
RET_LINEARLY_DEPENDENT
RET_LINEARLY_INDEPENDENT
RET_INDEXLIST_CORRUPTED
Parameters
numberNumber of constraint to be added to active set.
virtual returnValue QProblem::addConstraint_checkLI ( int_t  number)
protectedvirtual

Checks if new active constraint to be added is linearly dependent from from row of the active constraints matrix.

Returns
RET_LINEARLY_DEPENDENT
RET_LINEARLY_INDEPENDENT
RET_INDEXLIST_CORRUPTED
Parameters
numberNumber of constraint to be added to active set.

Reimplemented in SQProblemSchur.

returnValue QProblem::addConstraint_checkLI ( int  number)
protected

Checks if new active constraint to be added is linearly dependent from from row of the active constraints matrix.

Returns
RET_LINEARLY_DEPENDENT
RET_LINEARLY_INDEPENDENT
RET_INDEXLIST_CORRUPTED
Parameters
numberNumber of constraint to be added to active set.
returnValue QProblem::addConstraint_ensureLI ( int  number,
SubjectToStatus  C_status 
)
protected

Ensures linear independence of constraint matrix when a new constraint is added. To this end a bound or constraint is removed simultaneously if necessary.

Returns
SUCCESSFUL_RETURN
RET_LI_RESOLVED
RET_ENSURELI_FAILED
RET_ENSURELI_FAILED_TQ
RET_ENSURELI_FAILED_NOINDEX
RET_REMOVE_FROM_ACTIVESET
Parameters
numberNumber of constraint to be added to active set.
C_statusStatus of new active bound.

Definition at line 1527 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblem.cpp.

returnValue QProblem::addConstraint_ensureLI ( int  number,
SubjectToStatus  C_status 
)
protected

Ensures linear independence of constraint matrix when a new constraint is added. To this end a bound or constraint is removed simultaneously if necessary.

Returns
SUCCESSFUL_RETURN
RET_LI_RESOLVED
RET_ENSURELI_FAILED
RET_ENSURELI_FAILED_TQ
RET_ENSURELI_FAILED_NOINDEX
RET_REMOVE_FROM_ACTIVESET
Parameters
numberNumber of constraint to be added to active set.
C_statusStatus of new active bound.
virtual returnValue QProblem::addConstraint_ensureLI ( int_t  number,
SubjectToStatus  C_status 
)
protectedvirtual

Ensures linear independence of constraint matrix when a new constraint is added. To this end a bound or constraint is removed simultaneously if necessary.

Returns
SUCCESSFUL_RETURN
RET_LI_RESOLVED
RET_ENSURELI_FAILED
RET_ENSURELI_FAILED_TQ
RET_ENSURELI_FAILED_NOINDEX
RET_REMOVE_FROM_ACTIVESET
Parameters
numberNumber of constraint to be added to active set.
C_statusStatus of new active bound.

Reimplemented in SQProblemSchur.

returnValue QProblem::addConstraint_ensureLI ( int  number,
SubjectToStatus  C_status 
)
protected

Ensures linear independence of constraint matrix when a new constraint is added. To this end a bound or constraint is removed simultaneously if necessary.

Returns
SUCCESSFUL_RETURN
RET_LI_RESOLVED
RET_ENSURELI_FAILED
RET_ENSURELI_FAILED_TQ
RET_ENSURELI_FAILED_NOINDEX
RET_REMOVE_FROM_ACTIVESET
Parameters
numberNumber of constraint to be added to active set.
C_statusStatus of new active bound.
returnValue QProblem::areBoundsConsistent ( const real_t *const  delta_lb,
const real_t *const  delta_ub,
const real_t *const  delta_lbA,
const real_t *const  delta_ubA 
) const
protected

Checks if lower/upper (constraints') bounds remain consistent (i.e. if lb <= ub and lbA <= ubA ) during the current step.

Returns
BT_TRUE iff (constraints") bounds remain consistent
Parameters
delta_lbStep direction of lower bounds.
delta_ubStep direction of upper bounds.
delta_lbAStep direction of lower constraints' bounds.
delta_ubAStep direction of upper constraints' bounds.

Definition at line 3496 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblem.cpp.

BooleanType QProblem::areBoundsConsistent ( const real_t *const  delta_lb,
const real_t *const  delta_ub,
const real_t *const  delta_lbA,
const real_t *const  delta_ubA 
) const
protected

Checks if lower/upper (constraints') bounds remain consistent (i.e. if lb <= ub and lbA <= ubA ) during the current step.

Returns
BT_TRUE iff (constraints") bounds remain consistent
Parameters
delta_lbStep direction of lower bounds.
delta_ubStep direction of upper bounds.
delta_lbAStep direction of lower constraints' bounds.
delta_ubAStep direction of upper constraints' bounds.
returnValue QProblem::areBoundsConsistent ( const real_t *const  lb,
const real_t *const  ub,
const real_t *const  lbA,
const real_t *const  ubA 
) const
protected

Decides if lower bounds are smaller than upper bounds

Returns
SUCCESSFUL_RETURN
RET_QP_INFEASIBLE
Parameters
lbVector of lower bounds
ubVector of upper bounds
lbAVector of lower constraints
ubAVector of upper constraints
returnValue QProblem::backsolveR ( const real_t *const  b,
BooleanType  transposed,
real_t *const  a 
)
protected

Solves the system Ra = b or R^Ta = b where R is an upper triangular matrix.

Returns
SUCCESSFUL_RETURN
RET_DIV_BY_ZERO
Parameters
bRight hand side vector.
transposedIndicates if the transposed system shall be solved.
aOutput: Solution vector

Definition at line 2514 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblem.cpp.

returnValue QProblem::backsolveR ( const real_t *const  b,
BooleanType  transposed,
BooleanType  removingBound,
real_t *const  a 
)
protected

Solves the system Ra = b or R^Ta = b where R is an upper triangular matrix.
Special variant for the case that this function is called from within "removeBound()".

Returns
SUCCESSFUL_RETURN
RET_DIV_BY_ZERO
Parameters
bRight hand side vector.
transposedIndicates if the transposed system shall be solved.
removingBoundIndicates if function is called from "removeBound()".
aOutput: Solution vector

Definition at line 2526 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblem.cpp.

returnValue QProblem::backsolveR ( const real_t *const  b,
BooleanType  transposed,
real_t *const  a 
)
protected

Solves the system Ra = b or R^Ta = b where R is an upper triangular matrix.

Returns
SUCCESSFUL_RETURN
RET_DIV_BY_ZERO
Parameters
bRight hand side vector.
transposedIndicates if the transposed system shall be solved.
aOutput: Solution vector
returnValue QProblem::backsolveR ( const real_t *const  b,
BooleanType  transposed,
BooleanType  removingBound,
real_t *const  a 
)
protected

Solves the system Ra = b or R^Ta = b where R is an upper triangular matrix.
Special variant for the case that this function is called from within "removeBound()".

Returns
SUCCESSFUL_RETURN
RET_DIV_BY_ZERO
Parameters
bRight hand side vector.
transposedIndicates if the transposed system shall be solved.
removingBoundIndicates if function is called from "removeBound()".
aOutput: Solution vector
returnValue QProblem::backsolveT ( const real_t *const  b,
BooleanType  transposed,
real_t *const  a 
)
protected

Solves the system Ta = b or T^Ta = b where T is a reverse upper triangular matrix.

Returns
SUCCESSFUL_RETURN
RET_DIV_BY_ZERO
Parameters
bRight hand side vector.
transposedIndicates if the transposed system shall be solved.
aOutput: Solution vector

Definition at line 2586 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblem.cpp.

returnValue QProblem::backsolveT ( const real_t *const  b,
BooleanType  transposed,
real_t *const  a 
)
protected

Solves the system Ta = b or T^Ta = b where T is a reverse upper triangular matrix.

Returns
SUCCESSFUL_RETURN
RET_DIV_BY_ZERO
Parameters
bRight hand side vector.
transposedIndicates if the transposed system shall be solved.
aOutput: Solution vector
virtual returnValue QProblem::backsolveT ( const real_t *const  b,
BooleanType  transposed,
real_t *const  a 
) const
protectedvirtual

Solves the system Ta = b or T^Ta = b where T is a reverse upper triangular matrix.

Returns
SUCCESSFUL_RETURN
RET_DIV_BY_ZERO
Parameters
bRight hand side vector.
transposedIndicates if the transposed system shall be solved.
aOutput: Solution vector

Reimplemented in SQProblemSchur.

returnValue QProblem::backsolveT ( const real_t *const  b,
BooleanType  transposed,
real_t *const  a 
) const
protected

Solves the system Ta = b or T^Ta = b where T is a reverse upper triangular matrix.

Returns
SUCCESSFUL_RETURN
RET_DIV_BY_ZERO
Parameters
bRight hand side vector.
transposedIndicates if the transposed system shall be solved.
aOutput: Solution vector

Definition at line 4547 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

returnValue QProblem::changeActiveSet ( int_t  BC_idx,
SubjectToStatus  BC_status,
BooleanType  BC_isBound 
)
protected

Updates the active set.

Returns
SUCCESSFUL_RETURN
RET_REMOVE_FROM_ACTIVESET_FAILED
RET_ADD_TO_ACTIVESET_FAILED
Parameters
BC_idxIndex of blocking constraint.
BC_statusStatus of blocking constraint.
BC_isBoundIndicates if blocking constraint is a bound.
returnValue QProblem::changeActiveSet ( int  BC_idx,
SubjectToStatus  BC_status,
BooleanType  BC_isBound 
)
protected

Updates the active set.

Returns
SUCCESSFUL_RETURN
RET_REMOVE_FROM_ACTIVESET_FAILED
RET_ADD_TO_ACTIVESET_FAILED
Parameters
BC_idxIndex of blocking constraint.
BC_statusStatus of blocking constraint.
BC_isBoundIndicates if blocking constraint is a bound.

Definition at line 5399 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

returnValue QProblem::checkKKTconditions ( )
protected

Determines the maximum violation of the KKT optimality conditions of the current iterate within the QProblem object.

Returns
SUCCESSFUL_RETURN
RET_INACCURATE_SOLUTION
RET_NO_SOLUTION

Definition at line 3656 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblem.cpp.

returnValue QProblem::checkKKTconditions ( )
protected

Determines the maximum violation of the KKT optimality conditions of the current iterate within the QProblem object.

Returns
SUCCESSFUL_RETURN
RET_INACCURATE_SOLUTION
RET_NO_SOLUTION
returnValue QProblem::clear ( )
protected

Frees all allocated memory.

Returns
SUCCESSFUL_RETURN
returnValue QProblem::clear ( )
protected

Frees all allocated memory.

Returns
SUCCESSFUL_RETURN

Definition at line 1321 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

returnValue QProblem::computeInitialCholesky ( )
protected

Computes initial Cholesky decomposition of the projected Hessian making use of the function setupCholeskyDecomposition() or setupCholeskyDecompositionProjected().

Returns
SUCCESSFUL_RETURN
RET_HESSIAN_NOT_SPD
RET_INDEXLIST_CORRUPTED

Definition at line 466 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

returnValue QProblem::computeProjectedCholesky ( )
protectedvirtual

Computes the Cholesky decomposition of the projected Hessian (i.e. R^T*R = Z^T*H*Z). Note: If Hessian turns out not to be positive definite, the Hessian type is set to HST_SEMIDEF accordingly.

Returns
SUCCESSFUL_RETURN
RET_HESSIAN_NOT_SPD
RET_INDEXLIST_CORRUPTED

Reimplemented in SQProblemSchur.

Definition at line 2008 of file external_packages/qpOASES-3.2.0/src/QProblem.cpp.

returnValue QProblem::copy ( const QProblem rhs)
protected

Copies all members from given rhs object.

Returns
SUCCESSFUL_RETURN
Parameters
rhsRhs object.
returnValue QProblem::copy ( const QProblem rhs)
protected

Copies all members from given rhs object.

Returns
SUCCESSFUL_RETURN
Parameters
rhsRhs object.

Definition at line 1414 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

returnValue QProblem::determineDataShift ( const real_t *const  g_new,
const real_t *const  lbA_new,
const real_t *const  ubA_new,
const real_t *const  lb_new,
const real_t *const  ub_new,
real_t *const  delta_g,
real_t *const  delta_lbA,
real_t *const  delta_ubA,
real_t *const  delta_lb,
real_t *const  delta_ub,
BooleanType Delta_bC_isZero,
BooleanType Delta_bB_isZero 
)
protected

Determines step direction of the shift of the QP data.

Returns
SUCCESSFUL_RETURN
Parameters
g_newNew gradient vector.
lbA_newNew lower constraints' bounds.
ubA_newNew upper constraints' bounds.
lb_newNew lower bounds.
ub_newNew upper bounds.
delta_gOutput: Step direction of gradient vector.
delta_lbAOutput: Step direction of lower constraints' bounds.
delta_ubAOutput: Step direction of upper constraints' bounds.
delta_lbOutput: Step direction of lower bounds.
delta_ubOutput: Step direction of upper bounds.
Delta_bC_isZeroOutput: Indicates if active constraints' bounds are to be shifted.
Delta_bB_isZeroOutput: Indicates if active bounds are to be shifted.
returnValue QProblem::determineDataShift ( const real_t *const  g_new,
const real_t *const  lbA_new,
const real_t *const  ubA_new,
const real_t *const  lb_new,
const real_t *const  ub_new,
real_t *const  delta_g,
real_t *const  delta_lbA,
real_t *const  delta_ubA,
real_t *const  delta_lb,
real_t *const  delta_ub,
BooleanType Delta_bC_isZero,
BooleanType Delta_bB_isZero 
)
protected

Determines step direction of the shift of the QP data.

Returns
SUCCESSFUL_RETURN
Parameters
g_newNew gradient vector.
lbA_newNew lower constraints' bounds.
ubA_newNew upper constraints' bounds.
lb_newNew lower bounds.
ub_newNew upper bounds.
delta_gOutput: Step direction of gradient vector.
delta_lbAOutput: Step direction of lower constraints' bounds.
delta_ubAOutput: Step direction of upper constraints' bounds.
delta_lbOutput: Step direction of lower bounds.
delta_ubOutput: Step direction of upper bounds.
Delta_bC_isZeroOutput: Indicates if active constraints' bounds are to be shifted.
Delta_bB_isZeroOutput: Indicates if active bounds are to be shifted.

Definition at line 4600 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

virtual returnValue QProblem::determineStepDirection ( const real_t *const  delta_g,
const real_t *const  delta_lbA,
const real_t *const  delta_ubA,
const real_t *const  delta_lb,
const real_t *const  delta_ub,
BooleanType  Delta_bC_isZero,
BooleanType  Delta_bB_isZero,
real_t *const  delta_xFX,
real_t *const  delta_xFR,
real_t *const  delta_yAC,
real_t *const  delta_yFX 
)
protectedvirtual

Determines step direction of the homotopy path.

Returns
SUCCESSFUL_RETURN
RET_STEPDIRECTION_FAILED_TQ
RET_STEPDIRECTION_FAILED_CHOLESKY
Parameters
delta_gStep direction of gradient vector.
delta_lbAStep direction of lower constraints' bounds.
delta_ubAStep direction of upper constraints' bounds.
delta_lbStep direction of lower bounds.
delta_ubStep direction of upper bounds.
Delta_bC_isZeroIndicates if active constraints' bounds are to be shifted.
Delta_bB_isZeroIndicates if active bounds are to be shifted.
delta_xFXOutput: Primal homotopy step direction of fixed variables.
delta_xFROutput: Primal homotopy step direction of free variables.
delta_yACOutput: Dual homotopy step direction of active constraints' multiplier.
delta_yFXOutput: Dual homotopy step direction of fixed variables' multiplier.

Reimplemented in SQProblemSchur.

returnValue QProblem::determineStepDirection ( const real_t *const  delta_g,
const real_t *const  delta_lbA,
const real_t *const  delta_ubA,
const real_t *const  delta_lb,
const real_t *const  delta_ub,
BooleanType  Delta_bC_isZero,
BooleanType  Delta_bB_isZero,
real_t *const  delta_xFX,
real_t *const  delta_xFR,
real_t *const  delta_yAC,
real_t *const  delta_yFX 
)
protected

Determines step direction of the homotopy path.

Returns
SUCCESSFUL_RETURN
RET_STEPDIRECTION_FAILED_TQ
RET_STEPDIRECTION_FAILED_CHOLESKY
Parameters
delta_gStep direction of gradient vector.
delta_lbAStep direction of lower constraints' bounds.
delta_ubAStep direction of upper constraints' bounds.
delta_lbStep direction of lower bounds.
delta_ubStep direction of upper bounds.
Delta_bC_isZeroIndicates if active constraints' bounds are to be shifted.
Delta_bB_isZeroIndicates if active bounds are to be shifted.
delta_xFXOutput: Primal homotopy step direction of fixed variables.
delta_xFROutput: Primal homotopy step direction of free variables.
delta_yACOutput: Dual homotopy step direction of active constraints' multiplier.
delta_yFXOutput: Dual homotopy step direction of fixed variables' multiplier.

Definition at line 4666 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

returnValue QProblem::dropInfeasibles ( int_t  BC_number,
SubjectToStatus  BC_status,
BooleanType  BC_isBound,
real_t xiB,
real_t xiC 
)
protected

Drops the blocking bound/constraint that led to infeasibility, or finds another bound/constraint to drop according to drop priorities.

Returns
SUCCESSFUL_RETURN
Parameters
BC_numberNumber of the bound or constraint to be added.
BC_statusNew status of the bound or constraint to be added.
BC_isBoundWhether a bound or a constraint is to be added.
xiB(not yet documented)
xiC(not yet documented)

Definition at line 6234 of file external_packages/qpOASES-3.2.0/src/QProblem.cpp.

returnValue QProblem::ensureNonzeroCurvature ( BooleanType  removeBoundNotConstraint,
int_t  remIdx,
BooleanType exchangeHappened,
BooleanType addBoundNotConstraint,
int_t addIdx,
SubjectToStatus addStatus 
)
protected

Ensure non-zero curvature by primal jump.

Returns
SUCCESSFUL_RETURN
RET_HOTSTART_STOPPED_UNBOUNDEDNESS
Parameters
removeBoundNotConstraintSubjectTo to be removed is a bound.
remIdxIndex of bound/constraint to be removed.
exchangeHappenedOutput: Exchange was necessary to ensure.
addBoundNotConstraintSubjectTo to be added is a bound.
addIdxIndex of bound/constraint to be added.
addStatusStatus of bound/constraint to be added.
returnValue QProblem::ensureNonzeroCurvature ( BooleanType  removeBoundNotConstraint,
int  remIdx,
BooleanType exchangeHappened,
BooleanType addBoundNotConstraint,
int &  addIdx,
SubjectToStatus addStatus 
)
protected

Ensure non-zero curvature by primal jump.

Returns
SUCCESSFUL_RETURN
RET_HOTSTART_STOPPED_UNBOUNDEDNESS
Parameters
removeBoundNotConstraintSubjectTo to be removed is a bound.
remIdxIndex of bound/constraint to be removed.
exchangeHappenedOutput: Exchange was necessary to ensure.
addBoundNotConstraintSubjectTo to be added is a bound.
addIdxIndex of bound/constraint to be added.
addStatusStatus of bound/constraint to be added.

Definition at line 4306 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

returnValue QProblem::getA ( real_t *const  _A) const
inline

Returns constraint matrix of the QP (deep copy).

Returns
SUCCESSFUL_RETURN
Parameters
_AArray of appropriate dimension for copying constraint matrix.
returnValue QProblem::getA ( int  number,
real_t *const  row 
) const
inline

Returns a single row of constraint matrix of the QP (deep copy).

Returns
SUCCESSFUL_RETURN
RET_INDEX_OUT_OF_BOUNDS
Parameters
numberNumber of entry to be returned.
rowArray of appropriate dimension for copying (number)th constraint.
returnValue QProblem::getA ( real_t *const  _A) const
inline

Returns constraint matrix of the QP (deep copy).

Returns
SUCCESSFUL_RETURN
Parameters
_AArray of appropriate dimension for copying constraint matrix.
returnValue QProblem::getA ( int  number,
real_t *const  row 
) const
inline

Returns a single row of constraint matrix of the QP (deep copy).

Returns
SUCCESSFUL_RETURN
RET_INDEX_OUT_OF_BOUNDS
Parameters
numberNumber of entry to be returned.
rowArray of appropriate dimension for copying (number)th constraint.
returnValue QProblem::getConstraints ( Constraints *const  _constraints) const
inline

Returns current constraints object of the QP (deep copy).

Returns
SUCCESSFUL_RETURN
Parameters
_constraintsOutput: Constraints object.
returnValue QProblem::getConstraints ( Constraints *const  _constraints) const
inline

Returns current constraints object of the QP (deep copy).

Returns
SUCCESSFUL_RETURN
Parameters
_constraintsOutput: Constraints object.
returnValue QProblem::getConstraints ( Constraints _constraints) const
inline

Returns current constraints object of the QP (deep copy).

Returns
SUCCESSFUL_RETURN
RET_QPOBJECT_NOT_SETUP
Parameters
_constraintsOutput: Constraints object.
returnValue QProblem::getConstraints ( Constraints _constraints) const
inline

Returns current constraints object of the QP (deep copy).

Returns
SUCCESSFUL_RETURN
RET_QPOBJECT_NOT_SETUP
Parameters
_constraintsOutput: Constraints object.
returnValue QProblem::getDualSolution ( real_t *const  yOpt) const
virtual

Returns the dual solution vector (deep copy).

Returns
SUCCESSFUL_RETURN
RET_QP_NOT_SOLVED
Parameters
yOptOutput: Dual solution vector (if QP has been solved).

Reimplemented from QProblemB.

Definition at line 477 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblem.cpp.

returnValue QProblem::getDualSolution ( real_t *const  yOpt) const
virtual

Returns the dual solution vector (deep copy).

Returns
SUCCESSFUL_RETURN
RET_QP_NOT_SOLVED
Parameters
yOptOutput: Dual solution vector (if QP has been solved).

Reimplemented from QProblemB.

virtual returnValue QProblem::getDualSolution ( real_t *const  yOpt) const
virtual

Returns the dual solution vector (deep copy).

Returns
SUCCESSFUL_RETURN
RET_QP_NOT_SOLVED
Parameters
yOptOutput: Dual solution vector (if QP has been solved).

Reimplemented from QProblemB.

virtual returnValue QProblem::getDualSolution ( real_t *const  yOpt) const
virtual

Returns the dual solution vector (deep copy).

Returns
SUCCESSFUL_RETURN
RET_QP_NOT_SOLVED
Parameters
yOptOutput: Dual solution vector (if QP has been solved).

Reimplemented from QProblemB.

returnValue QProblem::getFreeVariablesFlags ( BooleanType varIsFree)

Set the incoming array to true for each variable entry that is in the set of free variables

Definition at line 1044 of file external_packages/qpOASES-3.2.0/src/QProblem.cpp.

returnValue QProblem::getLBA ( real_t *const  _lbA) const
inline

Returns lower constraints' bound vector of the QP (deep copy).

Returns
SUCCESSFUL_RETURN
Parameters
_lbAArray of appropriate dimension for copying lower constraints' bound vector.
returnValue QProblem::getLBA ( int  number,
real_t value 
) const
inline

Returns single entry of lower constraints' bound vector of the QP.

Returns
SUCCESSFUL_RETURN
RET_INDEX_OUT_OF_BOUNDS
Parameters
numberNumber of entry to be returned.
valueOutput: lbA[number].
returnValue QProblem::getLBA ( real_t *const  _lbA) const
inline

Returns lower constraints' bound vector of the QP (deep copy).

Returns
SUCCESSFUL_RETURN
Parameters
_lbAArray of appropriate dimension for copying lower constraints' bound vector.
returnValue QProblem::getLBA ( int  number,
real_t value 
) const
inline

Returns single entry of lower constraints' bound vector of the QP.

Returns
SUCCESSFUL_RETURN
RET_INDEX_OUT_OF_BOUNDS
Parameters
numberNumber of entry to be returned.
valueOutput: lbA[number].
int QProblem::getNAC ( )
inline

Returns the number of active constraints.

Returns
Number of active constraints.
int QProblem::getNAC ( )
inline

Returns the number of active constraints.

Returns
Number of active constraints.
int_t QProblem::getNAC ( ) const
inline

Returns the number of active constraints.

Returns
Number of active constraints.
int QProblem::getNAC ( ) const
inline

Returns the number of active constraints.

Returns
Number of active constraints.
int QProblem::getNC ( ) const
inline

Returns the number of constraints.

Returns
Number of constraints.
int QProblem::getNC ( ) const
inline

Returns the number of constraints.

Returns
Number of constraints.
int_t QProblem::getNC ( ) const
inline

Returns the number of constraints.

Returns
Number of constraints.
int QProblem::getNC ( ) const
inline

Returns the number of constraints.

Returns
Number of constraints.
int QProblem::getNEC ( ) const
inline

Returns the number of (implicitly defined) equality constraints.

Returns
Number of (implicitly defined) equality constraints.
int QProblem::getNEC ( ) const
inline

Returns the number of (implicitly defined) equality constraints.

Returns
Number of (implicitly defined) equality constraints.
int_t QProblem::getNEC ( ) const
inline

Returns the number of (implicitly defined) equality constraints.

Returns
Number of (implicitly defined) equality constraints.
int QProblem::getNEC ( ) const
inline

Returns the number of (implicitly defined) equality constraints.

Returns
Number of (implicitly defined) equality constraints.
int QProblem::getNIAC ( )
inline

Returns the number of inactive constraints.

Returns
Number of inactive constraints.
int QProblem::getNIAC ( )
inline

Returns the number of inactive constraints.

Returns
Number of inactive constraints.
int_t QProblem::getNIAC ( ) const
inline

Returns the number of inactive constraints.

Returns
Number of inactive constraints.
int QProblem::getNIAC ( ) const
inline

Returns the number of inactive constraints.

Returns
Number of inactive constraints.
int QProblem::getNZ ( )

Returns the dimension of null space.

Returns
Dimension of null space.

Definition at line 467 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblem.cpp.

int QProblem::getNZ ( )

Returns the dimension of null space.

Returns
Dimension of null space.
virtual int_t QProblem::getNZ ( ) const
virtual

Returns the dimension of null space.

Returns
Dimension of null space.

Reimplemented from QProblemB.

int_t QProblem::getNZ ( ) const
virtual

Returns the dimension of null space.

Returns
Dimension of null space.

Reimplemented from QProblemB.

Definition at line 1117 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

real_t QProblem::getRelativeHomotopyLength ( const real_t *const  g_new,
const real_t *const  lb_new,
const real_t *const  ub_new,
const real_t *const  lbA_new,
const real_t *const  ubA_new 
)
protected

Compute relative length of homotopy in data space for termination criterion.

Returns
Relative length in data space.
Parameters
g_newFinal gradient.
lb_newFinal lower variable bounds.
ub_newFinal upper variable bounds.
lbA_newFinal lower constraint bounds.
ubA_newFinal upper constraint bounds.

Definition at line 5342 of file external_packages/qpOASES-3.2.0/src/QProblem.cpp.

returnValue QProblem::getUBA ( real_t *const  _ubA) const
inline

Returns upper constraints' bound vector of the QP (deep copy).

Returns
SUCCESSFUL_RETURN
Parameters
_ubAArray of appropriate dimension for copying upper constraints' bound vector.
returnValue QProblem::getUBA ( int  number,
real_t value 
) const
inline

Returns single entry of upper constraints' bound vector of the QP.

Returns
SUCCESSFUL_RETURN
RET_INDEX_OUT_OF_BOUNDS
Parameters
numberNumber of entry to be returned.
valueOutput: ubA[number].
returnValue QProblem::getUBA ( real_t *const  _ubA) const
inline

Returns upper constraints' bound vector of the QP (deep copy).

Returns
SUCCESSFUL_RETURN
Parameters
_ubAArray of appropriate dimension for copying upper constraints' bound vector.
returnValue QProblem::getUBA ( int  number,
real_t value 
) const
inline

Returns single entry of upper constraints' bound vector of the QP.

Returns
SUCCESSFUL_RETURN
RET_INDEX_OUT_OF_BOUNDS
Parameters
numberNumber of entry to be returned.
valueOutput: ubA[number].
returnValue QProblem::getWorkingSet ( real_t workingSet)
virtual

Writes a vector with the state of the working set

Returns
SUCCESSFUL_RETURN
RET_INVALID_ARGUMENTS
Parameters
workingSetOutput: array containing state of the working set.

Reimplemented from QProblemB.

Definition at line 780 of file external_packages/qpOASES-3.2.0/src/QProblem.cpp.

returnValue QProblem::getWorkingSetBounds ( real_t workingSetB)
virtual

Writes a vector with the state of the working set of bounds

Returns
SUCCESSFUL_RETURN
RET_INVALID_ARGUMENTS
Parameters
workingSetBOutput: array containing state of the working set of bounds.

Reimplemented from QProblemB.

Definition at line 800 of file external_packages/qpOASES-3.2.0/src/QProblem.cpp.

returnValue QProblem::getWorkingSetConstraints ( real_t workingSetC)
virtual

Writes a vector with the state of the working set of constraints

Returns
SUCCESSFUL_RETURN
RET_INVALID_ARGUMENTS
Parameters
workingSetCOutput: array containing state of the working set of constraints.

Reimplemented from QProblemB.

Definition at line 809 of file external_packages/qpOASES-3.2.0/src/QProblem.cpp.

returnValue QProblem::hotstart ( const real_t *const  g_new,
const real_t *const  lb_new,
const real_t *const  ub_new,
const real_t *const  lbA_new,
const real_t *const  ubA_new,
int &  nWSR,
real_t *const  cputime 
)

Solves QProblem using online active set strategy.

Returns
SUCCESSFUL_RETURN
RET_MAX_NWSR_REACHED
RET_HOTSTART_FAILED_AS_QP_NOT_INITIALISED
RET_HOTSTART_FAILED
RET_SHIFT_DETERMINATION_FAILED
RET_STEPDIRECTION_DETERMINATION_FAILED
RET_STEPLENGTH_DETERMINATION_FAILED
RET_HOMOTOPY_STEP_FAILED
RET_HOTSTART_STOPPED_INFEASIBILITY
RET_HOTSTART_STOPPED_UNBOUNDEDNESS
RET_INACCURATE_SOLUTION
RET_NO_SOLUTION
Parameters
g_newGradient of neighbouring QP to be solved.
lb_newLower bounds of neighbouring QP to be solved.
If no lower bounds exist, a NULL pointer can be passed.
ub_newUpper bounds of neighbouring QP to be solved.
If no upper bounds exist, a NULL pointer can be passed.
lbA_newLower constraints' bounds of neighbouring QP to be solved.
If no lower constraints' bounds exist, a NULL pointer can be passed.
ubA_newUpper constraints' bounds of neighbouring QP to be solved.
If no upper constraints' bounds exist, a NULL pointer can be passed.
nWSRInput: Maximum number of working set recalculations;
Output: Number of performed working set recalculations.
cputimeOutput: CPU time required to solve QP (or to perform nWSR iterations).

Definition at line 255 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblem.cpp.

returnValue QProblem::hotstart ( const real_t *const  g_new,
const real_t *const  lb_new,
const real_t *const  ub_new,
const real_t *const  lbA_new,
const real_t *const  ubA_new,
int &  nWSR,
real_t *const  cputime 
)

Solves QProblem using online active set strategy.

Returns
SUCCESSFUL_RETURN
RET_MAX_NWSR_REACHED
RET_HOTSTART_FAILED_AS_QP_NOT_INITIALISED
RET_HOTSTART_FAILED
RET_SHIFT_DETERMINATION_FAILED
RET_STEPDIRECTION_DETERMINATION_FAILED
RET_STEPLENGTH_DETERMINATION_FAILED
RET_HOMOTOPY_STEP_FAILED
RET_HOTSTART_STOPPED_INFEASIBILITY
RET_HOTSTART_STOPPED_UNBOUNDEDNESS
RET_INACCURATE_SOLUTION
RET_NO_SOLUTION
Parameters
g_newGradient of neighbouring QP to be solved.
lb_newLower bounds of neighbouring QP to be solved.
If no lower bounds exist, a NULL pointer can be passed.
ub_newUpper bounds of neighbouring QP to be solved.
If no upper bounds exist, a NULL pointer can be passed.
lbA_newLower constraints' bounds of neighbouring QP to be solved.
If no lower constraints' bounds exist, a NULL pointer can be passed.
ubA_newUpper constraints' bounds of neighbouring QP to be solved.
If no upper constraints' bounds exist, a NULL pointer can be passed.
nWSRInput: Maximum number of working set recalculations;
Output: Number of performed working set recalculations.
cputimeOutput: CPU time required to solve QP (or to perform nWSR iterations).
returnValue QProblem::hotstart ( const real_t *const  g_new,
const real_t *const  lb_new,
const real_t *const  ub_new,
const real_t *const  lbA_new,
const real_t *const  ubA_new,
int_t nWSR,
real_t *const  cputime = 0,
const Bounds *const  guessedBounds = 0,
const Constraints *const  guessedConstraints = 0 
)

Solves an initialised QP sequence using the online active set strategy. By default, QP solution is started from previous solution. If a guess for the working set is provided, an initialised homotopy is performed.

Note: This function internally calls solveQP/solveRegularisedQP for solving an initialised QP!

Returns
SUCCESSFUL_RETURN
RET_MAX_NWSR_REACHED
RET_HOTSTART_FAILED_AS_QP_NOT_INITIALISED
RET_HOTSTART_FAILED
RET_SHIFT_DETERMINATION_FAILED
RET_STEPDIRECTION_DETERMINATION_FAILED
RET_STEPLENGTH_DETERMINATION_FAILED
RET_HOMOTOPY_STEP_FAILED
RET_HOTSTART_STOPPED_INFEASIBILITY
RET_HOTSTART_STOPPED_UNBOUNDEDNESS
Parameters
g_newGradient of neighbouring QP to be solved.
lb_newLower bounds of neighbouring QP to be solved.
If no lower bounds exist, a NULL pointer can be passed.
ub_newUpper bounds of neighbouring QP to be solved.
If no upper bounds exist, a NULL pointer can be passed.
lbA_newLower constraints' bounds of neighbouring QP to be solved.
If no lower constraints' bounds exist, a NULL pointer can be passed.
ubA_newUpper constraints' bounds of neighbouring QP to be solved.
If no upper constraints' bounds exist, a NULL pointer can be passed.
nWSRInput: Maximum number of working set recalculations;
Output: Number of performed working set recalculations.
cputimeInput: Maximum CPU time allowed for QP solution.
Output: CPU time spent for QP solution (or to perform nWSR iterations).
guessedBoundsOptimal working set of bounds for solution (xOpt,yOpt).
(If a null pointer is passed, the previous working set of bounds is kept!)
guessedConstraintsOptimal working set of constraints for solution (xOpt,yOpt).
(If a null pointer is passed, the previous working set of constraints is kept!)
returnValue QProblem::hotstart ( const char *const  g_file,
const char *const  lb_file,
const char *const  ub_file,
const char *const  lbA_file,
const char *const  ubA_file,
int_t nWSR,
real_t *const  cputime = 0,
const Bounds *const  guessedBounds = 0,
const Constraints *const  guessedConstraints = 0 
)

Solves an initialised QP sequence using the online active set strategy, where QP data is read from files. By default, QP solution is started from previous solution. If a guess for the working set is provided, an initialised homotopy is performed.

Note: This function internally calls solveQP/solveRegularisedQP for solving an initialised QP!

Returns
SUCCESSFUL_RETURN
RET_MAX_NWSR_REACHED
RET_HOTSTART_FAILED_AS_QP_NOT_INITIALISED
RET_HOTSTART_FAILED
RET_SHIFT_DETERMINATION_FAILED
RET_STEPDIRECTION_DETERMINATION_FAILED
RET_STEPLENGTH_DETERMINATION_FAILED
RET_HOMOTOPY_STEP_FAILED
RET_HOTSTART_STOPPED_INFEASIBILITY
RET_HOTSTART_STOPPED_UNBOUNDEDNESS
RET_UNABLE_TO_READ_FILE
RET_INVALID_ARGUMENTS
Parameters
g_fileName of file where gradient, of neighbouring QP to be solved, is stored.
lb_fileName of file where lower bounds, of neighbouring QP to be solved, is stored.
If no lower bounds exist, a NULL pointer can be passed.
ub_fileName of file where upper bounds, of neighbouring QP to be solved, is stored.
If no upper bounds exist, a NULL pointer can be passed.
lbA_fileName of file where lower constraints' bounds, of neighbouring QP to be solved, is stored.
If no lower constraints' bounds exist, a NULL pointer can be passed.
ubA_fileName of file where upper constraints' bounds, of neighbouring QP to be solved, is stored.
If no upper constraints' bounds exist, a NULL pointer can be passed.
nWSRInput: Maximum number of working set recalculations;
Output: Number of performed working set recalculations.
cputimeInput: Maximum CPU time allowed for QP solution.
Output: CPU time spent for QP solution (or to perform nWSR iterations).
guessedBoundsOptimal working set of bounds for solution (xOpt,yOpt).
(If a null pointer is passed, the previous working set of bounds is kept!)
guessedConstraintsOptimal working set of constraints for solution (xOpt,yOpt).
(If a null pointer is passed, the previous working set of constraints is kept!)
returnValue QProblem::hotstart ( const real_t *const  g_new,
const real_t *const  lb_new,
const real_t *const  ub_new,
const real_t *const  lbA_new,
const real_t *const  ubA_new,
int &  nWSR,
real_t *const  cputime 
)

Solves QProblem using online active set strategy. Note: This function internally calls solveQP/solveRegularisedQP for solving an initialised QP!

Returns
SUCCESSFUL_RETURN
RET_MAX_NWSR_REACHED
RET_HOTSTART_FAILED_AS_QP_NOT_INITIALISED
RET_HOTSTART_FAILED
RET_SHIFT_DETERMINATION_FAILED
RET_STEPDIRECTION_DETERMINATION_FAILED
RET_STEPLENGTH_DETERMINATION_FAILED
RET_HOMOTOPY_STEP_FAILED
RET_HOTSTART_STOPPED_INFEASIBILITY
RET_HOTSTART_STOPPED_UNBOUNDEDNESS
Parameters
g_newGradient of neighbouring QP to be solved.
lb_newLower bounds of neighbouring QP to be solved.
If no lower bounds exist, a NULL pointer can be passed.
ub_newUpper bounds of neighbouring QP to be solved.
If no upper bounds exist, a NULL pointer can be passed.
lbA_newLower constraints' bounds of neighbouring QP to be solved.
If no lower constraints' bounds exist, a NULL pointer can be passed.
ubA_newUpper constraints' bounds of neighbouring QP to be solved.
If no upper constraints' bounds exist, a NULL pointer can be passed.
nWSRInput: Maximum number of working set recalculations;
Output: Number of performed working set recalculations.
cputimeInput: Maximum CPU time allowed for QP solution.
Output: CPU time spend for QP solution (or to perform nWSR iterations).
returnValue QProblem::hotstart ( const char *const  g_file,
const char *const  lb_file,
const char *const  ub_file,
const char *const  lbA_file,
const char *const  ubA_file,
int &  nWSR,
real_t *const  cputime 
)

Solves QProblem using online active set strategy reading QP data from files. Note: This function internally calls solveQP/solveRegularisedQP for solving an initialised QP!

Returns
SUCCESSFUL_RETURN
RET_MAX_NWSR_REACHED
RET_HOTSTART_FAILED_AS_QP_NOT_INITIALISED
RET_HOTSTART_FAILED
RET_SHIFT_DETERMINATION_FAILED
RET_STEPDIRECTION_DETERMINATION_FAILED
RET_STEPLENGTH_DETERMINATION_FAILED
RET_HOMOTOPY_STEP_FAILED
RET_HOTSTART_STOPPED_INFEASIBILITY
RET_HOTSTART_STOPPED_UNBOUNDEDNESS
RET_UNABLE_TO_READ_FILE
RET_INVALID_ARGUMENTS
Parameters
g_fileName of file where gradient, of neighbouring QP to be solved, is stored.
lb_fileName of file where lower bounds, of neighbouring QP to be solved, is stored.
If no lower bounds exist, a NULL pointer can be passed.
ub_fileName of file where upper bounds, of neighbouring QP to be solved, is stored.
If no upper bounds exist, a NULL pointer can be passed.
lbA_fileName of file where lower constraints' bounds, of neighbouring QP to be solved, is stored.
If no lower constraints' bounds exist, a NULL pointer can be passed.
ubA_fileName of file where upper constraints' bounds, of neighbouring QP to be solved, is stored.
If no upper constraints' bounds exist, a NULL pointer can be passed.
nWSRInput: Maximum number of working set recalculations;
Output: Number of performed working set recalculations.
cputimeInput: Maximum CPU time allowed for QP solution.
Output: CPU time spend for QP solution (or to perform nWSR iterations).

Definition at line 809 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

returnValue QProblem::hotstart ( const real_t *const  g_new,
const real_t *const  lb_new,
const real_t *const  ub_new,
const real_t *const  lbA_new,
const real_t *const  ubA_new,
int &  nWSR,
real_t *const  cputime,
const Bounds *const  guessedBounds,
const Constraints *const  guessedConstraints 
)

Solves an initialised QProblem using online active set strategy (using an initialised homotopy). Note: This function internally calls solveQP/solveRegularisedQP for solving an initialised QP!

Returns
SUCCESSFUL_RETURN
RET_MAX_NWSR_REACHED
RET_HOTSTART_FAILED_AS_QP_NOT_INITIALISED
RET_HOTSTART_FAILED
RET_SHIFT_DETERMINATION_FAILED
RET_STEPDIRECTION_DETERMINATION_FAILED
RET_STEPLENGTH_DETERMINATION_FAILED
RET_HOMOTOPY_STEP_FAILED
RET_HOTSTART_STOPPED_INFEASIBILITY
RET_HOTSTART_STOPPED_UNBOUNDEDNESS
RET_SETUP_AUXILIARYQP_FAILED
Parameters
g_newGradient of neighbouring QP to be solved.
lb_newLower bounds of neighbouring QP to be solved.
If no lower bounds exist, a NULL pointer can be passed.
ub_newUpper bounds of neighbouring QP to be solved.
If no upper bounds exist, a NULL pointer can be passed.
lbA_newLower constraints' bounds of neighbouring QP to be solved.
If no lower constraints' bounds exist, a NULL pointer can be passed.
ubA_newUpper constraints' bounds of neighbouring QP to be solved.
If no upper constraints' bounds exist, a NULL pointer can be passed.
nWSRInput: Maximum number of working set recalculations;
Output: Number of performed working set recalculations.
cputimeInput: Maximum CPU time allowed for QP solution.
Output: CPU time spend for QP solution (or to perform nWSR iterations).
guessedBoundsInitial guess for working set of bounds. A null pointer corresponds to an empty working set!
guessedConstraintsInitial guess for working set of constraints. A null pointer corresponds to an empty working set!

Definition at line 883 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

returnValue QProblem::hotstart ( const char *const  g_file,
const char *const  lb_file,
const char *const  ub_file,
const char *const  lbA_file,
const char *const  ubA_file,
int &  nWSR,
real_t *const  cputime,
const Bounds *const  guessedBounds,
const Constraints *const  guessedConstraints 
)

Solves an initialised QProblem using online active set strategy (using an initialised homotopy) reading QP data from files. Note: This function internally calls solveQP/solveRegularisedQP for solving an initialised QP!

Returns
SUCCESSFUL_RETURN
RET_MAX_NWSR_REACHED
RET_HOTSTART_FAILED_AS_QP_NOT_INITIALISED
RET_HOTSTART_FAILED
RET_SHIFT_DETERMINATION_FAILED
RET_STEPDIRECTION_DETERMINATION_FAILED
RET_STEPLENGTH_DETERMINATION_FAILED
RET_HOMOTOPY_STEP_FAILED
RET_HOTSTART_STOPPED_INFEASIBILITY
RET_HOTSTART_STOPPED_UNBOUNDEDNESS
RET_SETUP_AUXILIARYQP_FAILED
RET_UNABLE_TO_READ_FILE
RET_INVALID_ARGUMENTS
Parameters
g_fileName of file where gradient, of neighbouring QP to be solved, is stored.
lb_fileName of file where lower bounds, of neighbouring QP to be solved, is stored.
If no lower bounds exist, a NULL pointer can be passed.
ub_fileName of file where upper bounds, of neighbouring QP to be solved, is stored.
If no upper bounds exist, a NULL pointer can be passed.
lbA_fileName of file where lower constraints' bounds, of neighbouring QP to be solved, is stored.
If no lower constraints' bounds exist, a NULL pointer can be passed.
ubA_fileName of file where upper constraints' bounds, of neighbouring QP to be solved, is stored.
If no upper constraints' bounds exist, a NULL pointer can be passed.
nWSRInput: Maximum number of working set recalculations;
Output: Number of performed working set recalculations.
cputimeInput: Maximum CPU time allowed for QP solution.
Output: CPU time spend for QP solution (or to perform nWSR iterations).
guessedBoundsInitial guess for working set of bounds. A null pointer corresponds to an empty working set!
guessedConstraintsInitial guess for working set of constraints. A null pointer corresponds to an empty working set!

Definition at line 968 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

returnValue QProblem::hotstart_determineDataShift ( const int *const  FX_idx,
const int *const  AC_idx,
const real_t *const  g_new,
const real_t *const  lbA_new,
const real_t *const  ubA_new,
const real_t *const  lb_new,
const real_t *const  ub_new,
real_t *const  delta_g,
real_t *const  delta_lbA,
real_t *const  delta_ubA,
real_t *const  delta_lb,
real_t *const  delta_ub,
BooleanType Delta_bC_isZero,
BooleanType Delta_bB_isZero 
)
protected

Determines step direction of the shift of the QP data.

Returns
SUCCESSFUL_RETURN
Parameters
FX_idxIndex array of fixed variables.
AC_idxIndex array of active constraints.
g_newNew gradient vector.
lbA_newNew lower constraints' bounds.
ubA_newNew upper constraints' bounds.
lb_newNew lower bounds.
ub_newNew upper bounds.
delta_gOutput: Step direction of gradient vector.
delta_lbAOutput: Step direction of lower constraints' bounds.
delta_ubAOutput: Step direction of upper constraints' bounds.
delta_lbOutput: Step direction of lower bounds.
delta_ubOutput: Step direction of upper bounds.
Delta_bC_isZeroOutput: Indicates if active constraints' bounds are to be shifted.
Delta_bB_isZeroOutput: Indicates if active bounds are to be shifted.

Definition at line 2639 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblem.cpp.

returnValue QProblem::hotstart_determineDataShift ( const int *const  FX_idx,
const int *const  AC_idx,
const real_t *const  g_new,
const real_t *const  lbA_new,
const real_t *const  ubA_new,
const real_t *const  lb_new,
const real_t *const  ub_new,
real_t *const  delta_g,
real_t *const  delta_lbA,
real_t *const  delta_ubA,
real_t *const  delta_lb,
real_t *const  delta_ub,
BooleanType Delta_bC_isZero,
BooleanType Delta_bB_isZero 
)
protected

Determines step direction of the shift of the QP data.

Returns
SUCCESSFUL_RETURN
Parameters
FX_idxIndex array of fixed variables.
AC_idxIndex array of active constraints.
g_newNew gradient vector.
lbA_newNew lower constraints' bounds.
ubA_newNew upper constraints' bounds.
lb_newNew lower bounds.
ub_newNew upper bounds.
delta_gOutput: Step direction of gradient vector.
delta_lbAOutput: Step direction of lower constraints' bounds.
delta_ubAOutput: Step direction of upper constraints' bounds.
delta_lbOutput: Step direction of lower bounds.
delta_ubOutput: Step direction of upper bounds.
Delta_bC_isZeroOutput: Indicates if active constraints' bounds are to be shifted.
Delta_bB_isZeroOutput: Indicates if active bounds are to be shifted.
returnValue QProblem::hotstart_determineStepDirection ( const int *const  FR_idx,
const int *const  FX_idx,
const int *const  AC_idx,
const real_t *const  delta_g,
const real_t *const  delta_lbA,
const real_t *const  delta_ubA,
const real_t *const  delta_lb,
const real_t *const  delta_ub,
BooleanType  Delta_bC_isZero,
BooleanType  Delta_bB_isZero,
real_t *const  delta_xFX,
real_t *const  delta_xFR,
real_t *const  delta_yAC,
real_t *const  delta_yFX 
)
protected

Determines step direction of the homotopy path.

Returns
SUCCESSFUL_RETURN
RET_STEPDIRECTION_FAILED_TQ
RET_STEPDIRECTION_FAILED_CHOLESKY
Parameters
FR_idxIndex array of free variables.
FX_idxIndex array of fixed variables.
AC_idxIndex array of active constraints.
delta_gStep direction of gradient vector.
delta_lbAStep direction of lower constraints' bounds.
delta_ubAStep direction of upper constraints' bounds.
delta_lbStep direction of lower bounds.
delta_ubStep direction of upper bounds.
Delta_bC_isZeroIndicates if active constraints' bounds are to be shifted.
Delta_bB_isZeroIndicates if active bounds are to be shifted.
delta_xFXOutput: Primal homotopy step direction of fixed variables.
delta_xFROutput: Primal homotopy step direction of free variables.
delta_yACOutput: Dual homotopy step direction of active constraints' multiplier.
delta_yFXOutput: Dual homotopy step direction of fixed variables' multiplier.

Definition at line 2697 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblem.cpp.

returnValue QProblem::hotstart_determineStepDirection ( const int *const  FR_idx,
const int *const  FX_idx,
const int *const  AC_idx,
const real_t *const  delta_g,
const real_t *const  delta_lbA,
const real_t *const  delta_ubA,
const real_t *const  delta_lb,
const real_t *const  delta_ub,
BooleanType  Delta_bC_isZero,
BooleanType  Delta_bB_isZero,
real_t *const  delta_xFX,
real_t *const  delta_xFR,
real_t *const  delta_yAC,
real_t *const  delta_yFX 
)
protected

Determines step direction of the homotopy path.

Returns
SUCCESSFUL_RETURN
RET_STEPDIRECTION_FAILED_TQ
RET_STEPDIRECTION_FAILED_CHOLESKY
Parameters
FR_idxIndex array of free variables.
FX_idxIndex array of fixed variables.
AC_idxIndex array of active constraints.
delta_gStep direction of gradient vector.
delta_lbAStep direction of lower constraints' bounds.
delta_ubAStep direction of upper constraints' bounds.
delta_lbStep direction of lower bounds.
delta_ubStep direction of upper bounds.
Delta_bC_isZeroIndicates if active constraints' bounds are to be shifted.
Delta_bB_isZeroIndicates if active bounds are to be shifted.
delta_xFXOutput: Primal homotopy step direction of fixed variables.
delta_xFROutput: Primal homotopy step direction of free variables.
delta_yACOutput: Dual homotopy step direction of active constraints' multiplier.
delta_yFXOutput: Dual homotopy step direction of fixed variables' multiplier.
returnValue QProblem::hotstart_determineStepLength ( const int *const  FR_idx,
const int *const  FX_idx,
const int *const  AC_idx,
const int *const  IAC_idx,
const real_t *const  delta_lbA,
const real_t *const  delta_ubA,
const real_t *const  delta_lb,
const real_t *const  delta_ub,
const real_t *const  delta_xFX,
const real_t *const  delta_xFR,
const real_t *const  delta_yAC,
const real_t *const  delta_yFX,
real_t *const  delta_Ax,
int &  BC_idx,
SubjectToStatus BC_status,
BooleanType BC_isBound 
)
protected

Determines the maximum possible step length along the homotopy path.

Returns
SUCCESSFUL_RETURN
Parameters
FR_idxIndex array of free variables.
FX_idxIndex array of fixed variables.
AC_idxIndex array of active constraints.
IAC_idxIndex array of inactive constraints.
delta_lbAStep direction of lower constraints' bounds.
delta_ubAStep direction of upper constraints' bounds.
delta_lbStep direction of lower bounds.
delta_ubStep direction of upper bounds.
delta_xFXPrimal homotopy step direction of fixed variables.
delta_xFRPrimal homotopy step direction of free variables.
delta_yACDual homotopy step direction of active constraints' multiplier.
delta_yFXDual homotopy step direction of fixed variables' multiplier.
delta_AxOutput: Step in vector Ax.
BC_idxOutput: Index of blocking constraint.
BC_statusOutput: Status of blocking constraint.
BC_isBoundOutput: Indicates if blocking constraint is a bound.

Definition at line 3052 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblem.cpp.

returnValue QProblem::hotstart_determineStepLength ( const int *const  FR_idx,
const int *const  FX_idx,
const int *const  AC_idx,
const int *const  IAC_idx,
const real_t *const  delta_lbA,
const real_t *const  delta_ubA,
const real_t *const  delta_lb,
const real_t *const  delta_ub,
const real_t *const  delta_xFX,
const real_t *const  delta_xFR,
const real_t *const  delta_yAC,
const real_t *const  delta_yFX,
real_t *const  delta_Ax,
int &  BC_idx,
SubjectToStatus BC_status,
BooleanType BC_isBound 
)
protected

Determines the maximum possible step length along the homotopy path.

Returns
SUCCESSFUL_RETURN
Parameters
FR_idxIndex array of free variables.
FX_idxIndex array of fixed variables.
AC_idxIndex array of active constraints.
IAC_idxIndex array of inactive constraints.
delta_lbAStep direction of lower constraints' bounds.
delta_ubAStep direction of upper constraints' bounds.
delta_lbStep direction of lower bounds.
delta_ubStep direction of upper bounds.
delta_xFXPrimal homotopy step direction of fixed variables.
delta_xFRPrimal homotopy step direction of free variables.
delta_yACDual homotopy step direction of active constraints' multiplier.
delta_yFXDual homotopy step direction of fixed variables' multiplier.
delta_AxOutput: Step in vector Ax.
BC_idxOutput: Index of blocking constraint.
BC_statusOutput: Status of blocking constraint.
BC_isBoundOutput: Indicates if blocking constraint is a bound.
returnValue QProblem::hotstart_performStep ( const int *const  FR_idx,
const int *const  FX_idx,
const int *const  AC_idx,
const int *const  IAC_idx,
const real_t *const  delta_g,
const real_t *const  delta_lbA,
const real_t *const  delta_ubA,
const real_t *const  delta_lb,
const real_t *const  delta_ub,
const real_t *const  delta_xFX,
const real_t *const  delta_xFR,
const real_t *const  delta_yAC,
const real_t *const  delta_yFX,
const real_t *const  delta_Ax,
int  BC_idx,
SubjectToStatus  BC_status,
BooleanType  BC_isBound 
)
protected

Performs a step along the homotopy path (and updates active set).

Returns
SUCCESSFUL_RETURN
RET_OPTIMAL_SOLUTION_FOUND
RET_REMOVE_FROM_ACTIVESET_FAILED
RET_ADD_TO_ACTIVESET_FAILED
RET_QP_INFEASIBLE
Parameters
FR_idxIndex array of free variables.
FX_idxIndex array of fixed variables.
AC_idxIndex array of active constraints.
IAC_idxIndex array of inactive constraints.
delta_gStep direction of gradient vector.
delta_lbAStep direction of lower constraints' bounds.
delta_ubAStep direction of upper constraints' bounds.
delta_lbStep direction of lower bounds.
delta_ubStep direction of upper bounds.
delta_xFXPrimal homotopy step direction of fixed variables.
delta_xFRPrimal homotopy step direction of free variables.
delta_yACDual homotopy step direction of active constraints' multiplier.
delta_yFXDual homotopy step direction of fixed variables' multiplier.
delta_AxStep in vector Ax.
BC_idxIndex of blocking constraint.
BC_statusStatus of blocking constraint.
BC_isBoundIndicates if blocking constraint is a bound.

Definition at line 3318 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblem.cpp.

returnValue QProblem::hotstart_performStep ( const int *const  FR_idx,
const int *const  FX_idx,
const int *const  AC_idx,
const int *const  IAC_idx,
const real_t *const  delta_g,
const real_t *const  delta_lbA,
const real_t *const  delta_ubA,
const real_t *const  delta_lb,
const real_t *const  delta_ub,
const real_t *const  delta_xFX,
const real_t *const  delta_xFR,
const real_t *const  delta_yAC,
const real_t *const  delta_yFX,
const real_t *const  delta_Ax,
int  BC_idx,
SubjectToStatus  BC_status,
BooleanType  BC_isBound 
)
protected

Performs a step along the homotopy path (and updates active set).

Returns
SUCCESSFUL_RETURN
RET_OPTIMAL_SOLUTION_FOUND
RET_REMOVE_FROM_ACTIVESET_FAILED
RET_ADD_TO_ACTIVESET_FAILED
RET_QP_INFEASIBLE
Parameters
FR_idxIndex array of free variables.
FX_idxIndex array of fixed variables.
AC_idxIndex array of active constraints.
IAC_idxIndex array of inactive constraints.
delta_gStep direction of gradient vector.
delta_lbAStep direction of lower constraints' bounds.
delta_ubAStep direction of upper constraints' bounds.
delta_lbStep direction of lower bounds.
delta_ubStep direction of upper bounds.
delta_xFXPrimal homotopy step direction of fixed variables.
delta_xFRPrimal homotopy step direction of free variables.
delta_yACDual homotopy step direction of active constraints' multiplier.
delta_yFXDual homotopy step direction of fixed variables' multiplier.
delta_AxStep in vector Ax.
BC_idxIndex of blocking constraint.
BC_statusStatus of blocking constraint.
BC_isBoundIndicates if blocking constraint is a bound.
returnValue 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 &  nWSR,
const real_t *const  yOpt = 0,
real_t *const  cputime = 0 
)

Initialises a QProblem with given QP data and solves it using an initial homotopy with empty working set (at most nWSR iterations).

Returns
SUCCESSFUL_RETURN
RET_INIT_FAILED
RET_INIT_FAILED_CHOLESKY
RET_INIT_FAILED_TQ
RET_INIT_FAILED_HOTSTART
RET_INIT_FAILED_INFEASIBILITY
RET_INIT_FAILED_UNBOUNDEDNESS
RET_MAX_NWSR_REACHED
RET_INVALID_ARGUMENTS
RET_INACCURATE_SOLUTION
RET_NO_SOLUTION
Parameters
_HHessian matrix.
_gGradient vector.
_AConstraint matrix.
_lbLower bound vector (on variables).
If no lower bounds exist, a NULL pointer can be passed.
_ubUpper bound vector (on variables).
If no upper bounds exist, a NULL pointer can be passed.
_lbALower constraints' bound vector.
If no lower constraints' bounds exist, a NULL pointer can be passed.
_ubAUpper constraints' bound vector.
If no lower constraints' bounds exist, a NULL pointer can be passed.
nWSRInput: Maximum number of working set recalculations when using initial homotopy. Output: Number of performed working set recalculations.
yOptInitial guess for dual solution vector.
cputimeOutput: CPU time required to initialise QP.

Definition at line 237 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblem.cpp.

returnValue 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 &  nWSR,
const real_t *const  yOpt = 0,
real_t *const  cputime = 0 
)

Initialises a QProblem with given QP data and solves it using an initial homotopy with empty working set (at most nWSR iterations).

Returns
SUCCESSFUL_RETURN
RET_INIT_FAILED
RET_INIT_FAILED_CHOLESKY
RET_INIT_FAILED_TQ
RET_INIT_FAILED_HOTSTART
RET_INIT_FAILED_INFEASIBILITY
RET_INIT_FAILED_UNBOUNDEDNESS
RET_MAX_NWSR_REACHED
RET_INVALID_ARGUMENTS
RET_INACCURATE_SOLUTION
RET_NO_SOLUTION
Parameters
_HHessian matrix.
_gGradient vector.
_AConstraint matrix.
_lbLower bound vector (on variables).
If no lower bounds exist, a NULL pointer can be passed.
_ubUpper bound vector (on variables).
If no upper bounds exist, a NULL pointer can be passed.
_lbALower constraints' bound vector.
If no lower constraints' bounds exist, a NULL pointer can be passed.
_ubAUpper constraints' bound vector.
If no lower constraints' bounds exist, a NULL pointer can be passed.
nWSRInput: Maximum number of working set recalculations when using initial homotopy. Output: Number of performed working set recalculations.
yOptInitial guess for dual solution vector.
cputimeOutput: CPU time required to initialise QP.
returnValue QProblem::init ( SymmetricMatrix _H,
const real_t *const  _g,
Matrix _A,
const real_t *const  _lb,
const real_t *const  _ub,
const real_t *const  _lbA,
const real_t *const  _ubA,
int &  nWSR,
real_t *const  cputime 
)

Initialises a QProblem with given QP data and solves it using an initial homotopy with empty working set (at most nWSR iterations). Note: This function internally calls solveInitialQP for initialisation!

Returns
SUCCESSFUL_RETURN
RET_INIT_FAILED
RET_INIT_FAILED_CHOLESKY
RET_INIT_FAILED_TQ
RET_INIT_FAILED_HOTSTART
RET_INIT_FAILED_INFEASIBILITY
RET_INIT_FAILED_UNBOUNDEDNESS
RET_MAX_NWSR_REACHED
RET_INVALID_ARGUMENTS
Parameters
_HHessian matrix.
_gGradient vector.
_AConstraint matrix.
_lbLower bound vector (on variables).
If no lower bounds exist, a NULL pointer can be passed.
_ubUpper bound vector (on variables).
If no upper bounds exist, a NULL pointer can be passed.
_lbALower constraints' bound vector.
If no lower constraints' bounds exist, a NULL pointer can be passed.
_ubAUpper constraints' bound vector.
If no lower constraints' bounds exist, a NULL pointer can be passed.
nWSRInput: Maximum number of working set recalculations when using initial homotopy. Output: Number of performed working set recalculations.
cputimeInput: Maximum CPU time allowed for QP initialisation.
Output: CPU time spend for QP initialisation.

Definition at line 230 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

returnValue QProblem::init ( SymmetricMatrix _H,
const real_t *const  _g,
Matrix _A,
const real_t *const  _lb,
const real_t *const  _ub,
const real_t *const  _lbA,
const real_t *const  _ubA,
int_t nWSR,
real_t *const  cputime = 0,
const real_t *const  xOpt = 0,
const real_t *const  yOpt = 0,
const Bounds *const  guessedBounds = 0,
const Constraints *const  guessedConstraints = 0,
const real_t *const  _R = 0 
)

Initialises a QP problem with given QP data and tries to solve it using at most nWSR iterations. Depending on the parameter constellation it:

  1. 0, 0, 0 : starts with xOpt = 0, yOpt = 0 and gB/gC empty (or all implicit equality bounds),
  2. xOpt, 0, 0 : starts with xOpt, yOpt = 0 and obtain gB/gC by "clipping",
  3. 0, yOpt, 0 : starts with xOpt = 0, yOpt and obtain gB/gC from yOpt != 0,
  4. 0, 0, gB/gC: starts with xOpt = 0, yOpt = 0 and gB/gC,
  5. xOpt, yOpt, 0 : starts with xOpt, yOpt and obtain gB/gC from yOpt != 0,
  6. xOpt, 0, gB/gC: starts with xOpt, yOpt = 0 and gB/gC,
  7. xOpt, yOpt, gB/gC: starts with xOpt, yOpt and gB/gC (assume them to be consistent!)

Note: This function internally calls solveInitialQP for initialisation!

\return SUCCESSFUL_RETURN \n
            RET_INIT_FAILED \n
            RET_INIT_FAILED_CHOLESKY \n
            RET_INIT_FAILED_TQ \n
            RET_INIT_FAILED_HOTSTART \n
            RET_INIT_FAILED_INFEASIBILITY \n
            RET_INIT_FAILED_UNBOUNDEDNESS \n
            RET_MAX_NWSR_REACHED \n
            RET_INVALID_ARGUMENTS  
Parameters
_HHessian matrix (a shallow copy is made).
_gGradient vector.
_AConstraint matrix (a shallow copy is made).
_lbLower bound vector (on variables).
If no lower bounds exist, a NULL pointer can be passed.
_ubUpper bound vector (on variables).
If no upper bounds exist, a NULL pointer can be passed.
_lbALower constraints' bound vector.
If no lower constraints' bounds exist, a NULL pointer can be passed.
_ubAUpper constraints' bound vector.
If no lower constraints' bounds exist, a NULL pointer can be passed.
nWSRInput: Maximum number of working set recalculations when using initial homotopy. Output: Number of performed working set recalculations.
cputimeInput: Maximum CPU time allowed for QP initialisation.
Output: CPU time spent for QP initialisation (if pointer passed).
xOptOptimal primal solution vector.
(If a null pointer is passed, the old primal solution is kept!)
yOptOptimal dual solution vector.
(If a null pointer is passed, the old dual solution is kept!)
guessedBoundsOptimal working set of bounds for solution (xOpt,yOpt).
(If a null pointer is passed, all bounds are assumed inactive!)
guessedConstraintsOptimal working set of constraints for solution (xOpt,yOpt).
(If a null pointer is passed, all constraints are assumed inactive!)
_RPre-computed (upper triangular) Cholesky factor of Hessian matrix. The Cholesky factor must be stored in a real_t array of size nV*nV in row-major format. Note: Only used if xOpt/yOpt and gB are NULL!
(If a null pointer is passed, Cholesky decomposition is computed internally!)

Definition at line 244 of file external_packages/qpOASES-3.2.0/src/QProblem.cpp.

returnValue QProblem::init ( const real_t *const  _H,
const real_t *const  _R,
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 &  nWSR,
const real_t *const  yOpt = 0,
real_t *const  cputime = 0 
)

Initialises a QProblem with given QP data and solves it using an initial homotopy with empty working set (at most nWSR iterations).

Returns
SUCCESSFUL_RETURN
RET_INIT_FAILED
RET_INIT_FAILED_CHOLESKY
RET_INIT_FAILED_TQ
RET_INIT_FAILED_HOTSTART
RET_INIT_FAILED_INFEASIBILITY
RET_INIT_FAILED_UNBOUNDEDNESS
RET_MAX_NWSR_REACHED
RET_INVALID_ARGUMENTS
RET_INACCURATE_SOLUTION
RET_NO_SOLUTION
Parameters
_HHessian matrix.
_RCholesky factorization of the Hessian matrix.
_gGradient vector.
_AConstraint matrix.
_lbLower bound vector (on variables).
If no lower bounds exist, a NULL pointer can be passed.
_ubUpper bound vector (on variables).
If no upper bounds exist, a NULL pointer can be passed.
_lbALower constraints' bound vector.
If no lower constraints' bounds exist, a NULL pointer can be passed.
_ubAUpper constraints' bound vector.
If no lower constraints' bounds exist, a NULL pointer can be passed.
nWSRInput: Maximum number of working set recalculations when using initial homotopy. Output: Number of performed working set recalculations.
yOptInitial guess for dual solution vector.
cputimeOutput: CPU time required to initialise QP.

Definition at line 251 of file external_packages/qpoases/SRC/QProblem.cpp.

returnValue 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 &  nWSR,
real_t *const  cputime 
)

Initialises a QProblem with given QP data and solves it using an initial homotopy with empty working set (at most nWSR iterations). Note: This function internally calls solveInitialQP for initialisation!

Returns
SUCCESSFUL_RETURN
RET_INIT_FAILED
RET_INIT_FAILED_CHOLESKY
RET_INIT_FAILED_TQ
RET_INIT_FAILED_HOTSTART
RET_INIT_FAILED_INFEASIBILITY
RET_INIT_FAILED_UNBOUNDEDNESS
RET_MAX_NWSR_REACHED
RET_INVALID_ARGUMENTS
Parameters
_HHessian matrix.
If Hessian matrix is trivial, a NULL pointer can be passed.
_gGradient vector.
_AConstraint matrix.
_lbLower bound vector (on variables).
If no lower bounds exist, a NULL pointer can be passed.
_ubUpper bound vector (on variables).
If no upper bounds exist, a NULL pointer can be passed.
_lbALower constraints' bound vector.
If no lower constraints' bounds exist, a NULL pointer can be passed.
_ubAUpper constraints' bound vector.
If no lower constraints' bounds exist, a NULL pointer can be passed.
nWSRInput: Maximum number of working set recalculations when using initial homotopy. Output: Number of performed working set recalculations.
cputimeInput: Maximum CPU time allowed for QP initialisation.
Output: CPU time spend for QP initialisation.

Definition at line 258 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

returnValue 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 nWSR,
real_t *const  cputime = 0,
const real_t *const  xOpt = 0,
const real_t *const  yOpt = 0,
const Bounds *const  guessedBounds = 0,
const Constraints *const  guessedConstraints = 0,
const real_t *const  _R = 0 
)

Initialises a QP problem with given QP data and tries to solve it using at most nWSR iterations. Depending on the parameter constellation it:

  1. 0, 0, 0 : starts with xOpt = 0, yOpt = 0 and gB/gC empty (or all implicit equality bounds),
  2. xOpt, 0, 0 : starts with xOpt, yOpt = 0 and obtain gB/gC by "clipping",
  3. 0, yOpt, 0 : starts with xOpt = 0, yOpt and obtain gB/gC from yOpt != 0,
  4. 0, 0, gB/gC: starts with xOpt = 0, yOpt = 0 and gB/gC,
  5. xOpt, yOpt, 0 : starts with xOpt, yOpt and obtain gB/gC from yOpt != 0,
  6. xOpt, 0, gB/gC: starts with xOpt, yOpt = 0 and gB/gC,
  7. xOpt, yOpt, gB/gC: starts with xOpt, yOpt and gB/gC (assume them to be consistent!)

Note: This function internally calls solveInitialQP for initialisation!

\return SUCCESSFUL_RETURN \n
            RET_INIT_FAILED \n
            RET_INIT_FAILED_CHOLESKY \n
            RET_INIT_FAILED_TQ \n
            RET_INIT_FAILED_HOTSTART \n
            RET_INIT_FAILED_INFEASIBILITY \n
            RET_INIT_FAILED_UNBOUNDEDNESS \n
            RET_MAX_NWSR_REACHED \n
            RET_INVALID_ARGUMENTS  
Parameters
_HHessian matrix (a shallow copy is made).
If Hessian matrix is trivial, a NULL pointer can be passed.
_gGradient vector.
_AConstraint matrix (a shallow copy is made).
_lbLower bound vector (on variables).
If no lower bounds exist, a NULL pointer can be passed.
_ubUpper bound vector (on variables).
If no upper bounds exist, a NULL pointer can be passed.
_lbALower constraints' bound vector.
If no lower constraints' bounds exist, a NULL pointer can be passed.
_ubAUpper constraints' bound vector.
If no lower constraints' bounds exist, a NULL pointer can be passed.
nWSRInput: Maximum number of working set recalculations when using initial homotopy. Output: Number of performed working set recalculations.
cputimeInput: Maximum CPU time allowed for QP initialisation.
Output: CPU time spent for QP initialisation (if pointer passed).
xOptOptimal primal solution vector.
(If a null pointer is passed, the old primal solution is kept!)
yOptOptimal dual solution vector.
(If a null pointer is passed, the old dual solution is kept!)
guessedBoundsOptimal working set of bounds for solution (xOpt,yOpt).
(If a null pointer is passed, all bounds are assumed inactive!)
guessedConstraintsOptimal working set of constraints for solution (xOpt,yOpt).
(If a null pointer is passed, all constraints are assumed inactive!)
_RPre-computed (upper triangular) Cholesky factor of Hessian matrix. The Cholesky factor must be stored in a real_t array of size nV*nV in row-major format. Note: Only used if xOpt/yOpt and gB are NULL!
(If a null pointer is passed, Cholesky decomposition is computed internally!)

Definition at line 302 of file external_packages/qpOASES-3.2.0/src/QProblem.cpp.

returnValue QProblem::init ( const char *const  H_file,
const char *const  g_file,
const char *const  A_file,
const char *const  lb_file,
const char *const  ub_file,
const char *const  lbA_file,
const char *const  ubA_file,
int &  nWSR,
real_t *const  cputime 
)

Initialises a QProblem with given QP data to be read from files and solves it using an initial homotopy with empty working set (at most nWSR iterations). Note: This function internally calls solveInitialQP for initialisation!

Returns
SUCCESSFUL_RETURN
RET_INIT_FAILED
RET_INIT_FAILED_CHOLESKY
RET_INIT_FAILED_TQ
RET_INIT_FAILED_HOTSTART
RET_INIT_FAILED_INFEASIBILITY
RET_INIT_FAILED_UNBOUNDEDNESS
RET_MAX_NWSR_REACHED
RET_UNABLE_TO_READ_FILE
Parameters
H_fileName of file where Hessian matrix is stored.
If Hessian matrix is trivial, a NULL pointer can be passed.
g_fileName of file where gradient vector is stored.
A_fileName of file where constraint matrix is stored.
lb_fileName of file where lower bound vector.
If no lower bounds exist, a NULL pointer can be passed.
ub_fileName of file where upper bound vector.
If no upper bounds exist, a NULL pointer can be passed.
lbA_fileName of file where lower constraints' bound vector.
If no lower constraints' bounds exist, a NULL pointer can be passed.
ubA_fileName of file where upper constraints' bound vector.
If no upper constraints' bounds exist, a NULL pointer can be passed.
nWSRInput: Maximum number of working set recalculations when using initial homotopy. Output: Number of performed working set recalculations.
cputimeInput: Maximum CPU time allowed for QP initialisation.
Output: CPU time spend for QP initialisation.

Definition at line 286 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

returnValue QProblem::init ( SymmetricMatrix _H,
const real_t *const  _g,
Matrix _A,
const real_t *const  _lb,
const real_t *const  _ub,
const real_t *const  _lbA,
const real_t *const  _ubA,
int &  nWSR,
real_t *const  cputime,
const real_t *const  xOpt,
const real_t *const  yOpt,
const Bounds *const  guessedBounds,
const Constraints *const  guessedConstraints 
)

Initialises a QProblem with given QP data and solves it depending on the parameter constellation:

  1. 0, 0, 0 : start with xOpt = 0, yOpt = 0 and IB empty (or all implicit equality bounds),
  2. xOpt, 0, 0 : start with xOpt, yOpt = 0 and obtain IB by "clipping",
  3. 0, yOpt, 0 : start with xOpt = 0, yOpt and obtain IB from yOpt != 0,
  4. 0, 0, IB: start with xOpt = 0, yOpt = 0 and IB,
  5. xOpt, yOpt, 0 : start with xOpt, yOpt and obtain IB from yOpt != 0,
  6. xOpt, 0, IB: start with xOpt, yOpt = 0 and IB,
  7. xOpt, yOpt, IB: start with xOpt, yOpt and IB (assume them to be consistent!) Note: This function internally calls solveInitialQP for initialisation!
    Returns
    SUCCESSFUL_RETURN
    RET_INIT_FAILED
    RET_INIT_FAILED_CHOLESKY
    RET_INIT_FAILED_TQ
    RET_INIT_FAILED_HOTSTART
    RET_INIT_FAILED_INFEASIBILITY
    RET_INIT_FAILED_UNBOUNDEDNESS
    RET_MAX_NWSR_REACHED
    RET_INVALID_ARGUMENTS
Parameters
_HHessian matrix.
_gGradient vector.
_AConstraint matrix.
_lbLower bound vector (on variables).
If no lower bounds exist, a NULL pointer can be passed.
_ubUpper bound vector (on variables).
If no upper bounds exist, a NULL pointer can be passed.
_lbALower constraints' bound vector.
If no lower constraints' bounds exist, a NULL pointer can be passed.
_ubAUpper constraints' bound vector.
If no lower constraints' bounds exist, a NULL pointer can be passed.
nWSRInput: Maximum number of working set recalculations when using initial homotopy. Output: Number of performed working set recalculations.
cputimeInput: Maximum CPU time allowed for QP initialisation.
Output: CPU time spend for QP initialisation.
xOptOptimal primal solution vector.
(If a null pointer is passed, the old primal solution is kept!)
yOptOptimal dual solution vector.
(If a null pointer is passed, the old dual solution is kept!)
guessedBoundsOptimal working set of bounds for solution (xOpt,yOpt).
guessedConstraintsOptimal working set of constraints for solution (xOpt,yOpt).

Definition at line 314 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

returnValue QProblem::init ( const char *const  H_file,
const char *const  g_file,
const char *const  A_file,
const char *const  lb_file,
const char *const  ub_file,
const char *const  lbA_file,
const char *const  ubA_file,
int_t nWSR,
real_t *const  cputime = 0,
const real_t *const  xOpt = 0,
const real_t *const  yOpt = 0,
const Bounds *const  guessedBounds = 0,
const Constraints *const  guessedConstraints = 0,
const char *const  R_file = 0 
)

Initialises a QP problem with given data to be read from files and solves it using at most nWSR iterations. Depending on the parameter constellation it:

  1. 0, 0, 0 : starts with xOpt = 0, yOpt = 0 and gB/gC empty (or all implicit equality bounds),
  2. xOpt, 0, 0 : starts with xOpt, yOpt = 0 and obtain gB/gC by "clipping",
  3. 0, yOpt, 0 : starts with xOpt = 0, yOpt and obtain gB/gC from yOpt != 0,
  4. 0, 0, gB/gC: starts with xOpt = 0, yOpt = 0 and gB/gC,
  5. xOpt, yOpt, 0 : starts with xOpt, yOpt and obtain gB/gC from yOpt != 0,
  6. xOpt, 0, gB/gC: starts with xOpt, yOpt = 0 and gB/gC,
  7. xOpt, yOpt, gB/gC: starts with xOpt, yOpt and gB/gC (assume them to be consistent!)

Note: This function internally calls solveInitialQP for initialisation!

\return SUCCESSFUL_RETURN \n
            RET_INIT_FAILED \n
            RET_INIT_FAILED_CHOLESKY \n
            RET_INIT_FAILED_TQ \n
            RET_INIT_FAILED_HOTSTART \n
            RET_INIT_FAILED_INFEASIBILITY \n
            RET_INIT_FAILED_UNBOUNDEDNESS \n
            RET_MAX_NWSR_REACHED \n
            RET_UNABLE_TO_READ_FILE \n
            RET_INVALID_ARGUMENTS  
Parameters
H_fileName of file where Hessian matrix is stored.
If Hessian matrix is trivial, a NULL pointer can be passed.
g_fileName of file where gradient vector is stored.
A_fileName of file where constraint matrix is stored.
lb_fileName of file where lower bound vector.
If no lower bounds exist, a NULL pointer can be passed.
ub_fileName of file where upper bound vector.
If no upper bounds exist, a NULL pointer can be passed.
lbA_fileName of file where lower constraints' bound vector.
If no lower constraints' bounds exist, a NULL pointer can be passed.
ubA_fileName of file where upper constraints' bound vector.
If no upper constraints' bounds exist, a NULL pointer can be passed.
nWSRInput: Maximum number of working set recalculations when using initial homotopy. Output: Number of performed working set recalculations.
cputimeInput: Maximum CPU time allowed for QP initialisation.
Output: CPU time spent for QP initialisation (if pointer passed).
xOptOptimal primal solution vector.
(If a null pointer is passed, the old primal solution is kept!)
yOptOptimal dual solution vector.
(If a null pointer is passed, the old dual solution is kept!)
guessedBoundsOptimal working set of bounds for solution (xOpt,yOpt).
(If a null pointer is passed, all bounds are assumed inactive!)
guessedConstraintsOptimal working set of constraints for solution (xOpt,yOpt).
(If a null pointer is passed, all constraints are assumed inactive!)
R_fileName of the file where a pre-computed (upper triangular) Cholesky factor of the Hessian matrix is stored.
(If a null pointer is passed, Cholesky decomposition is computed internally!)

Definition at line 360 of file external_packages/qpOASES-3.2.0/src/QProblem.cpp.

returnValue 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 &  nWSR,
real_t *const  cputime,
const real_t *const  xOpt,
const real_t *const  yOpt,
const Bounds *const  guessedBounds,
const Constraints *const  guessedConstraints 
)

Initialises a QProblem with given QP data and solves it depending on the parameter constellation:

  1. 0, 0, 0 : start with xOpt = 0, yOpt = 0 and IB empty (or all implicit equality bounds),
  2. xOpt, 0, 0 : start with xOpt, yOpt = 0 and obtain IB by "clipping",
  3. 0, yOpt, 0 : start with xOpt = 0, yOpt and obtain IB from yOpt != 0,
  4. 0, 0, IB: start with xOpt = 0, yOpt = 0 and IB,
  5. xOpt, yOpt, 0 : start with xOpt, yOpt and obtain IB from yOpt != 0,
  6. xOpt, 0, IB: start with xOpt, yOpt = 0 and IB,
  7. xOpt, yOpt, IB: start with xOpt, yOpt and IB (assume them to be consistent!) Note: This function internally calls solveInitialQP for initialisation!
    Returns
    SUCCESSFUL_RETURN
    RET_INIT_FAILED
    RET_INIT_FAILED_CHOLESKY
    RET_INIT_FAILED_TQ
    RET_INIT_FAILED_HOTSTART
    RET_INIT_FAILED_INFEASIBILITY
    RET_INIT_FAILED_UNBOUNDEDNESS
    RET_MAX_NWSR_REACHED
    RET_INVALID_ARGUMENTS
Parameters
_HHessian matrix.
If Hessian matrix is trivial, a NULL pointer can be passed.
_gGradient vector.
_AConstraint matrix.
_lbLower bound vector (on variables).
If no lower bounds exist, a NULL pointer can be passed.
_ubUpper bound vector (on variables).
If no upper bounds exist, a NULL pointer can be passed.
_lbALower constraints' bound vector.
If no lower constraints' bounds exist, a NULL pointer can be passed.
_ubAUpper constraints' bound vector.
If no lower constraints' bounds exist, a NULL pointer can be passed.
nWSRInput: Maximum number of working set recalculations when using initial homotopy. Output: Number of performed working set recalculations.
cputimeInput: Maximum CPU time allowed for QP initialisation.
Output: CPU time spend for QP initialisation.
xOptOptimal primal solution vector.
(If a null pointer is passed, the old primal solution is kept!)
yOptOptimal dual solution vector.
(If a null pointer is passed, the old dual solution is kept!)
guessedBoundsOptimal working set of bounds for solution (xOpt,yOpt).
guessedConstraintsOptimal working set of constraints for solution (xOpt,yOpt).

Definition at line 368 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

returnValue QProblem::init ( const char *const  H_file,
const char *const  g_file,
const char *const  A_file,
const char *const  lb_file,
const char *const  ub_file,
const char *const  lbA_file,
const char *const  ubA_file,
int &  nWSR,
real_t *const  cputime,
const real_t *const  xOpt,
const real_t *const  yOpt,
const Bounds *const  guessedBounds,
const Constraints *const  guessedConstraints 
)

Initialises a QProblem with given QP data to be read from files and solves it depending on the parameter constellation:
Note: This function internally calls solveInitialQP for initialisation!

  1. 0, 0, 0 : start with xOpt = 0, yOpt = 0 and IB empty (or all implicit equality bounds),
  2. xOpt, 0, 0 : start with xOpt, yOpt = 0 and obtain IB by "clipping",
  3. 0, yOpt, 0 : start with xOpt = 0, yOpt and obtain IB from yOpt != 0,
  4. 0, 0, IB: start with xOpt = 0, yOpt = 0 and IB,
  5. xOpt, yOpt, 0 : start with xOpt, yOpt and obtain IB from yOpt != 0,
  6. xOpt, 0, IB: start with xOpt, yOpt = 0 and IB,
  7. xOpt, yOpt, IB: start with xOpt, yOpt and IB (assume them to be consistent!)
    Returns
    SUCCESSFUL_RETURN
    RET_INIT_FAILED
    RET_INIT_FAILED_CHOLESKY
    RET_INIT_FAILED_TQ
    RET_INIT_FAILED_HOTSTART
    RET_INIT_FAILED_INFEASIBILITY
    RET_INIT_FAILED_UNBOUNDEDNESS
    RET_MAX_NWSR_REACHED
    RET_UNABLE_TO_READ_FILE
Parameters
H_fileName of file where Hessian matrix is stored.
If Hessian matrix is trivial, a NULL pointer can be passed.
g_fileName of file where gradient vector is stored.
A_fileName of file where constraint matrix is stored.
lb_fileName of file where lower bound vector.
If no lower bounds exist, a NULL pointer can be passed.
ub_fileName of file where upper bound vector.
If no upper bounds exist, a NULL pointer can be passed.
lbA_fileName of file where lower constraints' bound vector.
If no lower constraints' bounds exist, a NULL pointer can be passed.
ubA_fileName of file where upper constraints' bound vector.
If no upper constraints' bounds exist, a NULL pointer can be passed.
nWSRInput: Maximum number of working set recalculations when using initial homotopy. Output: Number of performed working set recalculations.
cputimeInput: Maximum CPU time allowed for QP initialisation.
Output: CPU time spend for QP initialisation.
xOptOptimal primal solution vector.
(If a null pointer is passed, the old primal solution is kept!)
yOptOptimal dual solution vector.
(If a null pointer is passed, the old dual solution is kept!)
guessedBoundsOptimal working set of bounds for solution (xOpt,yOpt).
guessedConstraintsOptimal working set of constraints for solution (xOpt,yOpt).

Definition at line 422 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

returnValue QProblem::loadQPvectorsFromFile ( const char *const  g_file,
const char *const  lb_file,
const char *const  ub_file,
const char *const  lbA_file,
const char *const  ubA_file,
real_t *const  g_new,
real_t *const  lb_new,
real_t *const  ub_new,
real_t *const  lbA_new,
real_t *const  ubA_new 
) const
protected

Loads new QP vectors from files (internal members are not affected!).

Returns
SUCCESSFUL_RETURN
RET_UNABLE_TO_OPEN_FILE
RET_UNABLE_TO_READ_FILE
RET_INVALID_ARGUMENTS
Parameters
g_fileName of file where gradient, of neighbouring QP to be solved, is stored.
lb_fileName of file where lower bounds, of neighbouring QP to be solved, is stored.
If no lower bounds exist, a NULL pointer can be passed.
ub_fileName of file where upper bounds, of neighbouring QP to be solved, is stored.
If no upper bounds exist, a NULL pointer can be passed.
lbA_fileName of file where lower constraints' bounds, of neighbouring QP to be solved, is stored.
If no lower constraints' bounds exist, a NULL pointer can be passed.
ubA_fileName of file where upper constraints' bounds, of neighbouring QP to be solved, is stored.
If no upper constraints' bounds exist, a NULL pointer can be passed.
g_newOutput: Gradient of neighbouring QP to be solved.
lb_newOutput: Lower bounds of neighbouring QP to be solved
ub_newOutput: Upper bounds of neighbouring QP to be solved
lbA_newOutput: Lower constraints' bounds of neighbouring QP to be solved
ubA_newOutput: Upper constraints' bounds of neighbouring QP to be solved
returnValue QProblem::loadQPvectorsFromFile ( const char *const  g_file,
const char *const  lb_file,
const char *const  ub_file,
const char *const  lbA_file,
const char *const  ubA_file,
real_t *const  g_new,
real_t *const  lb_new,
real_t *const  ub_new,
real_t *const  lbA_new,
real_t *const  ubA_new 
) const
protected

Loads new QP vectors from files (internal members are not affected!).

Returns
SUCCESSFUL_RETURN
RET_UNABLE_TO_OPEN_FILE
RET_UNABLE_TO_READ_FILE
RET_INVALID_ARGUMENTS
Parameters
g_fileName of file where gradient, of neighbouring QP to be solved, is stored.
lb_fileName of file where lower bounds, of neighbouring QP to be solved, is stored.
If no lower bounds exist, a NULL pointer can be passed.
ub_fileName of file where upper bounds, of neighbouring QP to be solved, is stored.
If no upper bounds exist, a NULL pointer can be passed.
lbA_fileName of file where lower constraints' bounds, of neighbouring QP to be solved, is stored.
If no lower constraints' bounds exist, a NULL pointer can be passed.
ubA_fileName of file where upper constraints' bounds, of neighbouring QP to be solved, is stored.
If no upper constraints' bounds exist, a NULL pointer can be passed.
g_newOutput: Gradient of neighbouring QP to be solved.
lb_newOutput: Lower bounds of neighbouring QP to be solved
ub_newOutput: Upper bounds of neighbouring QP to be solved
lbA_newOutput: Lower constraints' bounds of neighbouring QP to be solved
ubA_newOutput: Upper constraints' bounds of neighbouring QP to be solved

Definition at line 5981 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

returnValue QProblem::obtainAuxiliaryWorkingSet ( const real_t *const  xOpt,
const real_t *const  yOpt,
const Bounds *const  guessedBounds,
const Constraints *const  guessedConstraints,
Bounds auxiliaryBounds,
Constraints auxiliaryConstraints 
) const
protected

Obtains the desired working set for the auxiliary initial QP in accordance with the user specifications (assumes that member AX has already been initialised!)

Returns
SUCCESSFUL_RETURN
RET_OBTAINING_WORKINGSET_FAILED
RET_INVALID_ARGUMENTS
Parameters
xOptOptimal primal solution vector. If a NULL pointer is passed, all entries are assumed to be zero.
yOptOptimal dual solution vector. If a NULL pointer is passed, all entries are assumed to be zero.
guessedBoundsGuessed working set of bounds for solution (xOpt,yOpt).
guessedConstraintsGuessed working set for solution (xOpt,yOpt).
auxiliaryBoundsInput: Allocated bound object.
Ouput: Working set of constraints for auxiliary QP.
auxiliaryConstraintsInput: Allocated bound object.
Ouput: Working set for auxiliary QP.

Definition at line 857 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblem.cpp.

returnValue QProblem::obtainAuxiliaryWorkingSet ( const real_t *const  xOpt,
const real_t *const  yOpt,
const Bounds *const  guessedBounds,
const Constraints *const  guessedConstraints,
Bounds auxiliaryBounds,
Constraints auxiliaryConstraints 
) const
protected

Obtains the desired working set for the auxiliary initial QP in accordance with the user specifications (assumes that member AX has already been initialised!)

Returns
SUCCESSFUL_RETURN
RET_OBTAINING_WORKINGSET_FAILED
RET_INVALID_ARGUMENTS
Parameters
xOptOptimal primal solution vector. If a NULL pointer is passed, all entries are assumed to be zero.
yOptOptimal dual solution vector. If a NULL pointer is passed, all entries are assumed to be zero.
guessedBoundsGuessed working set of bounds for solution (xOpt,yOpt).
guessedConstraintsGuessed working set for solution (xOpt,yOpt).
auxiliaryBoundsInput: Allocated bound object.
Ouput: Working set of constraints for auxiliary QP.
auxiliaryConstraintsInput: Allocated bound object.
Ouput: Working set for auxiliary QP.
returnValue QProblem::obtainAuxiliaryWorkingSet ( const real_t *const  xOpt,
const real_t *const  yOpt,
const Bounds *const  guessedBounds,
const Constraints *const  guessedConstraints,
Bounds auxiliaryBounds,
Constraints auxiliaryConstraints 
) const
protected

Obtains the desired working set for the auxiliary initial QP in accordance with the user specifications (assumes that member AX has already been initialised!)

Returns
SUCCESSFUL_RETURN
RET_OBTAINING_WORKINGSET_FAILED
RET_INVALID_ARGUMENTS
Parameters
xOptOptimal primal solution vector. If a NULL pointer is passed, all entries are assumed to be zero.
yOptOptimal dual solution vector. If a NULL pointer is passed, all entries are assumed to be zero.
guessedBoundsGuessed working set of bounds for solution (xOpt,yOpt).
guessedConstraintsGuessed working set for solution (xOpt,yOpt).
auxiliaryBoundsInput: Allocated bound object.
Ouput: Working set of constraints for auxiliary QP.
auxiliaryConstraintsInput: Allocated bound object.
Ouput: Working set for auxiliary QP.
returnValue QProblem::obtainAuxiliaryWorkingSet ( const real_t *const  xOpt,
const real_t *const  yOpt,
const Bounds *const  guessedBounds,
const Constraints *const  guessedConstraints,
Bounds auxiliaryBounds,
Constraints auxiliaryConstraints 
) const
protected

Obtains the desired working set for the auxiliary initial QP in accordance with the user specifications (assumes that member AX has already been initialised!)

Returns
SUCCESSFUL_RETURN
RET_OBTAINING_WORKINGSET_FAILED
RET_INVALID_ARGUMENTS
Parameters
xOptOptimal primal solution vector. If a NULL pointer is passed, all entries are assumed to be zero.
yOptOptimal dual solution vector. If a NULL pointer is passed, all entries are assumed to be zero.
guessedBoundsGuessed working set of bounds for solution (xOpt,yOpt).
guessedConstraintsGuessed working set for solution (xOpt,yOpt).
auxiliaryBoundsInput: Allocated bound object.
Ouput: Working set of constraints for auxiliary QP.
auxiliaryConstraintsInput: Allocated bound object.
Ouput: Working set for auxiliary QP.
QProblem & QProblem::operator= ( const QProblem rhs)

Assignment operator (deep copy).

Parameters
rhsRhs object.

Definition at line 152 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblem.cpp.

QProblem& QProblem::operator= ( const QProblem rhs)

Assignment operator (deep copy).

Parameters
rhsRhs object.
virtual QProblem& QProblem::operator= ( const QProblem rhs)
virtual

Assignment operator (deep copy).

Parameters
rhsRhs object.
QProblem& QProblem::operator= ( const QProblem rhs)

Assignment operator (deep copy).

Parameters
rhsRhs object.
virtual returnValue QProblem::performDriftCorrection ( )
protectedvirtual

Drift correction at end of each active set iteration

Returns
SUCCESSFUL_RETURN

Reimplemented from QProblemB.

returnValue QProblem::performDriftCorrection ( )
protectedvirtual

Drift correction at end of each active set iteration

Returns
SUCCESSFUL_RETURN

Reimplemented from QProblemB.

Definition at line 5575 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

returnValue QProblem::performPlainRatioTest ( int_t  nIdx,
const int_t *const  idxList,
const real_t *const  num,
const real_t *const  den,
real_t  epsNum,
real_t  epsDen,
real_t t,
int_t BC_idx 
) const
protected

Performs robustified ratio test yield the maximum possible step length along the homotopy path.

Returns
SUCCESSFUL_RETURN
Parameters
nIdxNumber of ratios to be checked.
idxListArray containing the indices of all ratios to be checked.
numArray containing all numerators for performing the ratio test.
denArray containing all denominators for performing the ratio test.
epsNumNumerator tolerance.
epsDenDenominator tolerance.
tOutput: Maximum possible step length along the homotopy path.
BC_idxOutput: Index of blocking constraint.
returnValue QProblem::performPlainRatioTest ( int  nIdx,
const int *const  idxList,
const real_t *const  num,
const real_t *const  den,
real_t  epsNum,
real_t  epsDen,
real_t t,
int &  BC_idx 
) const
protected

Performs robustified ratio test yield the maximum possible step length along the homotopy path.

Returns
SUCCESSFUL_RETURN
Parameters
nIdxNumber of ratios to be checked.
idxListArray containing the indices of all ratios to be checked.
numArray containing all numerators for performing the ratio test.
denArray containing all denominators for performing the ratio test.
epsNumNumerator tolerance.
epsDenDenominator tolerance.
tOutput: Maximum possible step length along the homotopy path.
BC_idxOutput: Index of blocking constraint.

Definition at line 4284 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

virtual returnValue QProblem::performRamping ( )
protectedvirtual

Ramping Strategy to avoid ties. Modifies homotopy start without changing current active set.

Returns
SUCCESSFUL_RETURN

Reimplemented from QProblemB.

returnValue QProblem::performRamping ( )
protectedvirtual

Ramping Strategy to avoid ties. Modifies homotopy start without changing current active set.

Returns
SUCCESSFUL_RETURN

Reimplemented from QProblemB.

Definition at line 5517 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

returnValue QProblem::performStep ( const real_t *const  delta_g,
const real_t *const  delta_lbA,
const real_t *const  delta_ubA,
const real_t *const  delta_lb,
const real_t *const  delta_ub,
const real_t *const  delta_xFX,
const real_t *const  delta_xFR,
const real_t *const  delta_yAC,
const real_t *const  delta_yFX,
int_t BC_idx,
SubjectToStatus BC_status,
BooleanType BC_isBound 
)
protected

Determines the maximum possible step length along the homotopy path and performs this step (without changing working set).

Returns
SUCCESSFUL_RETURN
RET_ERROR_IN_CONSTRAINTPRODUCT
RET_QP_INFEASIBLE
Parameters
delta_gStep direction of gradient.
delta_lbAStep direction of lower constraints' bounds.
delta_ubAStep direction of upper constraints' bounds.
delta_lbStep direction of lower bounds.
delta_ubStep direction of upper bounds.
delta_xFXPrimal homotopy step direction of fixed variables.
delta_xFRPrimal homotopy step direction of free variables.
delta_yACDual homotopy step direction of active constraints' multiplier.
delta_yFXDual homotopy step direction of fixed variables' multiplier.
BC_idxOutput: Index of blocking constraint.
BC_statusOutput: Status of blocking constraint.
BC_isBoundOutput: Indicates if blocking constraint is a bound.
returnValue QProblem::performStep ( const real_t *const  delta_g,
const real_t *const  delta_lbA,
const real_t *const  delta_ubA,
const real_t *const  delta_lb,
const real_t *const  delta_ub,
const real_t *const  delta_xFX,
const real_t *const  delta_xFR,
const real_t *const  delta_yAC,
const real_t *const  delta_yFX,
int &  BC_idx,
SubjectToStatus BC_status,
BooleanType BC_isBound 
)
protected

Determines the maximum possible step length along the homotopy path and performs this step (without changing working set).

Returns
SUCCESSFUL_RETURN
RET_ERROR_IN_CONSTRAINTPRODUCT
RET_QP_INFEASIBLE
Parameters
delta_gStep direction of gradient.
delta_lbAStep direction of lower constraints' bounds.
delta_ubAStep direction of upper constraints' bounds.
delta_lbStep direction of lower bounds.
delta_ubStep direction of upper bounds.
delta_xFXPrimal homotopy step direction of fixed variables.
delta_xFRPrimal homotopy step direction of free variables.
delta_yACDual homotopy step direction of active constraints' multiplier.
delta_yFXDual homotopy step direction of fixed variables' multiplier.
BC_idxOutput: Index of blocking constraint.
BC_statusOutput: Status of blocking constraint.
BC_isBoundOutput: Indicates if blocking constraint is a bound.

Definition at line 4997 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

returnValue QProblem::printIteration ( int_t  iter,
int_t  BC_idx,
SubjectToStatus  BC_status,
BooleanType  BC_isBound,
real_t  homotopyLength,
BooleanType  isFirstCall = BT_TRUE 
)
protected

Prints concise information on the current iteration.

Returns
SUCCESSFUL_RETURN
Parameters
iterNumber of current iteration.
BC_idxIndex of blocking constraint.
BC_statusStatus of blocking constraint.
BC_isBoundIndicates if blocking constraint is a bound.
homotopyLengthCurrent homotopy distance.
isFirstCallIndicating whether this is the first call for current QP.

Definition at line 5981 of file external_packages/qpOASES-3.2.0/src/QProblem.cpp.

returnValue QProblem::printIteration ( int  iteration,
int  BC_idx,
SubjectToStatus  BC_status,
BooleanType  BC_isBound 
)
protected

Prints concise information on the current iteration.

Returns
SUCCESSFUL_RETURN
Parameters
iterationNumber of current iteration.
BC_idxIndex of blocking constraint.
BC_statusStatus of blocking constraint.
BC_isBoundIndicates if blocking constraint is a bound.

Definition at line 6039 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

virtual returnValue QProblem::printProperties ( )
virtual

Prints concise list of properties of the current QP.

Returns
SUCCESSFUL_RETURN

Reimplemented from QProblemB.

returnValue QProblem::printProperties ( )
virtual

Prints concise list of properties of the current QP.

Returns
SUCCESSFUL_RETURN

Reimplemented from QProblemB.

Definition at line 1164 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

real_t QProblem::relativeHomotopyLength ( const real_t *const  g_new,
const real_t *const  lb_new,
const real_t *const  ub_new,
const real_t *const  lbA_new,
const real_t *const  ubA_new 
)
protected

Compute relative length of homotopy in data space for termination criterion.

Returns
Relative length in data space.
Parameters
g_newFinal gradient.
lb_newFinal lower variable bounds.
ub_newFinal upper variable bounds.
lbA_newFinal lower constraint bounds.
ubA_newFinal upper constraint bounds.

Definition at line 5485 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

returnValue QProblem::removeBound ( int  number,
BooleanType  updateCholesky 
)
protected

Removes a bounds from active set.

Returns
SUCCESSFUL_RETURN
RET_BOUND_NOT_ACTIVE
RET_HESSIAN_NOT_SPD
RET_REMOVEBOUND_FAILED
Parameters
numberNumber of bound to be removed from active set.
updateCholeskyFlag indicating if Cholesky decomposition shall be updated.

Definition at line 2351 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblem.cpp.

returnValue QProblem::removeBound ( int  number,
BooleanType  updateCholesky 
)
protected

Removes a bounds from active set.

Returns
SUCCESSFUL_RETURN
RET_BOUND_NOT_ACTIVE
RET_HESSIAN_NOT_SPD
RET_REMOVEBOUND_FAILED
Parameters
numberNumber of bound to be removed from active set.
updateCholeskyFlag indicating if Cholesky decomposition shall be updated.
virtual returnValue QProblem::removeBound ( int_t  number,
BooleanType  updateCholesky,
BooleanType  allowFlipping = BT_FALSE,
BooleanType  ensureNZC = BT_FALSE 
)
protectedvirtual

Removes a bounds from active set.

Returns
SUCCESSFUL_RETURN
RET_BOUND_NOT_ACTIVE
RET_HESSIAN_NOT_SPD
RET_REMOVEBOUND_FAILED
Parameters
numberNumber of bound to be removed from active set.
updateCholeskyFlag indicating if Cholesky decomposition shall be updated.
allowFlippingFlag indicating if flipping bounds are allowed.
ensureNZCFlag indicating if non-zero curvature is ensured by exchange rules.

Reimplemented in SQProblemSchur.

returnValue QProblem::removeBound ( int  number,
BooleanType  updateCholesky,
BooleanType  allowFlipping = BT_FALSE,
BooleanType  ensureNZC = BT_FALSE 
)
protected

Removes a bounds from active set.

Returns
SUCCESSFUL_RETURN
RET_BOUND_NOT_ACTIVE
RET_HESSIAN_NOT_SPD
RET_REMOVEBOUND_FAILED
Parameters
numberNumber of bound to be removed from active set.
updateCholeskyFlag indicating if Cholesky decomposition shall be updated.
allowFlippingFlag indicating if flipping bounds are allowed.
ensureNZCFlag indicating if non-zero curvature is ensured by exchange rules.

Definition at line 4058 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

returnValue QProblem::removeConstraint ( int  number,
BooleanType  updateCholesky 
)
protected

Removes a constraint from active set.

Returns
SUCCESSFUL_RETURN
RET_CONSTRAINT_NOT_ACTIVE
RET_REMOVECONSTRAINT_FAILED
RET_HESSIAN_NOT_SPD
Parameters
numberNumber of constraint to be removed from active set.
updateCholeskyFlag indicating if Cholesky decomposition shall be updated.

Definition at line 2201 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblem.cpp.

returnValue QProblem::removeConstraint ( int  number,
BooleanType  updateCholesky 
)
protected

Removes a constraint from active set.

Returns
SUCCESSFUL_RETURN
RET_CONSTRAINT_NOT_ACTIVE
RET_REMOVECONSTRAINT_FAILED
RET_HESSIAN_NOT_SPD
Parameters
numberNumber of constraint to be removed from active set.
updateCholeskyFlag indicating if Cholesky decomposition shall be updated.
virtual returnValue QProblem::removeConstraint ( int_t  number,
BooleanType  updateCholesky,
BooleanType  allowFlipping = BT_FALSE,
BooleanType  ensureNZC = BT_FALSE 
)
protectedvirtual

Removes a constraint from active set.

Returns
SUCCESSFUL_RETURN
RET_CONSTRAINT_NOT_ACTIVE
RET_REMOVECONSTRAINT_FAILED
RET_HESSIAN_NOT_SPD
Parameters
numberNumber of constraint to be removed from active set.
updateCholeskyFlag indicating if Cholesky decomposition shall be updated.
allowFlippingFlag indicating if flipping bounds are allowed.
ensureNZCFlag indicating if non-zero curvature is ensured by exchange rules.

Reimplemented in SQProblemSchur.

returnValue QProblem::removeConstraint ( int  number,
BooleanType  updateCholesky,
BooleanType  allowFlipping = BT_FALSE,
BooleanType  ensureNZC = BT_FALSE 
)
protected

Removes a constraint from active set.

Returns
SUCCESSFUL_RETURN
RET_CONSTRAINT_NOT_ACTIVE
RET_REMOVECONSTRAINT_FAILED
RET_HESSIAN_NOT_SPD
Parameters
numberNumber of constraint to be removed from active set.
updateCholeskyFlag indicating if Cholesky decomposition shall be updated.
allowFlippingFlag indicating if flipping bounds are allowed.
ensureNZCFlag indicating if non-zero curvature is ensured by exchange rules.

Definition at line 3829 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

returnValue QProblem::reset ( )
virtual

Clears all data structures of QProblemB except for QP data.

Returns
SUCCESSFUL_RETURN
RET_RESET_FAILED

Reimplemented from QProblemB.

Reimplemented in SQProblemSchur.

Definition at line 203 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblem.cpp.

returnValue QProblem::reset ( )
virtual

Clears all data structures of QProblemB except for QP data.

Returns
SUCCESSFUL_RETURN
RET_RESET_FAILED

Reimplemented from QProblemB.

Reimplemented in SQProblemSchur.

virtual returnValue QProblem::reset ( )
virtual

Clears all data structures of QProblemB except for QP data.

Returns
SUCCESSFUL_RETURN
RET_RESET_FAILED

Reimplemented from QProblemB.

Reimplemented in SQProblemSchur.

virtual returnValue QProblem::reset ( )
virtual

Clears all data structures of QProblemB except for QP data.

Returns
SUCCESSFUL_RETURN
RET_RESET_FAILED

Reimplemented from QProblemB.

Reimplemented in SQProblemSchur.

returnValue QProblem::setA ( const real_t *const  A_new)
inlineprotected

Sets constraint matrix of the QP.
(Remark: Also internal vector Ax is recomputed!)

Returns
SUCCESSFUL_RETURN
Parameters
A_newNew constraint matrix (with correct dimension!).
returnValue QProblem::setA ( int  number,
const real_t *const  value 
)
inlineprotected

Changes single row of constraint matrix of the QP.
(Remark: Also correponding component of internal vector Ax is recomputed!)

Returns
SUCCESSFUL_RETURN
RET_INDEX_OUT_OF_BOUNDS
Parameters
numberNumber of row to be changed.
valueNew (number)th constraint (with correct dimension!).
returnValue QProblem::setA ( const real_t *const  A_new)
inlineprotected

Sets constraint matrix of the QP.
(Remark: Also internal vector Ax is recomputed!)

Returns
SUCCESSFUL_RETURN
Parameters
A_newNew constraint matrix (with correct dimension!).
returnValue QProblem::setA ( int  number,
const real_t *const  value 
)
inlineprotected

Changes single row of constraint matrix of the QP.
(Remark: Also correponding component of internal vector Ax is recomputed!)

Returns
SUCCESSFUL_RETURN
RET_INDEX_OUT_OF_BOUNDS
Parameters
numberNumber of row to be changed.
valueNew (number)th constraint (with correct dimension!).
returnValue QProblem::setA ( Matrix A_new)
inlineprotected

Sets constraint matrix of the QP.
Note: Also internal vector Ax is recomputed!

Returns
SUCCESSFUL_RETURN
RET_INVALID_ARGUMENTS
Parameters
A_newNew constraint matrix (a shallow copy is made).
returnValue QProblem::setA ( const real_t *const  A_new)
inlineprotected

Sets dense constraint matrix of the QP.
Note: Also internal vector Ax is recomputed!

Returns
SUCCESSFUL_RETURN
RET_INVALID_ARGUMENTS
Parameters
A_newNew dense constraint matrix (with correct dimension!), a shallow copy is made.
returnValue QProblem::setA ( Matrix A_new)
inlineprotected

Sets constraint matrix of the QP.
Note: Also internal vector Ax is recomputed!

Returns
SUCCESSFUL_RETURN
RET_INVALID_ARGUMENTS
Parameters
A_newNew constraint matrix.
returnValue QProblem::setA ( const real_t *const  A_new)
inlineprotected

Sets dense constraint matrix of the QP.
Note: Also internal vector Ax is recomputed!

Returns
SUCCESSFUL_RETURN
RET_INVALID_ARGUMENTS
Parameters
A_newNew dense constraint matrix (with correct dimension!).
returnValue QProblem::setConstraintProduct ( ConstraintProduct *const  _constraintProduct)

Defines user-defined routine for calculating the constraint product A*x

Returns
SUCCESSFUL_RETURN
returnValue QProblem::setConstraintProduct ( ConstraintProduct *const  _constraintProduct)

Defines user-defined routine for calculating the constraint product A*x

Returns
SUCCESSFUL_RETURN

Definition at line 1153 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

returnValue QProblem::setLBA ( const real_t *const  lbA_new)
inlineprotected

Sets constraints' lower bound vector of the QP.

Returns
SUCCESSFUL_RETURN
Parameters
lbA_newNew constraints' lower bound vector (with correct dimension!).
returnValue QProblem::setLBA ( int  number,
real_t  value 
)
inlineprotected

Changes single entry of lower constraints' bound vector of the QP.

Returns
SUCCESSFUL_RETURN
RET_INDEX_OUT_OF_BOUNDS
Parameters
numberNumber of entry to be changed.
valueNew value for entry of lower constraints' bound vector (with correct dimension!).
returnValue QProblem::setLBA ( const real_t *const  lbA_new)
inlineprotected

Sets constraints' lower bound vector of the QP.

Returns
SUCCESSFUL_RETURN
Parameters
lbA_newNew constraints' lower bound vector (with correct dimension!).
returnValue QProblem::setLBA ( int  number,
real_t  value 
)
inlineprotected

Changes single entry of lower constraints' bound vector of the QP.

Returns
SUCCESSFUL_RETURN
RET_INDEX_OUT_OF_BOUNDS
Parameters
numberNumber of entry to be changed.
valueNew value for entry of lower constraints' bound vector (with correct dimension!).
returnValue QProblem::setLBA ( const real_t *const  lbA_new)
inlineprotected

Sets constraints' lower bound vector of the QP.

Returns
SUCCESSFUL_RETURN
RET_QPOBJECT_NOT_SETUP
Parameters
lbA_newNew constraints' lower bound vector (with correct dimension!).
returnValue QProblem::setLBA ( int_t  number,
real_t  value 
)
inlineprotected

Changes single entry of lower constraints' bound vector of the QP.

Returns
SUCCESSFUL_RETURN
RET_QPOBJECT_NOT_SETUP
RET_INDEX_OUT_OF_BOUNDS
Parameters
numberNumber of entry to be changed.
valueNew value for entry of lower constraints' bound vector (with correct dimension!).
returnValue QProblem::setLBA ( const real_t *const  lbA_new)
inlineprotected

Sets constraints' lower bound vector of the QP.

Returns
SUCCESSFUL_RETURN
RET_INVALID_ARGUMENTS
Parameters
lbA_newNew constraints' lower bound vector (with correct dimension!).
returnValue QProblem::setLBA ( int  number,
real_t  value 
)
inlineprotected

Changes single entry of lower constraints' bound vector of the QP.

Returns
SUCCESSFUL_RETURN
RET_INDEX_OUT_OF_BOUNDS
Parameters
numberNumber of entry to be changed.
valueNew value for entry of lower constraints' bound vector (with correct dimension!).
returnValue QProblem::setUBA ( const real_t *const  ubA_new)
inlineprotected

Sets constraints' upper bound vector of the QP.

Returns
SUCCESSFUL_RETURN
Parameters
ubA_newNew constraints' upper bound vector (with correct dimension!).
returnValue QProblem::setUBA ( int  number,
real_t  value 
)
inlineprotected

Changes single entry of upper constraints' bound vector of the QP.

Returns
SUCCESSFUL_RETURN
RET_INDEX_OUT_OF_BOUNDS
Parameters
numberNumber of entry to be changed.
valueNew value for entry of upper constraints' bound vector (with correct dimension!).
returnValue QProblem::setUBA ( const real_t *const  ubA_new)
inlineprotected

Sets constraints' upper bound vector of the QP.

Returns
SUCCESSFUL_RETURN
Parameters
ubA_newNew constraints' upper bound vector (with correct dimension!).
returnValue QProblem::setUBA ( int  number,
real_t  value 
)
inlineprotected

Changes single entry of upper constraints' bound vector of the QP.

Returns
SUCCESSFUL_RETURN
RET_INDEX_OUT_OF_BOUNDS
Parameters
numberNumber of entry to be changed.
valueNew value for entry of upper constraints' bound vector (with correct dimension!).
returnValue QProblem::setUBA ( const real_t *const  ubA_new)
inlineprotected

Sets constraints' upper bound vector of the QP.

Returns
SUCCESSFUL_RETURN
RET_QPOBJECT_NOT_SETUP
Parameters
ubA_newNew constraints' upper bound vector (with correct dimension!).
returnValue QProblem::setUBA ( int_t  number,
real_t  value 
)
inlineprotected

Changes single entry of upper constraints' bound vector of the QP.

Returns
SUCCESSFUL_RETURN
RET_QPOBJECT_NOT_SETUP
RET_INDEX_OUT_OF_BOUNDS
Parameters
numberNumber of entry to be changed.
valueNew value for entry of upper constraints' bound vector (with correct dimension!).
returnValue QProblem::setUBA ( const real_t *const  ubA_new)
inlineprotected

Sets constraints' upper bound vector of the QP.

Returns
SUCCESSFUL_RETURN
RET_INVALID_ARGUMENTS
Parameters
ubA_newNew constraints' upper bound vector (with correct dimension!).
returnValue QProblem::setUBA ( int  number,
real_t  value 
)
inlineprotected

Changes single entry of upper constraints' bound vector of the QP.

Returns
SUCCESSFUL_RETURN
RET_INDEX_OUT_OF_BOUNDS
Parameters
numberNumber of entry to be changed.
valueNew value for entry of upper constraints' bound vector (with correct dimension!).
virtual returnValue QProblem::setupAuxiliaryQP ( const Bounds *const  guessedBounds,
const Constraints *const  guessedConstraints 
)
protectedvirtual
Parameters
guessedBoundsInitial guess for working set of bounds.
guessedConstraintsInitial guess for working set of constraints.
returnValue QProblem::setupAuxiliaryQP ( const Bounds *const  guessedBounds,
const Constraints *const  guessedConstraints 
)
protectedvirtual

Updates QP vectors, working sets and internal data structures in order to start from an optimal solution corresponding to initial guesses of the working set for bounds and constraints.

Returns
SUCCESSFUL_RETURN
RET_SETUP_AUXILIARYQP_FAILED
RET_INVALID_ARGUMENTS
Parameters
guessedBoundsInitial guess for working set of bounds.
guessedConstraintsInitial guess for working set of constraints.

Definition at line 5669 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

returnValue QProblem::setupAuxiliaryQPbounds ( const Bounds *const  auxiliaryBounds,
const Constraints *const  auxiliaryConstraints,
BooleanType  useRelaxation 
)
protected

Setups (constraints') bounds of the auxiliary initial QP for given optimal primal/dual solution and given initial working set (assumes that members X, Y and BOUNDS, CONSTRAINTS have already been initialised!).

Returns
SUCCESSFUL_RETURN
RET_UNKNOWN BUG
Parameters
auxiliaryBoundsWorking set of bounds for auxiliary QP.
auxiliaryConstraintsWorking set of constraints for auxiliary QP.
useRelaxationFlag indicating if inactive (constraints') bounds shall be relaxed.

Definition at line 1198 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblem.cpp.

returnValue QProblem::setupAuxiliaryQPbounds ( const Bounds *const  auxiliaryBounds,
const Constraints *const  auxiliaryConstraints,
BooleanType  useRelaxation 
)
protected

Setups (constraints') bounds of the auxiliary initial QP for given optimal primal/dual solution and given initial working set (assumes that members X, Y and BOUNDS, CONSTRAINTS have already been initialised!).

Returns
SUCCESSFUL_RETURN
RET_UNKNOWN BUG
Parameters
auxiliaryBoundsWorking set of bounds for auxiliary QP.
auxiliaryConstraintsWorking set of constraints for auxiliary QP.
useRelaxationFlag indicating if inactive (constraints') bounds shall be relaxed.
returnValue QProblem::setupAuxiliaryQPbounds ( const Bounds *const  auxiliaryBounds,
const Constraints *const  auxiliaryConstraints,
BooleanType  useRelaxation 
)
protected

Sets up (constraints') bounds of the auxiliary initial QP for given optimal primal/dual solution and given initial working set (assumes that members X, Y and BOUNDS, CONSTRAINTS have already been initialised!).

Returns
SUCCESSFUL_RETURN
RET_UNKNOWN_BUG
Parameters
auxiliaryBoundsWorking set of bounds for auxiliary QP.
auxiliaryConstraintsWorking set of constraints for auxiliary QP.
useRelaxationFlag indicating if inactive (constraints') bounds shall be relaxed.
returnValue QProblem::setupAuxiliaryQPbounds ( const Bounds *const  auxiliaryBounds,
const Constraints *const  auxiliaryConstraints,
BooleanType  useRelaxation 
)
protected

Setups (constraints') bounds of the auxiliary initial QP for given optimal primal/dual solution and given initial working set (assumes that members X, Y and BOUNDS, CONSTRAINTS have already been initialised!).

Returns
SUCCESSFUL_RETURN
RET_UNKNOWN_BUG
Parameters
auxiliaryBoundsWorking set of bounds for auxiliary QP.
auxiliaryConstraintsWorking set of constraints for auxiliary QP.
useRelaxationFlag indicating if inactive (constraints') bounds shall be relaxed.
returnValue QProblem::setupAuxiliaryQPgradient ( )
protected

Setups gradient of the auxiliary initial QP for given optimal primal/dual solution and given initial working set (assumes that members X, Y and BOUNDS, CONSTRAINTS have already been initialised!).

Returns
SUCCESSFUL_RETURN

Definition at line 1169 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblem.cpp.

returnValue QProblem::setupAuxiliaryQPgradient ( )
protected

Setups gradient of the auxiliary initial QP for given optimal primal/dual solution and given initial working set (assumes that members X, Y and BOUNDS, CONSTRAINTS have already been initialised!).

Returns
SUCCESSFUL_RETURN
returnValue QProblem::setupAuxiliaryQPgradient ( )
protected

Sets up gradient of the auxiliary initial QP for given optimal primal/dual solution and given initial working set (assumes that members X, Y and BOUNDS, CONSTRAINTS have already been initialised!).

Returns
SUCCESSFUL_RETURN
returnValue QProblem::setupAuxiliaryQPgradient ( )
protected

Setups gradient of the auxiliary initial QP for given optimal primal/dual solution and given initial working set (assumes that members X, Y and BOUNDS, CONSTRAINTS have already been initialised!).

Returns
SUCCESSFUL_RETURN
returnValue QProblem::setupAuxiliaryQPsolution ( const real_t *const  xOpt,
const real_t *const  yOpt 
)
protected

Setups the optimal primal/dual solution of the auxiliary initial QP.

Returns
SUCCESSFUL_RETURN
Parameters
xOptOptimal primal solution vector. If a NULL pointer is passed, all entries are set to zero.
yOptOptimal dual solution vector. If a NULL pointer is passed, all entries are set to zero.

Definition at line 1116 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblem.cpp.

returnValue QProblem::setupAuxiliaryQPsolution ( const real_t *const  xOpt,
const real_t *const  yOpt 
)
protected

Setups the optimal primal/dual solution of the auxiliary initial QP.

Returns
SUCCESSFUL_RETURN
Parameters
xOptOptimal primal solution vector. If a NULL pointer is passed, all entries are set to zero.
yOptOptimal dual solution vector. If a NULL pointer is passed, all entries are set to zero.
returnValue QProblem::setupAuxiliaryQPsolution ( const real_t *const  xOpt,
const real_t *const  yOpt 
)
protected

Sets up the optimal primal/dual solution of the auxiliary initial QP.

Returns
SUCCESSFUL_RETURN
Parameters
xOptOptimal primal solution vector. If a NULL pointer is passed, all entries are set to zero.
yOptOptimal dual solution vector. If a NULL pointer is passed, all entries are set to zero.
returnValue QProblem::setupAuxiliaryQPsolution ( const real_t *const  xOpt,
const real_t *const  yOpt 
)
protected

Setups the optimal primal/dual solution of the auxiliary initial QP.

Returns
SUCCESSFUL_RETURN
Parameters
xOptOptimal primal solution vector. If a NULL pointer is passed, all entries are set to zero.
yOptOptimal dual solution vector. If a NULL pointer is passed, all entries are set to zero.
returnValue QProblem::setupAuxiliaryWorkingSet ( const Bounds *const  auxiliaryBounds,
const Constraints *const  auxiliaryConstraints,
BooleanType  setupAfresh 
)
protected

Setups bound and constraints data structures according to auxiliaryBounds/Constraints. (If the working set shall be setup afresh, make sure that bounds and constraints data structure have been resetted and the TQ factorisation has been initialised!)

Returns
SUCCESSFUL_RETURN
RET_SETUP_WORKINGSET_FAILED
RET_INVALID_ARGUMENTS
RET_UNKNOWN BUG
Parameters
auxiliaryBoundsWorking set of bounds for auxiliary QP.
auxiliaryConstraintsWorking set of constraints for auxiliary QP.
setupAfreshFlag indicating if given working set shall be setup afresh or by updating the current one.

Definition at line 1000 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblem.cpp.

returnValue QProblem::setupAuxiliaryWorkingSet ( const Bounds *const  auxiliaryBounds,
const Constraints *const  auxiliaryConstraints,
BooleanType  setupAfresh 
)
protected

Setups bound and constraints data structures according to auxiliaryBounds/Constraints. (If the working set shall be setup afresh, make sure that bounds and constraints data structure have been resetted and the TQ factorisation has been initialised!)

Returns
SUCCESSFUL_RETURN
RET_SETUP_WORKINGSET_FAILED
RET_INVALID_ARGUMENTS
RET_UNKNOWN BUG
Parameters
auxiliaryBoundsWorking set of bounds for auxiliary QP.
auxiliaryConstraintsWorking set of constraints for auxiliary QP.
setupAfreshFlag indicating if given working set shall be setup afresh or by updating the current one.
virtual returnValue QProblem::setupAuxiliaryWorkingSet ( const Bounds *const  auxiliaryBounds,
const Constraints *const  auxiliaryConstraints,
BooleanType  setupAfresh 
)
protectedvirtual

Sets up bound and constraints data structures according to auxiliaryBounds/Constraints. (If the working set shall be setup afresh, make sure that bounds and constraints data structure have been resetted and the TQ factorisation has been initialised!)

Returns
SUCCESSFUL_RETURN
RET_SETUP_WORKINGSET_FAILED
RET_INVALID_ARGUMENTS
RET_UNKNOWN_BUG
Parameters
auxiliaryBoundsWorking set of bounds for auxiliary QP.
auxiliaryConstraintsWorking set of constraints for auxiliary QP.
setupAfreshFlag indicating if given working set shall be setup afresh or by updating the current one.

Reimplemented in SQProblemSchur.

returnValue QProblem::setupAuxiliaryWorkingSet ( const Bounds *const  auxiliaryBounds,
const Constraints *const  auxiliaryConstraints,
BooleanType  setupAfresh 
)
protected

Setups bound and constraints data structures according to auxiliaryBounds/Constraints. (If the working set shall be setup afresh, make sure that bounds and constraints data structure have been resetted and the TQ factorisation has been initialised!)

Returns
SUCCESSFUL_RETURN
RET_SETUP_WORKINGSET_FAILED
RET_INVALID_ARGUMENTS
RET_UNKNOWN_BUG
Parameters
auxiliaryBoundsWorking set of bounds for auxiliary QP.
auxiliaryConstraintsWorking set of constraints for auxiliary QP.
setupAfreshFlag indicating if given working set shall be setup afresh or by updating the current one.
returnValue QProblem::setupCholeskyDecompositionProjected ( )
protected

Computes the Cholesky decomposition R of the projected Hessian (i.e. R^T*R = Z^T*H*Z).

Returns
SUCCESSFUL_RETURN
RET_INDEXLIST_CORRUPTED

Definition at line 578 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblem.cpp.

returnValue QProblem::setupCholeskyDecompositionProjected ( )
protected

Computes the Cholesky decomposition R of the projected Hessian (i.e. R^T*R = Z^T*H*Z).

Returns
SUCCESSFUL_RETURN
RET_INDEXLIST_CORRUPTED
returnValue QProblem::setupCholeskyDecompositionProjected ( )
protected

Computes the Cholesky decomposition of the projected Hessian (i.e. R^T*R = Z^T*H*Z). Note: If Hessian turns out not to be positive definite, the Hessian type is set to HST_SEMIDEF accordingly.

Returns
SUCCESSFUL_RETURN
RET_HESSIAN_NOT_SPD
RET_INDEXLIST_CORRUPTED
returnValue QProblem::setupInitialCholesky ( )
protectedvirtual

Computes initial Cholesky decomposition of the projected Hessian making use of the function computeCholesky() or computeProjectedCholesky().

Returns
SUCCESSFUL_RETURN
RET_HESSIAN_NOT_SPD
RET_INDEXLIST_CORRUPTED

Reimplemented from QProblemB.

Definition at line 2107 of file external_packages/qpOASES-3.2.0/src/QProblem.cpp.

returnValue QProblem::setupQPdata ( 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 
)
protected

Setups internal QP data.

Returns
SUCCESSFUL_RETURN
RET_INVALID_ARGUMENTS
Parameters
_HHessian matrix.
_gGradient vector.
_AConstraint matrix.
_lbLower bound vector (on variables).
If no lower bounds exist, a NULL pointer can be passed.
_ubUpper bound vector (on variables).
If no upper bounds exist, a NULL pointer can be passed.
_lbALower constraints' bound vector.
If no lower constraints' bounds exist, a NULL pointer can be passed.
_ubAUpper constraints' bound vector.
If no lower constraints' bounds exist, a NULL pointer can be passed.

Definition at line 3520 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblem.cpp.

returnValue QProblem::setupQPdata ( const real_t *const  _H,
const real_t *const  _R,
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 
)
protected

Setups internal QP data.

Returns
SUCCESSFUL_RETURN
RET_INVALID_ARGUMENTS
Parameters
_HHessian matrix.
_RCholesky factorization of the Hessian matrix.
_gGradient vector.
_AConstraint matrix.
_lbLower bound vector (on variables).
If no lower bounds exist, a NULL pointer can be passed.
_ubUpper bound vector (on variables).
If no upper bounds exist, a NULL pointer can be passed.
_lbALower constraints' bound vector.
If no lower constraints' bounds exist, a NULL pointer can be passed.
_ubAUpper constraints' bound vector.
If no lower constraints' bounds exist, a NULL pointer can be passed.

Definition at line 3607 of file external_packages/qpoases/SRC/QProblem.cpp.

returnValue QProblem::setupQPdata ( SymmetricMatrix _H,
const real_t *const  _g,
Matrix _A,
const real_t *const  _lb,
const real_t *const  _ub,
const real_t *const  _lbA,
const real_t *const  _ubA 
)
protected

Sets up internal QP data.

Returns
SUCCESSFUL_RETURN
RET_INVALID_ARGUMENTS
RET_UNKNONW_BUG
Parameters
_HHessian matrix.
If Hessian matrix is trivial,a NULL pointer can be passed.
_gGradient vector.
_AConstraint matrix.
_lbLower bound vector (on variables).
If no lower bounds exist, a NULL pointer can be passed.
_ubUpper bound vector (on variables).
If no upper bounds exist, a NULL pointer can be passed.
_lbALower constraints' bound vector.
If no lower constraints' bounds exist, a NULL pointer can be passed.
_ubAUpper constraints' bound vector.
If no lower constraints' bounds exist, a NULL pointer can be passed.
returnValue QProblem::setupQPdata ( 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 
)
protected

Sets up dense internal QP data. If the current Hessian is trivial (i.e. HST_ZERO or HST_IDENTITY) but a non-trivial one is given, memory for Hessian is allocated and it is set to the given one.

Returns
SUCCESSFUL_RETURN
RET_INVALID_ARGUMENTS
RET_UNKNONW_BUG
Parameters
_HHessian matrix.
If Hessian matrix is trivial,a NULL pointer can be passed.
_gGradient vector.
_AConstraint matrix.
_lbLower bound vector (on variables).
If no lower bounds exist, a NULL pointer can be passed.
_ubUpper bound vector (on variables).
If no upper bounds exist, a NULL pointer can be passed.
_lbALower constraints' bound vector.
If no lower constraints' bounds exist, a NULL pointer can be passed.
_ubAUpper constraints' bound vector.
If no lower constraints' bounds exist, a NULL pointer can be passed.
returnValue QProblem::setupQPdata ( SymmetricMatrix _H,
const real_t *const  _g,
Matrix _A,
const real_t *const  _lb,
const real_t *const  _ub,
const real_t *const  _lbA,
const real_t *const  _ubA 
)
protected

Setups internal QP data.

Returns
SUCCESSFUL_RETURN
RET_INVALID_ARGUMENTS
RET_UNKNONW_BUG
Parameters
_HHessian matrix.
If Hessian matrix is trivial,a NULL pointer can be passed.
_gGradient vector.
_AConstraint matrix.
_lbLower bound vector (on variables).
If no lower bounds exist, a NULL pointer can be passed.
_ubUpper bound vector (on variables).
If no upper bounds exist, a NULL pointer can be passed.
_lbALower constraints' bound vector.
If no lower constraints' bounds exist, a NULL pointer can be passed.
_ubAUpper constraints' bound vector.
If no lower constraints' bounds exist, a NULL pointer can be passed.

Definition at line 5806 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

returnValue QProblem::setupQPdata ( 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 
)
protected

Setups dense internal QP data. If the current Hessian is trivial (i.e. HST_ZERO or HST_IDENTITY) but a non-trivial one is given, memory for Hessian is allocated and it is set to the given one.

Returns
SUCCESSFUL_RETURN
RET_INVALID_ARGUMENTS
RET_UNKNONW_BUG
Parameters
_HHessian matrix.
If Hessian matrix is trivial,a NULL pointer can be passed.
_gGradient vector.
_AConstraint matrix.
_lbLower bound vector (on variables).
If no lower bounds exist, a NULL pointer can be passed.
_ubUpper bound vector (on variables).
If no upper bounds exist, a NULL pointer can be passed.
_lbALower constraints' bound vector.
If no lower constraints' bounds exist, a NULL pointer can be passed.
_ubAUpper constraints' bound vector.
If no lower constraints' bounds exist, a NULL pointer can be passed.
returnValue QProblem::setupQPdataFromFile ( const char *const  H_file,
const char *const  g_file,
const char *const  A_file,
const char *const  lb_file,
const char *const  ub_file,
const char *const  lbA_file,
const char *const  ubA_file 
)
protected

Sets up internal QP data by loading it from files. If the current Hessian is trivial (i.e. HST_ZERO or HST_IDENTITY) but a non-trivial one is given, memory for Hessian is allocated and it is set to the given one.

Returns
SUCCESSFUL_RETURN
RET_UNABLE_TO_OPEN_FILE
RET_UNABLE_TO_READ_FILE
RET_INVALID_ARGUMENTS
RET_UNKNONW_BUG
Parameters
H_fileName of file where Hessian matrix, of neighbouring QP to be solved, is stored.
If Hessian matrix is trivial,a NULL pointer can be passed.
g_fileName of file where gradient, of neighbouring QP to be solved, is stored.
A_fileName of file where constraint matrix, of neighbouring QP to be solved, is stored.
lb_fileName of file where lower bounds, of neighbouring QP to be solved, is stored.
If no lower bounds exist, a NULL pointer can be passed.
ub_fileName of file where upper bounds, of neighbouring QP to be solved, is stored.
If no upper bounds exist, a NULL pointer can be passed.
lbA_fileName of file where lower constraints' bounds, of neighbouring QP to be solved, is stored.
If no lower constraints' bounds exist, a NULL pointer can be passed.
ubA_fileName of file where upper constraints' bounds, of neighbouring QP to be solved, is stored.
If no upper constraints' bounds exist, a NULL pointer can be passed.
returnValue QProblem::setupQPdataFromFile ( const char *const  H_file,
const char *const  g_file,
const char *const  A_file,
const char *const  lb_file,
const char *const  ub_file,
const char *const  lbA_file,
const char *const  ubA_file 
)
protected

Setups internal QP data by loading it from files. If the current Hessian is trivial (i.e. HST_ZERO or HST_IDENTITY) but a non-trivial one is given, memory for Hessian is allocated and it is set to the given one.

Returns
SUCCESSFUL_RETURN
RET_UNABLE_TO_OPEN_FILE
RET_UNABLE_TO_READ_FILE
RET_INVALID_ARGUMENTS
RET_UNKNONW_BUG
Parameters
H_fileName of file where Hessian matrix, of neighbouring QP to be solved, is stored.
If Hessian matrix is trivial,a NULL pointer can be passed.
g_fileName of file where gradient, of neighbouring QP to be solved, is stored.
A_fileName of file where constraint matrix, of neighbouring QP to be solved, is stored.
lb_fileName of file where lower bounds, of neighbouring QP to be solved, is stored.
If no lower bounds exist, a NULL pointer can be passed.
ub_fileName of file where upper bounds, of neighbouring QP to be solved, is stored.
If no upper bounds exist, a NULL pointer can be passed.
lbA_fileName of file where lower constraints' bounds, of neighbouring QP to be solved, is stored.
If no lower constraints' bounds exist, a NULL pointer can be passed.
ubA_fileName of file where upper constraints' bounds, of neighbouring QP to be solved, is stored.
If no upper constraints' bounds exist, a NULL pointer can be passed.

Definition at line 5912 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

returnValue QProblem::setupSubjectToType ( )
protectedvirtual

Determines type of constraints and bounds (i.e. implicitly fixed, unbounded etc.).

Returns
SUCCESSFUL_RETURN
RET_SETUPSUBJECTTOTYPE_FAILED

Reimplemented from QProblemB.

Definition at line 507 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblem.cpp.

returnValue QProblem::setupSubjectToType ( )
protectedvirtual

Determines type of constraints and bounds (i.e. implicitly fixed, unbounded etc.).

Returns
SUCCESSFUL_RETURN
RET_SETUPSUBJECTTOTYPE_FAILED

Reimplemented from QProblemB.

virtual returnValue QProblem::setupSubjectToType ( )
protectedvirtual

Determines type of existing constraints and bounds (i.e. implicitly fixed, unbounded etc.).

Returns
SUCCESSFUL_RETURN
RET_SETUPSUBJECTTOTYPE_FAILED

Reimplemented from QProblemB.

virtual returnValue QProblem::setupSubjectToType ( const real_t *const  lb_new,
const real_t *const  ub_new,
const real_t *const  lbA_new,
const real_t *const  ubA_new 
)
protectedvirtual
Parameters
lb_newNew lower bounds.
ub_newNew upper bounds.
lbA_newNew lower constraints' bounds.
ubA_newNew upper constraints' bounds.
virtual returnValue QProblem::setupSubjectToType ( )
protectedvirtual

Determines type of existing constraints and bounds (i.e. implicitly fixed, unbounded etc.).

Returns
SUCCESSFUL_RETURN
RET_SETUPSUBJECTTOTYPE_FAILED

Reimplemented from QProblemB.

returnValue QProblem::setupSubjectToType ( const real_t *const  lb_new,
const real_t *const  ub_new,
const real_t *const  lbA_new,
const real_t *const  ubA_new 
)
protectedvirtual

Determines type of new constraints and bounds (i.e. implicitly fixed, unbounded etc.).

Returns
SUCCESSFUL_RETURN
RET_SETUPSUBJECTTOTYPE_FAILED
Parameters
lb_newNew lower bounds.
ub_newNew upper bounds.
lbA_newNew lower constraints' bounds.
ubA_newNew upper constraints' bounds.

Definition at line 2127 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

returnValue QProblem::setupTQfactorisation ( )
protected

Initialises TQ factorisation of A (i.e. A*Q = [0 T]) if NO constraint is active.

Returns
SUCCESSFUL_RETURN
RET_INDEXLIST_CORRUPTED

Definition at line 680 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblem.cpp.

returnValue QProblem::setupTQfactorisation ( )
protected

Initialises TQ factorisation of A (i.e. A*Q = [0 T]) if NO constraint is active.

Returns
SUCCESSFUL_RETURN
RET_INDEXLIST_CORRUPTED
virtual returnValue QProblem::setupTQfactorisation ( )
protectedvirtual

Initialises TQ factorisation of A (i.e. A*Q = [0 T]) if NO constraint is active.

Returns
SUCCESSFUL_RETURN
RET_INDEXLIST_CORRUPTED

Reimplemented in SQProblemSchur.

returnValue QProblem::setupTQfactorisation ( )
protected

Initialises TQ factorisation of A (i.e. A*Q = [0 T]) if NO constraint is active.

Returns
SUCCESSFUL_RETURN
RET_INDEXLIST_CORRUPTED
BooleanType QProblem::shallRefactorise ( const Bounds *const  guessedBounds,
const Constraints *const  guessedConstraints 
) const
protected

Determines if it is more efficient to refactorise the matrices when hotstarting or not (i.e. better to update the existing factorisations).

Returns
BT_TRUE iff matrices shall be refactorised afresh
Parameters
guessedBoundsGuessed new working set of bounds.
guessedConstraintsGuessed new working set of constraints.
BooleanType QProblem::shallRefactorise ( const Bounds *const  guessedBounds,
const Constraints *const  guessedConstraints 
) const
protected

Determines if it is more efficient to refactorise the matrices when hotstarting or not (i.e. better to update the existing factorisations).

Returns
BT_TRUE iff matrices shall be refactorised afresh
Parameters
guessedBoundsGuessed new working set of bounds.
guessedConstraintsGuessed new working set of constraints.

Definition at line 5767 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

returnValue QProblem::solveCurrentEQP ( const int_t  n_rhs,
const real_t g_in,
const real_t lb_in,
const real_t ub_in,
const real_t lbA_in,
const real_t ubA_in,
real_t x_out,
real_t y_out 
)

Solves an equality-constrained QP problem resulting from the current working set.

Returns
SUCCESSFUL_RETURN
RET_STEPDIRECTION_FAILED_TQ
RET_STEPDIRECTION_FAILED_CHOLESKY
RET_INVALID_ARGUMENTS
Parameters
n_rhsNumber of consecutive right hand sides
g_inGradient of neighbouring QP to be solved.
lb_inLower bounds of neighbouring QP to be solved.
If no lower bounds exist, a NULL pointer can be passed.
ub_inUpper bounds of neighbouring QP to be solved.
If no upper bounds exist, a NULL pointer can be passed.
lbA_inLower constraints' bounds of neighbouring QP to be solved.
If no lower constraints' bounds exist, a NULL pointer can be passed.
ubA_inUpper constraints' bounds of neighbouring QP to be solved.
x_outOutput: Primal solution
y_outOutput: Dual solution
returnValue QProblem::solveCurrentEQP ( const int  n_rhs,
const real_t g_in,
const real_t lb_in,
const real_t ub_in,
const real_t lbA_in,
const real_t ubA_in,
real_t x_out,
real_t y_out 
)

Solves using the current working set

Returns
SUCCESSFUL_RETURN
RET_STEPDIRECTION_FAILED_TQ
RET_STEPDIRECTION_FAILED_CHOLESKY
Parameters
n_rhsNumber of consecutive right hand sides
g_inGradient of neighbouring QP to be solved.
lb_inLower bounds of neighbouring QP to be solved.
If no lower bounds exist, a NULL pointer can be passed.
ub_inUpper bounds of neighbouring QP to be solved.
If no upper bounds exist, a NULL pointer can be passed.
lbA_inLower constraints' bounds of neighbouring QP to be solved.
If no lower constraints' bounds exist, a NULL pointer can be passed.
ubA_inUpper constraints' bounds of neighbouring QP to be solved.
x_outPrimal solution
y_outDual solution

Definition at line 1045 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

returnValue QProblem::solveInitialQP ( const real_t *const  xOpt,
const real_t *const  yOpt,
const Bounds *const  guessedBounds,
const Constraints *const  guessedConstraints,
int &  nWSR,
real_t *const  cputime 
)
protected

Solves a QProblem whose QP data is assumed to be stored in the member variables. A guess for its primal/dual optimal solution vectors and the corresponding working sets of bounds and constraints can be provided.

Returns
SUCCESSFUL_RETURN
RET_INIT_FAILED
RET_INIT_FAILED_CHOLESKY
RET_INIT_FAILED_TQ
RET_INIT_FAILED_HOTSTART
RET_INIT_FAILED_INFEASIBILITY
RET_INIT_FAILED_UNBOUNDEDNESS
RET_MAX_NWSR_REACHED
Parameters
xOptOptimal primal solution vector. A NULL pointer can be passed.
yOptOptimal dual solution vector. A NULL pointer can be passed.
guessedBoundsGuessed working set of bounds for solution (xOpt,yOpt). A NULL pointer can be passed.
guessedConstraintsOptimal working set of constraints for solution (xOpt,yOpt). A NULL pointer can be passed.
nWSRInput: Maximum number of working set recalculations;
Output: Number of performed working set recalculations.
cputimeOutput: CPU time required to solve QP (or to perform nWSR iterations).

Definition at line 713 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblem.cpp.

returnValue QProblem::solveInitialQP ( const real_t *const  xOpt,
const real_t *const  yOpt,
const Bounds *const  guessedBounds,
const Constraints *const  guessedConstraints,
int &  nWSR,
real_t *const  cputime 
)
protected

Solves a QProblem whose QP data is assumed to be stored in the member variables. A guess for its primal/dual optimal solution vectors and the corresponding working sets of bounds and constraints can be provided.

Returns
SUCCESSFUL_RETURN
RET_INIT_FAILED
RET_INIT_FAILED_CHOLESKY
RET_INIT_FAILED_TQ
RET_INIT_FAILED_HOTSTART
RET_INIT_FAILED_INFEASIBILITY
RET_INIT_FAILED_UNBOUNDEDNESS
RET_MAX_NWSR_REACHED
Parameters
xOptOptimal primal solution vector. A NULL pointer can be passed.
yOptOptimal dual solution vector. A NULL pointer can be passed.
guessedBoundsGuessed working set of bounds for solution (xOpt,yOpt). A NULL pointer can be passed.
guessedConstraintsOptimal working set of constraints for solution (xOpt,yOpt). A NULL pointer can be passed.
nWSRInput: Maximum number of working set recalculations;
Output: Number of performed working set recalculations.
cputimeOutput: CPU time required to solve QP (or to perform nWSR iterations).
returnValue QProblem::solveInitialQP ( const real_t *const  xOpt,
const real_t *const  yOpt,
const Bounds *const  guessedBounds,
const Constraints *const  guessedConstraints,
const real_t *const  _R,
int_t nWSR,
real_t *const  cputime 
)
protected

Solves a QProblem whose QP data is assumed to be stored in the member variables. A guess for its primal/dual optimal solution vectors and the corresponding working sets of bounds and constraints can be provided. Note: This function is internally called by all init functions!

Returns
SUCCESSFUL_RETURN
RET_INIT_FAILED
RET_INIT_FAILED_CHOLESKY
RET_INIT_FAILED_TQ
RET_INIT_FAILED_HOTSTART
RET_INIT_FAILED_INFEASIBILITY
RET_INIT_FAILED_UNBOUNDEDNESS
RET_MAX_NWSR_REACHED
Parameters
xOptOptimal primal solution vector.
yOptOptimal dual solution vector.
guessedBoundsOptimal working set of bounds for solution (xOpt,yOpt).
guessedConstraintsOptimal working set of constraints for solution (xOpt,yOpt).
_RPre-computed (upper triangular) Cholesky factor of Hessian matrix.
nWSRInput: Maximum number of working set recalculations;
Output: Number of performed working set recalculations.
cputimeInput: Maximum CPU time allowed for QP solution.
Output: CPU time spent for QP solution (or to perform nWSR iterations).

Definition at line 1279 of file external_packages/qpOASES-3.2.0/src/QProblem.cpp.

returnValue QProblem::solveInitialQP ( const real_t *const  xOpt,
const real_t *const  yOpt,
const Bounds *const  guessedBounds,
const Constraints *const  guessedConstraints,
int &  nWSR,
real_t *const  cputime 
)
protected

Solves a QProblem whose QP data is assumed to be stored in the member variables. A guess for its primal/dual optimal solution vectors and the corresponding working sets of bounds and constraints can be provided. Note: This function is internally called by all init functions!

Returns
SUCCESSFUL_RETURN
RET_INIT_FAILED
RET_INIT_FAILED_CHOLESKY
RET_INIT_FAILED_TQ
RET_INIT_FAILED_HOTSTART
RET_INIT_FAILED_INFEASIBILITY
RET_INIT_FAILED_UNBOUNDEDNESS
RET_MAX_NWSR_REACHED
Parameters
xOptOptimal primal solution vector. A NULL pointer can be passed.
yOptOptimal dual solution vector. A NULL pointer can be passed.
guessedBoundsGuessed working set of bounds for solution (xOpt,yOpt). A NULL pointer can be passed.
guessedConstraintsOptimal working set of constraints for solution (xOpt,yOpt). A NULL pointer can be passed.
nWSRInput: Maximum number of working set recalculations;
Output: Number of performed working set recalculations.
cputimeInput: Maximum CPU time allowed for QP solution.
Output: CPU time spend for QP solution (or to perform nWSR iterations).
returnValue QProblem::solveQP ( const real_t *const  g_new,
const real_t *const  lb_new,
const real_t *const  ub_new,
const real_t *const  lbA_new,
const real_t *const  ubA_new,
int_t nWSR,
real_t *const  cputime,
int_t  nWSRperformed = 0,
BooleanType  isFirstCall = BT_TRUE 
)
protected

Solves QProblem using online active set strategy. Note: This function is internally called by all hotstart functions!

Returns
SUCCESSFUL_RETURN
RET_MAX_NWSR_REACHED
RET_HOTSTART_FAILED_AS_QP_NOT_INITIALISED
RET_HOTSTART_FAILED
RET_SHIFT_DETERMINATION_FAILED
RET_STEPDIRECTION_DETERMINATION_FAILED
RET_STEPLENGTH_DETERMINATION_FAILED
RET_HOMOTOPY_STEP_FAILED
RET_HOTSTART_STOPPED_INFEASIBILITY
RET_HOTSTART_STOPPED_UNBOUNDEDNESS
Parameters
g_newGradient of neighbouring QP to be solved.
lb_newLower bounds of neighbouring QP to be solved.
If no lower bounds exist, a NULL pointer can be passed.
ub_newUpper bounds of neighbouring QP to be solved.
If no upper bounds exist, a NULL pointer can be passed.
lbA_newLower constraints' bounds of neighbouring QP to be solved.
If no lower constraints' bounds exist, a NULL pointer can be passed.
ubA_newUpper constraints' bounds of neighbouring QP to be solved.
If no upper constraints' bounds exist, a NULL pointer can be passed.
nWSRInput: Maximum number of working set recalculations;
Output: Number of performed working set recalculations.
cputimeInput: Maximum CPU time allowed for QP solution.
Output: CPU time spent for QP solution (or to perform nWSR iterations).
nWSRperformedNumber of working set recalculations already performed to solve this QP within previous solveQP() calls. This number is always zero, except for successive calls from solveRegularisedQP() or when using the far bound strategy.
isFirstCallIndicating whether this is the first call for current QP.

Definition at line 1455 of file external_packages/qpOASES-3.2.0/src/QProblem.cpp.

returnValue QProblem::solveQP ( const real_t *const  g_new,
const real_t *const  lb_new,
const real_t *const  ub_new,
const real_t *const  lbA_new,
const real_t *const  ubA_new,
int &  nWSR,
real_t *const  cputime,
int  nWSRperformed = 0 
)
protected

Solves QProblem using online active set strategy. Note: This function is internally called by all hotstart functions!

Returns
SUCCESSFUL_RETURN
RET_MAX_NWSR_REACHED
RET_HOTSTART_FAILED_AS_QP_NOT_INITIALISED
RET_HOTSTART_FAILED
RET_SHIFT_DETERMINATION_FAILED
RET_STEPDIRECTION_DETERMINATION_FAILED
RET_STEPLENGTH_DETERMINATION_FAILED
RET_HOMOTOPY_STEP_FAILED
RET_HOTSTART_STOPPED_INFEASIBILITY
RET_HOTSTART_STOPPED_UNBOUNDEDNESS
Parameters
g_newGradient of neighbouring QP to be solved.
lb_newLower bounds of neighbouring QP to be solved.
If no lower bounds exist, a NULL pointer can be passed.
ub_newUpper bounds of neighbouring QP to be solved.
If no upper bounds exist, a NULL pointer can be passed.
lbA_newLower constraints' bounds of neighbouring QP to be solved.
If no lower constraints' bounds exist, a NULL pointer can be passed.
ubA_newUpper constraints' bounds of neighbouring QP to be solved.
If no upper constraints' bounds exist, a NULL pointer can be passed.
nWSRInput: Maximum number of working set recalculations;
Output: Number of performed working set recalculations.
cputimeInput: Maximum CPU time allowed for QP solution.
Output: CPU time spend for QP solution (or to perform nWSR iterations).
nWSRperformedNumber of working set recalculations already performed to solve this QP within previous solveQP() calls. This number is always zero, except for successive calls from solveRegularisedQP() or when using the far bound strategy.

Definition at line 1694 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

returnValue QProblem::solveRegularisedQP ( const real_t *const  g_new,
const real_t *const  lb_new,
const real_t *const  ub_new,
const real_t *const  lbA_new,
const real_t *const  ubA_new,
int_t nWSR,
real_t *const  cputime,
int_t  nWSRperformed = 0,
BooleanType  isFirstCall = BT_TRUE 
)
protected

Solves QProblem using online active set strategy. Note: This function is internally called by all hotstart functions!

Returns
SUCCESSFUL_RETURN
RET_MAX_NWSR_REACHED
RET_HOTSTART_FAILED_AS_QP_NOT_INITIALISED
RET_HOTSTART_FAILED
RET_SHIFT_DETERMINATION_FAILED
RET_STEPDIRECTION_DETERMINATION_FAILED
RET_STEPLENGTH_DETERMINATION_FAILED
RET_HOMOTOPY_STEP_FAILED
RET_HOTSTART_STOPPED_INFEASIBILITY
RET_HOTSTART_STOPPED_UNBOUNDEDNESS
Parameters
g_newGradient of neighbouring QP to be solved.
lb_newLower bounds of neighbouring QP to be solved.
If no lower bounds exist, a NULL pointer can be passed.
ub_newUpper bounds of neighbouring QP to be solved.
If no upper bounds exist, a NULL pointer can be passed.
lbA_newLower constraints' bounds of neighbouring QP to be solved.
If no lower constraints' bounds exist, a NULL pointer can be passed.
ubA_newUpper constraints' bounds of neighbouring QP to be solved.
If no upper constraints' bounds exist, a NULL pointer can be passed.
nWSRInput: Maximum number of working set recalculations;
Output: Number of performed working set recalculations.
cputimeInput: Maximum CPU time allowed for QP solution.
Output: CPU time spent for QP solution (or to perform nWSR iterations).
nWSRperformedNumber of working set recalculations already performed to solve this QP within previous solveRegularisedQP() calls. This number is always zero, except for successive calls when using the far bound strategy.
isFirstCallIndicating whether this is the first call for current QP.

Definition at line 1731 of file external_packages/qpOASES-3.2.0/src/QProblem.cpp.

returnValue QProblem::solveRegularisedQP ( const real_t *const  g_new,
const real_t *const  lb_new,
const real_t *const  ub_new,
const real_t *const  lbA_new,
const real_t *const  ubA_new,
int &  nWSR,
real_t *const  cputime,
int  nWSRperformed = 0 
)
protected

Solves QProblem using online active set strategy. Note: This function is internally called by all hotstart functions!

Returns
SUCCESSFUL_RETURN
RET_MAX_NWSR_REACHED
RET_HOTSTART_FAILED_AS_QP_NOT_INITIALISED
RET_HOTSTART_FAILED
RET_SHIFT_DETERMINATION_FAILED
RET_STEPDIRECTION_DETERMINATION_FAILED
RET_STEPLENGTH_DETERMINATION_FAILED
RET_HOMOTOPY_STEP_FAILED
RET_HOTSTART_STOPPED_INFEASIBILITY
RET_HOTSTART_STOPPED_UNBOUNDEDNESS
Parameters
g_newGradient of neighbouring QP to be solved.
lb_newLower bounds of neighbouring QP to be solved.
If no lower bounds exist, a NULL pointer can be passed.
ub_newUpper bounds of neighbouring QP to be solved.
If no upper bounds exist, a NULL pointer can be passed.
lbA_newLower constraints' bounds of neighbouring QP to be solved.
If no lower constraints' bounds exist, a NULL pointer can be passed.
ubA_newUpper constraints' bounds of neighbouring QP to be solved.
If no upper constraints' bounds exist, a NULL pointer can be passed.
nWSRInput: Maximum number of working set recalculations;
Output: Number of performed working set recalculations.
cputimeInput: Maximum CPU time allowed for QP solution.
Output: CPU time spend for QP solution (or to perform nWSR iterations).
nWSRperformedNumber of working set recalculations already performed to solve this QP within previous solveRegularisedQP() calls. This number is always zero, except for successive calls when using the far bound strategy.

Definition at line 2014 of file external_packages/qpOASES-3.0beta/src/QProblem.cpp.

returnValue QProblem::updateActivitiesForHotstart ( const real_t *const  lb_new,
const real_t *const  ub_new,
const real_t *const  lbA_new,
const real_t *const  ubA_new 
)
protectedvirtual

Update activities in a hot start if some of the bounds have become infinity or if variables have become fixed.

Parameters
lb_newNew lower bounds.
ub_newNew upper bounds.
lbA_newNew lower constraints' bounds.
ubA_newNew upper constraints' bounds.

Definition at line 1839 of file external_packages/qpOASES-3.2.0/src/QProblem.cpp.

returnValue QProblem::updateFarBounds ( real_t  curFarBound,
int_t  nRamp,
const real_t *const  lb_new,
real_t *const  lb_new_far,
const real_t *const  ub_new,
real_t *const  ub_new_far,
const real_t *const  lbA_new,
real_t *const  lbA_new_far,
const real_t *const  ubA_new,
real_t *const  ubA_new_far 
) const
protected

...

Parameters
curFarBound...
nRamp...
lb_new...
lb_new_far...
ub_new...
ub_new_far...
lbA_new...
lbA_new_far...
ubA_new...
ubA_new_far...

Definition at line 5468 of file external_packages/qpOASES-3.2.0/src/QProblem.cpp.

returnValue QProblem::writeQpDataIntoMatFile ( const char *const  filename) const

...

Returns
SUCCESSFUL_RETURN
RET_UNABLE_TO_OPEN_FILE
Parameters
filenameMat file name.

Definition at line 6333 of file external_packages/qpOASES-3.2.0/src/QProblem.cpp.

returnValue QProblem::writeQpWorkspaceIntoMatFile ( const char *const  filename)

...

Returns
SUCCESSFUL_RETURN
RET_UNABLE_TO_OPEN_FILE
Parameters
filenameMat file name.

Definition at line 6377 of file external_packages/qpOASES-3.2.0/src/QProblem.cpp.

Friends And Related Function Documentation

Member Data Documentation

DenseMatrix* QProblem::A

Constraint matrix pointer.

Definition at line 103 of file QProblem.h.

Matrix * QProblem::A
protected
Matrix* QProblem::A
protected
DenseMatrix QProblem::AA

Constraint matrix.

Definition at line 104 of file QProblem.h.

real_t QProblem::Ax
protected

Stores the current product A*x (for increased efficiency only).

Stores the current A*x
(for increased efficiency only).

Definition at line 620 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/INCLUDE/QProblem.hpp.

real_t* QProblem::Ax
protected

Stores the current A*x
(for increased efficiency only).

Definition at line 1077 of file external_packages/qpOASES-3.0beta/include/qpOASES/QProblem.hpp.

real_t QProblem::Ax_l[NCMAX]

Stores the current distance to lower constraints' bounds A*x-lbA
(for increased efficiency only).

Definition at line 117 of file QProblem.h.

real_t * QProblem::Ax_l
protected

Stores the current distance to lower constraints' bounds A*x-lbA
(for increased efficiency only).

Definition at line 1079 of file external_packages/qpOASES-3.0beta/include/qpOASES/QProblem.hpp.

real_t QProblem::Ax_u[NCMAX]

Stores the current distance to lower constraints' bounds ubA-A*x
(for increased efficiency only).

Definition at line 119 of file QProblem.h.

real_t * QProblem::Ax_u
protected

Stores the current distance to lower constraints' bounds ubA-A*x
(for increased efficiency only).

Definition at line 1081 of file external_packages/qpOASES-3.0beta/include/qpOASES/QProblem.hpp.

Bounds QProblem::bounds

Data structure for problem's bounds.

Definition at line 72 of file QProblem.h.

ConstraintProduct QProblem::constraintProduct

Pointer to user-defined constraint product function.

Definition at line 122 of file QProblem.h.

ConstraintProduct * QProblem::constraintProduct
protected

Pointer to user-defined constraint product function.

Definition at line 1084 of file external_packages/qpOASES-3.0beta/include/qpOASES/QProblem.hpp.

Constraints QProblem::constraints
protected

Data structure for problem's constraints.

Definition at line 614 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/INCLUDE/QProblem.hpp.

unsigned int QProblem::count

Counts the number of hotstart function calls (internal usage only!).

Definition at line 90 of file QProblem.h.

CyclingManager QProblem::cyclingManager
protected

Data structure for storing (possible) cycling information (NOT YET IMPLEMENTED!).

Definition at line 622 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/INCLUDE/QProblem.hpp.

real_t QProblem::delta_xFR_TMP[NVMAX]

Temporary for determineStepDirection

Definition at line 92 of file QProblem.h.

real_t QProblem::delta_xFRy[NCMAX]

Temporary for determineStepDirection.

Definition at line 127 of file QProblem.h.

real_t * QProblem::delta_xFRy
protected

Temporary for determineStepDirection.

Definition at line 1089 of file external_packages/qpOASES-3.0beta/include/qpOASES/QProblem.hpp.

real_t QProblem::delta_xFRz[NVMAX]

Temporary for determineStepDirection.

Definition at line 128 of file QProblem.h.

real_t * QProblem::delta_xFRz
protected

Temporary for determineStepDirection.

Definition at line 1090 of file external_packages/qpOASES-3.0beta/include/qpOASES/QProblem.hpp.

real_t QProblem::delta_yAC_TMP[NCMAX]

Temporary for determineStepDirection.

Definition at line 129 of file QProblem.h.

real_t * QProblem::delta_yAC_TMP
protected

Temporary for determineStepDirection.

Definition at line 1091 of file external_packages/qpOASES-3.0beta/include/qpOASES/QProblem.hpp.

Flipper QProblem::flipper

Struct for making a temporary copy of the matrix factorisations.

Definition at line 101 of file QProblem.h.

BooleanType QProblem::freeConstraintMatrix
protected

Flag indicating whether the constraint matrix needs to be de-allocated.

Definition at line 1065 of file external_packages/qpOASES-3.0beta/include/qpOASES/QProblem.hpp.

real_t QProblem::g[NVMAX]

Gradient.

Definition at line 68 of file QProblem.h.

DenseMatrix* QProblem::H

Hessian matrix pointer.

Definition at line 65 of file QProblem.h.

BooleanType QProblem::haveCholesky

Flag indicating whether Cholesky decomposition has already been setup.

Definition at line 75 of file QProblem.h.

HessianType QProblem::hessianType

Type of Hessian matrix.

Definition at line 87 of file QProblem.h.

DenseMatrix QProblem::HH

Hessian matrix.

Definition at line 66 of file QProblem.h.

int QProblem::idxAddB
protected

Auxiliary variable for debug output.

Definition at line 1093 of file external_packages/qpOASES-3.0beta/include/qpOASES/QProblem.hpp.

int QProblem::idxAddC
protected

Auxiliary variable for debug output.

Definition at line 1095 of file external_packages/qpOASES-3.0beta/include/qpOASES/QProblem.hpp.

int QProblem::idxRemB
protected

Auxiliary variable for debug output.

Definition at line 1094 of file external_packages/qpOASES-3.0beta/include/qpOASES/QProblem.hpp.

int QProblem::idxRemC
protected

Auxiliary variable for debug output.

Definition at line 1096 of file external_packages/qpOASES-3.0beta/include/qpOASES/QProblem.hpp.

BooleanType QProblem::infeasible

QP infeasible?

Definition at line 84 of file QProblem.h.

real_t QProblem::lb[NVMAX]

Lower bound vector (on variables).

Definition at line 69 of file QProblem.h.

real_t QProblem::lbA
protected

Lower constraints' bound vector.

Definition at line 611 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/INCLUDE/QProblem.hpp.

real_t* QProblem::lbA
protected

Lower constraints' bound vector.

Definition at line 1068 of file external_packages/qpOASES-3.0beta/include/qpOASES/QProblem.hpp.

Options QProblem::options

Struct containing all user-defined options for solving QPs.

Definition at line 98 of file QProblem.h.

real_t QProblem::Q
protected

Orthonormal quadratic matrix, A = [0 T]*Q'.

Definition at line 617 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/INCLUDE/QProblem.hpp.

real_t* QProblem::Q
protected

Orthonormal quadratic matrix, A = [0 T]*Q'.

Definition at line 1074 of file external_packages/qpOASES-3.0beta/include/qpOASES/QProblem.hpp.

real_t QProblem::R[NVMAX *NVMAX]

Cholesky factor of H (i.e. H = R^T*R).

Definition at line 74 of file QProblem.h.

real_t QProblem::ramp0

Start value for Ramping Strategy.

Definition at line 94 of file QProblem.h.

real_t QProblem::ramp1

Final value for Ramping Strategy.

Definition at line 95 of file QProblem.h.

int QProblem::rampOffset

Offset index for Ramping.

Definition at line 96 of file QProblem.h.

real_t QProblem::regVal

Holds the offset used to regularise Hessian matrix (zero by default).

Definition at line 88 of file QProblem.h.

int QProblem::sizeT
protected

Matrix T is stored in a (sizeT x sizeT) array.

Definition at line 618 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/INCLUDE/QProblem.hpp.

int_t QProblem::sizeT
protected

Matrix T is stored in a (sizeT x sizeT) array.

Definition at line 1050 of file external_packages/qpOASES-3.2.0/include/qpOASES/QProblem.hpp.

QProblemStatus QProblem::status

Current status of the solution process.

Definition at line 82 of file QProblem.h.

real_t QProblem::T
protected

Reverse triangular matrix, A = [0 T]*Q'.

Definition at line 616 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/INCLUDE/QProblem.hpp.

real_t* QProblem::T
protected

Reverse triangular matrix, A = [0 T]*Q'.

Definition at line 1073 of file external_packages/qpOASES-3.0beta/include/qpOASES/QProblem.hpp.

TabularOutput QProblem::tabularOutput

Struct storing information for tabular output (printLevel == PL_TABULAR).

Definition at line 99 of file QProblem.h.

real_t QProblem::tau

Last homotopy step length.

Definition at line 80 of file QProblem.h.

real_t QProblem::tempA[NVMAX]

Temporary for determineStepDirection.

Definition at line 124 of file QProblem.h.

real_t * QProblem::tempA
protected

Temporary for determineStepDirection.

Definition at line 1086 of file external_packages/qpOASES-3.0beta/include/qpOASES/QProblem.hpp.

real_t QProblem::tempB[NCMAX]

Temporary for determineStepDirection.

Definition at line 125 of file QProblem.h.

real_t * QProblem::tempB
protected

Temporary for determineStepDirection.

Definition at line 1087 of file external_packages/qpOASES-3.0beta/include/qpOASES/QProblem.hpp.

real_t QProblem::ub[NVMAX]

Upper bound vector (on variables).

Definition at line 70 of file QProblem.h.

real_t QProblem::ubA
protected

Upper constraints' bound vector.

Definition at line 612 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/INCLUDE/QProblem.hpp.

real_t* QProblem::ubA
protected

Upper constraints' bound vector.

Definition at line 1069 of file external_packages/qpOASES-3.0beta/include/qpOASES/QProblem.hpp.

BooleanType QProblem::unbounded

QP unbounded?

Definition at line 85 of file QProblem.h.

real_t QProblem::x[NVMAX]

Primal solution vector.

Definition at line 77 of file QProblem.h.

real_t QProblem::y[NVMAX+NCMAX]

Dual solution vector.

Definition at line 78 of file QProblem.h.

real_t QProblem::ZFR_delta_xFRz[NVMAX]

Temporary for determineStepDirection.

Definition at line 126 of file QProblem.h.

real_t * QProblem::ZFR_delta_xFRz
protected

Temporary for determineStepDirection.

Definition at line 1088 of file external_packages/qpOASES-3.0beta/include/qpOASES/QProblem.hpp.


The documentation for this struct was generated from the following files:


acado
Author(s): Milan Vukov, Rien Quirynen
autogenerated on Mon Jun 10 2019 12:35:26