qpOASES
3.2.1
An Implementation of the Online Active Set Strategy
|
Go to the documentation of this file.
38 #ifndef QPOASES_SQPROBLEMSCHUR_HPP
39 #define QPOASES_SQPROBLEMSCHUR_HPP
81 int_t maxSchurUpdates = 75
275 const real_t*
const delta_lbA,
276 const real_t*
const delta_ubA,
277 const real_t*
const delta_lb,
278 const real_t*
const delta_ub,
288 const real_t*
const delta_lbA,
289 const real_t*
const delta_ubA,
290 const real_t*
const delta_lb,
291 const real_t*
const delta_ub,
357 const real_t*
const delta_lbA,
const real_t*
const delta_ubA,
358 const real_t*
const delta_lb,
const real_t*
const delta_ub,
Abstract base class for interfacing tailored matrix-vector operations.
Definition: Matrices.hpp:59
virtual returnValue removeConstraint(int_t number, BooleanType updateCholesky, BooleanType allowFlipping=BT_FALSE, BooleanType ensureNZC=BT_FALSE)
Definition: SQProblemSchur.cpp:1523
int_t M_physicallength
Definition: SQProblemSchur.hpp:407
BEGIN_NAMESPACE_QPOASES typedef double real_t
Definition: Types.hpp:171
SchurUpdateType
Definition: Types.hpp:283
real_t * Q_
Definition: SQProblemSchur.hpp:398
Abstract base class for interfacing matrix-vector operations tailored to symmetric matrices.
Definition: Matrices.hpp:292
virtual returnValue setupAuxiliaryQP(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)
Definition: SQProblemSchur.cpp:312
Indexlist boundsFreeStart
Definition: SQProblemSchur.hpp:412
virtual returnValue addBound_ensureLI(int_t number, SubjectToStatus B_status)
Definition: SQProblemSchur.cpp:1357
#define END_NAMESPACE_QPOASES
Definition: Types.hpp:110
BooleanType
Definition: Types.hpp:203
virtual returnValue computeInitialCholesky()
Definition: SQProblemSchur.cpp:630
int_t nSmax
Definition: SQProblemSchur.hpp:396
HessianType
Definition: Types.hpp:248
Manages working sets of constraints.
Definition: Constraints.hpp:56
returnValue backsolveSchurQR(int_t dimS, const real_t *const rhs, int_t dimRhs, real_t *const sol)
Definition: SQProblemSchur.cpp:2423
#define BEGIN_NAMESPACE_QPOASES
Definition: Types.hpp:107
virtual returnValue reset()
Definition: SQProblemSchur.cpp:191
Manages working sets of bounds (i.e. box constraints).
Definition: Bounds.hpp:56
@ BT_TRUE
Definition: Types.hpp:206
virtual returnValue addBound_checkLI(int_t number)
Definition: SQProblemSchur.cpp:1250
Implements the online active set strategy for QPs with varying matrices.
Definition: SQProblem.hpp:59
SQProblemSchur()
Definition: SQProblemSchur.cpp:68
int_t * schurUpdateIndex
Definition: SQProblemSchur.hpp:404
Indexlist constraintsActiveStart
Definition: SQProblemSchur.hpp:413
virtual returnValue addBound(int_t number, SubjectToStatus B_status, BooleanType updateCholesky, BooleanType ensureLI=BT_TRUE)
Definition: SQProblemSchur.cpp:1115
virtual returnValue determineStepDirection2(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)
Definition: SQProblemSchur.cpp:2841
sparse_int_t * M_ir
Definition: SQProblemSchur.hpp:409
Provides additional tools for analysing QP solutions.
Definition: SolutionAnalysis.hpp:57
real_t * M_vals
Definition: SQProblemSchur.hpp:408
real_t * x
Definition: QProblemB.hpp:983
virtual returnValue computeProjectedCholesky()
Definition: SQProblemSchur.cpp:621
@ BT_FALSE
Definition: Types.hpp:205
real_t * y
Definition: QProblemB.hpp:984
sparse_int_t * M_jc
Definition: SQProblemSchur.hpp:410
returnValue addConstraint_checkLISchur(int_t number, real_t *const xiC, real_t *const xiX)
Definition: SQProblemSchur.cpp:855
Implements the online active set strategy for QPs with varying, sparse matrices.
Definition: SQProblemSchur.hpp:61
int_t numFactorizations
Definition: SQProblemSchur.hpp:402
virtual returnValue setupAuxiliaryWorkingSet(const Bounds *const auxiliaryBounds, const Constraints *const auxiliaryConstraints, BooleanType setupAfresh)
Definition: SQProblemSchur.cpp:512
virtual returnValue addConstraint_checkLI(int_t number)
Definition: SQProblemSchur.cpp:834
returnValue computeMTimes(real_t alpha, const real_t *const x, real_t beta, real_t *const y)
Definition: SQProblemSchur.cpp:3116
SubjectToStatus
Definition: Types.hpp:272
returnValue repairSingularWorkingSet()
Definition: SQProblemSchur.cpp:3525
returnValue correctInertia()
Definition: SQProblemSchur.cpp:3428
returnValue
Defines all symbols for global return values.
Definition: MessageHandling.hpp:64
returnValue resetSchurComplement(BooleanType allowInertiaCorrection)
Definition: SQProblemSchur.cpp:2984
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)
Definition: SQProblemSchur.cpp:2810
returnValue undoDeleteFromSchurComplement(int_t idx)
Definition: SQProblemSchur.cpp:3343
returnValue computeMTransTimes(real_t alpha, const real_t *const x, real_t beta, real_t *const y)
Definition: SQProblemSchur.cpp:3133
virtual SQProblemSchur & operator=(const SQProblemSchur &rhs)
Definition: SQProblemSchur.cpp:176
Base class for linear solvers that are used in a Schur-complement implementation in qpOASES.
Definition: SparseSolver.hpp:52
real_t calcDetSchur(int_t idxDel)
Definition: SQProblemSchur.cpp:2191
returnValue copy(const SQProblemSchur &rhs)
Definition: SQProblemSchur.cpp:235
returnValue addToSchurComplement(int_t number, SchurUpdateType update, int_t numNonzerosM, const sparse_int_t *M_pos, const real_t *const M_vals, int_t numNonzerosN, const sparse_int_t *Npos, const real_t *const Nvals, real_t N_diag)
Definition: SQProblemSchur.cpp:3162
int_t nS
Definition: SQProblemSchur.hpp:395
virtual ~SQProblemSchur()
Definition: SQProblemSchur.cpp:165
SparseSolver * sparseSolver
Definition: SQProblemSchur.hpp:392
virtual returnValue removeBound(int_t number, BooleanType updateCholesky, BooleanType allowFlipping=BT_FALSE, BooleanType ensureNZC=BT_FALSE)
Definition: SQProblemSchur.cpp:1798
virtual returnValue addConstraint_ensureLI(int_t number, SubjectToStatus C_status)
Definition: SQProblemSchur.cpp:947
returnValue updateSchurQR(int_t idxDel)
Definition: SQProblemSchur.cpp:2284
virtual returnValue backsolveT(const real_t *const b, BooleanType transposed, real_t *const a) const
Definition: SQProblemSchur.cpp:2164
real_t * R_
Definition: SQProblemSchur.hpp:399
real_t * S
Definition: SQProblemSchur.hpp:394
virtual returnValue setupTQfactorisation()
Definition: SQProblemSchur.cpp:639
returnValue clear()
Definition: SQProblemSchur.cpp:211
virtual returnValue addConstraint(int_t number, SubjectToStatus C_status, BooleanType updateCholesky, BooleanType ensureLI=BT_TRUE)
Definition: SQProblemSchur.cpp:648
Stores and manages index lists.
Definition: Indexlist.hpp:55
SchurUpdateType * schurUpdate
Definition: SQProblemSchur.hpp:405
int_t getNumFactorizations() const
Definition: SQProblemSchur.ipp:47
@ HST_UNKNOWN
Definition: Types.hpp:256
returnValue deleteFromSchurComplement(int_t idx, BooleanType allowUndo=BT_FALSE)
Definition: SQProblemSchur.cpp:3244
int_t sparse_int_t
Definition: Types.hpp:199
virtual returnValue backsolveR(const real_t *const b, BooleanType transposed, real_t *const a) const
Definition: SQProblemSchur.cpp:2173
real_t rcondS
Definition: SQProblemSchur.hpp:401
real_t detS
Definition: SQProblemSchur.hpp:400
int int_t
Definition: Types.hpp:180
returnValue addBound_checkLISchur(int_t number, real_t *const xiC, real_t *const xiX)
Definition: SQProblemSchur.cpp:1270