Go to the documentation of this file.
23 #ifndef BcpsBranchStrategy_h_
24 #define BcpsBranchStrategy_h_
int type_
Type of branching strategy.
void setBranchObjects(BcpsBranchObject **obj)
BcpsBranchObject ** getBranchObjects()
virtual ~BcpsBranchStrategy()
Destructor.
virtual BcpsBranchObject * bestBranchObject()
Compare branching objects in branchObjects_.
void setNumBranchObjects(int num)
virtual int createCandBranchObjects(int numPassesLeft, double ub)
Create a set of candidate branching objects.
BcpsBranchStrategy()
Default Constructor.
BcpsBranchObject ** branchObjects_
The set of candiate branching objects.
void setBestBranchObject(BcpsBranchObject *ob)
BcpsBranchObject contains the member data required when choosing branching entities and excuting actu...
void setType(int t)
Set type.
BcpsBranchObject * getBestBranchObject()
double bestChangeDown_
Change down for best.
void setModel(BcpsModel *m)
Set model.
int bestNumberUp_
Number of infeasibilities for up.
virtual int betterBranchObject(BcpsBranchObject *b, BcpsBranchObject *bestSoFar)=0
Compare branching object thisOne to bestSoFar.
virtual void clearBest(BcpsModel *model)
Clear branching strategy environment before starting a new round of selecting the best branch object.
virtual BcpsBranchStrategy * clone() const =0
Clone a branch strategy.
BcpsBranchStrategy(BcpsModel *m)
Useful Constructor.
int bestNumberDown_
Number of infeasibilities for down.
BcpsModel * model_
Pointer to model.
int getType() const
Get type.
double bestChangeUp_
Change up for best.
Branching strategy specifies: (1) how to select a candidate set of branching objects (2) how to compa...
BcpsBranchObject * bestBranchObject_
Following members are used to store information about best branching object found so far.
int numBranchObjects_
Following members are used to store candidate branching objects.
int getNumBranchObjects() const
Set/get branching objects.