|
| BqpdEngine (EnvPtr env) |
| Constructor using given environment options.
|
|
| ~BqpdEngine () |
| Destroy.
|
|
void | addConstraint (ConstraintPtr) |
| Add a new constraint to the engine. 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 | changeConstraint (ConstraintPtr con, LinearFunctionPtr lf, double lb, double ub) |
| Change the linear function, and the bounds of a constraint. More...
|
|
void | changeConstraint (ConstraintPtr con, NonlinearFunctionPtr nlf) |
| Change the nonlinear function, and the bounds of a constraint. More...
|
|
void | changeObj (FunctionPtr f, double cb) |
| Change objective function. More...
|
|
void | clear () |
| Method to unload the current problem. More...
|
|
void | disableStrBrSetup () |
| Restore settings after strong branching. More...
|
|
EnginePtr | emptyCopy () |
| Return an empty BqpdEngine pointer. More...
|
|
void | enableStrBrSetup () |
| Make settings for strong branching. More...
|
|
std::string | getName () const |
| Get the name. More...
|
|
ConstSolutionPtr | getSolution () |
| Report the solution. More...
|
|
double | getSolutionValue () |
| Report the solution value from the last solve. More...
|
|
EngineStatus | getStatus () |
| Report the status of the last solve. More...
|
|
ConstWarmStartPtr | getWarmStart () |
|
WarmStartPtr | getWarmStartCopy () |
|
void | load (ProblemPtr problem) |
| Method to read the problem and initialize bqpd. More...
|
|
void | loadFromWarmStart (WarmStartPtr) |
|
void | negateObj () |
| Negate the objective function. Min f is changed to Min -f. More...
|
|
void | removeCons (std::vector< ConstraintPtr > &delcons) |
| Delete constraints from the engine. More...
|
|
void | resetIterationLimit () |
| Reset the iteration limit to maximum possible. More...
|
|
void | setIterationLimit (int limit) |
|
int | setDualObjLimit (double) |
| Set the dual objective limit. More...
|
|
EngineStatus | solve () |
| Solve the problem that was loaded and report the status. More...
|
|
void | writeStats (std::ostream &out) const |
|
| 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...
|
|
BqpdEngine is used to solve QP problems using bqpd. bqpd finds a KT point for the bounded QP problem
minimize f(x) = ct.x + xt.G.x/2
subject to l <= [I : A]t.x <= u (t = transpose)
where x and c are n-vectors, G is a symmetric n*n matrix, and A is an n*m matrix. If G is also positive semi-definite then the KT point is a global solution, else usually a local solution. The method may also be used efficiently to solve an LP problem (G=0). bqpd can be used to solve problems completely to optimality or approximately.