6 #ifndef CbcCountRowCut_H 7 #define CbcCountRowCut_H 78 return numberPointingToThis_;
83 return whichCutGenerator_;
87 bool canDropCut(
const OsiSolverInterface * solver,
int row)
const;
89 #ifdef CHECK_CUT_COUNTS 110 int numberPointingToThis_;
118 int whichCutGenerator_;
137 CbcRowCuts(
int initialMaxSize=0,
int hashMultiplier=4 );
141 inline OsiRowCut2 *
cut(
int sequence)
const 142 {
return rowCut_[sequence];}
144 {
return numberCuts_;}
146 {
return numberCuts_;}
148 {
return rowCut_[sequence];}
149 void eraseRowCut(
int sequence);
151 int addCutIfNotDuplicate(
const OsiRowCut & cut,
int whichType=0);
153 int addCutIfNotDuplicateWhenGreedy(
const OsiRowCut & cut,
int whichType=0);
155 void addCuts(OsiCuts & cs);
157 void truncate(
int numberAfter);
159 OsiRowCut2 ** rowCut_;
int whichCutGenerator() const
Which generator for cuts - as user order.
OsiRowCut2 * cut(int sequence) const
CbcCountRowCut()
Default Constructor.
int decrement(int change=1)
Decrement the number of references and return the number left.
int numberPointingToThis()
Number of other CbcNodeInfo objects pointing to this row cut.
Really for Conflict cuts to - a) stop duplicates b) allow half baked cuts The whichRow_ field in OsiR...
virtual ~CbcCountRowCut()
Destructor.
OsiRowCut augmented with bookkeeping.
Information required to recreate the subproblem at this node.
void setInfo(CbcNodeInfo *, int whichOne)
Set the information associating this cut with a node.
bool canDropCut(const OsiSolverInterface *solver, int row) const
Returns true if can drop cut if slack basic.
OsiRowCut * rowCutPtr(int sequence)
void increment(int change=1)
Increment the number of references.