Abstract base class for `objects'. More...
#include <CbcBranchBase.hpp>
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 |
Abstract base class for `objects'.
It now just has stuff that OsiObject does not have
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 57 of file CbcBranchBase.hpp.
Definition at line 58 of file CbcBranchBase.hpp.
double CbcStrongInfo::upMovement |
Definition at line 59 of file CbcBranchBase.hpp.
double CbcStrongInfo::downMovement |
Definition at line 60 of file CbcBranchBase.hpp.
Definition at line 61 of file CbcBranchBase.hpp.
Definition at line 62 of file CbcBranchBase.hpp.
Definition at line 63 of file CbcBranchBase.hpp.
Definition at line 64 of file CbcBranchBase.hpp.
Definition at line 65 of file CbcBranchBase.hpp.
Definition at line 66 of file CbcBranchBase.hpp.
Definition at line 67 of file CbcBranchBase.hpp.
Definition at line 68 of file CbcBranchBase.hpp.
Definition at line 69 of file CbcBranchBase.hpp.
Definition at line 70 of file CbcBranchBase.hpp.