qpOASES  3.2.1
An Implementation of the Online Active Set Strategy
Functions
include/qpOASES/extras/OQPinterface.hpp File Reference
#include <qpOASES/Options.hpp>

Go to the source code of this file.

Functions

BEGIN_NAMESPACE_QPOASES returnValue readOqpDimensions (const char *path, int_t &nQP, int_t &nV, int_t &nC, int_t &nEC)
returnValue readOqpData (const char *path, int_t &nQP, int_t &nV, int_t &nC, int_t &nEC, real_t **H, real_t **g, real_t **A, real_t **lb, real_t **ub, real_t **lbA, real_t **ubA, real_t **xOpt, real_t **yOpt, real_t **objOpt)
returnValue solveOqpBenchmark (int_t nQP, int_t nV, int_t nC, int_t nEC, 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, BooleanType isSparse, const Options &options, int_t &nWSR, real_t &maxCPUtime, real_t &maxStationarity, real_t &maxFeasibility, real_t &maxComplementarity)
returnValue solveOqpBenchmark (int_t nQP, int_t nV, int_t nC, int_t nEC, 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, BooleanType isSparse, BooleanType useHotstarts, const Options &options, int_t maxAllowedNWSR, real_t &maxNWSR, real_t &avgNWSR, real_t &maxCPUtime, real_t &avgCPUtime, real_t &maxStationarity, real_t &maxFeasibility, real_t &maxComplementarity)
returnValue solveOqpBenchmark (int_t nQP, int_t nV, const real_t *const _H, const real_t *const g, const real_t *const lb, const real_t *const ub, BooleanType isSparse, const Options &options, int_t &nWSR, real_t &maxCPUtime, real_t &maxStationarity, real_t &maxFeasibility, real_t &maxComplementarity)
returnValue solveOqpBenchmark (int_t nQP, int_t nV, const real_t *const _H, const real_t *const g, const real_t *const lb, const real_t *const ub, BooleanType isSparse, BooleanType useHotstarts, const Options &options, int_t maxAllowedNWSR, real_t &maxNWSR, real_t &avgNWSR, real_t &maxCPUtime, real_t &avgCPUtime, real_t &maxStationarity, real_t &maxFeasibility, real_t &maxComplementarity)
returnValue runOqpBenchmark (const char *path, BooleanType isSparse, const Options &options, int_t &nWSR, real_t &maxCPUtime, real_t &maxStationarity, real_t &maxFeasibility, real_t &maxComplementarity)
returnValue runOqpBenchmark (const char *path, BooleanType isSparse, BooleanType useHotstarts, const Options &options, int_t maxAllowedNWSR, real_t &maxNWSR, real_t &avgNWSR, real_t &maxCPUtime, real_t &avgCPUtime, real_t &maxStationarity, real_t &maxFeasibility, real_t &maxComplementarity)

Detailed Description

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

