6 #ifndef CbcBranchUser_H
7 #define CbcBranchUser_H
39 double changeUp,
int numberInfeasibilitiesUp,
40 double changeDown,
int numberInfeasibilitiesDown);
51 double *changeUp,
int *numberInfeasibilitiesUp,
52 double *changeDown,
int *numberInfeasibilitiesDown,
53 double objectiveValue);
Abstract branching object base class Now just difference with OsiBranchingObject. ...
virtual CbcObject * clone() const
Clone.
Define a single integer class.
virtual CbcBranchDecision * clone() const
Clone.
virtual int bestBranch(CbcBranchingObject **objects, int numberObjects, int numberUnsatisfied, double *changeUp, int *numberInfeasibilitiesUp, double *changeDown, int *numberInfeasibilitiesDown, double objectiveValue)
Compare N branching objects.
double infeasibility() const
Return infeasibility.
CbcSimpleIntegerFixed & operator=(const CbcSimpleIntegerFixed &rhs)
virtual void initialize(CbcModel *model)
Initialize i.e. before start of choosing at a node.
int preferredWay() const
If -1 down always chosen first, +1 up always, 0 normal.
virtual int betterBranch(CbcBranchingObject *thisOne, CbcBranchingObject *bestSoFar, double changeUp, int numberInfeasibilitiesUp, double changeDown, int numberInfeasibilitiesDown)
Returns nonzero if branching on first object is "better" than on second (if second NULL first wins)...
Abstract Base Class for describing an interface to a solver.
Branching decision user class.
Define a single integer class where branching is forced until fixed.
virtual ~CbcBranchUserDecision()
CbcModel * model() const
Return model.
virtual CbcBranchingObject * createBranch(OsiSolverInterface *solver, const OsiBranchingInformation *info, int way)
Creates a branching object.
CbcBranchUserDecision & operator=(const CbcBranchUserDecision &rhs)
Illegal Assignment operator.
Simple Branch and bound class.
double breakEven() const
Breakeven e.g 0.7 -> >= 0.7 go up first.