Public Member Functions | Protected Member Functions | Friends | List of all members
SQProblem Class Reference

Implements the online active set strategy for QPs with varying matrices. More...

#include <SQProblem.hpp>

Inheritance diagram for SQProblem:
Inheritance graph
[legend]

Public Member Functions

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

Protected Member Functions

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

Friends

class SolutionAnalysis
 

Additional Inherited Members

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

Detailed Description

Implements the online active set strategy for QPs with varying matrices.

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

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

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

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

Definition at line 59 of file qpOASES-3.0beta/include/qpOASES/SQProblem.hpp.

Constructor & Destructor Documentation

BEGIN_NAMESPACE_QPOASES SQProblem::SQProblem ( )

Default constructor.

Definition at line 51 of file qpOASES-3.0beta/src/SQProblem.cpp.

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

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

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

Definition at line 59 of file qpOASES-3.0beta/src/SQProblem.cpp.

SQProblem::SQProblem ( const SQProblem rhs)

Copy constructor (deep copy).

Parameters
rhsRhs object.

Definition at line 67 of file qpOASES-3.0beta/src/SQProblem.cpp.

SQProblem::~SQProblem ( )
virtual

Destructor.

Definition at line 75 of file qpOASES-3.0beta/src/SQProblem.cpp.

SQProblem::SQProblem ( )

Default constructor.

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

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

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

Copy constructor (deep copy).

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

Destructor.

Member Function Documentation

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

Solves an initialised SQProblem using online active set strategy.

Returns
SUCCESSFUL_RETURN
RET_MAX_NWSR_REACHED
RET_HOTSTART_FAILED_AS_QP_NOT_INITIALISED
RET_HOTSTART_FAILED
RET_MATRIX_SHIFT_FAILED
RET_SHIFT_DETERMINATION_FAILED
RET_STEPDIRECTION_DETERMINATION_FAILED
RET_STEPLENGTH_DETERMINATION_FAILED
RET_HOMOTOPY_STEP_FAILED
RET_HOTSTART_STOPPED_INFEASIBILITY
RET_HOTSTART_STOPPED_UNBOUNDEDNESS
RET_SETUP_AUXILIARYQP_FAILED
Parameters
H_newHessian matrix of neighbouring QP to be solved.
If Hessian matrix is trivial, a NULL pointer can be passed.
g_newGradient of neighbouring QP to be solved.
A_newConstraint matrix of neighbouring QP to be solved.
If QP sequence does not involve constraints, a NULL pointer can be passed.
lb_newLower bounds of neighbouring QP to be solved.
If no lower bounds exist, a NULL pointer can be passed.
ub_newUpper bounds of neighbouring QP to be solved.
If no upper bounds exist, a NULL pointer can be passed.
lbA_newLower constraints' bounds of neighbouring QP to be solved.
If no lower constraints' bounds exist, a NULL pointer can be passed.
ubA_newUpper constraints' bounds of neighbouring QP to be solved.
If no upper constraints' bounds exist, a NULL pointer can be passed.
nWSRInput: Maximum number of working set recalculations;
Output: Number of performed working set recalculations.
cputimeInput: Maximum CPU time allowed for QP solution.
Output: CPU time spend for QP solution (or to perform nWSR iterations).

Definition at line 97 of file qpOASES-3.0beta/src/SQProblem.cpp.

returnValue SQProblem::hotstart ( SymmetricMatrix H_new,
const real_t *const  g_new,
Matrix A_new,
const real_t *const  lb_new,
const real_t *const  ub_new,
const real_t *const  lbA_new,
const real_t *const  ubA_new,
int_t nWSR,
real_t *const  cputime = 0,
const Bounds *const  guessedBounds = 0,
const Constraints *const  guessedConstraints = 0 
)

Solves an initialised QP sequence with matrix shift using the online active set strategy.

