6 #ifndef CbcCountRowCut_H
7 #define CbcCountRowCut_H
89 #ifdef CHECK_CUT_COUNTS
134 CbcRowCuts(
int initialMaxSize = 0,
int hashMultiplier = 4);
bool canDropCut(const OsiSolverInterface *solver, int row) const
Returns true if can drop cut if slack basic.
int numberPointingToThis()
Number of other CbcNodeInfo objects pointing to this row cut.
CbcRowCuts & operator=(const CbcRowCuts &rhs)
virtual ~CbcCountRowCut()
Destructor.
Really for Conflict cuts to - a) stop duplicates b) allow half baked cuts The whichRow_ field in OsiR...
CbcNodeInfo * owner_
Backward pointer to owning CbcNodeInfo.
OsiRowCut * rowCutPtr(int sequence)
Row Cut Class which refers back to row which created it.
void setInfo(CbcNodeInfo *, int whichOne)
Set the information associating this cut with a node.
CoinHashLink * hash_
Hash table.
Collections of row cuts and column cuts.
Information required to recreate the subproblem at this node.
OsiRowCut_inline const CoinPackedVector & row() const
Get row elements.
int whichCutGenerator() const
Which generator for cuts - as user order.
void addCuts(OsiCuts &cs)
Abstract Base Class for describing an interface to a solver.
int decrement(int change=1)
Decrement the number of references and return the number left.
OsiRowCut2 * cut(int sequence) const
int numberPointingToThis_
Number of other CbcNodeInfo objects pointing to this cut.
void eraseRowCut(int sequence)
int whichCutGenerator_
Which generator created this cut (add 10000 if globally valid) if -1 then from global cut pool -2 cut...
int ownerCut_
Index of cut in owner's cut set (cuts_ ).
void truncate(int numberAfter)
int addCutIfNotDuplicateWhenGreedy(const OsiRowCut &cut, int whichType=0)
CbcRowCuts(int initialMaxSize=0, int hashMultiplier=4)
OsiRowCut augmented with bookkeeping.
CbcCountRowCut()
Default Constructor.
CbcCountRowCut & operator=(const CbcCountRowCut &rhs)
Standard assignment is illegal (reference counts would be incorrect)
double rhs() const
Get right-hand side.
void increment(int change=1)
Increment the number of references.
int addCutIfNotDuplicate(const OsiRowCut &cut, int whichType=0)