qpOASES  3.2.1
An Implementation of the Online Active Set Strategy
Classes | Defines | Typedefs | Enumerations | Variables
include/qpOASES/Types.hpp File Reference

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...

Defines

#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

Detailed Description

Author:
Hans Joachim Ferreau, Andreas Potschka, Christian Kirches
Version:
3.2
Date:
2007-2017

Declaration of all non-built-in types (except for classes).


Define Documentation

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.

#define QQ (   I,
 
)    Q[(I)+nV*(J)]
#define REFER_NAMESPACE_QPOASES   qpOASES::
#define RR (   I,
 
)    R[(I)+nV*(J)]
#define TT (   I,
 
)    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 Documentation

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.

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, ...)


Enumeration Type Documentation

Summarises all possible logical values.

Enumerator:
BT_FALSE 

Logical value for "false".

BT_TRUE 

Logical value for "true".

Summarises all possible types of the QP's Hessian matrix.

Enumerator:
HST_ZERO 

Hessian is zero matrix (i.e. LP formulation).

HST_IDENTITY 

Hessian is identity matrix.

HST_POSDEF 

Hessian is (strictly) positive definite.

HST_POSDEF_NULLSPACE 

Hessian is positive definite on null space of active bounds/constraints.

HST_SEMIDEF 

Hessian is positive semi-definite.

HST_INDEF 

Hessian is indefinite.

HST_UNKNOWN 

Hessian type is unknown.

enum PrintLevel

Summarises all possible print levels. Print levels are used to describe the desired amount of output during runtime of qpOASES.

Enumerator:
PL_DEBUG_ITER 

Full tabular debugging output.

PL_TABULAR 

Normal tabular output.

PL_NONE 

No output.

PL_LOW 

Print error messages only.

PL_MEDIUM 

Print error and warning messages as well as concise info messages.

PL_HIGH 

Print all messages with full details.

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.

Flag indicating which type of update generated column in Schur complement.

Enumerator:
SUT_VarFixed 

Free variable gets fixed.

SUT_VarFreed 

Fixed variable gets freed.

SUT_ConAdded 

Constraint becomes active.

SUT_ConRemoved 

Constraint becomes inactive.

SUT_UNDEFINED 

Type of Schur update is undefined.

Summarises all possible states of bounds and constraints.

Enumerator:
ST_LOWER 

Bound/constraint is at its lower bound.

ST_INACTIVE 

Bound/constraint is inactive.

ST_UPPER 

Bound/constraint is at its upper bound.

ST_INFEASIBLE_LOWER 

(to be documented)

ST_INFEASIBLE_UPPER 

(to be documented)

ST_UNDEFINED 

Status of bound/constraint undefined.

Summarises all possible types of bounds and constraints.

Enumerator:
ST_UNBOUNDED 

Bound/constraint is unbounded.

ST_BOUNDED 

Bound/constraint is bounded but not fixed.

ST_EQUALITY 

Bound/constraint is fixed (implicit equality bound/constraint).

ST_DISABLED 

Bound/constraint is disabled (i.e. ignored when solving QP).

ST_UNKNOWN 

Type of bound/constraint unknown.

Defines visibility status of a message.

Enumerator:
VS_HIDDEN 

Message not visible.

VS_VISIBLE 

Message visible.


Variable Documentation

Defines real_t for facilitating switching between double and float.

Referenced by SQProblemSchur::addBound(), QProblem::addBound(), QProblemB::addBound(), SQProblemSchur::addBound_checkLI(), QProblem::addBound_checkLI(), SQProblemSchur::addBound_checkLISchur(), SQProblemSchur::addBound_ensureLI(), QProblem::addBound_ensureLI(), SQProblemSchur::addConstraint(), 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(), SQProblemSchur::copy(), QProblem::copy(), QProblemB::copy(), SQProblemSchur::correctInertia(), QProblemB::createDiagSparseMat(), SQProblemSchur::deleteFromSchurComplement(), 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(), 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(), SQProblemSchur::resetSchurComplement(), runOqpBenchmark(), Flipper::set(), QProblem::setA(), QProblemB::setG(), QProblemB::setH(), QProblemB::setLB(), QProblem::setLBA(), QProblemB::setUB(), QProblem::setUBA(), 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(), SQProblemSchur::undoDeleteFromSchurComplement(), QProblemB::updateFarBounds(), QProblem::updateFarBounds(), SQProblemSchur::updateSchurQR(), writeIntoMatFile(), and QProblem::writeQpDataIntoMatFile().