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,
70 {
return originalSolver_;}
76 {
return gomoryType_;}
130 { alternateFactorization_= (yes) ? 1 : 0;}
133 {
return (alternateFactorization_!=0);}
175 double conditionNumberMultiplier_;
177 double largestFactorMultiplier_;
179 OsiSolverInterface * originalSolver_;
185 int dynamicLimitInTree_;
187 int numberTimesStalled_;
189 int alternateFactorization_;
202 const std::string mpdDir );
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.
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.
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.
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.
void setAway(double value)
Set away.
double getAway() const
Get away.
virtual void refreshSolver(OsiSolverInterface *solver)
This can be used to refresh any inforamtion.