18#ifndef MINOTAURQPOASESENGINE_H
19#define MINOTAURQPOASESENGINE_H
32 typedef Environment* EnvPtr;
33 typedef Problem* ProblemPtr;
34 typedef Solution* SolutionPtr;
42 qpOASES::SQProblem *qp;
44 qpOASES::SymSparseMat *H;
45 qpOASES::SparseMatrixRow *A;
47 qpOASES::sparse_int_t *Hir;
48 qpOASES::sparse_int_t *Hjc;
49 qpOASES::real_t *Hval;
51 qpOASES::sparse_int_t *Air;
52 qpOASES::sparse_int_t *Ajc;
53 qpOASES::real_t *Aval;
76 qpOASES::Bounds bounds;
77 qpOASES::Constraints constraints;
89 virtual void write(std::ostream &)
const {};
239 void solve_ (
int mode,
double *f);
242 void storeSol_ (
double f);
245 void setGradient_ ();
251 void setInitialPoint_ ();
254 void setVarBounds_ ();
257 void setConsBounds_ ();
305 typedef qpOASESEngine* qpOASESEnginePtr;
The Constraint class is used to manage a constraint.
Definition: Constraint.h:61
Definition: Environment.h:28
Definition: Function.h:37
The base class linear function is of the form c'x.
Definition: LinearFunction.h:31
Definition: QPEngine.h:24
Definition: Solution.h:30
Definition: Variable.h:31
Definition: WarmStart.h:45
Definition: qpOASESEngine.h:40
Definition: qpOASESEngine.h:143
void load(ProblemPtr problem)
Method to read the problem and initialize qpOASES.
Definition: qpOASESEngine.cpp:216
void negateObj()
Negate the objective function. Min f is changed to Min -f.
Definition: qpOASESEngine.cpp:670
std::string getName() const
Get the name.
Definition: qpOASESEngine.cpp:730
ConstWarmStartPtr getWarmStart()
Definition: qpOASESEngine.cpp:735
void changeObj(FunctionPtr f, double cb)
Change objective function.
Definition: qpOASESEngine.cpp:663
EngineStatus solve()
Solve the problem that was loaded and report the status.
Definition: qpOASESEngine.cpp:367
int setDualObjLimit(double)
Set the dual objective limit.
Definition: qpOASESEngine.h:210
EnginePtr emptyCopy()
Return an empty qpOASESEngine pointer.
Definition: qpOASESEngine.cpp:207
double getSolutionValue()
Report the solution value from the last solve.
Definition: qpOASESEngine.cpp:608
void resetIterationLimit()
Reset the iteration limit to maximum possible.
Definition: qpOASESEngine.cpp:703
void addConstraint(ConstraintPtr)
Add a new constraint to the engine.
Definition: qpOASESEngine.h:185
ConstSolutionPtr getSolution()
Report the solution.
Definition: qpOASESEngine.cpp:614
WarmStartPtr getWarmStartCopy()
Definition: qpOASESEngine.cpp:741
void clear()
Method to unload the current problem.
Definition: qpOASESEngine.cpp:225
void changeBound(ConstraintPtr cons, BoundType lu, double new_val)
Change a bound of a constraint.
Definition: qpOASESEngine.cpp:626
void loadFromWarmStart(WarmStartPtr)
Definition: qpOASESEngine.cpp:748
void enableStrBrSetup()
Make settings for strong branching.
Definition: qpOASESEngine.cpp:685
~qpOASESEngine()
Destroy.
Definition: qpOASESEngine.cpp:199
qpOASESEngine()
Default constructor.
Definition: qpOASESEngine.cpp:149
EngineStatus getStatus()
Report the status of the last solve.
Definition: qpOASESEngine.cpp:620
void setIterationLimit(int limit)
Definition: qpOASESEngine.cpp:697
void disableStrBrSetup()
Restore settings after strong branching.
Definition: qpOASESEngine.cpp:691
Definition: qpOASESEngine.h:68
Definition: qpOASESEngine.h:98
double cTime
Time taken in strong branching alone.
Definition: qpOASESEngine.h:104
UInt n_total
Number of iterations in strong branching alone.
Definition: qpOASESEngine.h:108
double strTime
Sum of time taken in all calls to solve.
Definition: qpOASESEngine.h:103
UInt strCalls
Total number of calls to solve.
Definition: qpOASESEngine.h:101
double time
Calls to solve while strong branching.
Definition: qpOASESEngine.h:102
UInt strIters
Sum of number of iterations in all calls.
Definition: qpOASESEngine.h:106
UInt iters
Time taken in copying data for strong-branching.
Definition: qpOASESEngine.h:105
Definition: qpOASESEngine.h:82
virtual bool hasInfo()
Definition: qpOASESEngine.h:86
virtual void write(std::ostream &) const
Write to an output stream.
Definition: qpOASESEngine.h:89
Definition: ActiveNodeStore.h:20
BoundType
Different types of variable-bounds.
Definition: Types.h:131
unsigned int UInt
Unsigned integer.
Definition: Types.h:30
EngineStatus
Different status that an external engine may report.
Definition: Types.h:176