24 #ifndef COIN_NOTEST_DUPLICATE
25 #define COIN_NOTEST_DUPLICATE
29 #ifndef COIN_NOTEST_DUPLICATE
30 #define COIN_DEFAULT_VALUE_FOR_DUPLICATE true
32 #define COIN_DEFAULT_VALUE_FOR_DUPLICATE false
71 virtual void print()
const {}
76 / **@name Times used */
79 inline void setTimesUsed(
int t );
81 inline void incrementTimesUsed();
83 inline int timesUsed()
const;
86 / **@name Times tested */
89 inline void setTimesTested(
int t );
91 inline void incrementTimesTested();
93 inline int timesTested()
const;
168 virtual double violated(
const double * solution)
const=0;
213 void OsiCut::setTimesUsed(
int t ) { timesUsed_=t; }
214 void OsiCut::incrementTimesUsed() { timesUsed_++; }
215 int OsiCut::timesUsed()
const {
return timesUsed_; }
217 void OsiCut::setTimesTested(
int t ) { timesTested_=t; }
218 void OsiCut::incrementTimesTested() { timesTested_++; }
219 int OsiCut::timesTested()
const{
return timesTested_; }
233 return !( (*this)==rhs );
virtual bool consistent() const =0
Returns true if the cut is consistent with respect to itself, without considering any data in the mod...
void setEffectiveness(double e)
Set effectiveness.
bool globallyValid() const
Get globallyValid.
virtual void print() const
Print cuts in collection.
virtual bool infeasible(const OsiSolverInterface &si) const =0
Returns true if the cut is infeasible "with respect to itself" and cannot be satisfied.
virtual ~OsiCut()
Destructor.
void setGloballyValidAsInteger(int trueFalse)
Set globallyValid as integer (nonzero true)
OsiCut()
Default Constructor.
OsiCut & operator=(const OsiCut &rhs)
Assignment operator.
double effectiveness() const
Get effectiveness.
int globallyValid_
If cut has global validity i.e. can be used anywhere in tree.
double effectiveness_
Effectiveness.
virtual double violated(const double *solution) const =0
Returns infeasibility of the cut with respect to solution passed in i.e.
virtual bool operator!=(const OsiCut &rhs) const
not equal
Abstract Base Class for describing an interface to a solver.
virtual bool operator<(const OsiCut &rhs) const
less than. True if this.effectiveness < rhs.effectiveness
virtual bool operator==(const OsiCut &rhs) const
equal. 2 cuts are equal if there effectiveness are equal
void setNotGloballyValid()
Set globallyValid (nonzero true)
void setGloballyValid()
Set globallyValid (nonzero true)
virtual bool operator>(const OsiCut &rhs) const
less than. True if this.effectiveness > rhs.effectiveness
int globallyValidAsInteger() const
Get globallyValid.