Branching decision user class. More...
#include <CbcBranchUser.hpp>
Public Member Functions | |
CbcBranchUserDecision () | |
CbcBranchUserDecision (const CbcBranchUserDecision &) | |
virtual | ~CbcBranchUserDecision () |
virtual CbcBranchDecision * | clone () const |
Clone. | |
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). | |
virtual int | bestBranch (CbcBranchingObject **objects, int numberObjects, int numberUnsatisfied, double *changeUp, int *numberInfeasibilitiesUp, double *changeDown, int *numberInfeasibilitiesDown, double objectiveValue) |
Compare N branching objects. | |
Private Member Functions | |
CbcBranchUserDecision & | operator= (const CbcBranchUserDecision &rhs) |
Illegal Assignment operator. |
Branching decision user class.
Definition at line 11 of file CbcBranchUser.hpp.
CbcBranchUserDecision::CbcBranchUserDecision | ( | ) |
CbcBranchUserDecision::CbcBranchUserDecision | ( | const CbcBranchUserDecision & | ) |
virtual CbcBranchUserDecision::~CbcBranchUserDecision | ( | ) | [virtual] |
virtual CbcBranchDecision* CbcBranchUserDecision::clone | ( | ) | const [virtual] |
Clone.
Implements CbcBranchDecision.
virtual void CbcBranchUserDecision::initialize | ( | CbcModel * | model | ) | [virtual] |
Initialize i.e. before start of choosing at a node.
Implements CbcBranchDecision.
virtual int CbcBranchUserDecision::betterBranch | ( | CbcBranchingObject * | thisOne, | |
CbcBranchingObject * | bestSoFar, | |||
double | changeUp, | |||
int | numberInfeasibilitiesUp, | |||
double | changeDown, | |||
int | numberInfeasibilitiesDown | |||
) | [virtual] |
Returns nonzero if branching on first object is "better" than on second (if second NULL first wins).
This is only used after strong branching. The initial selection is done by infeasibility() for each CbcObject return code +1 for up branch preferred, -1 for down
Implements CbcBranchDecision.
virtual int CbcBranchUserDecision::bestBranch | ( | CbcBranchingObject ** | objects, | |
int | numberObjects, | |||
int | numberUnsatisfied, | |||
double * | changeUp, | |||
int * | numberInfeasibilitiesUp, | |||
double * | changeDown, | |||
int * | numberInfeasibilitiesDown, | |||
double | objectiveValue | |||
) | [virtual] |
Compare N branching objects.
Return index of best and sets way of branching in chosen object.
This routine is used only after strong branching. This is reccommended version as it can be more sophisticated
Reimplemented from CbcBranchDecision.
CbcBranchUserDecision& CbcBranchUserDecision::operator= | ( | const CbcBranchUserDecision & | rhs | ) | [private] |
Illegal Assignment operator.
Reimplemented from CbcBranchDecision.