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,
174 const int* rowLengths,
180 const int rowLen,
const int* ind,
184 const double* colUpperBound,
185 const double* colLowerBound,
237 const std::string mpdDir);
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
double getEpsilon() const
Get Epsilon.
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
int doPreproc_
Controls the preprocessing of the matrix to identify rows suitable for cut generation.
void resCapPreprocess(const OsiSolverInterface &si)
Information about where the cut generator is invoked from.
Collections of row cuts and column cuts.
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 CoinBigIndex *rowStarts, const int *rowLengths, OsiCuts &cs) const
Residual Capacity Inequalities Cut Generator Class.
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...
virtual void refreshPrep()
This is to refresh preprocessing.
double getTolerance() const
Get Tolerance.
Abstract Base Class for describing an interface to a solver.
friend void CglResidualCapacityUnitTest(const OsiSolverInterface *siP, const std::string mpdDir)
A function that tests the methods in the CglResidualCapacity class.
void gutsOfConstruct(const double tolerance)
CglResidualCapacity & operator=(const CglResidualCapacity &rhs)
Assignment operator.
bool getDoPreproc() const
Get doPreproc.
Cut Generator Base Class.
equation that can be treated as ROW_L and ROW_G
bool treatAsLessThan(const OsiSolverInterface &si, const int rowLen, const int *ind, const double *coef, const double rhs, const double *colLowerBound, const double *colUpperBound) const
virtual void generateCuts(const OsiSolverInterface &si, OsiCuts &cs, const CglTreeInfo info=CglTreeInfo())
Generate Residual Capacity cuts for the model data contained in si.
virtual CglCutGenerator * clone() const
Clone.
Sparse Matrix Base Class.
virtual ~CglResidualCapacity()
Destructor.
void setEpsilon(double value)
Set Epsilon.
void gutsOfCopy(const CglResidualCapacity &rhs)
void CglResidualCapacityUnitTest(const OsiSolverInterface *siP, const std::string mpdDir)
A function that tests the methods in the CglResidualCapacity class.
CglResidualCapacity()
Default constructor.
void setTolerance(double value)
Set Tolerance.
double EPSILON_
Tolerance used for numerical purposes, default value: 1.e-6.
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_...
double TOLERANCE_
If violation of a cut is greater that this number, the cut is accepted, default value: 1...