Returns
SUCCESSFUL_RETURN
RET_MAX_NWSR_REACHED
RET_HOTSTART_FAILED_AS_QP_NOT_INITIALISED
RET_HOTSTART_FAILED
RET_MATRIX_SHIFT_FAILED
RET_SHIFT_DETERMINATION_FAILED
RET_STEPDIRECTION_DETERMINATION_FAILED
RET_STEPLENGTH_DETERMINATION_FAILED
RET_HOMOTOPY_STEP_FAILED
RET_HOTSTART_STOPPED_INFEASIBILITY
RET_HOTSTART_STOPPED_UNBOUNDEDNESS
RET_SETUP_AUXILIARYQP_FAILED
Parameters
H_newHessian matrix of neighbouring QP to be solved (a shallow copy is made).
If Hessian matrix is trivial, a NULL pointer can be passed.
g_newGradient of neighbouring QP to be solved.
A_newConstraint matrix of neighbouring QP to be solved (a shallow copy is made).
If QP sequence does not involve constraints, a NULL pointer can be passed.
lb_newLower bounds of neighbouring QP to be solved.
If no lower bounds exist, a NULL pointer can be passed.
ub_newUpper bounds of neighbouring QP to be solved.
If no upper bounds exist, a NULL pointer can be passed.
lbA_newLower constraints' bounds of neighbouring QP to be solved.
If no lower constraints' bounds exist, a NULL pointer can be passed.
ubA_newUpper constraints' bounds of neighbouring QP to be solved.
If no upper constraints' bounds exist, a NULL pointer can be passed.
nWSRInput: Maximum number of working set recalculations;
Output: Number of performed working set recalculations.
cputimeInput: Maximum CPU time allowed for QP solution.
Output: CPU time spen for QP solution (or to perform nWSR iterations).
guessedBoundsOptimal working set of bounds for solution (xOpt,yOpt).
(If a null pointer is passed, the previous working set of bounds is kept!)
guessedConstraintsOptimal working set of constraints for solution (xOpt,yOpt).
(If a null pointer is passed, the previous working set of constraints is kept!)

Definition at line 98 of file qpOASES-3.2.0/src/SQProblem.cpp.

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

Solves an initialised SQProblem using online active set strategy reading QP data from files.

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

Definition at line 140 of file qpOASES-3.0beta/src/SQProblem.cpp.

returnValue SQProblem::hotstart ( const real_t *const  H_new,
const real_t *const  g_new,
const real_t *const  A_new,
const real_t *const  lb_new,
const real_t *const  ub_new,
const real_t *const  lbA_new,
const real_t *const  ubA_new,
int_t nWSR,
real_t *const  cputime = 0,
const Bounds *const  guessedBounds = 0,
const Constraints *const  guessedConstraints = 0 
)

Solves an initialised QP sequence with matrix shift using the online active set strategy.

Returns
SUCCESSFUL_RETURN
RET_MAX_NWSR_REACHED
RET_HOTSTART_FAILED_AS_QP_NOT_INITIALISED
RET_HOTSTART_FAILED
RET_MATRIX_SHIFT_FAILED
RET_SHIFT_DETERMINATION_FAILED
RET_STEPDIRECTION_DETERMINATION_FAILED
RET_STEPLENGTH_DETERMINATION_FAILED
RET_HOMOTOPY_STEP_FAILED
RET_HOTSTART_STOPPED_INFEASIBILITY
RET_HOTSTART_STOPPED_UNBOUNDEDNESS
RET_SETUP_AUXILIARYQP_FAILED
Parameters
H_newHessian matrix of neighbouring QP to be solved (a shallow copy is made).
If Hessian matrix is trivial, a NULL pointer can be passed.
g_newGradient of neighbouring QP to be solved.
A_newConstraint matrix of neighbouring QP to be solved (a shallow copy is made).
If QP sequence does not involve constraints, a NULL pointer can be passed.
lb_newLower bounds of neighbouring QP to be solved.
If no lower bounds exist, a NULL pointer can be passed.
ub_newUpper bounds of neighbouring QP to be solved.
If no upper bounds exist, a NULL pointer can be passed.
lbA_newLower constraints' bounds of neighbouring QP to be solved.
If no lower constraints' bounds exist, a NULL pointer can be passed.
ubA_newUpper constraints' bounds of neighbouring QP to be solved.
If no upper constraints' bounds exist, a NULL pointer can be passed.
nWSRInput: Maximum number of working set recalculations;
Output: Number of performed working set recalculations.
cputimeInput: Maximum CPU time allowed for QP solution.
Output: CPU time spent for QP solution (or to perform nWSR iterations).
guessedBoundsOptimal working set of bounds for solution (xOpt,yOpt).
(If a null pointer is passed, the previous working set of bounds is kept!)
guessedConstraintsOptimal working set of constraints for solution (xOpt,yOpt).
(If a null pointer is passed, the previous working set of constraints is kept!)

