#include <CbcBranchBase.hpp>
Collaboration diagram for CbcStrongInfo:
Public Attributes | |
CbcBranchingObject * | possibleBranch |
double | upMovement |
double | downMovement |
int | numIntInfeasUp |
int | numObjInfeasUp |
bool | finishedUp |
int | numItersUp |
int | numIntInfeasDown |
int | numObjInfeasDown |
bool | finishedDown |
int | numItersDown |
int | objectNumber |
int | fix |
The branching model used in Cbc is based on the idea of an object. In the abstract, an object is something that has a feasible region, can be evaluated for infeasibility, can be branched on (i.e., there's some constructive action to be taken to move toward feasibility), and allows comparison of the effect of branching.
This class (CbcObject) is the base class for an object. To round out the branching model, the class CbcBranchingObject describes how to perform a branch, and the class CbcBranchDecision describes how to compare two CbcBranchingObjects.
To create a new type of object you need to provide three methods: infeasibility(), feasibleRegion(), and createBranch(), described below.
This base class is primarily virtual to allow for any form of structure. Any form of discontinuity is allowed.
Definition at line 44 of file CbcBranchBase.hpp.
Definition at line 45 of file CbcBranchBase.hpp.
double CbcStrongInfo::upMovement |
Definition at line 46 of file CbcBranchBase.hpp.
double CbcStrongInfo::downMovement |
Definition at line 47 of file CbcBranchBase.hpp.
Definition at line 48 of file CbcBranchBase.hpp.
Definition at line 49 of file CbcBranchBase.hpp.
Definition at line 50 of file CbcBranchBase.hpp.
Definition at line 51 of file CbcBranchBase.hpp.
Definition at line 52 of file CbcBranchBase.hpp.
Definition at line 53 of file CbcBranchBase.hpp.
Definition at line 54 of file CbcBranchBase.hpp.
Definition at line 55 of file CbcBranchBase.hpp.
Definition at line 56 of file CbcBranchBase.hpp.
Definition at line 57 of file CbcBranchBase.hpp.