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 );
double largestFactorMultiplier_
Multiplier for largest factor cut relaxation.
double getAway() const
Get away.
virtual std::string generateCpp(FILE *fp)
Create C++ lines to get to current state.
void passInOriginalSolver(OsiSolverInterface *solver)
Pass in a copy of original solver (clone it)
int getLimitAtRoot() const
Get at root.
int alternateFactorization_
nonzero to use alternative factorization
OsiSolverInterface * originalSolver_
Original solver.
Information about where the cut generator is invoked from.
friend void CglGomoryUnitTest(const OsiSolverInterface *siP, const std::string mpdDir)
A function that tests the methods in the CglGomory class.
CglGomory()
Default constructor.
void setAway(double value)
Set away.
OsiSolverInterface * originalSolver() const
Returns original solver.
bool alternativeFactorization() const
Get whether alternative factorization being used.
void useAlternativeFactorization(bool yes=true)
Set/unset alternative factorization.
virtual CglCutGenerator * clone() const
Clone.
double getLargestFactorMultiplier() const
Get LargestFactorMultiplier.
int gomoryType_
Type - 0 normal, 1 add original matrix one, 2 replace.
void setLimitAtRoot(int limit)
Set at root (if <normal then use normal)
double getConditionNumberMultiplier() const
Get ConditionNumberMultiplier.
void setLimit(int limit)
Set.
int dynamicLimitInTree_
Dynamic limit in tree.
Gomory Cut Generator Class.
virtual ~CglGomory()
Destructor.
Cut Generator Base Class.
double conditionNumberMultiplier_
Multiplier for conditionNumber cut relaxation.
int limit_
Limit - only generate if fewer than this in cut.
double getAwayAtRoot() const
Get away at root.
virtual void refreshSolver(OsiSolverInterface *solver)
This can be used to refresh any inforamtion.
void CglGomoryUnitTest(const OsiSolverInterface *siP, const std::string mpdDir)
A function that tests the methods in the CglGomory class.
int limitAtRoot_
Limit - only generate if fewer than this in cut (at root)
void setLargestFactorMultiplier(double value)
Set LargestFactorMultiplier.
virtual int maximumLengthOfCutInTree() const
Return maximum length of cut in tree.
double awayAtRoot_
Only investigate if more than this away from integrality (at root)
int gomoryType() const
Return type.
double away_
Only investigate if more than this away from integrality.
CglGomory & operator=(const CglGomory &rhs)
Assignment operator.
int numberTimesStalled_
Number of times stalled.
void setGomoryType(int type)
Set type - 0 normal, 1 add original matrix one, 2 replace.
void setAwayAtRoot(double value)
Set away at root.
virtual bool needsOptimalBasis() const
Return true if needs optimal basis to do cuts (will return true)
void setConditionNumberMultiplier(double value)
Set ConditionNumberMultiplier.
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.