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