36 #include "OsiRowCut.hpp"
93 int createCut(
const double * solution, OsiRowCut & cut);
96 virtual bool empty() ;
101 void reverseCut(
int state,
double bias = 0.0);
105 void passInSolution(
const double * solution,
double solutionValue);
124 return maxDiversification_;
128 maxDiversification_ = value;
160 double * bestSolution_;
162 double * savedSolution_;
164 int saveNumberSolutions_;
172 double * originalLower_;
174 double * originalUpper_;
180 int maxDiversification_;
182 int diversification_;
259 int createCut(
const double * solution, OsiRowCut & cut);
262 virtual bool empty() ;
267 void reverseCut(
int state,
double bias = 0.0);
271 void passInSolution(
const double * solution,
double solutionValue);
290 return maxDiversification_;
294 maxDiversification_ = value;
326 double * bestSolution_;
328 double * savedSolution_;
330 int saveNumberSolutions_;
338 double * originalLower_;
340 double * originalUpper_;
346 int maxDiversification_;
348 int diversification_;
void setTypeCuts(int value)
CbcTreeLocal & operator=(const CbcTreeLocal &rhs)
int maxDiversification() const
virtual void generateCpp(FILE *fp)
Create C++ lines to get to current state.
virtual CbcNode * top() const
Return the top node of the heap.
virtual void pop()
Remove the top node from the heap.
void passInSolution(const double *solution, double solutionValue)
Pass in solution (so can be used after heuristic)
virtual void push(CbcNode *x)
Add a node to the heap.
int maxDiversification() const
void setTimeLimit(int value)
void setMaxDiversification(int value)
void setRefine(bool yesNo)
virtual void pop()
Remove the top node from the heap.
void setNodeLimit(int value)
virtual CbcNode * top() const
Return the top node of the heap.
void deleteCut(OsiRowCut &cut)
Delete last cut branch.
virtual ~CbcTreeVariable()
virtual void push(CbcNode *x)
Add a node to the heap.
virtual bool empty()
Test if empty *** note may be overridden.
int createCut(const double *solution, OsiRowCut &cut)
Create cut - return -1 if bad, 0 if okay and 1 if cut is everything.
Using MS heap implementation.
virtual CbcTree * clone() const
Clone.
virtual void endSearch()
We may have got an intelligent tree so give it one more chance.
void deleteCut(OsiRowCut &cut)
Delete last cut branch.
CbcTreeVariable & operator=(const CbcTreeVariable &rhs)
void setMaxDiversification(int value)
virtual bool empty()
Test if empty *** note may be overridden.
Information required while the node is live.
void setTimeLimit(int value)
int createCut(const double *solution, OsiRowCut &cut)
Create cut - return -1 if bad, 0 if okay and 1 if cut is everything.
void setNodeLimit(int value)
void setRefine(bool yesNo)
virtual void generateCpp(FILE *fp)
Create C++ lines to get to current state.
void passInSolution(const double *solution, double solutionValue)
Pass in solution (so can be used after heuristic)
void reverseCut(int state, double bias=0.0)
Other side of last cut branch (if bias==rhs_ will be weakest possible)
Simple Branch and bound class.
void setTypeCuts(int value)
virtual void endSearch()
We may have got an intelligent tree so give it one more chance.
virtual CbcTree * clone() const
Clone.
void reverseCut(int state, double bias=0.0)
Other side of last cut branch (if bias==rhs_ will be weakest possible)