ACADO Toolkit
1.2.0beta
Toolkit for Automatic Control and Dynamic Optimization
|
Abstract base class for algorithms solving quadratic programs. More...
#include <dense_qp_solver.hpp>
Public Member Functions | |
DenseQPsolver () | |
Default constructor. | |
DenseQPsolver (UserInteraction *_userInteraction) | |
DenseQPsolver (const DenseQPsolver &rhs) | |
Copy constructor (deep copy). | |
~DenseQPsolver () | |
Destructor. | |
DenseQPsolver & | operator= (const DenseQPsolver &rhs) |
Assignment operator (deep copy). | |
virtual DenseCPsolver * | clone () const =0 |
virtual DenseQPsolver * | cloneDenseQPsolver () const =0 |
virtual returnValue | init (const DenseCP *cp) |
Initializes QP object. | |
virtual returnValue | init (uint nV, uint nC) |
Alternative way to initialize QP object. | |
virtual returnValue | solve (DenseCP *cp_) |
Solves the QP. | |
virtual returnValue | solve (double *H, double *A, double *g, double *lb, double *ub, double *lbA, double *ubA, uint maxIter)=0 |
Solves QP using at most <maxIter> iterations. | |
virtual returnValue | solve (Matrix *H, Matrix *A, Vector *g, Vector *lb, Vector *ub, Vector *lbA, Vector *ubA, uint maxIter)=0 |
Solves QP using at most <maxIter> iterations. | |
virtual returnValue | step (double *H, double *A, double *g, double *lb, double *ub, double *lbA, double *ubA)=0 |
Performs exactly one QP iteration. | |
virtual returnValue | step (Matrix *H, Matrix *A, Vector *g, Vector *lb, Vector *ub, Vector *lbA, Vector *ubA)=0 |
Performs exactly one QP iteration. | |
QPStatus | getStatus () const |
Returns QP status. | |
BooleanType | isSolved () const |
Returns if QP (or its relaxation) has been solved. | |
BooleanType | isInfeasible () const |
Returns if QP has been found to be infeasible. | |
BooleanType | isUnbounded () const |
Returns if QP has been found to be unbounded. | |
virtual returnValue | getPrimalSolution (Vector &xOpt) const =0 |
Returns primal solution vector if QP has been solved. | |
virtual returnValue | getDualSolution (Vector &yOpt) const =0 |
Returns dual solution vector if QP has been solved. | |
virtual double | getObjVal () const =0 |
Returns optimal objective function value. | |
virtual uint | getNumberOfIterations () const |
Returns number of iterations performed at last QP solution. | |
virtual uint | getNumberOfVariables () const =0 |
virtual uint | getNumberOfConstraints () const =0 |
virtual returnValue | getVarianceCovariance (Matrix &var)=0 |
Returns a variance-covariance estimate if possible or an error message otherwise. | |
virtual returnValue | getVarianceCovariance (Matrix &H, Matrix &var)=0 |
Returns a variance-covariance estimate if possible or an error message otherwise. | |
returnValue | addOptionsList () |
Adds an additional OptionsList to internal array. | |
returnValue | set (OptionsName name, int value) |
Sets value of an existing option item of integer type to a given value. | |
returnValue | set (OptionsName name, double value) |
Sets value of an existing option item of double type to a given value. | |
returnValue | set (uint idx, OptionsName name, int value) |
Sets value of an existing option item of integer type within the option list of given index to a given value. | |
returnValue | set (uint idx, OptionsName name, double value) |
Sets value of an existing option item of double type within the option list of given index to a given value. | |
returnValue | setOptions (const Options &arg) |
Assigns a given Options object to this object. | |
returnValue | setOptions (uint idx, const Options &arg) |
Assigns the option list with given index of a given Options object to option list with given index of this object. | |
Options | getOptions (uint idx) const |
Returns an Options object containing exactly the option list with given index. | |
returnValue | getAll (LogName _name, MatrixVariablesGrid &values) const |
Gets all numerical values at all time instants of the item with given name. | |
returnValue | getFirst (LogName _name, Matrix &firstValue) const |
Gets numerical value at first time instant of the item with given name. | |
returnValue | getFirst (LogName _name, VariablesGrid &firstValue) const |
Gets numerical value at first time instant of the item with given name (converts internally used Matrix into VariablesGrid). | |
returnValue | getLast (LogName _name, Matrix &lastValue) const |
Gets numerical value at last time instant of the item with given name. | |
returnValue | getLast (LogName _name, VariablesGrid &lastValue) const |
Gets numerical value at last time instant of the item with given name (converts internally used Matrix into VariablesGrid). | |
returnValue | get (OptionsName name, int &value) const |
Returns value of an existing option item of integer type. | |
returnValue | get (OptionsName name, double &value) const |
Returns value of an existing option item of double type. | |
returnValue | get (uint idx, OptionsName name, int &value) const |
Returns value of an existing option item of integer type within the option list of given index. | |
returnValue | get (uint idx, OptionsName name, double &value) const |
Returns value of an existing option item of double type within the option list of given index. | |
returnValue | addOption (OptionsName name, int value) |
Add an option item with a given integer default value to the all option lists. | |
returnValue | addOption (OptionsName name, double value) |
Add an option item with a given double default value to the all option lists. | |
returnValue | addOption (uint idx, OptionsName name, int value) |
Add an option item with a given integer default value to option list with given index. | |
returnValue | addOption (uint idx, OptionsName name, double value) |
Add an option item with a given double default value to option list with given index. | |
BooleanType | haveOptionsChanged () const |
Determines whether options of at least one option list have been modified. | |
BooleanType | haveOptionsChanged (uint idx) const |
Determines whether options of option list with given index have been modified. | |
returnValue | setAll (LogName _name, const MatrixVariablesGrid &values) |
Sets all numerical values at all time instants of all items with given name within all records. | |
returnValue | setLast (LogName _name, int lastValue, double time=-INFTY) |
Sets numerical value at last time instant of all items with given name within all records. | |
returnValue | setLast (LogName _name, double lastValue, double time=-INFTY) |
Sets numerical value at last time instant of all items with given name within all records. | |
returnValue | setLast (LogName _name, const Vector &lastValue, double time=-INFTY) |
Sets numerical value at last time instant of all items with given name within all records. | |
returnValue | setLast (LogName _name, const Matrix &lastValue, double time=-INFTY) |
Sets numerical value at last time instant of all items with given name within all records. | |
returnValue | setLast (LogName _name, const VariablesGrid &lastValue, double time=-INFTY) |
Sets numerical value at last time instant of all items with given name within all records. | |
int | addLogRecord (LogRecord &_record) |
Adds a record to the log collection. | |
returnValue | printLogRecord (int idx, LogPrintMode _mode=PRINT_ITEM_BY_ITEM) const |
Prints whole record with specified index into internally specified file; all items are printed according to the output format settings. | |
returnValue | plot (PlotFrequency _frequency=PLOT_IN_ANY_CASE) |
Plots all windows of the plot collection, each one into a new figure. | |
returnValue | replot (PlotFrequency _frequency=PLOT_IN_ANY_CASE) |
Plots all windows of the plot collection, each one into the corresponding existing figure, if possible. | |
Protected Member Functions | |
virtual returnValue | setupLogging () |
virtual returnValue | setupQPobject (uint nV, uint nC)=0 |
Setups QP object. | |
virtual returnValue | makeBoundsConsistent (DenseCP *cp) const |
virtual returnValue | setupOptions () |
Protected Attributes | |
QPStatus | qpStatus |
int | numberOfSteps |
UserInteraction * | userInteraction |
Pointer to top-level user interface. | |
BooleanType | useModuleStandalone |
Flag indicating whether algorithmic module is used stand-alone. | |
int | outputLoggingIdx |
Index of log record for algorithmic standard output to be optionally used within derived classes. |
The class DenseQPsolver provides an abstract base class for different algorithms for solving quadratic programming (QP) problems.
References numberOfSteps, QPS_NOT_INITIALIZED, qpStatus, and setupLogging().
DenseQPsolver::DenseQPsolver | ( | UserInteraction * | _userInteraction | ) |
References numberOfSteps, QPS_NOT_INITIALIZED, qpStatus, and setupLogging().
DenseQPsolver::DenseQPsolver | ( | const DenseQPsolver & | rhs | ) |
References numberOfSteps, and qpStatus.
int AlgorithmicBase::addLogRecord | ( | LogRecord & | _record | ) | [inline, inherited] |
[in] | record | Record to be added. |
References Logging::addLogRecord(), and AlgorithmicBase::userInteraction.
Referenced by SCPmethod::setupLogging(), setupLogging(), DynamicDiscretization::setupLogging(), and Integrator::setupLogging().
returnValue AlgorithmicBase::addOption | ( | OptionsName | name, |
int | value | ||
) | [inline, inherited] |
[in] | name | Name of new option item. |
[in] | value | Default value of new option. |
References Options::addOption(), and AlgorithmicBase::userInteraction.
Referenced by BandedCPsolver::setupOptions(), NLPsolver::setupOptions(), DynamicDiscretization::setupOptions(), and Integrator::setupOptions().
returnValue AlgorithmicBase::addOption | ( | OptionsName | name, |
double | value | ||
) | [inline, inherited] |
[in] | name | Name of new option item. |
[in] | value | Default value of new option. |
References Options::addOption(), and AlgorithmicBase::userInteraction.
returnValue AlgorithmicBase::addOption | ( | uint | idx, |
OptionsName | name, | ||
int | value | ||
) | [inline, inherited] |
[in] | idx | Index of option list. |
[in] | name | Name of new option item. |
[in] | value | Default value of new option. |
References Options::addOption(), and AlgorithmicBase::userInteraction.
returnValue AlgorithmicBase::addOption | ( | uint | idx, |
OptionsName | name, | ||
double | value | ||
) | [inline, inherited] |
[in] | idx | Index of option list. |
[in] | name | Name of new option item. |
[in] | value | Default value of new option. |
References Options::addOption(), and AlgorithmicBase::userInteraction.
returnValue AlgorithmicBase::addOptionsList | ( | ) | [inherited] |
References Options::addOptionsList(), and AlgorithmicBase::userInteraction.
Referenced by ShootingMethod::addStage().
virtual DenseCPsolver* DenseQPsolver::clone | ( | ) | const [pure virtual] |
Implements DenseCPsolver.
Implemented in QPsolver_qpOASES.
virtual DenseQPsolver* DenseQPsolver::cloneDenseQPsolver | ( | ) | const [pure virtual] |
Implemented in QPsolver_qpOASES.
Referenced by CondensingBasedCPsolver::CondensingBasedCPsolver(), and CondensingBasedCPsolver::operator=().
returnValue AlgorithmicBase::get | ( | OptionsName | name, |
int & | value | ||
) | const [inline, inherited] |
[in] | name | Name of option item. |
[out] | value | Value of option. |
References Options::get(), and AlgorithmicBase::userInteraction.
returnValue AlgorithmicBase::get | ( | OptionsName | name, |
double & | value | ||
) | const [inline, inherited] |
[in] | name | Name of option item. |
[out] | value | Value of option. |
References Options::get(), and AlgorithmicBase::userInteraction.
returnValue AlgorithmicBase::get | ( | uint | idx, |
OptionsName | name, | ||
int & | value | ||
) | const [inline, inherited] |
[in] | idx | Index of option list. |
[in] | name | Name of option item. |
[out] | value | Value of option. |
References Options::get(), and AlgorithmicBase::userInteraction.
returnValue AlgorithmicBase::get | ( | uint | idx, |
OptionsName | name, | ||
double & | value | ||
) | const [inline, inherited] |
[in] | idx | Index of option list. |
[in] | name | Name of option item. |
[out] | value | Value of option. |
References Options::get(), and AlgorithmicBase::userInteraction.
BEGIN_NAMESPACE_ACADO returnValue AlgorithmicBase::getAll | ( | LogName | _name, |
MatrixVariablesGrid & | values | ||
) | const [inline, inherited] |
If this item exists in more than one record, the first one is choosen as they are expected to have identical values anyhow.
[in] | _name | Internal name of item. |
[out] | values | All numerical values at all time instants of given item. |
References Logging::getAll(), and AlgorithmicBase::userInteraction.
virtual returnValue DenseQPsolver::getDualSolution | ( | Vector & | yOpt | ) | const [pure virtual] |
yOpt | OUTPUT: dual solution vector. |
Implemented in QPsolver_qpOASES.
Referenced by solve(), and CondensingBasedCPsolver::solveQP().
returnValue AlgorithmicBase::getFirst | ( | LogName | _name, |
Matrix & | firstValue | ||
) | const [inline, inherited] |
If this item exists in more than one record, the first one is choosen as they are expected to have identical values anyhow.
[in] | _name | Internal name of item. |
[out] | firstValue | Numerical value at first time instant of given item. |
References Logging::getFirst(), and AlgorithmicBase::userInteraction.
returnValue AlgorithmicBase::getFirst | ( | LogName | _name, |
VariablesGrid & | firstValue | ||
) | const [inline, inherited] |
If this item exists in more than one record, the first one is choosen as they are expected to have identical values anyhow.
[in] | _name | Internal name of item. |
[out] | firstValue | Numerical value at first time instant of given item. |
References Logging::getFirst(), and AlgorithmicBase::userInteraction.
returnValue AlgorithmicBase::getLast | ( | LogName | _name, |
Matrix & | lastValue | ||
) | const [inline, inherited] |
If this item exists in more than one record, the first one is choosen as they are expected to have identical values anyhow.
[in] | _name | Internal name of item. |
[out] | lastValue | Numerical value at last time instant of given item. |
References Logging::getLast(), and AlgorithmicBase::userInteraction.
Referenced by Process::simulate().
returnValue AlgorithmicBase::getLast | ( | LogName | _name, |
VariablesGrid & | lastValue | ||
) | const [inline, inherited] |
If this item exists in more than one record, the first one is choosen as they are expected to have identical values anyhow.
[in] | _name | Internal name of item. |
[out] | lastValue | Numerical value at last time instant of given item. |
References Logging::getLast(), and AlgorithmicBase::userInteraction.
virtual uint DenseQPsolver::getNumberOfConstraints | ( | ) | const [pure virtual] |
Implemented in QPsolver_qpOASES.
Referenced by CondensingBasedCPsolver::solveQP().
uint DenseQPsolver::getNumberOfIterations | ( | ) | const [virtual] |
Implements DenseCPsolver.
References numberOfSteps.
virtual uint DenseQPsolver::getNumberOfVariables | ( | ) | const [pure virtual] |
Implemented in QPsolver_qpOASES.
Referenced by CondensingBasedCPsolver::solveQP().
virtual double DenseQPsolver::getObjVal | ( | ) | const [pure virtual] |
Implemented in QPsolver_qpOASES.
Options AlgorithmicBase::getOptions | ( | uint | idx | ) | const [inherited] |
[in] | idx | Index of option list. |
References Options::getOptions(), and AlgorithmicBase::userInteraction.
Referenced by ShootingMethod::evaluate().
virtual returnValue DenseQPsolver::getPrimalSolution | ( | Vector & | xOpt | ) | const [pure virtual] |
xOpt | OUTPUT: primal solution vector. |
Implemented in QPsolver_qpOASES.
Referenced by solve(), and CondensingBasedCPsolver::solveQP().
BEGIN_NAMESPACE_ACADO QPStatus DenseQPsolver::getStatus | ( | ) | const [inline] |
virtual returnValue DenseQPsolver::getVarianceCovariance | ( | Matrix & | var | ) | [pure virtual] |
Implements DenseCPsolver.
Implemented in QPsolver_qpOASES.
virtual returnValue DenseQPsolver::getVarianceCovariance | ( | Matrix & | H, |
Matrix & | var | ||
) | [pure virtual] |
Implements DenseCPsolver.
Implemented in QPsolver_qpOASES.
BooleanType AlgorithmicBase::haveOptionsChanged | ( | ) | const [inline, inherited] |
References Options::haveOptionsChanged(), and AlgorithmicBase::userInteraction.
BooleanType AlgorithmicBase::haveOptionsChanged | ( | uint | idx | ) | const [inline, inherited] |
[in] | idx | Index of option list. |
References Options::haveOptionsChanged(), and AlgorithmicBase::userInteraction.
returnValue DenseQPsolver::init | ( | const DenseCP * | cp | ) | [virtual] |
Implements DenseCPsolver.
References ACADOERROR, ASSERT, BT_FALSE, DenseCP::getNC(), DenseCP::getNV(), DenseCP::isQP(), and RET_QP_SOLVER_CAN_ONLY_SOLVE_QP.
Referenced by CondensingBasedCPsolver::solveQP().
returnValue DenseQPsolver::init | ( | uint | nV, |
uint | nC | ||
) | [virtual] |
nV | Number of QP variables. |
nC | Number of QP constraints (without bounds). |
References setupQPobject().
BooleanType DenseQPsolver::isInfeasible | ( | ) | const [inline] |
References BT_FALSE, BT_TRUE, QPS_INFEASIBLE, and qpStatus.
BooleanType DenseQPsolver::isSolved | ( | ) | const [inline] |
References BT_FALSE, BT_TRUE, getStatus(), QPS_SOLVED, and QPS_SOLVED_RELAXATION.
Referenced by QPsolver_qpOASES::getObjVal(), and QPsolver_qpOASES::getVarianceCovariance().
BooleanType DenseQPsolver::isUnbounded | ( | ) | const [inline] |
References BT_FALSE, BT_TRUE, QPS_UNBOUNDED, and qpStatus.
Referenced by QPsolver_qpOASES::getObjVal().
returnValue DenseQPsolver::makeBoundsConsistent | ( | DenseCP * | cp | ) | const [protected, virtual] |
References ACADOERROR, VectorspaceElement::getDim(), DenseCP::lb, DenseCP::lbA, RET_INVALID_ARGUMENTS, RET_QP_HAS_INCONSISTENT_BOUNDS, SQRT_EPS, SUCCESSFUL_RETURN, DenseCP::ub, DenseCP::ubA, and uint.
Referenced by solve().
DenseQPsolver & DenseQPsolver::operator= | ( | const DenseQPsolver & | rhs | ) |
References qpStatus.
returnValue AlgorithmicBase::plot | ( | PlotFrequency | _frequency = PLOT_IN_ANY_CASE | ) | [inline, inherited] |
[in] | _frequency | Frequency determining at which time instants the window is to be plotted. |
References Plotting::plot(), and AlgorithmicBase::userInteraction.
returnValue AlgorithmicBase::printLogRecord | ( | int | idx, |
LogPrintMode | _mode = PRINT_ITEM_BY_ITEM |
||
) | const [inline, inherited] |
[in] | idx | Index of record to be printed. |
[in] | _mode | Print mode: see documentation of LogPrintMode of details. |
References ACADOERROR, LogCollection::getNumLogRecords(), Logging::logCollection, LogCollection::print(), RET_INDEX_OUT_OF_BOUNDS, and AlgorithmicBase::userInteraction.
Referenced by SCPmethod::printIteration(), SCPmethod::printRuntimeProfile(), and Integrator::printRunTimeProfile().
returnValue AlgorithmicBase::replot | ( | PlotFrequency | _frequency = PLOT_IN_ANY_CASE | ) | [inline, inherited] |
[in] | _frequency | Frequency determining at which time instants the window is to be plotted. |
References Plotting::replot(), and AlgorithmicBase::userInteraction.
Referenced by SCPmethod::printIteration(), SCPmethod::solve(), and SCPmethod::step().
returnValue AlgorithmicBase::set | ( | OptionsName | name, |
int | value | ||
) | [inherited] |
[in] | name | Name of option item. |
[in] | value | New value of option. |
References Options::set(), and AlgorithmicBase::userInteraction.
Referenced by SCPmethod::initializeHessianProjection().
returnValue AlgorithmicBase::set | ( | OptionsName | name, |
double | value | ||
) | [inherited] |
[in] | name | Name of option item. |
[in] | value | New value of option. |
References Options::set(), and AlgorithmicBase::userInteraction.
returnValue AlgorithmicBase::set | ( | uint | idx, |
OptionsName | name, | ||
int | value | ||
) | [inherited] |
[in] | idx | Index of option list. |
[in] | name | Name of option item. |
[in] | value | New value of option. |
References Options::set(), and AlgorithmicBase::userInteraction.
returnValue AlgorithmicBase::set | ( | uint | idx, |
OptionsName | name, | ||
double | value | ||
) | [inherited] |
[in] | idx | Index of option list. |
[in] | name | Name of option item. |
[in] | value | New value of option. |
References Options::set(), and AlgorithmicBase::userInteraction.
returnValue AlgorithmicBase::setAll | ( | LogName | _name, |
const MatrixVariablesGrid & | values | ||
) | [inline, inherited] |
[in] | _name | Internal name of item. |
[in] | values | All numerical values at all time instants of given item. |
References Logging::logCollection, LogCollection::setAll(), and AlgorithmicBase::userInteraction.
returnValue AlgorithmicBase::setLast | ( | LogName | _name, |
int | lastValue, | ||
double | time = -INFTY |
||
) | [inline, inherited] |
[in] | _name | Internal name of item. |
[in] | lastValue | Numerical value at last time instant of given item. |
[in] | time | Time label of the instant. |
References Logging::logCollection, LogCollection::setLast(), and AlgorithmicBase::userInteraction.
Referenced by IntegratorBDF::evaluate(), IntegratorRK::evaluate(), IntegratorLYAPUNOV::evaluate(), CondensingBasedCPsolver::finalizeSolve(), IntegratorBDF::logCurrentIntegratorStep(), ShootingMethod::logTrajectory(), SCPmethod::performCurrentStep(), SCPstepLinesearch::performLineSearch(), SCPstepFullstep::performStep(), SCPstepLinesearch::performStep(), SCPmethod::prepareNextStep(), CondensingBasedCPsolver::prepareSolve(), SCPmethod::printIteration(), QPsolver_qpOASES::solve(), CondensingBasedCPsolver::solveCPsubproblem(), and SCPmethod::stopClockAndPrintRuntimeProfile().
returnValue AlgorithmicBase::setLast | ( | LogName | _name, |
double | lastValue, | ||
double | time = -INFTY |
||
) | [inline, inherited] |
[in] | _name | Internal name of item. |
[in] | lastValue | Numerical value at last time instant of given item. |
[in] | time | Time label of the instant. |
References Logging::logCollection, LogCollection::setLast(), and AlgorithmicBase::userInteraction.
returnValue AlgorithmicBase::setLast | ( | LogName | _name, |
const Vector & | lastValue, | ||
double | time = -INFTY |
||
) | [inline, inherited] |
[in] | _name | Internal name of item. |
[in] | lastValue | Numerical value at last time instant of given item. |
[in] | time | Time label of the instant. |
References Logging::logCollection, LogCollection::setLast(), and AlgorithmicBase::userInteraction.
returnValue AlgorithmicBase::setLast | ( | LogName | _name, |
const Matrix & | lastValue, | ||
double | time = -INFTY |
||
) | [inline, inherited] |
[in] | _name | Internal name of item. |
[in] | lastValue | Numerical value at last time instant of given item. |
[in] | time | Time label of the instant. |
References Logging::logCollection, LogCollection::setLast(), and AlgorithmicBase::userInteraction.
returnValue AlgorithmicBase::setLast | ( | LogName | _name, |
const VariablesGrid & | lastValue, | ||
double | time = -INFTY |
||
) | [inline, inherited] |
[in] | _name | Internal name of item. |
[in] | lastValue | Numerical value at last time instant of given item. |
[in] | time | Time label of the instant. |
References Logging::logCollection, LogCollection::setLast(), and AlgorithmicBase::userInteraction.
returnValue AlgorithmicBase::setOptions | ( | const Options & | arg | ) | [inherited] |
[in] | arg | New Options object to be assigned. |
References Options::setOptions(), and AlgorithmicBase::userInteraction.
Referenced by ShootingMethod::evaluate().
returnValue AlgorithmicBase::setOptions | ( | uint | idx, |
const Options & | arg | ||
) | [inherited] |
[in] | idx | Index of option list. |
[in] | arg | Options object containing the option list to be assigned. |
References Options::setOptions(), and AlgorithmicBase::userInteraction.
returnValue DenseQPsolver::setupLogging | ( | ) | [protected, virtual] |
Reimplemented from DenseCPsolver.
References LogRecord::addItem(), AlgorithmicBase::addLogRecord(), LOG_AT_EACH_ITERATION, LOG_IS_QP_RELAXED, LOG_NUM_QP_ITERATIONS, PS_DEFAULT, and SUCCESSFUL_RETURN.
Referenced by DenseQPsolver().
returnValue DenseCPsolver::setupOptions | ( | ) | [protected, virtual, inherited] |
References SUCCESSFUL_RETURN.
Referenced by DenseCPsolver::DenseCPsolver().
virtual returnValue DenseQPsolver::setupQPobject | ( | uint | nV, |
uint | nC | ||
) | [protected, pure virtual] |
nV | Number of QP variables. |
nC | Number of QP constraints (without bounds). |
Implemented in QPsolver_qpOASES.
Referenced by init().
returnValue DenseQPsolver::solve | ( | DenseCP * | cp_ | ) | [virtual] |
Implements DenseCPsolver.
Reimplemented in QPsolver_qpOASES.
References DenseCP::A, ACADOERROR, ASSERT, BT_FALSE, DenseCP::g, getDualSolution(), getPrimalSolution(), DenseCP::H, DenseCP::isQP(), DenseCP::lb, DenseCP::lbA, makeBoundsConsistent(), MAX_NUM_QP_ITERATIONS, RET_QP_HAS_INCONSISTENT_BOUNDS, RET_QP_SOLUTION_REACHED_LIMIT, RET_QP_SOLVER_CAN_ONLY_SOLVE_QP, DenseCP::setQPsolution(), SUCCESSFUL_RETURN, DenseCP::ub, and DenseCP::ubA.
Referenced by CondensingBasedCPsolver::solveQP().
virtual returnValue DenseQPsolver::solve | ( | double * | H, |
double * | A, | ||
double * | g, | ||
double * | lb, | ||
double * | ub, | ||
double * | lbA, | ||
double * | ubA, | ||
uint | maxIter | ||
) | [pure virtual] |
H | Hessian matrix of neighbouring QP to be solved. |
A | Constraint matrix of neighbouring QP to be solved. |
g | Gradient of neighbouring QP to be solved. |
lb | Lower bounds of neighbouring QP to be solved. |
ub | Upper bounds of neighbouring QP to be solved. |
lbA | Lower constraints' bounds of neighbouring QP to be solved. |
ubA | Upper constraints' bounds of neighbouring QP to be solved. |
maxIter | Maximum number of iterations. |
Implemented in QPsolver_qpOASES.
virtual returnValue DenseQPsolver::solve | ( | Matrix * | H, |
Matrix * | A, | ||
Vector * | g, | ||
Vector * | lb, | ||
Vector * | ub, | ||
Vector * | lbA, | ||
Vector * | ubA, | ||
uint | maxIter | ||
) | [pure virtual] |
H | Hessian matrix of neighbouring QP to be solved. |
A | Constraint matrix of neighbouring QP to be solved. |
g | Gradient of neighbouring QP to be solved. |
lb | Lower bounds of neighbouring QP to be solved. |
ub | Upper bounds of neighbouring QP to be solved. |
lbA | Lower constraints' bounds of neighbouring QP to be solved. |
ubA | Upper constraints' bounds of neighbouring QP to be solved. |
maxIter | Maximum number of iterations. |
Implemented in QPsolver_qpOASES.
virtual returnValue DenseQPsolver::step | ( | double * | H, |
double * | A, | ||
double * | g, | ||
double * | lb, | ||
double * | ub, | ||
double * | lbA, | ||
double * | ubA | ||
) | [pure virtual] |
H | Hessian matrix of neighbouring QP to be solved. |
A | Constraint matrix of neighbouring QP to be solved. |
g | Gradient of neighbouring QP to be solved. |
lb | Lower bounds of neighbouring QP to be solved. |
ub | Upper bounds of neighbouring QP to be solved. |
lbA | Lower constraints' bounds of neighbouring QP to be solved. |
ubA | Upper constraints' bounds of neighbouring QP to be solved. |
Implemented in QPsolver_qpOASES.
virtual returnValue DenseQPsolver::step | ( | Matrix * | H, |
Matrix * | A, | ||
Vector * | g, | ||
Vector * | lb, | ||
Vector * | ub, | ||
Vector * | lbA, | ||
Vector * | ubA | ||
) | [pure virtual] |
H | Hessian matrix of neighbouring QP to be solved. |
A | Constraint matrix of neighbouring QP to be solved. |
g | Gradient of neighbouring QP to be solved. |
lb | Lower bounds of neighbouring QP to be solved. |
ub | Upper bounds of neighbouring QP to be solved. |
lbA | Lower constraints' bounds of neighbouring QP to be solved. |
ubA | Upper constraints' bounds of neighbouring QP to be solved. |
Implemented in QPsolver_qpOASES.
int DenseQPsolver::numberOfSteps [protected] |
Referenced by DenseQPsolver(), getNumberOfIterations(), and QPsolver_qpOASES::solve().
int AlgorithmicBase::outputLoggingIdx [protected, inherited] |
QPStatus DenseQPsolver::qpStatus [protected] |
BooleanType AlgorithmicBase::useModuleStandalone [protected, inherited] |
UserInteraction* AlgorithmicBase::userInteraction [protected, inherited] |
Referenced by AlgorithmicBase::addLogRecord(), AlgorithmicBase::addOption(), AlgorithmicBase::addOptionsList(), AlgorithmicBase::AlgorithmicBase(), AlgorithmicBase::get(), AlgorithmicBase::getAll(), ExplicitRungeKuttaExport::getCode(), AlgorithmicBase::getFirst(), ExplicitRungeKuttaExport::getFunctionDeclarations(), AlgorithmicBase::getLast(), AlgorithmicBase::getOptions(), AlgorithmicBase::haveOptionsChanged(), AlgorithmicBase::operator=(), AlgorithmicBase::plot(), AlgorithmicBase::printLogRecord(), AlgorithmicBase::replot(), AlgorithmicBase::set(), AlgorithmicBase::setAll(), ExplicitRungeKuttaExport::setDifferentialEquation(), AlgorithmicBase::setLast(), AlgorithmicBase::setOptions(), ExportGaussElim::setup(), ExportHouseholderQR::setup(), ImplicitRungeKuttaExport::setup(), SCPmethod::setup(), ExportGaussNewtonForces::setupQPInterface(), ExportGaussNewtonCN2::setupQPInterface(), ExportGaussNewtonCondensed::setupQPInterface(), CondensingBasedCPsolver::solveQP(), and AlgorithmicBase::~AlgorithmicBase().