36 #ifndef QPOASES_QPROBLEM_HPP 37 #define QPOASES_QPROBLEM_HPP 114 const real_t*
const yOpt = 0,
192 inline int getNC( )
const;
196 inline int getNEC( )
const;
253 const Bounds*
const guessedBounds,
272 const Bounds*
const guessedBounds,
450 const real_t*
const delta_g,
451 const real_t*
const delta_lbA,
452 const real_t*
const delta_ubA,
453 const real_t*
const delta_lb,
454 const real_t*
const delta_ub,
468 const int*
const IAC_idx,
469 const real_t*
const delta_lbA,
470 const real_t*
const delta_ubA,
471 const real_t*
const delta_lb,
472 const real_t*
const delta_ub,
492 const int*
const IAC_idx,
493 const real_t*
const delta_g,
494 const real_t*
const delta_lbA,
495 const real_t*
const delta_ubA,
496 const real_t*
const delta_lb,
497 const real_t*
const delta_ub,
502 const real_t*
const delta_Ax,
514 const real_t*
const delta_ub,
515 const real_t*
const delta_lbA,
516 const real_t*
const delta_ubA
626 #include <QProblem.ipp> 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 addConstraint_ensureLI(int number, SubjectToStatus C_status)
returnValue addBound_ensureLI(int number, SubjectToStatus B_status)
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 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)
Manages working sets of constraints.
returnValue addConstraint_checkLI(int number)
returnValue removeConstraint(int number, BooleanType updateCholesky)
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)
Implements the online active set strategy for box-constrained QPs.
returnValue setupAuxiliaryQPgradient()
returnValue setupAuxiliaryQPsolution(const real_t *const xOpt, const real_t *const yOpt)
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)
Allows to pass back messages to the calling function.
returnValue setLBA(const real_t *const lbA_new)
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)
CyclingManager cyclingManager
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 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 setupCholeskyDecompositionProjected()
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 backsolveT(const real_t *const b, BooleanType transposed, real_t *const a)
returnValue getUBA(real_t *const _ubA) const
returnValue setupSubjectToType()
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 setupAuxiliaryQPbounds(const Bounds *const auxiliaryBounds, const Constraints *const auxiliaryConstraints, BooleanType useRelaxation)
returnValue getConstraints(Constraints *const _constraints) const
real_t A[NCMAX_ALLOC *NVMAX]
Provides additional tools for analysing QP solutions.
returnValue checkKKTconditions()
void rhs(const real_t *x, real_t *f)
returnValue addBound(int number, SubjectToStatus B_status, BooleanType updateCholesky)
returnValue getA(real_t *const _A) const
returnValue removeBound(int number, BooleanType updateCholesky)
Manages working sets of bounds (= box constraints).
returnValue backsolveR(const real_t *const b, BooleanType transposed, real_t *const a)
returnValue printIteration(int iteration, int BC_idx, SubjectToStatus BC_status, BooleanType BC_isBound)
Implements the online active set strategy for QPs with general constraints.
returnValue setupAuxiliaryWorkingSet(const Bounds *const auxiliaryBounds, const Constraints *const auxiliaryConstraints, BooleanType setupAfresh)
QProblem & operator=(const QProblem &rhs)
returnValue addBound_checkLI(int number)
returnValue getLBA(real_t *const _lbA) const
returnValue setA(const real_t *const A_new)
returnValue setupTQfactorisation()
returnValue setUBA(const real_t *const ubA_new)
returnValue addConstraint(int number, SubjectToStatus C_status, BooleanType updateCholesky)
returnValue getDualSolution(real_t *const yOpt) const