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