Definition at line 149 of file qpOASES-3.2.0/src/SQProblem.cpp.

returnValue SQProblem::hotstart ( SymmetricMatrix H_new,
const real_t *const  g_new,
Matrix A_new,
const real_t *const  lb_new,
const real_t *const  ub_new,
const real_t *const  lbA_new,
const real_t *const  ubA_new,
int &  nWSR,
real_t *const  cputime 
)

Solves an initialised SQProblem using online active set strategy.

Returns
SUCCESSFUL_RETURN
RET_MAX_NWSR_REACHED
RET_HOTSTART_FAILED_AS_QP_NOT_INITIALISED
RET_HOTSTART_FAILED
RET_MATRIX_SHIFT_FAILED
RET_SHIFT_DETERMINATION_FAILED
RET_STEPDIRECTION_DETERMINATION_FAILED
RET_STEPLENGTH_DETERMINATION_FAILED
RET_HOMOTOPY_STEP_FAILED
RET_HOTSTART_STOPPED_INFEASIBILITY
RET_HOTSTART_STOPPED_UNBOUNDEDNESS
RET_SETUP_AUXILIARYQP_FAILED
Parameters
H_newHessian matrix of neighbouring QP to be solved.
If Hessian matrix is trivial, a NULL pointer can be passed.
g_newGradient of neighbouring QP to be solved.
A_newConstraint matrix of neighbouring QP to be solved.
If QP sequence does not involve constraints, a NULL pointer can be passed.
lb_newLower bounds of neighbouring QP to be solved.
If no lower bounds exist, a NULL pointer can be passed.
ub_newUpper bounds of neighbouring QP to be solved.
If no upper bounds exist, a NULL pointer can be passed.
lbA_newLower constraints' bounds of neighbouring QP to be solved.
If no lower constraints' bounds exist, a NULL pointer can be passed.
ubA_newUpper constraints' bounds of neighbouring QP to be solved.
If no upper constraints' bounds exist, a NULL pointer can be passed.
nWSRInput: Maximum number of working set recalculations;
Output: Number of performed working set recalculations.
cputimeInput: Maximum CPU time allowed for QP solution.
Output: CPU time spend for QP solution (or to perform nWSR iterations).

Definition at line 226 of file qpOASES-3.0beta/src/SQProblem.cpp.

returnValue SQProblem::hotstart ( const char *const  H_file,
const char *const  g_file,
const char *const  A_file,
const char *const  lb_file,
const char *const  ub_file,
const char *const  lbA_file,
const char *const  ubA_file,
int_t nWSR,
real_t *const  cputime = 0,
const Bounds *const  guessedBounds = 0,
const Constraints *const  guessedConstraints = 0 
)

Solves an initialised QP sequence with matrix shift using the online active set strategy, where QP data is read from files.