Declaration of an interface comprising several utility functions for solving test problems from the Online QP Benchmark Collection (This collection is no longer maintained, see http://www.qpOASES.org/onlineQP for a backup).


Function Documentation

returnValue readOqpData ( const char *  path,
int_t nQP,
int_t nV,
int_t nC,
int_t nEC,
real_t **  H,
real_t **  g,
real_t **  A,
real_t **  lb,
real_t **  ub,
real_t **  lbA,
real_t **  ubA,
real_t **  xOpt,
real_t **  yOpt,
real_t **  objOpt 
)

Reads data of an Online QP Benchmark problem from file. This function allocates the required memory for all data; after successfully calling it, you have to free this memory yourself!

Returns:
SUCCESSFUL_RETURN
RET_INVALID_ARGUMENTS
RET_UNABLE_TO_READ_FILE
RET_FILEDATA_INCONSISTENT
Parameters:
pathFull path of the data files (without trailing slash!).
nQPOutput: Number of QPs.
nVOutput: Number of variables.
nCOutput: Number of constraints.
nECOutput: Number of equality constraints.
HOutput: Hessian matrix.
gOutput: Sequence of gradient vectors.
AOutput: Constraint matrix.
lbOutput: Sequence of lower bound vectors (on variables).
ubOutput: Sequence of upper bound vectors (on variables).
lbAOutput: Sequence of lower constraints' bound vectors.
ubAOutput: Sequence of upper constraints' bound vectors.
xOptOutput: Sequence of primal solution vectors (not read if a null pointer is passed).
yOptOutput: Sequence of dual solution vectors (not read if a null pointer is passed).
objOptOutput: Sequence of optimal objective function values (not read if a null pointer is passed).

References MAX_STRING_LENGTH, readFromFile(), readOqpDimensions(), real_t, RET_FILEDATA_INCONSISTENT, RET_INVALID_ARGUMENTS, RET_UNABLE_TO_READ_FILE, SUCCESSFUL_RETURN, and THROWERROR.

Referenced by runOqpBenchmark().

BEGIN_NAMESPACE_QPOASES returnValue readOqpDimensions ( const char *  path,
int_t nQP,
int_t nV,
int_t nC,
int_t nEC 
)

Reads dimensions of an Online QP Benchmark problem from file.

Returns:
SUCCESSFUL_RETURN
RET_UNABLE_TO_READ_FILE
RET_FILEDATA_INCONSISTENT
Parameters:
pathFull path of the data files (without trailing slash!).
nQPOutput: Number of QPs.
nVOutput: Number of variables.
nCOutput: Number of constraints.
nECOutput: Number of equality constraints.

References MAX_STRING_LENGTH, readFromFile(), RET_FILEDATA_INCONSISTENT, RET_UNABLE_TO_READ_FILE, SUCCESSFUL_RETURN, and THROWERROR.

Referenced by readOqpData(), and runOqpBenchmark().

returnValue runOqpBenchmark ( const char *  path,
BooleanType  isSparse,
const Options options,
int_t nWSR,
real_t maxCPUtime,
real_t maxStationarity,
real_t maxFeasibility,
real_t maxComplementarity 
)

Runs an Online QP Benchmark problem and determines the maximum violation of the KKT optimality conditions as well as the maximum CPU time to solve each QP.

Returns:
SUCCESSFUL_RETURN
RET_UNABLE_TO_READ_BENCHMARK
RET_BENCHMARK_ABORTED
Parameters:
pathFull path of the benchmark files (without trailing slash!).
isSparseShall convert matrices to sparse format before solution?
optionsQP solver options to be used while solving benchmark problems.
nWSRInput: Maximum number of working set recalculations;
Output: Maximum number of performed working set recalculations.
maxCPUtimeOutput: Maximum CPU time required for solving each QP.
maxStationarityOutput: Maximum residual of stationarity condition.
maxFeasibilityOutput: Maximum residual of primal feasibility condition.
maxComplementarityOutput: Maximum residual of complementarity condition.

References BT_TRUE, real_t, and runOqpBenchmark().

Referenced by main(), and runOqpBenchmark().

returnValue runOqpBenchmark ( const char *  path,
BooleanType  isSparse,
BooleanType  useHotstarts,
const Options options,
int_t  maxAllowedNWSR,
real_t maxNWSR,
real_t avgNWSR,
real_t maxCPUtime,
real_t avgCPUtime,
real_t maxStationarity,
real_t maxFeasibility,
real_t maxComplementarity 
)

Runs an Online QP Benchmark problem and determines the maximum violation of the KKT optimality conditions as well as the maximum and average number of iterations and CPU time to solve each QP.

Returns:
SUCCESSFUL_RETURN
RET_UNABLE_TO_READ_BENCHMARK
RET_BENCHMARK_ABORTED
Parameters:
pathFull path of the benchmark files (without trailing slash!).
isSparseShall convert matrices to sparse format before solution?
useHotstartsShall QP solution be hotstarted?
optionsQP solver options to be used while solving benchmark problems.
maxAllowedNWSRMaximum number of working set recalculations to be performed.
maxNWSROutput: Maximum number of performed working set recalculations.
avgNWSROutput: Average number of performed working set recalculations.
maxCPUtimeOutput: Maximum CPU time required for solving each QP.
avgCPUtimeOutput: Average CPU time required for solving each QP.
maxStationarityOutput: Maximum residual of stationarity condition.
maxFeasibilityOutput: Maximum residual of primal feasibility condition.
maxComplementarityOutput: Maximum residual of complementarity condition.

References readOqpData(), readOqpDimensions(), real_t, RET_UNABLE_TO_READ_BENCHMARK, solveOqpBenchmark(), SUCCESSFUL_RETURN, and THROWERROR.

returnValue solveOqpBenchmark ( int_t  nQP,
int_t  nV,
int_t  nC,
int_t  nEC,
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,
BooleanType  isSparse,
const Options options,
int_t nWSR,
real_t maxCPUtime,
real_t maxStationarity,
real_t maxFeasibility,
real_t maxComplementarity 
)

Solves an Online QP Benchmark problem as specified by the arguments. The maximum deviations from the given optimal solution as well as the maximum CPU time to solve each QP are determined.

Note: This variant is outdated and only kept to ensure backwards-compatibility!

Returns:
SUCCESSFUL_RETURN
RET_BENCHMARK_ABORTED
Parameters:
nQPNumber of QPs.
nVNumber of variables.
nCNumber of constraints.
nECNumber of equality constraints.
_HHessian matrix.
gSequence of gradient vectors.
_AConstraint matrix.
lbSequence of lower bound vectors (on variables).
ubSequence of upper bound vectors (on variables).
lbASequence of lower constraints' bound vectors.
ubASequence of upper constraints' bound vectors.
isSparseShall convert matrices to sparse format before solution?
optionsQP solver options to be used while solving benchmark problems.
nWSRInput: Maximum number of working set recalculations;
Output: Maximum number of performed working set recalculations.
maxCPUtimeOutput: Maximum CPU time required for solving each QP.
maxStationarityOutput: Maximum residual of stationarity condition.
maxFeasibilityOutput: Maximum residual of primal feasibility condition.
maxComplementarityOutput: Maximum residual of complementarity condition.

References BT_TRUE, real_t, and solveOqpBenchmark().

Referenced by runOqpBenchmark(), and solveOqpBenchmark().

returnValue solveOqpBenchmark ( int_t  nQP,
int_t  nV,
int_t  nC,
int_t  nEC,
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,
BooleanType  isSparse,
BooleanType  useHotstarts,
const Options options,
int_t  maxAllowedNWSR,
real_t maxNWSR,
real_t avgNWSR,
real_t maxCPUtime,
real_t avgCPUtime,
real_t maxStationarity,
real_t maxFeasibility,
real_t maxComplementarity 
)

Solves an Online QP Benchmark problem as specified by the arguments. The maximum deviations from the given optimal solution as well as the maximum CPU time to solve each QP are determined.

Returns:
SUCCESSFUL_RETURN
RET_BENCHMARK_ABORTED
Parameters:
nQPNumber of QPs.
nVNumber of variables.
nCNumber of constraints.
nECNumber of equality constraints.
_HHessian matrix.
gSequence of gradient vectors.
_AConstraint matrix.
lbSequence of lower bound vectors (on variables).
ubSequence of upper bound vectors (on variables).
lbASequence of lower constraints' bound vectors.
ubASequence of upper constraints' bound vectors.
isSparseShall convert matrices to sparse format before solution?
useHotstartsShall QP solution be hotstarted?
optionsQP solver options to be used while solving benchmark problems.
maxAllowedNWSRMaximum number of working set recalculations to be performed.
maxNWSROutput: Maximum number of performed working set recalculations.
avgNWSROutput: Average number of performed working set recalculations.
maxCPUtimeOutput: Maximum CPU time required for solving each QP.
avgCPUtimeOutput: Average CPU time required for solving each QP.
maxStationarityOutput: Maximum residual of stationarity condition.
maxFeasibilityOutput: Maximum residual of primal feasibility condition.
maxComplementarityOutput: Maximum residual of complementarity condition.

References BT_FALSE, BT_TRUE, SparseMatrix::createDiagInfo(), Matrix::doFreeMemory(), QProblem::getDualSolution(), getKktViolation(), QProblemB::getPrimalSolution(), QProblem::hotstart(), QProblem::init(), real_t, RET_MAX_NWSR_REACHED, QProblemB::setOptions(), SUCCESSFUL_RETURN, and THROWERROR.

returnValue solveOqpBenchmark ( int_t  nQP,
int_t  nV,
const real_t *const  _H,
const real_t *const  g,
const real_t *const  lb,
const real_t *const  ub,
BooleanType  isSparse,
const Options options,
int_t nWSR,
real_t maxCPUtime,
real_t maxStationarity,
real_t maxFeasibility,
real_t maxComplementarity 
)

Solves an Online QP Benchmark problem (without constraints) as specified by the arguments. The maximum deviations from the given optimal solution as well as the maximum CPU time to solve each QP are determined.

Note: This variant is outdated and only kept to ensure backwards-compatibility!

Returns:
SUCCESSFUL_RETURN
RET_BENCHMARK_ABORTED
Parameters:
nQPNumber of QPs.
nVNumber of variables.
_HHessian matrix.
gSequence of gradient vectors.
lbSequence of lower bound vectors (on variables).
ubSequence of upper bound vectors (on variables).
isSparseShall convert matrices to sparse format before solution?
optionsQP solver options to be used while solving benchmark problems.
nWSRInput: Maximum number of working set recalculations;
Output: Maximum number of performed working set recalculations.
maxCPUtimeOutput: Maximum CPU time required for solving each QP.
maxStationarityOutput: Maximum residual of stationarity condition.
maxFeasibilityOutput: Maximum residual of primal feasibility condition.
maxComplementarityOutput: Maximum residual of complementarity condition.

References BT_TRUE, real_t, and solveOqpBenchmark().

returnValue solveOqpBenchmark ( int_t  nQP,
int_t  nV,
const real_t *const  _H,
const real_t *const  g,
const real_t *const  lb,
const real_t *const  ub,
BooleanType  isSparse,
BooleanType  useHotstarts,
const Options options,
int_t  maxAllowedNWSR,
real_t maxNWSR,
real_t avgNWSR,
real_t maxCPUtime,
real_t avgCPUtime,
real_t maxStationarity,
real_t maxFeasibility,
real_t maxComplementarity 
)

Solves an Online QP Benchmark problem (without constraints) as specified by the arguments. The maximum deviations from the given optimal solution as well as the maximum CPU time to solve each QP are determined.

Returns:
SUCCESSFUL_RETURN
RET_BENCHMARK_ABORTED
Parameters:
nQPNumber of QPs.
nVNumber of variables.
_HHessian matrix.
gSequence of gradient vectors.
lbSequence of lower bound vectors (on variables).
ubSequence of upper bound vectors (on variables).
isSparseShall convert matrices to sparse format before solution?
useHotstartsShall QP solution be hotstarted?
optionsQP solver options to be used while solving benchmark problems.
maxAllowedNWSRMaximum number of working set recalculations to be performed.
maxNWSROutput: Maximum number of performed working set recalculations.
avgNWSROutput: Average number of performed working set recalculations.
maxCPUtimeOutput: Maximum CPU time required for solving each QP.
avgCPUtimeOutput: Average CPU time required for solving each QP.
maxStationarityOutput: Maximum residual of stationarity condition.
maxFeasibilityOutput: Maximum residual of primal feasibility condition.
maxComplementarityOutput: Maximum residual of complementarity condition.

References BT_FALSE, BT_TRUE, SparseMatrix::createDiagInfo(), Matrix::doFreeMemory(), QProblemB::getDualSolution(), getKktViolation(), QProblemB::getPrimalSolution(), QProblemB::hotstart(), QProblemB::init(), real_t, RET_MAX_NWSR_REACHED, QProblemB::setOptions(), SUCCESSFUL_RETURN, and THROWERROR.