12 #ifndef CglLandPValidator_H 13 #define CglLandPValidator_H 14 #include "OsiSolverInterface.hpp" 43 double maxRatio = 1e8,
44 double minViolation = 0,
49 int cleanCut(OsiRowCut & aCut,
const double * solCut,
const OsiSolverInterface &si,
const CglParam & par,
50 const double * colLower,
const double * colUpper);
52 int cleanCut2(OsiRowCut & aCut,
const double * solCut,
const OsiSolverInterface &si,
const CglParam & par,
53 const double * colLower,
const double * colUpper);
55 int operator()(OsiRowCut & aCut,
const double * solCut,
const OsiSolverInterface &si,
const CglParam & par,
56 const double * colLower,
const double * colUpper)
58 return cleanCut(aCut, solCut, si, par, colLower, colUpper);
72 minViolation_ = value;
98 return rejections_[
static_cast<int> (code)];
102 return rejections_[ code];
106 return numRejected_[
static_cast<int> (code)];
110 return numRejected_[ code];
118 double minViolation_;
124 static const char* rejections_[
DummyEnd];
126 std::vector<int> numRejected_;
void setMaxFillIn(double value)
const char * failureString(int code) const
int numRejected(RejectionsReasons code) const
Validator(double maxFillIn=1., double maxRatio=1e8, double minViolation=0, bool scale=false, double rhsScale=1)
Constructor with default values.
After cleaning cut has become empty.
void setMinViolation(double value)
int cleanCut2(OsiRowCut &aCut, const double *solCut, const OsiSolverInterface &si, const CglParam &par, const double *colLower, const double *colUpper)
Clean an OsiCut by another method.
There is a small coefficient we can not get rid off.
int numRejected(int code) const
Class collecting parameters for all cut generators.
Performs one round of Lift & Project using CglLandPSimplex to build cuts.
void scale(OsiRowCut &cut)
scale the cut passed as argument
const char * failureString(RejectionsReasons code) const
RejectionsReasons
Reasons for rejecting a cut.
Violation of the cut is too small.
Dynamic of coefficinet is too important.
int cleanCut(OsiRowCut &aCut, const double *solCut, const OsiSolverInterface &si, const CglParam &par, const double *colLower, const double *colUpper)
Clean an OsiCut.
void setRhsScale(double v)
int operator()(OsiRowCut &aCut, const double *solCut, const OsiSolverInterface &si, const CglParam &par, const double *colLower, const double *colUpper)
Call the cut cleaner.
void setMaxRatio(double value)
Class to validate or reject a cut.