12 #ifndef CglResidualCapacity_H
13 #define CglResidualCapacity_H
50 const std::string mpdDir );
151 const int rowLen,
const int* ind,
152 const double* coef,
const char sense,
154 const double* colLowerBound,
155 const double* colUpperBound)
const;
158 const int rowLen,
const int* ind,
161 const double* colLowerBound,
162 const double* colUpperBound)
const;
167 const double* colUpperBound,
168 const double* colLowerBound,
171 const double* coefByRow,
173 const int* rowStarts,
174 const int* rowLengths,
180 const int rowLen,
const int* ind,
184 const double* colUpperBound,
185 const double* colLowerBound,
237 const std::string mpdDir);
virtual void generateCuts(const OsiSolverInterface &si, OsiCuts &cs, const CglTreeInfo info=CglTreeInfo())
Generate Residual Capacity cuts for the model data contained in si.
Residual Capacity Inequalities Cut Generator Class.
void setDoPreproc(int value)
Set doPreproc.
RowType determineRowType(const OsiSolverInterface &si, const int rowLen, const int *ind, const double *coef, const char sense, const double rhs, const double *colLowerBound, const double *colUpperBound) const
CglResidualCapacity()
Default constructor.
friend void CglResidualCapacityUnitTest(const OsiSolverInterface *siP, const std::string mpdDir)
A function that tests the methods in the CglResidualCapacity class.
virtual ~CglResidualCapacity()
Destructor.
Sparse Matrix Base Class.
Collections of row cuts and column cuts.
void setTolerance(double value)
Set Tolerance.
void gutsOfConstruct(const double tolerance)
void CglResidualCapacityUnitTest(const OsiSolverInterface *siP, const std::string mpdDir)
A function that tests the methods in the CglResidualCapacity class.
bool getDoPreproc() const
Get doPreproc.
equation that can be treated as ROW_L and ROW_G
double getTolerance() const
Get Tolerance.
CglResidualCapacity & operator=(const CglResidualCapacity &rhs)
Assignment operator.
virtual void refreshPrep()
This is to refresh preprocessing.
double TOLERANCE_
If violation of a cut is greater that this number, the cut is accepted, default value: 1...
double getEpsilon() const
Get Epsilon.
Abstract Base Class for describing an interface to a solver.
Cut Generator Base Class.
void generateResCapCuts(const OsiSolverInterface &si, const double *xlp, const double *colUpperBound, const double *colLowerBound, const CoinPackedMatrix &matrixByRow, const double *LHS, const double *coefByRow, const int *colInds, const int *rowStarts, const int *rowLengths, OsiCuts &cs) const
double EPSILON_
Tolerance used for numerical purposes, default value: 1.e-6.
void gutsOfCopy(const CglResidualCapacity &rhs)
int doPreproc_
Controls the preprocessing of the matrix to identify rows suitable for cut generation.
bool resCapSeparation(const OsiSolverInterface &si, const int rowLen, const int *ind, const double *coef, const double rhs, const double *xlp, const double *colUpperBound, const double *colLowerBound, OsiRowCut &resCapCut) const
row of the type a_1 c_1 + + a_k c_k - d z_1 - - d z_p <= b, where c_i are continuous variables and z_...
bool treatAsLessThan(const OsiSolverInterface &si, const int rowLen, const int *ind, const double *coef, const double rhs, const double *colLowerBound, const double *colUpperBound) const
Information about where the cut generator is invoked from.
void resCapPreprocess(const OsiSolverInterface &si)
void setEpsilon(double value)
Set Epsilon.
virtual CglCutGenerator * clone() const
Clone.
row of the type -a_1 c_1 - - a_k c_k + d z_1 + + d z_p >= b, where c_i are continuous variables and z...