qpOASES
3.2.1
An Implementation of the Online Active Set Strategy
|
Go to the source code of this file.
Classes | |
struct | TabularOutput |
Stores internal information for tabular (debugging) output. More... | |
struct | MatMatrixHeader |
Struct containing the variable header for mat file. More... | |
Macros | |
#define | __ALWAYS_INITIALISE_WITH_ALL_EQUALITIES__ |
#define | BEGIN_NAMESPACE_QPOASES namespace qpOASES { |
#define | END_NAMESPACE_QPOASES } |
#define | USING_NAMESPACE_QPOASES using namespace qpOASES; |
#define | REFER_NAMESPACE_QPOASES qpOASES:: |
#define | RR(I, J) R[(I)+nV*(J)] |
#define | QQ(I, J) Q[(I)+nV*(J)] |
#define | TT(I, J) T[(I)*sizeT+(J)] |
#define | SOLVER_NONE |
Typedefs | |
typedef long | la_int_t |
typedef unsigned long | la_uint_t |
typedef int | int_t |
typedef unsigned int | uint_t |
typedef int | fint_t |
typedef int_t | sparse_int_t |
Enumerations | |
enum | BooleanType { BT_FALSE, BT_TRUE } |
enum | PrintLevel { PL_DEBUG_ITER = -2, PL_TABULAR, PL_NONE, PL_LOW, PL_MEDIUM, PL_HIGH } |
enum | VisibilityStatus { VS_HIDDEN, VS_VISIBLE } |
enum | QProblemStatus { QPS_NOTINITIALISED, QPS_PREPARINGAUXILIARYQP, QPS_AUXILIARYQPSOLVED, QPS_PERFORMINGHOMOTOPY, QPS_HOMOTOPYQPSOLVED, QPS_SOLVED } |
enum | HessianType { HST_ZERO, HST_IDENTITY, HST_POSDEF, HST_POSDEF_NULLSPACE, HST_SEMIDEF, HST_INDEF, HST_UNKNOWN } |
enum | SubjectToType { ST_UNBOUNDED, ST_BOUNDED, ST_EQUALITY, ST_DISABLED, ST_UNKNOWN } |
enum | SubjectToStatus { ST_LOWER = -1, ST_INACTIVE, ST_UPPER, ST_INFEASIBLE_LOWER, ST_INFEASIBLE_UPPER, ST_UNDEFINED } |
enum | SchurUpdateType { SUT_VarFixed, SUT_VarFreed, SUT_ConAdded, SUT_ConRemoved, SUT_UNDEFINED } |
Variables | |
BEGIN_NAMESPACE_QPOASES typedef double | real_t |
Declaration of all non-built-in types (except for classes).
#define __ALWAYS_INITIALISE_WITH_ALL_EQUALITIES__ |
Forces to always include all implicitly fixed bounds and all equality constraints into the initial working set when setting up an auxiliary QP.
#define BEGIN_NAMESPACE_QPOASES namespace qpOASES { |
Macro for switching on/off the beginning of the qpOASES namespace definition.
#define END_NAMESPACE_QPOASES } |
Macro for switching on/off the end of the qpOASES namespace definition.
Referenced by SymSparseMat::bilinear(), SolutionAnalysis::checkCurvatureOnStronglyActiveConstraints(), Options::copy(), Indexlist::findInsert(), Flipper::getDimT(), Bounds::getFixed(), getGlobalMessageHandler(), Constraints::getInactive(), SQProblemSchur::getNumFactorizations(), getSqrt(), SubjectTo::hasNoUpper(), QProblemB::isBlocking(), Indexlist::isMember(), normaliseConstraints(), ConstraintProduct::operator=(), QProblemB::printIteration(), runOqpBenchmark(), MessageHandling::setErrorCount(), QProblem::setUBA(), Constraints::setupAll(), Bounds::setupAll(), SQProblem::setupNewAuxiliaryQP(), SubjectTo::swapIndex(), QProblem::writeQpWorkspaceIntoMatFile(), and SymSparseMat::~SymSparseMat().
#define QQ | ( | I, | |
J | |||
) | Q[(I)+nV*(J)] |
Macro for accessing the orthonormal matrix Q of the QT factorisation.
Referenced by QProblem::addBound(), QProblem::addBound_checkLI(), QProblem::addBound_ensureLI(), QProblem::addConstraint(), QProblem::addConstraint_checkLI(), QProblem::addConstraint_ensureLI(), QProblem::computeProjectedCholesky(), QProblem::determineStepDirection(), QProblem::removeBound(), QProblem::removeConstraint(), and QProblem::setupTQfactorisation().
#define REFER_NAMESPACE_QPOASES qpOASES:: |
Macro for switching on/off references to the qpOASES namespace.
Referenced by dgemm_(), dpotrf_(), SolutionAnalysis::getKktViolation(), DenseMatrix::getNorm(), SparseMatrix::getNorm(), SparseMatrixRow::getNorm(), DenseMatrix::getRowNorm(), SparseMatrixRow::getRowNorm(), Constraints::print(), Bounds::print(), DenseMatrix::print(), SparseMatrix::print(), SparseMatrixRow::print(), sgemm_(), and spotrf_().
#define RR | ( | I, | |
J | |||
) | R[(I)+nV*(J)] |
Macro for accessing the Cholesky factor R.
Referenced by QProblem::addBound(), QProblemB::addBound(), QProblem::addConstraint(), QProblemB::backsolveR(), QProblemB::computeCholesky(), QProblem::removeBound(), QProblemB::removeBound(), QProblem::removeConstraint(), QProblem::solveInitialQP(), and QProblemB::solveInitialQP().
#define TT | ( | I, | |
J | |||
) | T[(I)*sizeT+(J)] |
Macro for accessing the triangular matrix T of the QT factorisation.
Referenced by QProblem::addBound(), QProblem::addConstraint(), QProblem::backsolveT(), QProblem::printIteration(), QProblem::removeBound(), and QProblem::removeConstraint().
#define USING_NAMESPACE_QPOASES using namespace qpOASES; |
Macro for switching on/off the use of the qpOASES namespace.
Referenced by main().
typedef int fint_t |
Defines FORTRAN integer type. Might be platform dependent!
typedef int int_t |
Defines int_t for facilitating switching between int and long int.
typedef long la_int_t |
Defined integer type for calling BLAS/LAPACK. Should usually be "(unsigned) int", currently set to "(unsigned) long" for backwards compatibility. This will change in a future release.
typedef int_t sparse_int_t |
Integer type for sparse matrix row/column entries. Make this "int" for 32 bit entries, and "long" for 64-bit entries on x86_64 platform.
Most sparse codes still assume 32-bit entries here (HSL, BQPD, ...)
enum BooleanType |
enum HessianType |
Summarises all possible types of the QP's Hessian matrix.
enum PrintLevel |
Summarises all possible print levels. Print levels are used to describe the desired amount of output during runtime of qpOASES.
enum QProblemStatus |
Summarises all possible states of the (S)QProblem(B) object during the solution process of a QP sequence.
Enumerator | |
---|---|
QPS_NOTINITIALISED | QProblem object is freshly instantiated or reset. |
QPS_PREPARINGAUXILIARYQP | An auxiliary problem is currently setup, either at the very beginning via an initial homotopy or after changing the QP matrices. |
QPS_AUXILIARYQPSOLVED | An auxilary problem was solved, either at the very beginning via an initial homotopy or after changing the QP matrices. |
QPS_PERFORMINGHOMOTOPY | A homotopy according to the main idea of the online active set strategy is performed. |
QPS_HOMOTOPYQPSOLVED | An intermediate QP along the homotopy path was solved. |
QPS_SOLVED | The solution of the actual QP was found. |
enum SchurUpdateType |
enum SubjectToStatus |
Summarises all possible states of bounds and constraints.
enum SubjectToType |
Summarises all possible types of bounds and constraints.
enum VisibilityStatus |
BEGIN_NAMESPACE_QPOASES typedef double real_t |
Defines real_t for facilitating switching between double and float.
Referenced by QProblem::addBound(), QProblemB::addBound(), SQProblemSchur::addBound_checkLI(), QProblem::addBound_checkLI(), SQProblemSchur::addBound_checkLISchur(), SQProblemSchur::addBound_ensureLI(), QProblem::addBound_ensureLI(), QProblem::addConstraint(), SQProblemSchur::addConstraint_checkLI(), QProblem::addConstraint_checkLI(), SQProblemSchur::addConstraint_checkLISchur(), SQProblemSchur::addConstraint_ensureLI(), QProblem::addConstraint_ensureLI(), SQProblemSchur::addToSchurComplement(), QProblemB::backsolveR(), QProblem::backsolveT(), SymDenseMat::bilinear(), SQProblemSchur::calcDetSchur(), SolutionAnalysis::checkCurvatureOnStronglyActiveConstraints(), QProblemB::computeGivens(), SQProblemSchur::computeMTimes(), SparseSolver::copy(), SQProblemSchur::copy(), SQProblemSchur::correctInertia(), QProblemB::createDiagSparseMat(), DenseMatrix::DenseMatrix(), QProblemB::determineHessianType(), QProblem::determineStepDirection(), QProblemB::determineStepDirection(), SQProblemSchur::determineStepDirection2(), DenseMatrix::duplicate(), SparseMatrix::duplicate(), SparseMatrixRow::duplicate(), SymDenseMat::duplicateSym(), SymSparseMat::duplicateSym(), QProblem::ensureNonzeroCurvature(), DenseMatrix::full(), SparseMatrix::full(), SparseMatrixRow::full(), Flipper::get(), getCPUtime(), SolutionAnalysis::getKktViolation(), getKktViolation(), getNorm(), QProblemB::getObjVal(), QProblemB::getRelativeHomotopyLength(), QProblem::getRelativeHomotopyLength(), SparseMatrix::getRowNorm(), DenseMatrix::getSparseSubmatrix(), SolutionAnalysis::getVarianceCovariance(), SQProblem::hotstart(), QProblemB::hotstart(), QProblem::hotstart(), QProblemB::isCPUtimeLimitExceeded(), main(), normaliseConstraints(), ConstraintProduct::operator=(), QProblemB::performRamping(), QProblem::performRamping(), QProblem::performStep(), QProblemB::performStep(), SparseMatrix::print(), SparseMatrixRow::print(), QProblem::printIteration(), QProblemB::printIteration(), QProblem::QProblem(), QProblemB::QProblemB(), readFromFile(), readOqpData(), SQProblemSchur::removeBound(), QProblem::removeBound(), QProblemB::removeBound(), SQProblemSchur::removeConstraint(), QProblem::removeConstraint(), runOqpBenchmark(), Flipper::set(), QProblem::setA(), QProblemB::setH(), QProblem::setupAuxiliaryWorkingSet(), SQProblem::setupNewAuxiliaryQP(), QProblemB::setupQPdataFromFile(), QProblem::setupQPdataFromFile(), QProblem::solveCurrentEQP(), QProblem::solveInitialQP(), QProblemB::solveInitialQP(), solveOqpBenchmark(), QProblem::solveQP(), QProblemB::solveQP(), QProblem::solveRegularisedQP(), QProblemB::solveRegularisedQP(), SparseMatrix::SparseMatrix(), SparseMatrixRow::SparseMatrixRow(), SQProblemSchur::SQProblemSchur(), SparseMatrix::times(), SparseMatrix::transTimes(), QProblemB::updateFarBounds(), QProblem::updateFarBounds(), SQProblemSchur::updateSchurQR(), writeIntoMatFile(), QProblem::writeQpDataIntoMatFile(), Matrix::~Matrix(), SymDenseMat::~SymDenseMat(), SymmetricMatrix::~SymmetricMatrix(), and SymSparseMat::~SymSparseMat().