Returns
SUCCESSFUL_RETURN
RET_MAX_NWSR_REACHED
RET_HOTSTART_FAILED_AS_QP_NOT_INITIALISED
RET_HOTSTART_FAILED
RET_MATRIX_SHIFT_FAILED
RET_SHIFT_DETERMINATION_FAILED
RET_STEPDIRECTION_DETERMINATION_FAILED
RET_STEPLENGTH_DETERMINATION_FAILED
RET_HOMOTOPY_STEP_FAILED
RET_HOTSTART_STOPPED_INFEASIBILITY
RET_HOTSTART_STOPPED_UNBOUNDEDNESS
RET_SETUP_AUXILIARYQP_FAILED
RET_UNABLE_TO_READ_FILE
RET_INVALID_ARGUMENTS
Parameters
H_fileName of file where Hessian matrix is stored.
If Hessian matrix is trivial, a NULL pointer can be passed.
g_fileName of file where gradient, of neighbouring QP to be solved, is stored.
A_fileName of file where constraint matrix is stored.
If QP sequence does not involve constraints, a NULL pointer can be passed.
lb_fileName of file where lower bounds, of neighbouring QP to be solved, is stored.
If no lower bounds exist, a NULL pointer can be passed.
ub_fileName of file where upper bounds, of neighbouring QP to be solved, is stored.
If no upper bounds exist, a NULL pointer can be passed.
lbA_fileName of file where lower constraints' bounds, of neighbouring QP to be solved, is stored.
If no lower constraints' bounds exist, a NULL pointer can be passed.
ubA_fileName of file where upper constraints' bounds, of neighbouring QP to be solved, is stored.
If no upper constraints' bounds exist, a NULL pointer can be passed.
nWSRInput: Maximum number of working set recalculations;
Output: Number of performed working set recalculations.
cputimeInput: Maximum CPU time allowed for QP solution.
Output: CPU time spent for QP solution (or to perform nWSR iterations).
guessedBoundsOptimal working set of bounds for solution (xOpt,yOpt).
(If a null pointer is passed, the previous working set of bounds is kept!)
guessedConstraintsOptimal working set of constraints for solution (xOpt,yOpt).
(If a null pointer is passed, the previous working set of constraints is kept!)

Definition at line 197 of file qpOASES-3.2.0/src/SQProblem.cpp.

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

Solves an initialised SQProblem (without matrix shift) using online active set strategy. Note: This functions just forwards to the corresponding QProblem::hotstart member function.

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

Definition at line 275 of file qpOASES-3.0beta/src/SQProblem.cpp.

returnValue SQProblem::hotstart ( const real_t *const  g_new,
const real_t *const  lb_new,
const real_t *const  ub_new,
const real_t *const  lbA_new,
const real_t *const  ubA_new,
int_t nWSR,
real_t *const  cputime = 0,
const Bounds *const  guessedBounds = 0,
const Constraints *const  guessedConstraints = 0 
)

Solves an initialised QP sequence (without matrix shift) 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 functions just forwards to the corresponding QProblem::hotstart member function.

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

Solves an initialised SQProblem (without matrix shift) using online active set strategy reading QP data from files. Note: This functions just forwards to the corresponding QProblem::hotstart member function.

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

Definition at line 289 of file qpOASES-3.0beta/src/SQProblem.cpp.

returnValue SQProblem::hotstart ( const char *const  g_file,
const char *const  lb_file,
const char *const  ub_file,
const char *const  lbA_file,
const char *const  ubA_file,
int_t nWSR,
real_t *const  cputime = 0,
const Bounds *const  guessedBounds = 0,
const Constraints *const  guessedConstraints = 0 
)

Solves an initialised QP sequence (without matrix shift) 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 functions just forwards to the corresponding QProblem::hotstart member function.

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

Solves an initialised SQProblem (without matrix shift) using online active set strategy (using an initialised homotopy). Note: This functions just forwards to the corresponding QProblem::hotstart member function.

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

Definition at line 303 of file qpOASES-3.0beta/src/SQProblem.cpp.

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

Solves an initialised SQProblem (without matrix shift) using online active set strategy (using an initialised homotopy) reading QP data from files. Note: This functions just forwards to the corresponding QProblem::hotstart member function.

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

Definition at line 318 of file qpOASES-3.0beta/src/SQProblem.cpp.

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

Assignment operator (deep copy).

Parameters
rhsRhs object.

Definition at line 83 of file qpOASES-3.0beta/src/SQProblem.cpp.

virtual SQProblem& SQProblem::operator= ( const SQProblem rhs)
virtual

