37 #ifndef QPOASES_QPROBLEMB_HPP 38 #define QPOASES_QPROBLEMB_HPP 109 const real_t*
const yOpt = 0,
135 const real_t*
const yOpt = 0,
207 inline int getNV( )
const;
219 inline int getNFV( )
const;
330 const Bounds*
const guessedBounds,
347 const Bounds*
const guessedBounds,
441 const real_t*
const delta_ub
527 const real_t*
const delta_g,
528 const real_t*
const delta_lb,
529 const real_t*
const delta_ub,
540 const real_t*
const delta_lb,
541 const real_t*
const delta_ub,
556 const real_t*
const delta_g,
557 const real_t*
const delta_lb,
558 const real_t*
const delta_ub,
621 #include <QProblemB.ipp> returnValue getPrimalSolution(real_t *const xOpt) const
HessianType getHessianType() const
returnValue setupCholeskyDecomposition()
BooleanType isInfeasible() const
Implements the online active set strategy for box-constrained QPs.
BooleanType isUnbounded() const
returnValue checkForIdentityHessian()
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
Allows to pass back messages to the calling function.
returnValue getG(real_t *const _g) const
returnValue setupAuxiliaryWorkingSet(const Bounds *const auxiliaryBounds, BooleanType setupAfresh)
returnValue getBounds(Bounds *const _bounds) const
returnValue setH(const real_t *const H_new)
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 setupAuxiliaryQPgradient()
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 addBound(int number, SubjectToStatus B_status, BooleanType updateCholesky)
returnValue hotstart_determineStepLength(const int *const FR_idx, const int *const FX_idx, const real_t *const delta_lb, const real_t *const delta_ub, const real_t *const delta_xFR, const real_t *const delta_yFX, int &BC_idx, SubjectToStatus &BC_status)
returnValue 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)
BooleanType areBoundsConsistent(const real_t *const delta_lb, const real_t *const delta_ub) const
Provides additional tools for analysing QP solutions.
PrintLevel getPrintLevel() const
returnValue hotstart_performStep(const int *const FR_idx, const int *const FX_idx, const real_t *const delta_g, const real_t *const delta_lb, const real_t *const delta_ub, const real_t *const delta_xFX, const real_t *const delta_xFR, const real_t *const delta_yFX, int BC_idx, SubjectToStatus BC_status)
returnValue setupAuxiliaryQPbounds(BooleanType useRelaxation)
returnValue setHessianType(HessianType _hessianType)
void rhs(const real_t *x, real_t *f)
BooleanType isInitialised() const
QProblemStatus getStatus() const
returnValue getH(real_t *const _H) const
returnValue setUB(const real_t *const ub_new)
returnValue setG(const real_t *const g_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 removeBound(int number, BooleanType updateCholesky)
QProblemB & operator=(const QProblemB &rhs)
returnValue checkKKTconditions()
Manages working sets of bounds (= box constraints).
returnValue hotstart_determineStepDirection(const int *const FR_idx, const int *const FX_idx, const real_t *const delta_g, const real_t *const delta_lb, const real_t *const delta_ub, BooleanType Delta_bB_isZero, real_t *const delta_xFX, real_t *const delta_xFR, real_t *const delta_yFX)
returnValue getUB(real_t *const _ub) const
void applyGivens(real_t c, real_t s, real_t xold, real_t yold, real_t &xnew, real_t &ynew) 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)
returnValue getLB(real_t *const _lb) const
BooleanType isSolved() const