13#ifndef MINOTAURENGINE_H
14#define MINOTAURENGINE_H
23 typedef Engine* EnginePtr;
24 typedef const Engine* ConstEnginePtr;
25 typedef const Solution* ConstSolutionPtr;
26 typedef WarmStart* WarmStartPtr;
27 typedef const WarmStart* ConstWarmStartPtr;
66 double lb,
double ub) = 0;
147 virtual void removeCons(std::vector<ConstraintPtr> &delcons) = 0;
Declare important 'types' used in Minotaur.
The Constraint class is used to manage a constraint.
Definition: Constraint.h:61
virtual EngineStatus getStatus()=0
Get the status of the last solve command.
virtual void resetIterationLimit()=0
Reset the iteration limit to maximum possible.
virtual double getSolutionValue()=0
Get the solution value.
virtual void setOptionsForSingleSolve()
Definition: Engine.h:166
virtual void removeCons(std::vector< ConstraintPtr > &delcons)=0
Delete constraints from the engine.
virtual LoggerPtr getLogger()
Return pointer to the log manager.
Definition: Engine.h:139
virtual std::string getStatusString()
Return a string that describes the status in simple words.
Definition: Engine.cpp:26
virtual void clear()=0
Clear the loaded problem, if any, from the engine.
virtual void fillStats(std::vector< double > &)
Accumulate statistics from different threads in a common data.
Definition: Engine.h:179
virtual void writeStats(std::ostream &) const
Definition: Engine.h:175
virtual EngineStatus solve()=0
Solve the problem that was loaded previously.
virtual ConstSolutionPtr getSolution()=0
Get the solution obtained after solving the problem.
virtual void disableStrBrSetup()=0
Restore settings after strong branching.
virtual EnginePtr emptyCopy()
Get a fresh copy of the engine, without the problem loaded into it.
Definition: Engine.h:85
virtual int setDualObjLimit(double)=0
Set the dual objective limit.
virtual void changeConstraint(ConstraintPtr c, LinearFunctionPtr lf, double lb, double ub)=0
Change the linear function, and the bounds of a constraint.
LoggerPtr logger_
Keep log.
Definition: Engine.h:186
virtual ConstWarmStartPtr getWarmStart()=0
Engine()
Default constructor.
Definition: Engine.cpp:14
virtual ~Engine()
Destroy.
Definition: Engine.cpp:21
virtual void changeConstraint(ConstraintPtr c, NonlinearFunctionPtr nlf)=0
Change the nonlinear function, and the bounds of a constraint.
virtual void changeBound(VariablePtr var, double new_lb, double new_ub)=0
Change both bounds of a variable.
EngineStatus status_
Status of the last solve.
Definition: Engine.h:183
virtual void setLogger(LoggerPtr logger)
Set a new log manager.
Definition: Engine.h:162
virtual void addConstraint(ConstraintPtr)=0
Add a new constraint to the engine.
virtual WarmStartPtr getWarmStartCopy()=0
virtual void negateObj()=0
Negate the objective function. Min f is changed to Min -f.
virtual void loadFromWarmStart(const WarmStartPtr ws)=0
virtual void changeBound(VariablePtr var, BoundType lu, double new_val)=0
Change a bound of a variable.
virtual void enableStrBrSetup()=0
Make settings for strong branching.
virtual void changeBound(ConstraintPtr cons, BoundType lu, double new_val)=0
Change a bound of a constraint.
virtual std::string getName() const =0
Get the name.
virtual void changeObj(FunctionPtr f, double cb)=0
Change objective function.
virtual void setIterationLimit(int limit)=0
virtual void setOptionsForRepeatedSolve()
Set options to solve the NLP repeatedly, with few changes.
Definition: Engine.h:169
virtual void load(ProblemPtr problem)=0
Definition: Function.h:37
The base class linear function is of the form c'x.
Definition: LinearFunction.h:31
Base class for nonlinear functions.
Definition: NonlinearFunction.h:31
Definition: Solution.h:30
Definition: Variable.h:31
Definition: WarmStart.h:45
Definition: ActiveNodeStore.h:20
BoundType
Different types of variable-bounds.
Definition: Types.h:131
EngineStatus
Different status that an external engine may report.
Definition: Types.h:176