3 #ifndef CBCBRANCHUSER_HPP 4 #define CBCBRANCHUSER_HPP 6 #include "CbcBranchActual.hpp" 7 #include "CbcBranchBase.hpp" 23 virtual CbcBranchDecision*
clone()
const;
35 virtual int betterBranch(CbcBranchingObject* thisOne, CbcBranchingObject* bestSoFar,
double changeUp,
36 int numberInfeasibilitiesUp,
double changeDown,
int numberInfeasibilitiesDown);
45 virtual int bestBranch(CbcBranchingObject** objects,
int numberObjects,
int numberUnsatisfied,
double* changeUp,
46 int* numberInfeasibilitiesUp,
double* changeDown,
int* numberInfeasibilitiesDown,
47 double objectiveValue);
72 virtual CbcObject*
clone()
const;
81 virtual double infeasibility(
int& preferredWay)
const;
93 virtual CbcBranchingObject* createBranch(OsiSolverInterface* solver,
const OsiBranchingInformation* info,
int way);
virtual void initialize(CbcModel *model)
Initialize i.e. before start of choosing at a node.
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)...
Define a single integer class where branching is forced until fixed.
virtual ~CbcBranchUserDecision()
virtual CbcBranchDecision * clone() const
Clone.
Branching decision user class.
virtual int bestBranch(CbcBranchingObject **objects, int numberObjects, int numberUnsatisfied, double *changeUp, int *numberInfeasibilitiesUp, double *changeDown, int *numberInfeasibilitiesDown, double objectiveValue)
Compare N branching objects.
CbcBranchUserDecision & operator=(const CbcBranchUserDecision &rhs)
Illegal Assignment operator.