Go to the documentation of this file.
12 class CoinWarmStartBasis;
16 const std::string mpdDir );
34 virtual void generateCuts(
const OsiSolverInterface & si, OsiCuts & cs,
40 const CoinPackedMatrix & columnCopy,
41 const CoinPackedMatrix & rowCopy,
42 const double * colsol,
43 const double * colLower,
const double * colUpper,
44 const double * rowLower,
const double * rowUpper,
46 const CoinWarmStartBasis* warm,
52 const CoinPackedMatrix & columnCopy,
53 const double * colsol,
54 const double * colLower,
const double * colUpper,
55 const double * rowLower,
const double * rowUpper,
57 const CoinWarmStartBasis* warm,
202 const std::string mpdDir );
int dynamicLimitInTree_
Dynamic limit in tree.
CglGomory()
Default constructor.
Information about where the cut generator is invoked from.
double getAwayAtRoot() const
Get away at root.
void setLimitAtRoot(int limit)
Set at root (if <normal then use normal)
void setConditionNumberMultiplier(double value)
Set ConditionNumberMultiplier.
OsiSolverInterface * originalSolver() const
Returns original solver.
void passInOriginalSolver(OsiSolverInterface *solver)
Pass in a copy of original solver (clone it)
Gomory Cut Generator Class.
void CglGomoryUnitTest(const OsiSolverInterface *siP, const std::string mpdDir)
A function that tests the methods in the CglGomory class.
friend void CglGomoryUnitTest(const OsiSolverInterface *siP, const std::string mpdDir)
A function that tests the methods in the CglGomory class.
void setGomoryType(int type)
Set type - 0 normal, 1 add original matrix one, 2 replace.
double getConditionNumberMultiplier() const
Get ConditionNumberMultiplier.
void setLimit(int limit)
Set.
bool alternativeFactorization() const
Get whether alternative factorization being used.
Cut Generator Base Class.
int alternateFactorization_
nonzero to use alternative factorization
CglGomory & operator=(const CglGomory &rhs)
Assignment operator.
virtual int maximumLengthOfCutInTree() const
Return maximum length of cut in tree.
int gomoryType() const
Return type.
double getLargestFactorMultiplier() const
Get LargestFactorMultiplier.
int getLimitAtRoot() const
Get at root.
virtual ~CglGomory()
Destructor.
void useAlternativeFactorization(bool yes=true)
Set/unset alternative factorization.
int limitAtRoot_
Limit - only generate if fewer than this in cut (at root)
int limit_
Limit - only generate if fewer than this in cut.
double largestFactorMultiplier_
Multiplier for largest factor cut relaxation.
OsiSolverInterface * originalSolver_
Original solver.
double conditionNumberMultiplier_
Multiplier for conditionNumber cut relaxation.
double away_
Only investigate if more than this away from integrality.
void setAwayAtRoot(double value)
Set away at root.
void setLargestFactorMultiplier(double value)
Set LargestFactorMultiplier.
virtual std::string generateCpp(FILE *fp)
Create C++ lines to get to current state.
int numberTimesStalled_
Number of times stalled.
virtual CglCutGenerator * clone() const
Clone.
virtual bool needsOptimalBasis() const
Return true if needs optimal basis to do cuts (will return true)
virtual void generateCuts(const OsiSolverInterface &si, OsiCuts &cs, const CglTreeInfo info=CglTreeInfo())
Generate Mixed Integer Gomory cuts for the model of the solver interface, si.
int gomoryType_
Type - 0 normal, 1 add original matrix one, 2 replace.
void setAway(double value)
Set away.
double getAway() const
Get away.
virtual void refreshSolver(OsiSolverInterface *solver)
This can be used to refresh any inforamtion.
double awayAtRoot_
Only investigate if more than this away from integrality (at root)