Go to the documentation of this file.
8 #ifndef CbcSimpleIntegerPseudoCost_H
9 #define CbcSimpleIntegerPseudoCost_H
43 virtual double infeasibility(
const OsiBranchingInformation *info,
int preferredWay() const
If -1 down always chosen first, +1 up always, 0 normal.
double upDownSeparator() const
Up down separator.
double breakEven() const
Breakeven e.g 0.7 -> >= 0.7 go up first.
Define a single integer class but with pseudo costs.
int method() const
method - see below for details
void setDownPseudoCost(double value)
Set down pseudo cost.
CbcSimpleIntegerPseudoCost()
virtual ~CbcSimpleIntegerPseudoCost()
void setUpPseudoCost(double value)
Set up pseudo cost.
virtual CbcBranchingObject * createCbcBranch(OsiSolverInterface *solver, const OsiBranchingInformation *info, int way)
Creates a branching object.
double downPseudoCost_
data
int method_
Method - 0 - normal - return min (up,down) 1 - if before any solution return CoinMax(up,...
virtual double downEstimate() const
Return "down" estimate (default 1.0e-5)
Simple Branch and bound class.
double upDownSeparator_
Up/down separator If >0.0 then do first branch up if value-floor(value) >= this value.
Abstract branching object base class Now just difference with OsiBranchingObject.
CbcSimpleIntegerPseudoCost & operator=(const CbcSimpleIntegerPseudoCost &rhs)
void setUpDownSeparator(double value)
Set up down separator.
double downPseudoCost() const
Down pseudo cost.
CbcModel * model() const
Return model.
virtual double upEstimate() const
Return "up" estimate.
double upPseudoCost_
Up pseudo cost.
Define a single integer class.
virtual double infeasibility(const OsiBranchingInformation *info, int &preferredWay) const
Infeasibility - large is 0.5.
double upPseudoCost() const
Up pseudo cost.
virtual CbcObject * clone() const
Clone.
void setMethod(int value)
Set method.