38 #ifndef QPOASES_QPROBLEMB_HPP 39 #define QPOASES_QPROBLEMB_HPP 42 #include <qpOASES/Flipper.hpp> 43 #include <qpOASES/Options.hpp> 44 #include <qpOASES/Matrices.hpp> 162 const char*
const g_file,
163 const char*
const lb_file,
165 const char*
const ub_file,
205 const Bounds*
const guessedBounds
242 const Bounds*
const guessedBounds
266 const char*
const g_file,
267 const char*
const lb_file,
269 const char*
const ub_file,
279 const Bounds*
const guessedBounds
325 const char*
const lb_file,
327 const char*
const ub_file,
358 const Bounds*
const guessedBounds
380 const char*
const lb_file,
382 const char*
const ub_file,
388 const Bounds*
const guessedBounds
402 inline int getNV( )
const;
406 inline int getNFR( )
const;
410 inline int getNFX( )
const;
414 inline int getNFV( )
const;
418 virtual int getNZ( )
const;
564 const Bounds*
const guessedBounds,
637 const char*
const g_file,
638 const char*
const lb_file,
640 const char*
const ub_file
650 const char*
const lb_file,
652 const char*
const ub_file,
775 const int*
const idxList,
816 const Bounds*
const guessedBounds,
845 int nWSRperformed = 0
873 int nWSRperformed = 0
926 const real_t*
const delta_lb,
927 const real_t*
const delta_ub,
940 const real_t*
const delta_lb,
941 const real_t*
const delta_ub,
1038 #include <qpOASES/QProblemB.ipp> returnValue getPrimalSolution(real_t *const xOpt) const
HessianType getHessianType() const
returnValue setupCholeskyDecomposition()
BooleanType isInfeasible() const
returnValue copy(const QProblemB &rhs)
Implements the online active set strategy for box-constrained QPs.
BooleanType isUnbounded() const
returnValue printOptions() const
void computeGivens(real_t xold, real_t yold, real_t &xnew, real_t &ynew, real_t &c, real_t &s) const
returnValue obtainAuxiliaryWorkingSet(const real_t *const xOpt, const real_t *const yOpt, const Bounds *const guessedBounds, Bounds *auxiliaryBounds) const
BooleanType shallRefactorise(const Bounds *const guessedBounds) const
Allows to pass back messages to the calling function.
returnValue determineHessianType()
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)
Base class for managing working sets of bounds and constraints.
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 setupAuxiliaryWorkingSet(const Bounds *const auxiliaryBounds, BooleanType setupAfresh)
returnValue getBounds(Bounds *const _bounds) const
returnValue setH(const real_t *const H_new)
returnValue setInfeasibilityFlag(returnValue returnvalue)
returnValue setupAuxiliaryQPsolution(const real_t *const xOpt, const real_t *const yOpt)
returnValue backsolveR(const real_t *const b, BooleanType transposed, real_t *const a)
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 performDriftCorrection()
Auxiliary class for storing a copy of the current matrix factorisations.
returnValue setupAuxiliaryQPgradient()
Options getOptions() const
returnValue setOptions(const Options &_options)
returnValue changeActiveSet(int BC_idx, SubjectToStatus BC_status)
BooleanType usingRegularisation() const
real_t relativeHomotopyLength(const real_t *const g_new, const real_t *const lb_new, const real_t *const ub_new)
BooleanType isCPUtimeLimitExceeded(const real_t *const cputime, real_t starttime, int nWSR) 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 getDualSolution(real_t *const yOpt) 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
BooleanType isBlocking(real_t num, real_t den, real_t epsNum, real_t epsDen, real_t &t) const
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 addBound(int number, SubjectToStatus B_status, BooleanType updateCholesky)
returnValue setupQPdata(const real_t *const _H, const real_t *const _g, const real_t *const _lb, const real_t *const _ub)
returnValue setupSubjectToType()
returnValue printIteration(int iteration, int BC_idx, SubjectToStatus BC_status)
Provides a generic way to set and pass user-specified options.
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)
Provides additional tools for analysing QP solutions.
PrintLevel getPrintLevel() const
virtual returnValue performRamping()
returnValue setupQPdataFromFile(const char *const H_file, const char *const g_file, const char *const lb_file, const char *const ub_file)
returnValue regulariseHessian()
returnValue setupAuxiliaryQPbounds(BooleanType useRelaxation)
BooleanType isRegularised
returnValue setHessianType(HessianType _hessianType)
void rhs(const real_t *x, real_t *f)
#define END_NAMESPACE_QPOASES
returnValue setupAuxiliaryQP(const Bounds *const guessedBounds)
BooleanType isInitialised() const
QProblemStatus getStatus() const
returnValue setUB(const real_t *const ub_new)
returnValue setG(const real_t *const g_new)
returnValue removeBound(int number, BooleanType updateCholesky)
QProblemB & operator=(const QProblemB &rhs)
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)
virtual returnValue printProperties()
Manages working sets of bounds (= box constraints).
#define BEGIN_NAMESPACE_QPOASES
void applyGivens(real_t c, real_t s, real_t xold, real_t yold, real_t &xnew, real_t &ynew) 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 solveInitialQP(const real_t *const xOpt, const real_t *const yOpt, const Bounds *const guessedBounds, int &nWSR, real_t *const cputime)
returnValue setLB(const real_t *const lb_new)
returnValue setPrintLevel(PrintLevel _printlevel)
Abstract base class for interfacing matrix-vector operations tailored to symmetric matrices...
BooleanType isSolved() const