Minotaur 0.4.1
Docs for developers
|
#include <qpOASESEngine.h>
Public Member Functions | |
qpOASESEngine () | |
Default constructor. | |
qpOASESEngine (EnvPtr env) | |
Constructor using given environment options. | |
EnginePtr | emptyCopy () |
Return an empty qpOASESEngine pointer. More... | |
void | load (ProblemPtr problem) |
Method to read the problem and initialize qpOASES. More... | |
void | clear () |
Method to unload the current problem. More... | |
EngineStatus | solve () |
Solve the problem that was loaded and report the status. More... | |
double | getSolutionValue () |
Report the solution value from the last solve. More... | |
ConstSolutionPtr | getSolution () |
Report the solution. More... | |
EngineStatus | getStatus () |
Report the status of the last solve. More... | |
void | changeBound (ConstraintPtr cons, BoundType lu, double new_val) |
Change a bound of a constraint. More... | |
void | changeBound (VariablePtr var, BoundType lu, double new_val) |
Change a bound of a variable. More... | |
void | changeBound (VariablePtr var, double new_lb, double new_ub) |
Change both bounds of a variable. More... | |
void | addConstraint (ConstraintPtr) |
Add a new constraint to the engine. More... | |
void | changeObj (FunctionPtr f, double cb) |
Change objective function. More... | |
void | negateObj () |
Negate the objective function. Min f is changed to Min -f. More... | |
void | changeConstraint (ConstraintPtr con, LinearFunctionPtr lf, const double &ub) |
ConstWarmStartPtr | getWarmStart () |
WarmStartPtr | getWarmStartCopy () |
void | loadFromWarmStart (WarmStartPtr) |
void | setIterationLimit (int limit) |
int | setDualObjLimit (double) |
Set the dual objective limit. More... | |
void | resetIterationLimit () |
Reset the iteration limit to maximum possible. More... | |
void | enableStrBrSetup () |
Make settings for strong branching. More... | |
void | disableStrBrSetup () |
Restore settings after strong branching. More... | |
void | writeStats () |
std::string | getName () const |
Get the name. More... | |
~qpOASESEngine () | |
Destroy. | |
![]() | |
QPEngine () | |
Constructor. May set default parameters/options here. | |
![]() | |
Engine () | |
Default constructor. | |
virtual | ~Engine () |
Destroy. | |
virtual void | addConstraint (ConstraintPtr)=0 |
Add a new constraint to the engine. More... | |
virtual void | changeBound (ConstraintPtr cons, BoundType lu, double new_val)=0 |
Change a bound of a constraint. More... | |
virtual void | changeBound (VariablePtr var, BoundType lu, double new_val)=0 |
Change a bound of a variable. More... | |
virtual void | changeBound (VariablePtr var, double new_lb, double new_ub)=0 |
Change both bounds of a variable. More... | |
virtual void | changeConstraint (ConstraintPtr c, LinearFunctionPtr lf, double lb, double ub)=0 |
Change the linear function, and the bounds of a constraint. More... | |
virtual void | changeConstraint (ConstraintPtr c, NonlinearFunctionPtr nlf)=0 |
Change the nonlinear function, and the bounds of a constraint. More... | |
virtual void | changeObj (FunctionPtr f, double cb)=0 |
Change objective function. More... | |
virtual void | clear ()=0 |
Clear the loaded problem, if any, from the engine. More... | |
virtual void | disableStrBrSetup ()=0 |
Restore settings after strong branching. More... | |
virtual EnginePtr | emptyCopy () |
Get a fresh copy of the engine, without the problem loaded into it. More... | |
virtual void | enableStrBrSetup ()=0 |
Make settings for strong branching. More... | |
virtual ConstSolutionPtr | getSolution ()=0 |
Get the solution obtained after solving the problem. More... | |
virtual double | getSolutionValue ()=0 |
Get the solution value. More... | |
virtual EngineStatus | solve ()=0 |
Solve the problem that was loaded previously. More... | |
virtual std::string | getName () const =0 |
Get the name. More... | |
virtual EngineStatus | getStatus ()=0 |
Get the status of the last solve command. More... | |
virtual std::string | getStatusString () |
Return a string that describes the status in simple words. | |
virtual ConstWarmStartPtr | getWarmStart ()=0 |
virtual WarmStartPtr | getWarmStartCopy ()=0 |
virtual void | load (ProblemPtr problem)=0 |
virtual void | loadFromWarmStart (const WarmStartPtr ws)=0 |
virtual void | negateObj ()=0 |
Negate the objective function. Min f is changed to Min -f. More... | |
virtual LoggerPtr | getLogger () |
Return pointer to the log manager. | |
virtual void | removeCons (std::vector< ConstraintPtr > &delcons)=0 |
Delete constraints from the engine. More... | |
virtual void | resetIterationLimit ()=0 |
Reset the iteration limit to maximum possible. More... | |
virtual int | setDualObjLimit (double)=0 |
Set the dual objective limit. More... | |
virtual void | setIterationLimit (int limit)=0 |
virtual void | setLogger (LoggerPtr logger) |
Set a new log manager. | |
virtual void | setOptionsForSingleSolve () |
virtual void | setOptionsForRepeatedSolve () |
Set options to solve the NLP repeatedly, with few changes. More... | |
virtual void | writeStats (std::ostream &) const |
virtual void | fillStats (std::vector< double > &) |
Accumulate statistics from different threads in a common data. More... | |
Friends | |
class | Problem |
Additional Inherited Members | |
![]() | |
EngineStatus | status_ |
Status of the last solve. | |
LoggerPtr | logger_ |
Keep log. | |
qpOASESEngine is used to solve QP problems using the parametric primal-dual active set code qpOASES. qpOASES finds a KT point for the bounded QP problem
minimize f(x) = x'Hx/2 + g'x subject to lb <= x <= ub lbA <= A.x <= ubA
where x and g are n-vectors, H is a symmetric n*n matrix, and A is an m*n matrix. If H is also positive semi-definite then the KT point is a global solution, else a stationary point.
|
inlinevirtual |
Add a new constraint to the engine.
Implements Minotaur::Engine.
|
virtual |
Change a bound of a constraint.
Implements Minotaur::Engine.
|
virtual |
Change a bound of a variable.
Implements Minotaur::Engine.
|
virtual |
Change both bounds of a variable.
Implements Minotaur::Engine.
|
virtual |
Change objective function.
Implements Minotaur::Engine.
|
virtual |
Method to unload the current problem.
Implements Minotaur::Engine.
|
virtual |
Restore settings after strong branching.
Implements Minotaur::Engine.
|
virtual |
Return an empty qpOASESEngine pointer.
Reimplemented from Minotaur::Engine.
|
virtual |
Make settings for strong branching.
Implements Minotaur::Engine.
|
virtual |
Get the name.
Implements Minotaur::Engine.
|
virtual |
Report the solution.
Implements Minotaur::Engine.
|
virtual |
Report the solution value from the last solve.
Implements Minotaur::Engine.
|
virtual |
Report the status of the last solve.
Implements Minotaur::Engine.
|
virtual |
Get warm start information from the engine. This warm start information can change if the engine is used to solve something else again.
Implements Minotaur::Engine.
|
virtual |
Get a full copy of warm start information from the engine. Does not change even if the engine starts solving something else later on.
Implements Minotaur::Engine.
|
virtual |
Method to read the problem and initialize qpOASES.
Implements Minotaur::Engine.
|
virtual |
Use warm start information for solving the next problem. May Create a copy of WarmStart and use the copy inside the engine; the copy (but not the original) gets updated after solving a relaxation.
Implements Minotaur::Engine.
|
virtual |
Negate the objective function. Min f is changed to Min -f.
Implements Minotaur::Engine.
|
virtual |
Reset the iteration limit to maximum possible.
Implements Minotaur::Engine.
|
inlinevirtual |
Set the dual objective limit.
Implements Minotaur::Engine.
|
virtual |
Set a limit on number of iterations. For strong-branching, for instance.
Implements Minotaur::Engine.
|
virtual |
Solve the problem that was loaded and report the status.
Implements Minotaur::Engine.