Implements the online active set strategy for box-constrained QPs. More...
#include <QProblemB.hpp>
Public Member Functions | |
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 |
virtual returnValue | getDualSolution (real_t *const yOpt) const |
virtual 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 () |
virtual int_t | getNZ () const |
virtual int | getNZ () 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 |
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 |
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, 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 |
QProblemB & | operator= (const QProblemB &rhs) |
QProblemB & | operator= (const QProblemB &rhs) |
QProblemB & | operator= (const QProblemB &rhs) |
virtual QProblemB & | operator= (const QProblemB &rhs) |
returnValue | printOptions () const |
returnValue | printOptions () const |
virtual returnValue | printProperties () |
virtual returnValue | printProperties () |
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 () |
virtual returnValue | reset () |
virtual 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 | |
unsigned int | count |
real_t | delta_xFR_TMP [NVMAX] |
DenseMatrix * | H |
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) |
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) |
SymSparseMat * | createDiagSparseMat (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 |
virtual returnValue | performRamping () |
virtual returnValue | performRamping () |
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 () |
virtual returnValue | setupInitialCholesky () |
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 () |
virtual returnValue | setupSubjectToType (const real_t *const lb_new, const real_t *const ub_new) |
virtual returnValue | setupSubjectToType () |
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 | |
Bounds | bounds |
int | count |
uint_t | count |
real_t * | delta_xFR_TMP |
Flipper | flipper |
BooleanType | freeHessian |
real_t | g [NVMAX] |
real_t * | g |
real_t | H [NVMAX *NVMAX] |
SymmetricMatrix * | H |
BooleanType | hasCholesky |
BooleanType | hasHessian |
BooleanType | haveCholesky |
HessianType | hessianType |
BooleanType | infeasible |
BooleanType | isRegularised |
real_t | lb [NVMAX] |
real_t * | lb |
Options | options |
PrintLevel | printlevel |
real_t | R [NVMAX *NVMAX] |
real_t * | R |
real_t | ramp0 |
real_t | ramp1 |
int_t | rampOffset |
real_t | regVal |
QProblemStatus | status |
TabularOutput | tabularOutput |
real_t | tau |
real_t | ub [NVMAX] |
real_t * | ub |
BooleanType | unbounded |
real_t | x [NVMAX] |
real_t * | x |
real_t | y [NVMAX+NCMAX] |
real_t * | y |
Private Member Functions | |
returnValue | addBound (int_t number, SubjectToStatus B_status, BooleanType updateCholesky) |
returnValue | addBound (int number, SubjectToStatus B_status, BooleanType updateCholesky) |
returnValue | changeActiveSet (int_t BC_idx, SubjectToStatus BC_status) |
returnValue | changeActiveSet (int BC_idx, SubjectToStatus BC_status) |
returnValue | checkKKTconditions () |
returnValue | checkKKTconditions () |
returnValue | determineStepDirection (const real_t *const delta_g, const real_t *const delta_lb, const real_t *const delta_ub, BooleanType Delta_bB_isZero, real_t *const delta_xFX, real_t *const delta_xFR, real_t *const delta_yFX) |
returnValue | determineStepDirection (const real_t *const delta_g, const real_t *const delta_lb, const real_t *const delta_ub, BooleanType Delta_bB_isZero, real_t *const delta_xFX, real_t *const delta_xFR, real_t *const delta_yFX) |
returnValue | hotstart_determineStepDirection (const int *const FR_idx, const int *const FX_idx, const real_t *const delta_g, const real_t *const delta_lb, const real_t *const delta_ub, BooleanType Delta_bB_isZero, real_t *const delta_xFX, real_t *const delta_xFR, real_t *const delta_yFX) |
returnValue | hotstart_determineStepDirection (const int *const FR_idx, const int *const FX_idx, const real_t *const delta_g, const real_t *const delta_lb, const real_t *const delta_ub, BooleanType Delta_bB_isZero, real_t *const delta_xFX, real_t *const delta_xFR, real_t *const delta_yFX) |
returnValue | hotstart_determineStepLength (const int *const FR_idx, const int *const FX_idx, const real_t *const delta_lb, const real_t *const delta_ub, const real_t *const delta_xFR, const real_t *const delta_yFX, int &BC_idx, SubjectToStatus &BC_status) |
returnValue | hotstart_determineStepLength (const int *const FR_idx, const int *const FX_idx, const real_t *const delta_lb, const real_t *const delta_ub, const real_t *const delta_xFR, const real_t *const delta_yFX, int &BC_idx, SubjectToStatus &BC_status) |
returnValue | hotstart_performStep (const int *const FR_idx, const int *const FX_idx, const real_t *const delta_g, 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_yFX, int BC_idx, SubjectToStatus BC_status) |
returnValue | hotstart_performStep (const int *const FR_idx, const int *const FX_idx, const real_t *const delta_g, 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_yFX, int BC_idx, SubjectToStatus BC_status) |
virtual returnValue | performDriftCorrection () |
returnValue | performDriftCorrection () |
returnValue | performStep (const real_t *const delta_g, 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_yFX, int_t &BC_idx, SubjectToStatus &BC_status) |
returnValue | performStep (const real_t *const delta_g, 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_yFX, int &BC_idx, SubjectToStatus &BC_status) |
returnValue | printIteration (int_t iter, int_t BC_idx, SubjectToStatus BC_status, real_t homotopyLength, BooleanType isFirstCall=BT_TRUE) |
returnValue | printIteration (int iteration, int BC_idx, SubjectToStatus BC_status) |
returnValue | removeBound (int_t number, BooleanType updateCholesky) |
returnValue | removeBound (int number, BooleanType updateCholesky) |
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) |
BooleanType | shallRefactorise (const Bounds *const guessedBounds) const |
BooleanType | shallRefactorise (const Bounds *const guessedBounds) const |
returnValue | solveInitialQP (const real_t *const xOpt, const real_t *const yOpt, const Bounds *const guessedBounds, 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, 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, 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, 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, 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, int &nWSR, real_t *const cputime, int nWSRperformed=0) |
Friends | |
class | SolutionAnalysis |
Implements the online active set strategy for box-constrained QPs.
Class for setting up and solving quadratic programs with (simple) bounds only. The main feature is the possibily to use the newly developed online active set strategy for parametric quadratic programming.
Class for setting up and solving quadratic programs with bounds (= box constraints) only. The main feature is the possibily to use the newly developed online active set strategy for parametric quadratic programming.
Class for setting up and solving quadratic programs with bounds (= box constraints) only. The main feature is the possibily to use the newly developed online active set strategy for parametric quadratic programming.
Class for setting up and solving quadratic programs with bounds (= box constraints) only. The main feature is the possibility to use the newly developed online active set strategy for parametric quadratic programming.
Definition at line 55 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/INCLUDE/QProblemB.hpp.
BEGIN_NAMESPACE_QPOASES QProblemB::QProblemB | ( | ) |
Default constructor.
Definition at line 61 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblemB.cpp.
QProblemB::QProblemB | ( | int | _nV | ) |
Constructor which takes the QP dimension only.
_nV | Number of variables. |
Definition at line 90 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblemB.cpp.
QProblemB::QProblemB | ( | const QProblemB & | rhs | ) |
Copy constructor (deep copy).
rhs | Rhs object. |
Definition at line 126 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblemB.cpp.
QProblemB::~QProblemB | ( | ) |
Destructor.
Definition at line 175 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblemB.cpp.
QProblemB::QProblemB | ( | ) |
Default constructor.
QProblemB::QProblemB | ( | int | _nV | ) |
Constructor which takes the QP dimension only.
_nV | Number of variables. |
QProblemB::QProblemB | ( | const QProblemB & | rhs | ) |
Copy constructor (deep copy).
rhs | Rhs object. |
QProblemB::~QProblemB | ( | ) |
Destructor.
QProblemB::QProblemB | ( | ) |
Default constructor.
QProblemB::QProblemB | ( | int | _nV, |
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.
_nV | Number of variables. |
_hessianType | Type of Hessian matrix. |
Definition at line 95 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
QProblemB::QProblemB | ( | const QProblemB & | rhs | ) |
Copy constructor (deep copy).
rhs | Rhs object. |
|
virtual |
Destructor.
QProblemB::QProblemB | ( | ) |
Default constructor.
QProblemB::QProblemB | ( | int_t | _nV, |
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.
_nV | Number of variables. |
_hessianType | Type of Hessian matrix. |
QProblemB::QProblemB | ( | const QProblemB & | rhs | ) |
Copy constructor (deep copy).
rhs | Rhs object. |
|
virtual |
Destructor.
|
protected |
Adds a bound to active set (specialised version for the case where no constraints exist).
number | Number of bound to be added to active set. |
B_status | Status of new active bound. |
updateCholesky | Flag indicating if Cholesky decomposition shall be updated. |
Definition at line 1226 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblemB.cpp.
|
protected |
Adds a bound to active set (specialised version for the case where no constraints exist).
number | Number of bound to be added to active set. |
B_status | Status of new active bound. |
updateCholesky | Flag indicating if Cholesky decomposition shall be updated. |
|
private |
Adds a bound to active set (specialised version for the case where no constraints exist).
number | Number of bound to be added to active set. |
B_status | Status of new active bound. |
updateCholesky | Flag indicating if Cholesky decomposition shall be updated. |
|
private |
Adds a bound to active set (specialised version for the case where no constraints exist).
number | Number of bound to be added to active set. |
B_status | Status of new active bound. |
updateCholesky | Flag indicating if Cholesky decomposition shall be updated. |
|
inlineprotected |
Applies Givens matrix determined by c and s (cf. computeGivens).
c | Cosine entry of Givens matrix. |
s | Sine entry of Givens matrix. |
xold | Matrix entry to be transformed corresponding to the normalised entry of the original matrix. |
yold | Matrix entry to be transformed corresponding to the annihilated entry of the original matrix. |
xnew | Output: Transformed matrix entry corresponding to the normalised entry of the original matrix. |
ynew | Output: Transformed matrix entry corresponding to the annihilated entry of the original matrix. |
|
inlineprotected |
Applies Givens matrix determined by c and s (cf. computeGivens).
c | Cosine entry of Givens matrix. |
s | Sine entry of Givens matrix. |
xold | Matrix entry to be transformed corresponding to the normalised entry of the original matrix. |
yold | Matrix entry to be transformed corresponding to the annihilated entry of the original matrix. |
xnew | Output: Transformed matrix entry corresponding to the normalised entry of the original matrix. |
ynew | Output: Transformed matrix entry corresponding to the annihilated entry of the original matrix. |
|
inlineprotected |
Applies Givens matrix determined by c and s (cf. computeGivens).
c | Cosine entry of Givens matrix. |
s | Sine entry of Givens matrix. |
nu | Further factor: s/(1+c). |
xold | Matrix entry to be transformed corresponding to the normalised entry of the original matrix. |
yold | Matrix entry to be transformed corresponding to the annihilated entry of the original matrix. |
xnew | Output: Transformed matrix entry corresponding to the normalised entry of the original matrix. |
ynew | Output: Transformed matrix entry corresponding to the annihilated entry of the original matrix. |
|
inlineprotected |
Applies Givens matrix determined by c and s (cf. computeGivens).
c | Cosine entry of Givens matrix. |
s | Sine entry of Givens matrix. |
nu | Further factor: s/(1+c). |
xold | Matrix entry to be transformed corresponding to the normalised entry of the original matrix. |
yold | Matrix entry to be transformed corresponding to the annihilated entry of the original matrix. |
xnew | Output: Transformed matrix entry corresponding to the normalised entry of the original matrix. |
ynew | Output: Transformed matrix entry corresponding to the annihilated entry of the original matrix. |
|
protected |
Checks if lower/upper bounds remain consistent (i.e. if lb <= ub) during the current step.
delta_lb | Step direction of lower bounds. |
delta_ub | Step direction of upper bounds. |
Definition at line 1487 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblemB.cpp.
|
protected |
Checks if lower/upper bounds remain consistent (i.e. if lb <= ub) during the current step.
delta_lb | Step direction of lower bounds. |
delta_ub | Step direction of upper bounds. |
|
protected |
Decides if lower bounds are smaller than upper bounds
lb | Vector of lower bounds |
ub | Vector of upper bounds |
|
protected |
Solves the system Ra = b or R^Ta = b where R is an upper triangular matrix.
b | Right hand side vector. |
transposed | Indicates if the transposed system shall be solved. |
a | Output: Solution vector |
Definition at line 1356 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblemB.cpp.
|
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()".
b | Right hand side vector. |
transposed | Indicates if the transposed system shall be solved. |
removingBound | Indicates if function is called from "removeBound()". |
a | Output: Solution vector |
Definition at line 1368 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblemB.cpp.
|
protected |
Solves the system Ra = b or R^Ta = b where R is an upper triangular matrix.
b | Right hand side vector. |
transposed | Indicates if the transposed system shall be solved. |
a | Output: Solution vector |
|
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()".
b | Right hand side vector. |
transposed | Indicates if the transposed system shall be solved. |
removingBound | Indicates if function is called from "removeBound()". |
a | Output: Solution vector |
|
protectedvirtual |
Solves the system Ra = b or R^Ta = b where R is an upper triangular matrix.
b | Right hand side vector. |
transposed | Indicates if the transposed system shall be solved. |
a | Output: Solution vector |
Reimplemented in SQProblemSchur.
|
protectedvirtual |
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()".
b | Right hand side vector. |
transposed | Indicates if the transposed system shall be solved. |
removingBound | Indicates if function is called from "removeBound()". |
a | Output: Solution vector |
Reimplemented in SQProblemSchur.
|
protected |
Solves the system Ra = b or R^Ta = b where R is an upper triangular matrix.
b | Right hand side vector. |
transposed | Indicates if the transposed system shall be solved. |
a | Output: Solution vector |
Definition at line 1653 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
|
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()".
b | Right hand side vector. |
transposed | Indicates if the transposed system shall be solved. |
removingBound | Indicates if function is called from "removeBound()". |
a | Output: Solution vector |
Definition at line 1665 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
|
private |
Updates active set.
BC_idx | Index of blocking constraint. |
BC_status | Status of blocking constraint. |
|
private |
Updates active set.
BC_idx | Index of blocking constraint. |
BC_status | Status of blocking constraint. |
Definition at line 3270 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
|
protected |
Checks if Hessian happens to be the identity matrix, and sets corresponding status flag (otherwise the flag remains unaltered!).
Definition at line 631 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblemB.cpp.
|
protected |
Checks if Hessian happens to be the identity matrix, and sets corresponding status flag (otherwise the flag remains unaltered!).
|
private |
Determines the maximum violation of the KKT optimality conditions of the current iterate within the QProblemB object.
Definition at line 2008 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblemB.cpp.
|
private |
Determines the maximum violation of the KKT optimality conditions of the current iterate within the QProblemB object.
|
protected |
Frees all allocated memory.
|
protected |
Frees all allocated memory.
Definition at line 1152 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
|
protectedvirtual |
Computes the Cholesky decomposition of the (simply projected) Hessian (i.e. R^T*R = Z^T*H*Z). It only works in the case where Z is a simple projection matrix! Note: If Hessian turns out not to be positive definite, the Hessian type is set to HST_SEMIDEF accordingly.
Definition at line 1360 of file external_packages/qpOASES-3.2.0/src/QProblemB.cpp.
|
inlineprotected |
Computes parameters for the Givens matrix G for which [x,y]*G = [z,0]
|
inlineprotected |
Computes parameters for the Givens matrix G for which [x,y]*G = [z,0]
|
inlineprotected |
Computes parameters for the Givens matrix G for which [x,y]*G = [z,0]
|
inlineprotected |
Computes parameters for the Givens matrix G for which [x,y]*G = [z,0]
|
protected |
Copies all members from given rhs object.
rhs | Rhs object. |
|
protected |
Copies all members from given rhs object.
rhs | Rhs object. |
Definition at line 1209 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
|
protected |
Creates a sparse diagonal (square-)matrix which is a given multiple of the identity matrix.
n | Row/column dimension of matrix to be created. |
diagVal | Value of all diagonal entries. |
Definition at line 2032 of file external_packages/qpOASES-3.2.0/src/QProblemB.cpp.
|
protected |
Determines step direction of the shift of the QP data.
|
protected |
Determines step direction of the shift of the QP data.
g_new | New gradient vector. |
lb_new | New lower bounds. |
ub_new | New upper bounds. |
delta_g | Output: Step direction of gradient vector. |
delta_lb | Output: Step direction of lower bounds. |
delta_ub | Output: Step direction of upper bounds. |
Delta_bB_isZero | Output: Indicates if active bounds are to be shifted. |
Definition at line 1724 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
|
protected |
If Hessian type has been set by the user, nothing is done. Otherwise the Hessian type is set to HST_IDENTITY, HST_ZERO, or HST_POSDEF (default), respectively.
|
protected |
If Hessian type has been set by the user, nothing is done. Otherwise the Hessian type is set to HST_IDENTITY, HST_ZERO, or HST_POSDEF (default), respectively.
Definition at line 1302 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
|
private |
Determines step direction of the homotopy path.
delta_g | Step direction of gradient vector. |
delta_lb | Step direction of lower bounds. |
delta_ub | Step direction of upper bounds. |
Delta_bB_isZero | Indicates if active bounds are to be shifted. |
delta_xFX | Output: Primal homotopy step direction of fixed variables. |
delta_xFR | Output: Primal homotopy step direction of free variables. |
delta_yFX | Output: Dual homotopy step direction of fixed variables' multiplier. |
|
private |
Determines step direction of the homotopy path.
delta_g | Step direction of gradient vector. |
delta_lb | Step direction of lower bounds. |
delta_ub | Step direction of upper bounds. |
Delta_bB_isZero | Indicates if active bounds are to be shifted. |
delta_xFX | Output: Primal homotopy step direction of fixed variables. |
delta_xFR | Output: Primal homotopy step direction of free variables. |
delta_yFX | Output: Dual homotopy step direction of fixed variables' multiplier. |
Definition at line 2958 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Returns the current number of QP problems solved.
returnValue QProblemB::getDualSolution | ( | real_t *const | yOpt | ) | const |
Returns the dual solution vector.
yOpt | Output: Dual solution vector (if QP has been solved). |
Definition at line 563 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblemB.cpp.
returnValue QProblemB::getDualSolution | ( | real_t *const | yOpt | ) | const |
Returns the dual solution vector.
yOpt | Output: Dual solution vector (if QP has been solved). |
|
virtual |
|
virtual |
|
inline |
Returns gradient vector of the QP (deep copy).
_g | Array of appropriate dimension for copying gradient vector. |
|
inline |
Returns gradient vector of the QP (deep copy).
_g | Array of appropriate dimension for copying gradient vector. |
|
inline |
Returns Hessian matrix of the QP (deep copy).
_H | Array of appropriate dimension for copying Hessian matrix. |
|
inline |
Returns Hessian matrix of the QP (deep copy).
_H | Array of appropriate dimension for copying Hessian matrix. |
|
inline |
Returns Hessian type flag (type is not determined due to this call!).
|
inline |
Returns Hessian type flag (type is not determined due to this call!).
|
inline |
Returns Hessian type flag (type is not determined due to this call!).
|
inline |
Returns Hessian type flag (type is not determined due to this call!).
|
inline |
Returns lower bound vector of the QP (deep copy).
_lb | Array of appropriate dimension for copying lower bound vector. |
|
inline |
Returns single entry of lower bound vector of the QP.
number | Number of entry to be returned. |
value | Output: lb[number]. |
|
inline |
Returns lower bound vector of the QP (deep copy).
_lb | Array of appropriate dimension for copying lower bound vector. |
|
inline |
Returns single entry of lower bound vector of the QP.
number | Number of entry to be returned. |
value | Output: lb[number]. |
|
inline |
Returns the number of free variables.
|
inline |
Returns the number of free variables.
|
inline |
Returns the number of free variables.
|
inline |
Returns the number of free variables.
|
inline |
Returns the number of implicitly fixed variables.
|
inline |
Returns the number of implicitly fixed variables.
|
inline |
Returns the number of implicitly fixed variables.
|
inline |
Returns the number of implicitly fixed variables.
|
inline |
Returns the number of fixed variables.
|
inline |
Returns the number of fixed variables.
|
inline |
Returns the number of fixed variables.
|
inline |
Returns the number of fixed variables.
|
inline |
Returns the number of variables.
|
inline |
Returns the number of variables.
|
inline |
Returns the number of variables.
|
inline |
Returns the number of variables.
int QProblemB::getNZ | ( | ) |
Returns the dimension of null space.
Definition at line 482 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblemB.cpp.
int QProblemB::getNZ | ( | ) |
Returns the dimension of null space.
|
virtual |
|
virtual |
Returns the dimension of null space.
Reimplemented in QProblem, and QProblem.
Definition at line 828 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
real_t QProblemB::getObjVal | ( | ) | const |
Returns the optimal objective function value.
Definition at line 492 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblemB.cpp.
Returns the objective function value at an arbitrary point x.
_x | Point at which the objective function shall be evaluated. |
Definition at line 516 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblemB.cpp.
real_t QProblemB::getObjVal | ( | ) | const |
Returns the optimal objective function value.
Returns the objective function value at an arbitrary point x.
_x | Point at which the objective function shall be evaluated. |
real_t QProblemB::getObjVal | ( | ) | const |
Returns the optimal objective function value.
Returns the objective function value at an arbitrary point x.
_x | Point at which the objective function shall be evaluated. |
real_t QProblemB::getObjVal | ( | ) | const |
Returns the optimal objective function value.
Returns the objective function value at an arbitrary point x.
_x | Point at which the objective function shall be evaluated. |
|
inline |
Returns current options struct.
|
inline |
Returns current options struct.
returnValue QProblemB::getPrimalSolution | ( | real_t *const | xOpt | ) | const |
Returns the primal solution vector.
xOpt | Output: Primal solution vector (if QP has been solved). |
Definition at line 538 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblemB.cpp.
returnValue QProblemB::getPrimalSolution | ( | real_t *const | xOpt | ) | const |
Returns the primal solution vector.
xOpt | Output: Primal solution vector (if QP has been solved). |
returnValue QProblemB::getPrimalSolution | ( | real_t *const | xOpt | ) | const |
Returns the primal solution vector.
xOpt | Output: Primal solution vector (if QP has been solved). |
returnValue QProblemB::getPrimalSolution | ( | real_t *const | xOpt | ) | const |
Returns the primal solution vector.
xOpt | Output: Primal solution vector (if QP has been solved). |
|
inline |
Returns the print level.
|
inline |
Returns the print level.
|
inline |
Returns the print level.
|
inline |
Returns the print level.
|
protected |
Compute relative length of homotopy in data space for termination criterion.
g_new | Final gradient. |
lb_new | Final lower variable bounds. |
ub_new | Final upper variable bounds. |
Definition at line 2107 of file external_packages/qpOASES-3.2.0/src/QProblemB.cpp.
|
inline |
Returns status of the solution process.
|
inline |
Returns status of the solution process.
|
inline |
Returns status of the solution process.
|
inline |
Returns status of the solution process.
|
inline |
Returns upper bound vector of the QP (deep copy).
_ub | Array of appropriate dimension for copying upper bound vector. |
|
inline |
Returns single entry of upper bound vector of the QP.
number | Number of entry to be returned. |
value | Output: ub[number]. |
|
inline |
Returns upper bound vector of the QP (deep copy).
_ub | Array of appropriate dimension for copying upper bound vector. |
|
inline |
Returns single entry of upper bound vector of the QP.
number | Number of entry to be returned. |
value | Output: ub[number]. |
|
virtual |
Writes a vector with the state of the working set
workingSet | Output: array containing state of the working set. |
Reimplemented in QProblem.
Definition at line 638 of file external_packages/qpOASES-3.2.0/src/QProblemB.cpp.
|
virtual |
Writes a vector with the state of the working set of bounds
workingSetB | Output: array containing state of the working set of bounds. |
Reimplemented in QProblem.
Definition at line 647 of file external_packages/qpOASES-3.2.0/src/QProblemB.cpp.
|
virtual |
Writes a vector with the state of the working set of constraints
workingSetC | Output: array containing state of the working set of constraints. |
Reimplemented in QProblem.
Definition at line 672 of file external_packages/qpOASES-3.2.0/src/QProblemB.cpp.
returnValue QProblemB::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 | ||
) |
Solves an initialised QProblemB using online active set strategy.
g_new | Gradient of neighbouring QP to be solved. |
lb_new | Lower bounds of neighbouring QP to be solved. If no lower bounds exist, a NULL pointer can be passed. |
ub_new | Upper bounds of neighbouring QP to be solved. If no upper bounds exist, a NULL pointer can be passed. |
nWSR | Input: Maximum number of working set recalculations; Output: Number of performed working set recalculations. |
cputime | Output: CPU time required to solve QP (or to perform nWSR iterations). |
Definition at line 285 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblemB.cpp.
returnValue QProblemB::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 | ||
) |
Solves an initialised QProblemB using online active set strategy.
g_new | Gradient of neighbouring QP to be solved. |
lb_new | Lower bounds of neighbouring QP to be solved. If no lower bounds exist, a NULL pointer can be passed. |
ub_new | Upper bounds of neighbouring QP to be solved. If no upper bounds exist, a NULL pointer can be passed. |
nWSR | Input: Maximum number of working set recalculations; Output: Number of performed working set recalculations. |
cputime | Output: CPU time required to solve QP (or to perform nWSR iterations). |
returnValue QProblemB::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 |
||
) |
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!
g_new | Gradient of neighbouring QP to be solved. |
lb_new | Lower bounds of neighbouring QP to be solved. If no lower bounds exist, a NULL pointer can be passed. |
ub_new | Upper bounds of neighbouring QP to be solved. If no upper bounds exist, a NULL pointer can be passed. |
nWSR | Input: Maximum number of working set recalculations; Output: Number of performed working set recalculations. |
cputime | Input: Maximum CPU time allowed for QP solution. Output: CPU time spent for QP solution (or to perform nWSR iterations). |
guessedBounds | Optimal working set of bounds for solution (xOpt,yOpt). (If a null pointer is passed, the previous working set is kept!) |
returnValue QProblemB::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 |
||
) |
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!
g_file | Name of file where gradient, of neighbouring QP to be solved, is stored. |
lb_file | Name 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_file | Name of file where upper bounds, of neighbouring QP to be solved, is stored. If no upper bounds exist, a NULL pointer can be passed. |
nWSR | Input: Maximum number of working set recalculations; Output: Number of performed working set recalculations. |
cputime | Input: Maximum CPU time allowed for QP solution. Output: CPU time spent for QP solution (or to perform nWSR iterations). |
guessedBounds | Optimal working set of bounds for solution (xOpt,yOpt). (If a null pointer is passed, the previous working set is kept!) |
returnValue QProblemB::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 | ||
) |
Solves an initialised QProblemB using online active set strategy. Note: This function internally calls solveQP/solveRegularisedQP for solving an initialised QP!
g_new | Gradient of neighbouring QP to be solved. |
lb_new | Lower bounds of neighbouring QP to be solved. If no lower bounds exist, a NULL pointer can be passed. |
ub_new | Upper bounds of neighbouring QP to be solved. If no upper bounds exist, a NULL pointer can be passed. |
nWSR | Input: Maximum number of working set recalculations; Output: Number of performed working set recalculations. |
cputime | Input: Maximum CPU time allowed for QP solution. Output: CPU time spend for QP solution (or to perform nWSR iterations). |
returnValue QProblemB::hotstart | ( | const char *const | g_file, |
const char *const | lb_file, | ||
const char *const | ub_file, | ||
int & | nWSR, | ||
real_t *const | cputime | ||
) |
Solves an initialised QProblemB online active set strategy reading QP data from files. Note: This function internally calls solveQP/solveRegularisedQP for solving an initialised QP!
g_file | Name of file where gradient, of neighbouring QP to be solved, is stored. |
lb_file | Name 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_file | Name of file where upper bounds, of neighbouring QP to be solved, is stored. If no upper bounds exist, a NULL pointer can be passed. |
nWSR | Input: Maximum number of working set recalculations; Output: Number of performed working set recalculations. |
cputime | Input: Maximum CPU time allowed for QP solution. Output: CPU time spend for QP solution (or to perform nWSR iterations). |
Definition at line 655 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
returnValue QProblemB::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 | ||
) |
Solves an initialised QProblemB using online active set strategy (using an initialised homotopy). Note: This function internally calls solveQP/solveRegularisedQP for solving an initialised QP!
g_new | Gradient of neighbouring QP to be solved. |
lb_new | Lower bounds of neighbouring QP to be solved. If no lower bounds exist, a NULL pointer can be passed. |
ub_new | Upper bounds of neighbouring QP to be solved. If no upper bounds exist, a NULL pointer can be passed. |
nWSR | Input: Maximum number of working set recalculations; Output: Number of performed working set recalculations. |
cputime | Input: Maximum CPU time allowed for QP solution. Output: CPU time spend for QP solution (or to perform nWSR iterations). |
guessedBounds | Initial guess for working set of bounds. A null pointer corresponds to an empty working set! |
Definition at line 713 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
returnValue QProblemB::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 | ||
) |
Solves an initialised QProblemB 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!
g_file | Name of file where gradient, of neighbouring QP to be solved, is stored. |
lb_file | Name 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_file | Name of file where upper bounds, of neighbouring QP to be solved, is stored. If no upper bounds exist, a NULL pointer can be passed. |
nWSR | Input: Maximum number of working set recalculations; Output: Number of performed working set recalculations. |
cputime | Input: Maximum CPU time allowed for QP solution. Output: CPU time spend for QP solution (or to perform nWSR iterations). |
guessedBounds | Initial guess for working set of bounds. A null pointer corresponds to an empty working set! |
Definition at line 767 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
|
protected |
Determines step direction of the shift of the QP data.
FX_idx | Index array of fixed variables. |
g_new | New gradient vector. |
lb_new | New lower bounds. |
ub_new | New upper bounds. |
delta_g | Output: Step direction of gradient vector. |
delta_lb | Output: Step direction of lower bounds. |
delta_ub | Output: Step direction of upper bounds. |
Delta_bB_isZero | Output: Indicates if active bounds are to be shifted. |
Definition at line 1427 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblemB.cpp.
|
protected |
Determines step direction of the shift of the QP data.
FX_idx | Index array of fixed variables. |
g_new | New gradient vector. |
lb_new | New lower bounds. |
ub_new | New upper bounds. |
delta_g | Output: Step direction of gradient vector. |
delta_lb | Output: Step direction of lower bounds. |
delta_ub | Output: Step direction of upper bounds. |
Delta_bB_isZero | Output: Indicates if active bounds are to be shifted. |
|
private |
Determines step direction of the homotopy path.
FR_idx | Index array of free variables. |
FX_idx | Index array of fixed variables. |
delta_g | Step direction of gradient vector. |
delta_lb | Step direction of lower bounds. |
delta_ub | Step direction of upper bounds. |
Delta_bB_isZero | Indicates if active bounds are to be shifted. |
delta_xFX | Output: Primal homotopy step direction of fixed variables. |
delta_xFR | Output: Primal homotopy step direction of free variables. |
delta_yFX | Output: Dual homotopy step direction of fixed variables' multiplier. |
Definition at line 1570 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblemB.cpp.
|
private |
Determines step direction of the homotopy path.
FR_idx | Index array of free variables. |
FX_idx | Index array of fixed variables. |
delta_g | Step direction of gradient vector. |
delta_lb | Step direction of lower bounds. |
delta_ub | Step direction of upper bounds. |
Delta_bB_isZero | Indicates if active bounds are to be shifted. |
delta_xFX | Output: Primal homotopy step direction of fixed variables. |
delta_xFR | Output: Primal homotopy step direction of free variables. |
delta_yFX | Output: Dual homotopy step direction of fixed variables' multiplier. |
|
private |
Determines the maximum possible step length along the homotopy path.
FR_idx | Index array of free variables. |
FX_idx | Index array of fixed variables. |
delta_lb | Step direction of lower bounds. |
delta_ub | Step direction of upper bounds. |
delta_xFR | Primal homotopy step direction of free variables. |
delta_yFX | Dual homotopy step direction of fixed variables' multiplier. |
BC_idx | Output: Index of blocking constraint. |
BC_status | Output: Status of blocking constraint. |
Definition at line 1686 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblemB.cpp.
|
private |
Determines the maximum possible step length along the homotopy path.
FR_idx | Index array of free variables. |
FX_idx | Index array of fixed variables. |
delta_lb | Step direction of lower bounds. |
delta_ub | Step direction of upper bounds. |
delta_xFR | Primal homotopy step direction of free variables. |
delta_yFX | Dual homotopy step direction of fixed variables' multiplier. |
BC_idx | Output: Index of blocking constraint. |
BC_status | Output: Status of blocking constraint. |
|
private |
Performs a step along the homotopy path (and updates active set).
FR_idx | Index array of free variables. |
FX_idx | Index array of fixed variables. |
delta_g | Step direction of gradient vector. |
delta_lb | Step direction of lower bounds. |
delta_ub | Step direction of upper bounds. |
delta_xFX | Primal homotopy step direction of fixed variables. |
delta_xFR | Primal homotopy step direction of free variables. |
delta_yFX | Dual homotopy step direction of fixed variables' multiplier. |
BC_idx | Index of blocking constraint. |
BC_status | Status of blocking constraint. |
Definition at line 1837 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblemB.cpp.
|
private |
Performs a step along the homotopy path (and updates active set).
FR_idx | Index array of free variables. |
FX_idx | Index array of fixed variables. |
delta_g | Step direction of gradient vector. |
delta_lb | Step direction of lower bounds. |
delta_ub | Step direction of upper bounds. |
delta_xFX | Primal homotopy step direction of fixed variables. |
delta_xFR | Primal homotopy step direction of free variables. |
delta_yFX | Dual homotopy step direction of fixed variables' multiplier. |
BC_idx | Index of blocking constraint. |
BC_status | Status of blocking constraint. |
returnValue QProblemB::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 |
||
) |
Initialises a QProblemB with given QP data and solves it using an initial homotopy with empty working set (at most nWSR iterations).
_H | Hessian matrix. |
_g | Gradient vector. |
_lb | Lower bounds (on variables). If no lower bounds exist, a NULL pointer can be passed. |
_ub | Upper bounds (on variables). If no upper bounds exist, a NULL pointer can be passed. |
nWSR | Input: Maximum number of working set recalculations when using initial homotopy. Output: Number of performed working set recalculations. |
yOpt | Initial guess for dual solution vector. |
cputime | Output: CPU time required to initialise QP. |
Definition at line 268 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblemB.cpp.
returnValue QProblemB::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 |
||
) |
Initialises a QProblemB with given QP data and solves it using an initial homotopy with empty working set (at most nWSR iterations).
_H | Hessian matrix. |
_g | Gradient vector. |
_lb | Lower bounds (on variables). If no lower bounds exist, a NULL pointer can be passed. |
_ub | Upper bounds (on variables). If no upper bounds exist, a NULL pointer can be passed. |
nWSR | Input: Maximum number of working set recalculations when using initial homotopy. Output: Number of performed working set recalculations. |
yOpt | Initial guess for dual solution vector. |
cputime | Output: CPU time required to initialise QP. |
returnValue QProblemB::init | ( | SymmetricMatrix * | _H, |
const real_t *const | _g, | ||
const real_t *const | _lb, | ||
const real_t *const | _ub, | ||
int & | nWSR, | ||
real_t *const | cputime | ||
) |
Initialises a QProblemB 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!
_H | Hessian matrix. |
_g | Gradient vector. |
_lb | Lower bounds (on variables). If no lower bounds exist, a NULL pointer can be passed. |
_ub | Upper bounds (on variables). If no upper bounds exist, a NULL pointer can be passed. |
nWSR | Input: Maximum number of working set recalculations when using initial homotopy. Output: Number of performed working set recalculations. |
cputime | Input: Maximum CPU time allowed for QP initialisation. Output: CPU time spend for QP initialisation. |
Definition at line 228 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
returnValue QProblemB::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 |
||
) |
Initialises a simply bounded QP problem with given QP data and tries to solve it using at most nWSR iterations. Depending on the parameter constellation it:
Note: This function internally calls solveInitialQP for initialisation!
\return SUCCESSFUL_RETURN \n RET_INIT_FAILED \n RET_INIT_FAILED_CHOLESKY \n RET_INIT_FAILED_HOTSTART \n RET_INIT_FAILED_INFEASIBILITY \n RET_INIT_FAILED_UNBOUNDEDNESS \n RET_MAX_NWSR_REACHED \n RET_INVALID_ARGUMENTS
_H | Hessian matrix (a shallow copy is made). |
_g | Gradient vector. |
_lb | Lower bounds (on variables). If no lower bounds exist, a NULL pointer can be passed. |
_ub | Upper bounds (on variables). If no upper bounds exist, a NULL pointer can be passed. |
nWSR | Input: Maximum number of working set recalculations when using initial homotopy. Output: Number of performed working set recalculations. |
cputime | Input: Maximum CPU time allowed for QP initialisation. Output: CPU time spent for QP initialisation (if pointer passed). |
xOpt | Optimal primal solution vector. A NULL pointer can be passed. (If a null pointer is passed, the old primal solution is kept!) |
yOpt | Optimal dual solution vector. A NULL pointer can be passed. (If a null pointer is passed, the old dual solution is kept!) |
guessedBounds | Optimal working set of bounds for solution (xOpt,yOpt). (If a null pointer is passed, all bounds are assumed inactive!) |
_R | Pre-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 247 of file external_packages/qpOASES-3.2.0/src/QProblemB.cpp.
returnValue QProblemB::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 |
||
) |
Initialises a QProblemB with given QP data and solves it using an initial homotopy with empty working set (at most nWSR iterations).
_H | Hessian matrix. |
_R | Cholesky factorization of the Hessian matrix. |
_g | Gradient vector. |
_lb | Lower bounds (on variables). If no lower bounds exist, a NULL pointer can be passed. |
_ub | Upper bounds (on variables). If no upper bounds exist, a NULL pointer can be passed. |
nWSR | Input: Maximum number of working set recalculations when using initial homotopy. Output: Number of performed working set recalculations. |
yOpt | Initial guess for dual solution vector. |
cputime | Output: CPU time required to initialise QP. |
Definition at line 298 of file external_packages/qpoases/SRC/QProblemB.cpp.
returnValue QProblemB::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 | ||
) |
Initialises a QProblemB 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!
_H | Hessian matrix. If Hessian matrix is trivial, a NULL pointer can be passed. |
_g | Gradient vector. |
_lb | Lower bounds (on variables). If no lower bounds exist, a NULL pointer can be passed. |
_ub | Upper bounds (on variables). If no upper bounds exist, a NULL pointer can be passed. |
nWSR | Input: Maximum number of working set recalculations when using initial homotopy. Output: Number of performed working set recalculations. |
cputime | Input: Maximum CPU time allowed for QP initialisation. Output: CPU time spend for QP initialisation. |
Definition at line 255 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
returnValue QProblemB::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 | ||
) |
Initialises a QProblemB 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!
H_file | Name of file where Hessian matrix is stored. If Hessian matrix is trivial, a NULL pointer can be passed. |
g_file | Name of file where gradient vector is stored. |
lb_file | Name of file where lower bound vector. If no lower bounds exist, a NULL pointer can be passed. |
ub_file | Name of file where upper bound vector. If no upper bounds exist, a NULL pointer can be passed. |
nWSR | Input: Maximum number of working set recalculations when using initial homotopy. Output: Number of performed working set recalculations. |
cputime | Input: Maximum CPU time allowed for QP initialisation. Output: CPU time spend for QP initialisation. |
Definition at line 282 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
returnValue QProblemB::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 |
||
) |
Initialises a simply bounded QP problem with given QP data and tries to solve it using at most nWSR iterations. Depending on the parameter constellation it:
Note: This function internally calls solveInitialQP for initialisation!
\return SUCCESSFUL_RETURN \n RET_INIT_FAILED \n RET_INIT_FAILED_CHOLESKY \n RET_INIT_FAILED_HOTSTART \n RET_INIT_FAILED_INFEASIBILITY \n RET_INIT_FAILED_UNBOUNDEDNESS \n RET_MAX_NWSR_REACHED \n RET_INVALID_ARGUMENTS
_H | Hessian matrix (a shallow copy is made). If Hessian matrix is trivial, a NULL pointer can be passed. |
_g | Gradient vector. |
_lb | Lower bounds (on variables). If no lower bounds exist, a NULL pointer can be passed. |
_ub | Upper bounds (on variables). If no upper bounds exist, a NULL pointer can be passed. |
nWSR | Input: Maximum number of working set recalculations when using initial homotopy. Output: Number of performed working set recalculations. |
cputime | Input: Maximum CPU time allowed for QP initialisation. Output: CPU time spent for QP initialisation (if pointer passed). |
xOpt | Optimal primal solution vector. A NULL pointer can be passed. (If a null pointer is passed, the old primal solution is kept!) |
yOpt | Optimal dual solution vector. A NULL pointer can be passed. (If a null pointer is passed, the old dual solution is kept!) |
guessedBounds | Optimal working set of bounds for solution (xOpt,yOpt). (If a null pointer is passed, all bounds are assumed inactive!) |
_R | Pre-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 296 of file external_packages/qpOASES-3.2.0/src/QProblemB.cpp.
returnValue QProblemB::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 | ||
) |
Initialises a QProblemB with given QP data and solves it depending on the parameter constellation:
_H | Hessian matrix. |
_g | Gradient vector. |
_lb | Lower bounds (on variables). If no lower bounds exist, a NULL pointer can be passed. |
_ub | Upper bounds (on variables). If no upper bounds exist, a NULL pointer can be passed. |
nWSR | Input: Maximum number of working set recalculations when using initial homotopy. Output: Number of performed working set recalculations. |
cputime | Input: Maximum CPU time allowed for QP initialisation. Output: CPU time spend for QP initialisation. |
xOpt | Optimal primal solution vector. A NULL pointer can be passed. |
yOpt | Optimal dual solution vector. A NULL pointer can be passed. |
guessedBounds | Optimal working set for solution (xOpt,yOpt). A NULL pointer can be passed. |
Definition at line 309 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
returnValue QProblemB::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 |
||
) |
Initialises a simply bounded QP problem with given QP data to be read from files and solves it using at most nWSR iterations. Depending on the parameter constellation it:
Note: This function internally calls solveInitialQP for initialisation!
\return SUCCESSFUL_RETURN \n RET_INIT_FAILED \n RET_INIT_FAILED_CHOLESKY \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
H_file | Name of file where Hessian matrix is stored. If Hessian matrix is trivial, a NULL pointer can be passed. |
g_file | Name of file where gradient vector is stored. |
lb_file | Name of file where lower bound vector. If no lower bounds exist, a NULL pointer can be passed. |
ub_file | Name of file where upper bound vector. If no upper bounds exist, a NULL pointer can be passed. |
nWSR | Input: Maximum number of working set recalculations when using initial homotopy. Output: Number of performed working set recalculations. |
cputime | Input: Maximum CPU time allowed for QP initialisation. Output: CPU time spent for QP initialisation (if pointer passed). |
xOpt | Optimal primal solution vector. A NULL pointer can be passed. (If a null pointer is passed, the old primal solution is kept!) |
yOpt | Optimal dual solution vector. A NULL pointer can be passed. (If a null pointer is passed, the old dual solution is kept!) |
guessedBounds | Optimal working set of bounds for solution (xOpt,yOpt). (If a null pointer is passed, all bounds are assumed inactive!) |
R_file | Name 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 345 of file external_packages/qpOASES-3.2.0/src/QProblemB.cpp.
returnValue QProblemB::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 | ||
) |
Initialises a QProblemB with given QP data and solves it depending on the parameter constellation:
_H | Hessian matrix. If Hessian matrix is trivial, a NULL pointer can be passed. |
_g | Gradient vector. |
_lb | Lower bounds (on variables). If no lower bounds exist, a NULL pointer can be passed. |
_ub | Upper bounds (on variables). If no upper bounds exist, a NULL pointer can be passed. |
nWSR | Input: Maximum number of working set recalculations when using initial homotopy. Output: Number of performed working set recalculations. |
cputime | Input: Maximum CPU time allowed for QP initialisation. Output: CPU time spend for QP initialisation. |
xOpt | Optimal primal solution vector. A NULL pointer can be passed. |
yOpt | Optimal dual solution vector. A NULL pointer can be passed. |
guessedBounds | Optimal working set for solution (xOpt,yOpt). A NULL pointer can be passed. |
Definition at line 354 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
returnValue QProblemB::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 | ||
) |
Initialises a QProblemB with given QP data to be read from files and solves it depending on the parameter constellation:
H_file | Name of file where Hessian matrix is stored. If Hessian matrix is trivial, a NULL pointer can be passed. |
g_file | Name of file where gradient vector is stored. |
lb_file | Name of file where lower bound vector. If no lower bounds exist, a NULL pointer can be passed. |
ub_file | Name of file where upper bound vector. If no upper bounds exist, a NULL pointer can be passed. |
nWSR | Input: Maximum number of working set recalculations when using initial homotopy. Output: Number of performed working set recalculations. |
cputime | Input: Maximum CPU time allowed for QP initialisation. Output: CPU time spend for QP initialisation. |
xOpt | Optimal primal solution vector. A NULL pointer can be passed. |
yOpt | Optimal dual solution vector. A NULL pointer can be passed. |
guessedBounds | Optimal working set for solution (xOpt,yOpt). A NULL pointer can be passed. |
Definition at line 399 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
|
inlineprotected |
Checks whether given ratio is blocking, i.e. limits the maximum step length along the homotopy path to a value lower than given one.
num | Numerator for performing the ratio test. |
den | Denominator for performing the ratio test. |
epsNum | Numerator tolerance. |
epsDen | Denominator tolerance. |
t | Input: Current maximum step length along the homotopy path, Output: Updated maximum possible step length along the homotopy path. |
|
inlineprotected |
Checks whether given ratio is blocking, i.e. limits the maximum step length along the homotopy path to a value lower than given one.
num | Numerator for performing the ratio test. |
den | Denominator for performing the ratio test. |
epsNum | Numerator tolerance. |
epsDen | Denominator tolerance. |
t | Input: Current maximum step length along the homotopy path, Output: Updated maximum possible step length along the homotopy path. |
|
protected |
Determines if next QP iteration can be performed within given CPU time limit.
cputime | Maximum CPU time allowed for QP solution. |
starttime | Start time of current QP solution. |
nWSR | Number of working set recalculations performed so far. |
|
protected |
Determines if next QP iteration can be performed within given CPU time limit.
cputime | Maximum CPU time allowed for QP solution. |
starttime | Start time of current QP solution. |
nWSR | Number of working set recalculations performed so far. |
Definition at line 2021 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
|
inline |
Returns if the QP is infeasible.
|
inline |
Returns if the QP is infeasible.
|
inline |
Returns if the QP is infeasible.
|
inline |
Returns if the QP is infeasible.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Returns if the QP is unbounded.
|
inline |
Returns if the QP is unbounded.
|
inline |
Returns if the QP is unbounded.
|
inline |
Returns if the QP is unbounded.
|
protected |
Loads new QP vectors from files (internal members are not affected!).
g_file | Name of file where gradient, of neighbouring QP to be solved, is stored. |
lb_file | Name 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_file | Name of file where upper bounds, of neighbouring QP to be solved, is stored. If no upper bounds exist, a NULL pointer can be passed. |
g_new | Output: Gradient of neighbouring QP to be solved. |
lb_new | Output: Lower bounds of neighbouring QP to be solved |
ub_new | Output: Upper bounds of neighbouring QP to be solved |
|
protected |
Loads new QP vectors from files (internal members are not affected!).
g_file | Name of file where gradient, of neighbouring QP to be solved, is stored. |
lb_file | Name 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_file | Name of file where upper bounds, of neighbouring QP to be solved, is stored. If no upper bounds exist, a NULL pointer can be passed. |
g_new | Output: Gradient of neighbouring QP to be solved. |
lb_new | Output: Lower bounds of neighbouring QP to be solved |
ub_new | Output: Upper bounds of neighbouring QP to be solved |
Definition at line 1945 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
|
protected |
Obtains the desired working set for the auxiliary initial QP in accordance with the user specifications
xOpt | Optimal primal solution vector. If a NULL pointer is passed, all entries are assumed to be zero. |
yOpt | Optimal dual solution vector. If a NULL pointer is passed, all entries are assumed to be zero. |
guessedBounds | Guessed working set for solution (xOpt,yOpt). |
auxiliaryBounds | Input: Allocated bound object. Ouput: Working set for auxiliary QP. |
Definition at line 900 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblemB.cpp.
|
protected |
Obtains the desired working set for the auxiliary initial QP in accordance with the user specifications
xOpt | Optimal primal solution vector. If a NULL pointer is passed, all entries are assumed to be zero. |
yOpt | Optimal dual solution vector. If a NULL pointer is passed, all entries are assumed to be zero. |
guessedBounds | Guessed working set for solution (xOpt,yOpt). |
auxiliaryBounds | Input: Allocated bound object. Ouput: Working set for auxiliary QP. |
|
protected |
Obtains the desired working set for the auxiliary initial QP in accordance with the user specifications
xOpt | Optimal primal solution vector. If a NULL pointer is passed, all entries are assumed to be zero. |
yOpt | Optimal dual solution vector. If a NULL pointer is passed, all entries are assumed to be zero. |
guessedBounds | Guessed working set for solution (xOpt,yOpt). |
auxiliaryBounds | Input: Allocated bound object. Output: Working set for auxiliary QP. |
|
protected |
Obtains the desired working set for the auxiliary initial QP in accordance with the user specifications
xOpt | Optimal primal solution vector. If a NULL pointer is passed, all entries are assumed to be zero. |
yOpt | Optimal dual solution vector. If a NULL pointer is passed, all entries are assumed to be zero. |
guessedBounds | Guessed working set for solution (xOpt,yOpt). |
auxiliaryBounds | Input: Allocated bound object. Ouput: Working set for auxiliary QP. |
Assignment operator (deep copy).
rhs | Rhs object. |
Definition at line 183 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblemB.cpp.
Assignment operator (deep copy).
rhs | Rhs object. |
Assignment operator (deep copy).
rhs | Rhs object. |
Assignment operator (deep copy).
rhs | Rhs object. |
|
privatevirtual |
|
private |
Drift correction at end of each active set iteration
Definition at line 3319 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
|
protectedvirtual |
|
protectedvirtual |
Ramping Strategy to avoid ties. Modifies homotopy start without changing current active set.
Reimplemented in QProblem, and QProblem.
Definition at line 2168 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
|
protected |
Performs robustified ratio test yield the maximum possible step length along the homotopy path.
nIdx | Number of ratios to be checked. |
idxList | Array containing the indices of all ratios to be checked. |
subjectTo | Bound/Constraint object corresponding to ratios to be checked. |
num | Array containing all numerators for performing the ratio test. |
den | Array containing all denominators for performing the ratio test. |
epsNum | Numerator tolerance. |
epsDen | Denominator tolerance. |
t | Output: Maximum possible step length along the homotopy path. |
BC_idx | Output: Index of blocking constraint. |
|
protected |
Performs robustified ratio test yield the maximum possible step length along the homotopy path.
nIdx | Number of ratios to be checked. |
idxList | Array containing the indices of all ratios to be checked. |
subjectTo | Bound/Constraint object corresponding to ratios to be checked. |
num | Array containing all numerators for performing the ratio test. |
den | Array containing all denominators for performing the ratio test. |
epsNum | Numerator tolerance. |
epsDen | Denominator tolerance. |
t | Output: Maximum possible step length along the homotopy path. |
BC_idx | Output: Index of blocking constraint. |
Definition at line 2081 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
|
private |
Determines the maximum possible step length along the homotopy path and performs this step (without changing working set).
delta_g | Step direction of gradient. |
delta_lb | Step direction of lower bounds. |
delta_ub | Step direction of upper bounds. |
delta_xFX | Primal homotopy step direction of fixed variables. |
delta_xFR | Primal homotopy step direction of free variables. |
delta_yFX | Dual homotopy step direction of fixed variables' multiplier. |
BC_idx | Output: Index of blocking constraint. |
BC_status | Output: Status of blocking constraint. |
|
private |
Determines the maximum possible step length along the homotopy path and performs this step (without changing working set).
delta_g | Step direction of gradient. |
delta_lb | Step direction of lower bounds. |
delta_ub | Step direction of upper bounds. |
delta_xFX | Primal homotopy step direction of fixed variables. |
delta_xFR | Primal homotopy step direction of free variables. |
delta_yFX | Dual homotopy step direction of fixed variables' multiplier. |
BC_idx | Output: Index of blocking constraint. |
BC_status | Output: Status of blocking constraint. |
Definition at line 3125 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
|
private |
Prints concise information on the current iteration.
iter | Number of current iteration. |
BC_idx | Index of blocking bound. |
BC_status | Status of blocking bound. |
homotopyLength | Current homotopy distance. |
isFirstCall | Indicating whether this is the first call for current QP. |
Definition at line 3685 of file external_packages/qpOASES-3.2.0/src/QProblemB.cpp.
|
private |
Prints concise information on the current iteration.
iteration | Number of current iteration. |
BC_idx | Index of blocking bound. |
BC_status | Status of blocking bound. |
Definition at line 3588 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
returnValue QProblemB::printOptions | ( | ) | const |
Prints a list of all options and their current values.
returnValue QProblemB::printOptions | ( | ) | const |
Prints a list of all options and their current values.
Definition at line 1138 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
|
virtual |
|
virtual |
Prints concise list of properties of the current QP.
Reimplemented in QProblem, and QProblem.
Definition at line 1013 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
|
protected |
Regularise Hessian matrix by adding a scaled identity matrix to it.
|
protected |
Regularise Hessian matrix by adding a scaled identity matrix to it.
Definition at line 2049 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
|
protected |
Compute relative length of homotopy in data space for termination criterion.
g_new | Final gradient. |
lb_new | Final lower variable bounds. |
ub_new | Final upper variable bounds. |
Definition at line 2129 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
|
protected |
Removes a bounds from active set (specialised version for the case where no constraints exist).
number | Number of bound to be removed from active set. |
updateCholesky | Flag indicating if Cholesky decomposition shall be updated. |
Definition at line 1287 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblemB.cpp.
|
protected |
Removes a bounds from active set (specialised version for the case where no constraints exist).
number | Number of bound to be removed from active set. |
updateCholesky | Flag indicating if Cholesky decomposition shall be updated. |
|
private |
Removes a bounds from active set (specialised version for the case where no constraints exist).
number | Number of bound to be removed from active set. |
updateCholesky | Flag indicating if Cholesky decomposition shall be updated. |
|
private |
Removes a bounds from active set (specialised version for the case where no constraints exist).
number | Number of bound to be removed from active set. |
updateCholesky | Flag indicating if Cholesky decomposition shall be updated. |
returnValue QProblemB::reset | ( | ) |
Clears all data structures of QProblemB except for QP data.
0) Reset has Hessian flag.
Definition at line 238 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblemB.cpp.
returnValue QProblemB::reset | ( | ) |
Clears all data structures of QProblemB except for QP data.
|
virtual |
|
virtual |
|
inline |
Resets QP problem counter (to zero).
|
inlineprotected |
Changes gradient vector of the QP.
g_new | New gradient vector (with correct dimension!). |
|
inlineprotected |
Changes gradient vector of the QP.
g_new | New gradient vector (with correct dimension!). |
|
inlineprotected |
Changes gradient vector of the QP.
g_new | New gradient vector (with correct dimension!). |
|
inlineprotected |
Changes gradient vector of the QP.
g_new | New gradient vector (with correct dimension!). |
|
inlineprotected |
Sets Hessian matrix of the QP.
H_new | New Hessian matrix (with correct dimension!). |
|
inlineprotected |
Sets Hessian matrix of the QP.
H_new | New Hessian matrix (with correct dimension!). |
|
inlineprotected |
Sets Hessian matrix of the QP.
H_new | New Hessian matrix (a shallow copy is made). |
|
inlineprotected |
Sets dense Hessian matrix of the QP. If a null pointer is passed and a) hessianType is HST_IDENTITY, nothing is done, b) hessianType is not HST_IDENTITY, Hessian matrix is set to zero.
H_new | New dense Hessian matrix (with correct dimension!), a shallow copy is made. |
|
inlineprotected |
Sets Hessian matrix of the QP.
H_new | New Hessian matrix. |
|
inlineprotected |
Sets dense Hessian matrix of the QP. If a null pointer is passed and a) hessianType is HST_IDENTITY, nothing is done, b) hessianType is not HST_IDENTITY, Hessian matrix is set to zero.
H_new | New dense Hessian matrix (with correct dimension!). |
|
inline |
Changes the print level.
_hessianType | New Hessian type. |
|
inline |
Changes the print level.
_hessianType | New Hessian type. |
|
inline |
Changes the print level.
_hessianType | New Hessian type. |
|
inline |
Changes the print level.
_hessianType | New Hessian type. |
|
protected |
Sets internal infeasibility flag and throws given error in case the far bound strategy is not enabled (as QP might actually not be infeasible in this case).
returnvalue | Returnvalue to be tunneled. |
doThrowError | Flag forcing to throw an error. |
Definition at line 1932 of file external_packages/qpOASES-3.2.0/src/QProblemB.cpp.
|
protected |
Sets internal infeasibility flag and throws given error in case the far bound strategy is not enabled (as QP might actually not be infeasible in this case).
Definition at line 2006 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
|
inlineprotected |
Changes lower bound vector of the QP.
lb_new | New lower bound vector (with correct dimension!). |
|
inlineprotected |
Changes single entry of lower bound vector of the QP.
number | Number of entry to be changed. |
value | New value for entry of lower bound vector. |
|
inlineprotected |
Changes lower bound vector of the QP.
lb_new | New lower bound vector (with correct dimension!). |
|
inlineprotected |
Changes single entry of lower bound vector of the QP.
number | Number of entry to be changed. |
value | New value for entry of lower bound vector. |
|
inlineprotected |
Changes lower bound vector of the QP.
lb_new | New lower bound vector (with correct dimension!). |
|
inlineprotected |
Changes single entry of lower bound vector of the QP.
number | Number of entry to be changed. |
value | New value for entry of lower bound vector. |
|
inlineprotected |
Changes lower bound vector of the QP.
lb_new | New lower bound vector (with correct dimension!). |
|
inlineprotected |
Changes single entry of lower bound vector of the QP.
number | Number of entry to be changed. |
value | New value for entry of lower bound vector. |
|
inline |
Overrides current options with given ones.
_options | New options. |
|
inline |
Overrides current options with given ones.
_options | New options. |
returnValue QProblemB::setPrintLevel | ( | PrintLevel | _printlevel | ) |
Changes the print level.
_printlevel | New print level. |
Definition at line 588 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblemB.cpp.
returnValue QProblemB::setPrintLevel | ( | PrintLevel | _printlevel | ) |
Changes the print level.
_printlevel | New print level. |
returnValue QProblemB::setPrintLevel | ( | PrintLevel | _printlevel | ) |
Changes the print level.
_printlevel | New print level. |
returnValue QProblemB::setPrintLevel | ( | PrintLevel | _printlevel | ) |
Changes the print level.
_printlevel | New print level. |
|
inlineprotected |
Changes upper bound vector of the QP.
ub_new | New upper bound vector (with correct dimension!). |
|
inlineprotected |
Changes single entry of upper bound vector of the QP.
number | Number of entry to be changed. |
value | New value for entry of upper bound vector. |
|
inlineprotected |
Changes upper bound vector of the QP.
ub_new | New upper bound vector (with correct dimension!). |
|
inlineprotected |
Changes single entry of upper bound vector of the QP.
number | Number of entry to be changed. |
value | New value for entry of upper bound vector. |
|
inlineprotected |
Changes upper bound vector of the QP.
ub_new | New upper bound vector (with correct dimension!). |
|
inlineprotected |
Changes single entry of upper bound vector of the QP.
number | Number of entry to be changed. |
value | New value for entry of upper bound vector. |
|
inlineprotected |
Changes upper bound vector of the QP.
ub_new | New upper bound vector (with correct dimension!). |
|
inlineprotected |
Changes single entry of upper bound vector of the QP.
number | Number of entry to be changed. |
value | New value for entry of upper bound vector. |
|
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
guessedBounds | Initial guess for working set of bounds. |
|
private |
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
guessedBounds | Initial guess for working set of bounds. |
Definition at line 2896 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
|
protected |
Setups bounds of the auxiliary initial QP for given optimal primal/dual solution and given initial working set (assumes that members X, Y and BOUNDS have already been initialised!).
useRelaxation | Flag indicating if inactive bounds shall be relaxed. |
Definition at line 1161 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblemB.cpp.
|
protected |
Setups bounds of the auxiliary initial QP for given optimal primal/dual solution and given initial working set (assumes that members X, Y and BOUNDS have already been initialised!).
useRelaxation | Flag indicating if inactive bounds shall be relaxed. |
|
private |
Sets up bounds of the auxiliary initial QP for given optimal primal/dual solution and given initial working set (assumes that members X, Y and BOUNDS have already been initialised!).
useRelaxation | Flag indicating if inactive bounds shall be relaxed. |
|
private |
Setups bounds of the auxiliary initial QP for given optimal primal/dual solution and given initial working set (assumes that members X, Y and BOUNDS have already been initialised!).
useRelaxation | Flag indicating if inactive bounds shall be relaxed. |
|
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 have already been initialised!).
Definition at line 1137 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblemB.cpp.
|
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 have already been initialised!).
|
private |
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 have already been initialised!).
|
private |
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 have already been initialised!).
|
protected |
Setups the optimal primal/dual solution of the auxiliary initial QP.
xOpt | Optimal primal solution vector. If a NULL pointer is passed, all entries are set to zero. |
yOpt | Optimal dual solution vector. If a NULL pointer is passed, all entries are set to zero. |
Definition at line 1096 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblemB.cpp.
|
protected |
Setups the optimal primal/dual solution of the auxiliary initial QP.
xOpt | Optimal primal solution vector. If a NULL pointer is passed, all entries are set to zero. |
yOpt | Optimal dual solution vector. If a NULL pointer is passed, all entries are set to zero. |
|
private |
Sets up the optimal primal/dual solution of the auxiliary initial QP.
xOpt | Optimal primal solution vector. If a NULL pointer is passed, all entries are set to zero. |
yOpt | Optimal dual solution vector. If a NULL pointer is passed, all entries are set to zero. |
|
private |
Setups the optimal primal/dual solution of the auxiliary initial QP.
xOpt | Optimal primal solution vector. If a NULL pointer is passed, all entries are set to zero. |
yOpt | Optimal dual solution vector. If a NULL pointer is passed, all entries are set to zero. |
|
protected |
Setups bound data structure according to auxiliaryBounds. (If the working set shall be setup afresh, make sure that bounds data structure has been resetted!)
auxiliaryBounds | Working set for auxiliary QP. |
setupAfresh | Flag indicating if given working set shall be setup afresh or by updating the current one. |
Definition at line 1029 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblemB.cpp.
|
protected |
Setups bound data structure according to auxiliaryBounds. (If the working set shall be setup afresh, make sure that bounds data structure has been resetted!)
auxiliaryBounds | Working set for auxiliary QP. |
setupAfresh | Flag indicating if given working set shall be setup afresh or by updating the current one. |
|
private |
Sets up bound data structure according to auxiliaryBounds. (If the working set shall be setup afresh, make sure that bounds data structure has been resetted!)
auxiliaryBounds | Working set for auxiliary QP. |
setupAfresh | Flag indicating if given working set shall be setup afresh or by updating the current one. |
|
private |
Setups bound data structure according to auxiliaryBounds. (If the working set shall be setup afresh, make sure that bounds data structure has been resetted!)
auxiliaryBounds | Working set for auxiliary QP. |
setupAfresh | Flag indicating if given working set shall be setup afresh or by updating the current one. |
|
protected |
Computes the Cholesky decomposition R of the (simply projected) Hessian (i.e. R^T*R = Z^T*H*Z). It only works in the case where Z is a simple projection matrix!
Definition at line 723 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblemB.cpp.
|
protected |
Computes the Cholesky decomposition R of the (simply projected) Hessian (i.e. R^T*R = Z^T*H*Z). It only works in the case where Z is a simple projection matrix!
|
protected |
Computes the Cholesky decomposition of the (simply projected) Hessian (i.e. R^T*R = Z^T*H*Z). It only works in the case where Z is a simple projection matrix! Note: If Hessian turns out not to be positive definite, the Hessian type is set to HST_SEMIDEF accordingly.
|
protectedvirtual |
Computes initial Cholesky decomposition of the (simply projected) Hessian making use of the function computeCholesky().
Reimplemented in QProblem.
Definition at line 1441 of file external_packages/qpOASES-3.2.0/src/QProblemB.cpp.
|
protected |
Setups internal QP data.
_H | Hessian matrix. |
_g | Gradient vector. |
_lb | Lower bounds (on variables). If no lower bounds exist, a NULL pointer can be passed. |
_ub | Upper bounds (on variables). If no upper bounds exist, a NULL pointer can be passed. |
Definition at line 1505 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblemB.cpp.
|
protected |
Setups internal QP data.
_H | Hessian matrix. |
_R | Cholesky factorization of the Hessian matrix. |
_g | Gradient vector. |
_lb | Lower bounds (on variables). If no lower bounds exist, a NULL pointer can be passed. |
_ub | Upper bounds (on variables). If no upper bounds exist, a NULL pointer can be passed. |
Definition at line 1548 of file external_packages/qpoases/SRC/QProblemB.cpp.
|
protected |
Sets up internal QP data.
_H | Hessian matrix. |
_g | Gradient vector. |
_lb | Lower bounds (on variables). If no lower bounds exist, a NULL pointer can be passed. |
_ub | Upper bounds (on variables). If no upper bounds exist, a NULL pointer can be passed. |
|
protected |
Sets up 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.
_H | Hessian matrix. If Hessian matrix is trivial,a NULL pointer can be passed. |
_g | Gradient vector. |
_lb | Lower bounds (on variables). If no lower bounds exist, a NULL pointer can be passed. |
_ub | Upper bounds (on variables). If no upper bounds exist, a NULL pointer can be passed. |
|
protected |
Setups internal QP data.
_H | Hessian matrix. |
_g | Gradient vector. |
_lb | Lower bounds (on variables). If no lower bounds exist, a NULL pointer can be passed. |
_ub | Upper bounds (on variables). If no upper bounds exist, a NULL pointer can be passed. |
Definition at line 1787 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
|
protected |
Setups 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.
_H | Hessian matrix. If Hessian matrix is trivial,a NULL pointer can be passed. |
_g | Gradient vector. |
_lb | Lower bounds (on variables). If no lower bounds exist, a NULL pointer can be passed. |
_ub | Upper bounds (on variables). If no upper bounds exist, a NULL pointer can be passed. |
|
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.
H_file | Name 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_file | Name of file where gradient, of neighbouring QP to be solved, is stored. |
lb_file | Name 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_file | Name of file where upper bounds, of neighbouring QP to be solved, is stored. If no upper bounds exist, a NULL pointer can be passed. |
|
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.
H_file | Name 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_file | Name of file where gradient, of neighbouring QP to be solved, is stored. |
lb_file | Name 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_file | Name of file where upper bounds, of neighbouring QP to be solved, is stored. If no upper bounds exist, a NULL pointer can be passed. |
Definition at line 1873 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
|
protected |
Determines type of constraints and bounds (i.e. implicitly fixed, unbounded etc.).
Definition at line 664 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblemB.cpp.
|
protected |
Determines type of constraints and bounds (i.e. implicitly fixed, unbounded etc.).
|
protectedvirtual |
|
protectedvirtual |
Determines type of new constraints and bounds (i.e. implicitly fixed, unbounded etc.).
lb_new | New lower bounds. |
ub_new | New upper bounds. |
|
protectedvirtual |
|
protectedvirtual |
Determines type of new constraints and bounds (i.e. implicitly fixed, unbounded etc.).
lb_new | New lower bounds. |
ub_new | New upper bounds. |
Definition at line 1365 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
|
private |
Determines if it is more efficient to refactorise the matrices when hotstarting or not (i.e. better to update the existing factorisations).
guessedBounds | Guessed new working set. |
|
private |
Determines if it is more efficient to refactorise the matrices when hotstarting or not (i.e. better to update the existing factorisations).
guessedBounds | Guessed new working set. |
Definition at line 3369 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
|
protected |
Solves a QProblemB whose QP data is assumed to be stored in the member variables. A guess for its primal/dual optimal solution vectors and the corresponding optimal working set can be provided.
xOpt | Optimal primal solution vector. A NULL pointer can be passed. |
yOpt | Optimal dual solution vector. A NULL pointer can be passed. |
guessedBounds | Guessed working set for solution (xOpt,yOpt). A NULL pointer can be passed. |
nWSR | Input: Maximum number of working set recalculations; Output: Number of performed working set recalculations. |
cputime | Output: CPU time required to solve QP (or to perform nWSR iterations). |
Definition at line 791 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/SRC/QProblemB.cpp.
|
protected |
Solves a QProblemB whose QP data is assumed to be stored in the member variables. A guess for its primal/dual optimal solution vectors and the corresponding optimal working set can be provided.
xOpt | Optimal primal solution vector. A NULL pointer can be passed. |
yOpt | Optimal dual solution vector. A NULL pointer can be passed. |
guessedBounds | Guessed working set for solution (xOpt,yOpt). A NULL pointer can be passed. |
nWSR | Input: Maximum number of working set recalculations; Output: Number of performed working set recalculations. |
cputime | Output: CPU time required to solve QP (or to perform nWSR iterations). |
|
private |
Solves a QProblemB whose QP data is assumed to be stored in the member variables. A guess for its primal/dual optimal solution vectors and the corresponding optimal working set can be provided. Note: This function is internally called by all init functions!
xOpt | Optimal primal solution vector. |
yOpt | Optimal dual solution vector. |
guessedBounds | Optimal working set of bounds for solution (xOpt,yOpt). |
_R | Pre-computed (upper triangular) Cholesky factor of Hessian matrix. |
nWSR | Input: Maximum number of working set recalculations; Output: Number of performed working set recalculations. |
cputime | Input: Maximum CPU time allowed for QP solution. Output: CPU time spent for QP solution (or to perform nWSR iterations). |
Definition at line 2253 of file external_packages/qpOASES-3.2.0/src/QProblemB.cpp.
|
private |
Solves a QProblemB whose QP data is assumed to be stored in the member variables. A guess for its primal/dual optimal solution vectors and the corresponding optimal working set can be provided. Note: This function is internally called by all init functions!
xOpt | Optimal primal solution vector. A NULL pointer can be passed. |
yOpt | Optimal dual solution vector. A NULL pointer can be passed. |
guessedBounds | Guessed working set for solution (xOpt,yOpt). A NULL pointer can be passed. |
nWSR | Input: Maximum number of working set recalculations; Output: Number of performed working set recalculations. |
cputime | Input: Maximum CPU time allowed for QP solution. Output: CPU time spend for QP solution (or to perform nWSR iterations). |
|
private |
Solves an initialised QProblemB using online active set strategy. Note: This function is internally called by all hotstart functions!
g_new | Gradient of neighbouring QP to be solved. |
lb_new | Lower bounds of neighbouring QP to be solved. If no lower bounds exist, a NULL pointer can be passed. |
ub_new | Upper bounds of neighbouring QP to be solved. If no upper bounds exist, a NULL pointer can be passed. |
nWSR | Input: Maximum number of working set recalculations; Output: Number of performed working set recalculations. |
cputime | Input: Maximum CPU time allowed for QP solution. Output: CPU time spent for QP solution (or to perform nWSR iterations). |
nWSRperformed | Number 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. |
isFirstCall | Indicating whether this is the first call for current QP. |
Definition at line 2401 of file external_packages/qpOASES-3.2.0/src/QProblemB.cpp.
|
private |
Solves an initialised QProblemB using online active set strategy. Note: This function is internally called by all hotstart functions!
g_new | Gradient of neighbouring QP to be solved. |
lb_new | Lower bounds of neighbouring QP to be solved. If no lower bounds exist, a NULL pointer can be passed. |
ub_new | Upper bounds of neighbouring QP to be solved. If no upper bounds exist, a NULL pointer can be passed. |
nWSR | Input: Maximum number of working set recalculations; Output: Number of performed working set recalculations. |
cputime | Input: Maximum CPU time allowed for QP solution. Output: CPU time spend for QP solution (or to perform nWSR iterations). |
nWSRperformed | Number 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 2352 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
|
private |
Solves an initialised QProblemB using online active set strategy. Note: This function is internally called by all hotstart functions!
g_new | Gradient of neighbouring QP to be solved. |
lb_new | Lower bounds of neighbouring QP to be solved. If no lower bounds exist, a NULL pointer can be passed. |
ub_new | Upper bounds of neighbouring QP to be solved. If no upper bounds exist, a NULL pointer can be passed. |
nWSR | Input: Maximum number of working set recalculations; Output: Number of performed working set recalculations. |
cputime | Input: Maximum CPU time allowed for QP solution. Output: CPU time spent for QP solution (or to perform nWSR iterations). |
nWSRperformed | Number 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. |
isFirstCall | Indicating whether this is the first call for current QP. |
Definition at line 2648 of file external_packages/qpOASES-3.2.0/src/QProblemB.cpp.
|
private |
Solves an initialised QProblemB using online active set strategy. Note: This function is internally called by all hotstart functions!
g_new | Gradient of neighbouring QP to be solved. |
lb_new | Lower bounds of neighbouring QP to be solved. If no lower bounds exist, a NULL pointer can be passed. |
ub_new | Upper bounds of neighbouring QP to be solved. If no upper bounds exist, a NULL pointer can be passed. |
nWSR | Input: Maximum number of working set recalculations; Output: Number of performed working set recalculations. |
cputime | Input: Maximum CPU time allowed for QP solution. Output: CPU time spend for QP solution (or to perform nWSR iterations). |
nWSRperformed | Number 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 2579 of file external_packages/qpOASES-3.0beta/src/QProblemB.cpp.
|
protected |
...
curFarBound | ... |
nRamp | ... |
lb_new | ... |
lb_new_far | ... |
ub_new | ... |
ub_new_far | ... |
Definition at line 2196 of file external_packages/qpOASES-3.2.0/src/QProblemB.cpp.
|
inline |
Returns if the QP has been internally regularised.
|
inline |
Returns if the QP has been internally regularised.
|
friend |
Definition at line 58 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/INCLUDE/QProblemB.hpp.
|
protected |
Data structure for problem's bounds.
Definition at line 569 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/INCLUDE/QProblemB.hpp.
unsigned int QProblemB::count |
Counts the number of hotstart function calls (internal usage only!).
Definition at line 90 of file QProblemB.h.
|
protected |
Counts the number of hotstart function calls (internal usage only!).
Definition at line 587 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/INCLUDE/QProblemB.hpp.
|
protected |
Counts the number of hotstart function calls.
Definition at line 995 of file external_packages/qpOASES-3.2.0/include/qpOASES/QProblemB.hpp.
Temporary for determineStepDirection
Definition at line 92 of file QProblemB.h.
|
protected |
Temporary for determineStepDirection
Definition at line 1025 of file external_packages/qpOASES-3.0beta/include/qpOASES/QProblemB.hpp.
|
protected |
Struct for making a temporary copy of the matrix factorisations.
Definition at line 1032 of file external_packages/qpOASES-3.0beta/include/qpOASES/QProblemB.hpp.
|
protected |
Flag indicating whether the Hessian matrix needs to be de-allocated.
Definition at line 998 of file external_packages/qpOASES-3.0beta/include/qpOASES/QProblemB.hpp.
|
protected |
Gradient.
Definition at line 565 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/INCLUDE/QProblemB.hpp.
|
protected |
Gradient.
Definition at line 1001 of file external_packages/qpOASES-3.0beta/include/qpOASES/QProblemB.hpp.
DenseMatrix* QProblemB::H |
Hessian matrix pointer.
Definition at line 65 of file QProblemB.h.
|
protected |
Hessian matrix.
Definition at line 564 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/INCLUDE/QProblemB.hpp.
|
protected |
Hessian matrix.
Definition at line 999 of file external_packages/qpOASES-3.0beta/include/qpOASES/QProblemB.hpp.
|
protected |
Flag indicating whether Cholesky decomposition has already been setup.
Definition at line 601 of file external_packages/qpoases/INCLUDE/QProblemB.hpp.
|
protected |
Flag indicating whether H contains Hessian or corresponding Cholesky factor R;
Definition at line 592 of file external_packages/qpoases/INCLUDE/QProblemB.hpp.
|
protected |
Flag indicating whether Cholesky decomposition has already been setup.
Definition at line 1008 of file external_packages/qpOASES-3.0beta/include/qpOASES/QProblemB.hpp.
|
protected |
Type of Hessian matrix.
Definition at line 583 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/INCLUDE/QProblemB.hpp.
DenseMatrix QProblemB::HH |
Hessian matrix.
Definition at line 66 of file QProblemB.h.
|
protected |
QP infeasible?
Definition at line 580 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/INCLUDE/QProblemB.hpp.
|
protected |
Flag indicating whether Hessian matrix has been regularised.
Definition at line 1021 of file external_packages/qpOASES-3.0beta/include/qpOASES/QProblemB.hpp.
|
protected |
Lower bound vector (on variables).
Definition at line 566 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/INCLUDE/QProblemB.hpp.
|
protected |
Lower bound vector (on variables).
Definition at line 1002 of file external_packages/qpOASES-3.0beta/include/qpOASES/QProblemB.hpp.
|
protected |
Struct containing all user-defined options for solving QPs.
Definition at line 1030 of file external_packages/qpOASES-3.0beta/include/qpOASES/QProblemB.hpp.
|
protected |
Print level.
Definition at line 585 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/INCLUDE/QProblemB.hpp.
|
protected |
Cholesky decomposition of H (i.e. H = R^T*R).
Cholesky factor of H (i.e. H = R^T*R).
Definition at line 571 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/INCLUDE/QProblemB.hpp.
|
protected |
Cholesky factor of H (i.e. H = R^T*R).
Definition at line 1007 of file external_packages/qpOASES-3.0beta/include/qpOASES/QProblemB.hpp.
|
protected |
Start value for Ramping Strategy (usually 0.5 or 1.0).
Start value for Ramping Strategy.
Definition at line 1027 of file external_packages/qpOASES-3.0beta/include/qpOASES/QProblemB.hpp.
|
protected |
Final value for Ramping Strategy (usually 1.0 or 0.5).
Final value for Ramping Strategy.
Definition at line 1028 of file external_packages/qpOASES-3.0beta/include/qpOASES/QProblemB.hpp.
int QProblemB::rampOffset |
Offset index for Ramping.
Definition at line 96 of file QProblemB.h.
|
protected |
Offset index for Ramping.
Definition at line 1001 of file external_packages/qpOASES-3.2.0/include/qpOASES/QProblemB.hpp.
|
protected |
Holds the offset used to regularise Hessian matrix (zero by default).
Definition at line 993 of file external_packages/qpOASES-3.2.0/include/qpOASES/QProblemB.hpp.
|
protected |
Current status of the solution process.
Definition at line 578 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/INCLUDE/QProblemB.hpp.
|
protected |
Struct storing information for tabular output (printLevel == PL_TABULAR).
Definition at line 1007 of file external_packages/qpOASES-3.2.0/include/qpOASES/QProblemB.hpp.
|
protected |
Last homotopy step length.
Definition at line 576 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/INCLUDE/QProblemB.hpp.
|
protected |
Upper bound vector (on variables).
Definition at line 567 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/INCLUDE/QProblemB.hpp.
|
protected |
Upper bound vector (on variables).
Definition at line 1003 of file external_packages/qpOASES-3.0beta/include/qpOASES/QProblemB.hpp.
|
protected |
QP unbounded?
Definition at line 581 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/INCLUDE/QProblemB.hpp.
|
protected |
Primal solution vector.
Definition at line 573 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/INCLUDE/QProblemB.hpp.
|
protected |
Primal solution vector.
Definition at line 1010 of file external_packages/qpOASES-3.0beta/include/qpOASES/QProblemB.hpp.
|
protected |
Dual solution vector.
Definition at line 574 of file examples/code_generation/mpc_mhe/getting_started_export/qpoases/INCLUDE/QProblemB.hpp.
|
protected |
Dual solution vector.
Definition at line 1011 of file external_packages/qpOASES-3.0beta/include/qpOASES/QProblemB.hpp.