Minotaur 0.4.1
Docs for developers
|
#include <LPEngine.h>
Public Member Functions | |
LPEngine () | |
Constructor. May set default parameters/options here. | |
virtual | ~LPEngine () |
Destructor must be implemented if memory needs to be freed. | |
virtual void | enableFactorization () |
virtual void | disableFactorization () |
virtual bool | IsOptimalBasisAvailable () |
virtual void | getBasics (int *) |
virtual void | getBInvARow (int, double *, double *) |
virtual int | getNumCols () |
virtual int | getNumRows () |
virtual const double * | getColLower () |
virtual const double * | getColUpper () |
virtual const double * | getRowLower () |
virtual const double * | getRowUpper () |
virtual const double * | getRightHandSide () |
virtual const double * | getRowActivity () |
virtual const double * | getOriginalTableau () |
virtual const int * | getRowStarts () |
virtual const int * | getIndicesofVars () |
virtual const int * | getRowLength () |
virtual void | loadDualWarmStart (int, double *) |
![]() | |
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 LPEengine class is an abstract class for interfacing LP solvers (like OsiLPEngine). A derived class must implement calls to the LP solver for the methods described here.
add more methods for accessing simplex tableaux.
add more methods for accessing dual rays etc.