|
|
| 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.