Assignment operator (deep copy).

Parameters
rhsRhs object.
returnValue SQProblem::setupAuxiliaryQP ( const real_t *const  H_new,
const real_t *const  A_new 
)
protectedvirtual

Sets new matrices and calculates their factorisations. 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. Afterwards, all QP vectors are transformed in order to start from an optimal solution.

Returns
SUCCESSFUL_RETURN
RET_MATRIX_FACTORISATION_FAILED
RET_NO_HESSIAN_SPECIFIED
Parameters
H_newNew Hessian matrix.
If Hessian matrix is trivial, a NULL pointer can be passed.
A_newNew constraint matrix.
If QP sequence does not involve constraints, a NULL pointer can be passed.

Definition at line 350 of file qpOASES-3.0beta/src/SQProblem.cpp.

returnValue SQProblem::setupAuxiliaryQP ( SymmetricMatrix H_new,
Matrix A_new 
)
protectedvirtual

Sets new matrices and calculates their factorisations. 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. Afterwards, all QP vectors are transformed in order to start from an optimal solution.

Returns
SUCCESSFUL_RETURN
RET_MATRIX_FACTORISATION_FAILED
RET_NO_HESSIAN_SPECIFIED
Parameters
H_newNew Hessian matrix.
If Hessian matrix is trivial, a NULL pointer can be passed.
A_newNew constraint matrix.
If QP sequence does not involve constraints, a NULL pointer can be passed.

Definition at line 371 of file qpOASES-3.0beta/src/SQProblem.cpp.

returnValue SQProblem::setupNewAuxiliaryQP ( SymmetricMatrix H_new,
Matrix A_new,
const real_t lb_new,
const real_t ub_new,
const real_t lbA_new,
const real_t ubA_new 
)
protectedvirtual

Sets new matrices and calculates their factorisations. 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. Afterwards, all QP vectors are transformed in order to start from an optimal solution.

Returns
SUCCESSFUL_RETURN
RET_MATRIX_FACTORISATION_FAILED
RET_NO_HESSIAN_SPECIFIED
Parameters
H_newNew Hessian matrix.
If Hessian matrix is trivial, a NULL pointer can be passed.
A_newNew constraint matrix.
If QP sequence does not involve constraints, a NULL pointer can be passed.
lb_newNew lower bounds.
If no lower bounds exist, a NULL pointer can be passed.
ub_newNew upper bounds.
If no lower bounds exist, a NULL pointer can be passed.
lbA_newNew lower constraints' bounds.
If no lower constraints' bounds exist, a NULL pointer can be passed.
ubA_newNew lower constraints' bounds.
If no lower constraints' bounds exist, a NULL pointer can be passed.

Definition at line 334 of file qpOASES-3.2.0/src/SQProblem.cpp.

returnValue SQProblem::setupNewAuxiliaryQP ( const real_t *const  H_new,
const real_t *const  A_new,
const real_t lb_new,
const real_t ub_new,
const real_t lbA_new,
const real_t ubA_new 
)
protectedvirtual

Sets new matrices and calculates their factorisations. 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. Afterwards, all QP vectors are transformed in order to start from an optimal solution.

Returns
SUCCESSFUL_RETURN
RET_MATRIX_FACTORISATION_FAILED
RET_NO_HESSIAN_SPECIFIED
Parameters
H_newNew Hessian matrix.
If Hessian matrix is trivial, a NULL pointer can be passed.
A_newNew constraint matrix.
If QP sequence does not involve constraints, a NULL pointer can be passed.
lb_newNew lower bounds.
If no lower bounds exist, a NULL pointer can be passed.
ub_newNew upper bounds.
If no lower bounds exist, a NULL pointer can be passed.
lbA_newNew lower constraints' bounds.
If no lower constraints' bounds exist, a NULL pointer can be passed.
ubA_newNew lower constraints' bounds.
If no lower constraints' bounds exist, a NULL pointer can be passed.

Definition at line 515 of file qpOASES-3.2.0/src/SQProblem.cpp.

Friends And Related Function Documentation


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


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