Minotaur 0.4.1
Docs for developers
|
#include <NLPEngine.h>
Public Member Functions | |
NLPEngine () | |
Default constructor. | |
virtual | ~NLPEngine () |
Default destructor. | |
![]() | |
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. | |
The NLPEngine class is an abstract class for interfacing NLP solvers (like Ipopt). A derived class must implement calls to the NLP solver for the methods described here.
Usually, NLP solvers generate a sequence of points and ask back the function evaluation, gradient of objective function, jacobian of the constraints, hessian of the lagrangean etc. A derived class of NLPEngine should therefore implment methods that can return the desired information to the solver.
add more methods for modifying the problem
add more methods for setting solver options and parameters