13#ifndef MINOTAURCPLEXLPENGINE_H 
   14#define MINOTAURCPLEXLPENGINE_H 
   15#include <ilcplex/cplexx.h> 
   29  typedef Environment* EnvPtr;
 
   30  typedef Problem* ProblemPtr;
 
   31  typedef Solution* SolutionPtr;
 
   32  typedef WarmStart* WarmStartPtr;
 
   72    void write(std::ostream &)
 const {};
 
 
  149                          double lb, 
double ub);
 
  200    void printx(
double *, 
UInt );
 
  203    void printx(
const int *, 
UInt );
 
  206    void removeCons(std::vector<ConstraintPtr> &delcons);
 
  218    void setTimeLimit(
double);
 
  224    void writeLP(
const char *filename) 
const;
 
  260    static const std::string me_;
 
  266    double dualObjLimit_;
 
 
  290  typedef CplexLPEngine* CplexLPEnginePtr;
 
Declare the class LPEngine for solving LPs and getting solution.
 
The Constraint class is used to manage a constraint.
Definition Constraint.h:61
 
The CplexLPEngine class can be called to solve LP problems.
Definition CplexLPEngine.h:121
 
std::string getName() const
Get the name.
Definition CplexLPEngine.cpp:304
 
~CplexLPEngine()
Destroy.
Definition CplexLPEngine.cpp:128
 
void resetIterationLimit()
Reset the iteration limit to maximum possible.
Definition CplexLPEngine.cpp:679
 
double getSolutionValue()
Return the solution value of the objective after solving the LP.
Definition CplexLPEngine.cpp:310
 
void negateObj()
Negate the objective function. Min f is changed to Min -f.
Definition CplexLPEngine.cpp:656
 
void clear()
Clear the problem.
Definition CplexLPEngine.cpp:260
 
EngineStatus solve()
Solve the problem that was loaded previously.
Definition CplexLPEngine.cpp:704
 
ConstSolutionPtr getSolution()
Get the solution obtained after solving the problem.
Definition CplexLPEngine.cpp:316
 
WarmStartPtr getWarmStartCopy()
Definition CplexLPEngine.cpp:328
 
void fillStats(std::vector< double > &)
Accumulate statistics from different threads in a common data.
Definition CplexLPEngine.cpp:292
 
void changeBound(ConstraintPtr cons, BoundType lu, double new_val)
Change a bound of a constraint.
Definition CplexLPEngine.cpp:200
 
void load(ProblemPtr problem)
Definition CplexLPEngine.cpp:357
 
int setDualObjLimit(double)
Set the dual objective limit.
Definition CplexLPEngine.cpp:691
 
void removeCons(std::vector< ConstraintPtr > &delcons)
Delete constraints from the engine.
Definition CplexLPEngine.cpp:662
 
EnginePtr emptyCopy()
Return an empty CplexLPEngine pointer.
Definition CplexLPEngine.cpp:276
 
void loadFromWarmStart(const WarmStartPtr)
Definition CplexLPEngine.h:194
 
EngineStatus getStatus()
Get the status of the last solve command.
Definition CplexLPEngine.cpp:322
 
void enableStrBrSetup()
Make settings for strong branching.
Definition CplexLPEngine.cpp:282
 
void addConstraint(ConstraintPtr)
Add a new constraint to the engine.
Definition CplexLPEngine.cpp:160
 
void setIterationLimit(int)
Definition CplexLPEngine.cpp:685
 
void writeStats(std::ostream &out) const
Write statistics.
Definition CplexLPEngine.cpp:860
 
void changeConstraint(ConstraintPtr con, LinearFunctionPtr lf, double lb, double ub)
Change the linear function, and the bounds of a constraint.
Definition CplexLPEngine.cpp:241
 
ConstWarmStartPtr getWarmStart()
Definition CplexLPEngine.h:182
 
void disableStrBrSetup()
Restore settings after strong branching.
Definition CplexLPEngine.cpp:266
 
void changeObj(FunctionPtr f, double cb)
Change objective function.
Definition CplexLPEngine.cpp:254
 
void writeLP()
Writes an LP file in the directory of problem file.
Definition CplexLPEngine.cpp:850
 
Class for saving and using Warm-start information in Cplex LP engine.
Definition CplexLPEngine.h:49
 
~CpxLPWarmStart()
Destroy.
Definition CplexLPEngine.cpp:51
 
void write(std::ostream &) const
Write to an output stream.
Definition CplexLPEngine.h:72
 
bool hasInfo()
Return the soluton that can be used as starting point.
Definition CplexLPEngine.cpp:65
 
CpxLPWarmStart()
Default constructor.
Definition CplexLPEngine.cpp:42
 
Definition Environment.h:28
 
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 WarmStart.h:45
 
Definition ActiveNodeStore.h:20
 
BoundType
Different types of variable-bounds.
Definition Types.h:131
 
unsigned int UInt
Unsigned integer.
Definition Types.h:30
 
EngineStatus
Different status that an external engine may report.
Definition Types.h:176
 
Statistics.
Definition CplexLPEngine.h:35
 
UInt strIters
Sum of number of iterations in all calls.
Definition CplexLPEngine.h:41
 
UInt strCalls
Total number of calls to solve.
Definition CplexLPEngine.h:37
 
UInt iters
time taken in strong branching alone.
Definition CplexLPEngine.h:40
 
double time
Calls to solve while strong branching.
Definition CplexLPEngine.h:38
 
double strTime
Sum of time taken in all calls to solve.
Definition CplexLPEngine.h:39