#include <BcpsBranchStrategy.h>
Inheritance diagram for BcpsBranchStrategy:
Public Member Functions | |
BcpsBranchStrategy () | |
Default Constructor. | |
BcpsBranchStrategy (BcpsModel *m) | |
Useful Constructor. | |
virtual | ~BcpsBranchStrategy () |
Destructor. | |
virtual BcpsBranchStrategy * | clone () const =0 |
Clone a branch strategy. | |
void | setModel (BcpsModel *m) |
Set model. | |
virtual void | clearBest (BcpsModel *model) |
Clear branching strategy environment before starting a new round of selecting the best branch object. | |
virtual int | createCandBranchObjects (int numPassesLeft) |
Create a set of candidate branching objects. | |
virtual int | betterBranchObject (BcpsBranchObject *b, BcpsBranchObject *bestSoFar)=0 |
Compare branching object thisOne to bestSoFar. | |
virtual int | bestBranchObject () |
Compare branching objects in branchObjects_. | |
int | getNumBranchObjects () |
Set/get branching objects. | |
void | getNumBranchObjects (int num) |
Set/get branching objects. | |
BcpsBranchObject ** | getBranchObjects () |
Set/get branching objects. | |
void | setBranchObjects (BcpsBranchObject **obj) |
Set/get branching objects. | |
BcpsBranchObject * | getBestBranchObject () |
Set/get branching objects. | |
void | setBestBranchObject (BcpsBranchObject *ob) |
Set/get branching objects. | |
Protected Attributes | |
BcpsModel * | model_ |
Pointer to model. | |
int | numBranchObjects_ |
Number of candidate branching objects. | |
BcpsBranchObject ** | branchObjects_ |
The set of candiate branching objects. | |
BcpsBranchObject * | bestBranchObject_ |
Best branching object found so far. | |
double | bestChangeUp_ |
Change up for best. | |
int | bestNumberUp_ |
Number of infeasibilities for up. | |
double | bestChangeDown_ |
Change down for best. | |
int | bestNumberDown_ |
Number of infeasibilities for down. | |
Private Member Functions | |
BcpsBranchStrategy & | operator= (const BcpsBranchStrategy &rhs) |
Disable assignment operator. |
Definition at line 39 of file BcpsBranchStrategy.h.
BcpsBranchStrategy::BcpsBranchStrategy | ( | ) | [inline] |
BcpsBranchStrategy::BcpsBranchStrategy | ( | BcpsModel * | m | ) | [inline] |
virtual BcpsBranchStrategy::~BcpsBranchStrategy | ( | ) | [inline, virtual] |
Destructor.
Definition at line 104 of file BcpsBranchStrategy.h.
References branchObjects_, and numBranchObjects_.
BcpsBranchStrategy& BcpsBranchStrategy::operator= | ( | const BcpsBranchStrategy & | rhs | ) | [private] |
Disable assignment operator.
virtual BcpsBranchStrategy* BcpsBranchStrategy::clone | ( | ) | const [pure virtual] |
Clone a branch strategy.
Implemented in BlisBranchStrategyPseudo, BlisBranchStrategyRel, BlisBranchStrategyStrong, BlisBranchStrategyMaxInf, BlisBranchStrategyPseudo, BlisBranchStrategyRel, and BlisBranchStrategyStrong.
void BcpsBranchStrategy::setModel | ( | BcpsModel * | m | ) | [inline] |
int BcpsBranchStrategy::getNumBranchObjects | ( | ) | [inline] |
Set/get branching objects.
Definition at line 119 of file BcpsBranchStrategy.h.
References numBranchObjects_.
void BcpsBranchStrategy::getNumBranchObjects | ( | int | num | ) | [inline] |
Set/get branching objects.
Definition at line 120 of file BcpsBranchStrategy.h.
References numBranchObjects_.
BcpsBranchObject** BcpsBranchStrategy::getBranchObjects | ( | ) | [inline] |
Set/get branching objects.
Definition at line 121 of file BcpsBranchStrategy.h.
References branchObjects_.
void BcpsBranchStrategy::setBranchObjects | ( | BcpsBranchObject ** | obj | ) | [inline] |
Set/get branching objects.
Definition at line 122 of file BcpsBranchStrategy.h.
References branchObjects_.
BcpsBranchObject* BcpsBranchStrategy::getBestBranchObject | ( | ) | [inline] |
Set/get branching objects.
Definition at line 123 of file BcpsBranchStrategy.h.
References bestBranchObject_.
void BcpsBranchStrategy::setBestBranchObject | ( | BcpsBranchObject * | ob | ) | [inline] |
Set/get branching objects.
Definition at line 124 of file BcpsBranchStrategy.h.
References bestBranchObject_.
virtual void BcpsBranchStrategy::clearBest | ( | BcpsModel * | model | ) | [inline, virtual] |
Clear branching strategy environment before starting a new round of selecting the best branch object.
Definition at line 129 of file BcpsBranchStrategy.h.
References bestBranchObject_, bestChangeDown_, bestChangeUp_, bestNumberDown_, and bestNumberUp_.
virtual int BcpsBranchStrategy::createCandBranchObjects | ( | int | numPassesLeft | ) | [inline, virtual] |
Create a set of candidate branching objects.
Reimplemented in BlisBranchStrategyPseudo, BlisBranchStrategyRel, BlisBranchStrategyStrong, BlisBranchStrategyMaxInf, BlisBranchStrategyPseudo, BlisBranchStrategyRel, and BlisBranchStrategyStrong.
Definition at line 138 of file BcpsBranchStrategy.h.
virtual int BcpsBranchStrategy::betterBranchObject | ( | BcpsBranchObject * | b, | |
BcpsBranchObject * | bestSoFar | |||
) | [pure virtual] |
Compare branching object thisOne to bestSoFar.
If thisOne is better than bestObject, return branching direction(1 or -1), otherwise return 0. If bestSorFar is NULL, then always return branching direction(1 or -1).
Implemented in BlisBranchStrategyPseudo, BlisBranchStrategyRel, BlisBranchStrategyStrong, BlisBranchStrategyMaxInf, BlisBranchStrategyPseudo, BlisBranchStrategyRel, and BlisBranchStrategyStrong.
virtual int BcpsBranchStrategy::bestBranchObject | ( | ) | [virtual] |
Compare branching objects in branchObjects_.
Return the index of the best branching object. Also, set branch direction in the best object.
BcpsModel* BcpsBranchStrategy::model_ [protected] |
int BcpsBranchStrategy::numBranchObjects_ [protected] |
Number of candidate branching objects.
Definition at line 55 of file BcpsBranchStrategy.h.
Referenced by getNumBranchObjects(), and ~BcpsBranchStrategy().
BcpsBranchObject** BcpsBranchStrategy::branchObjects_ [protected] |
The set of candiate branching objects.
Definition at line 57 of file BcpsBranchStrategy.h.
Referenced by getBranchObjects(), setBranchObjects(), and ~BcpsBranchStrategy().
BcpsBranchObject* BcpsBranchStrategy::bestBranchObject_ [protected] |
Best branching object found so far.
Definition at line 66 of file BcpsBranchStrategy.h.
Referenced by clearBest(), getBestBranchObject(), and setBestBranchObject().
double BcpsBranchStrategy::bestChangeUp_ [protected] |
int BcpsBranchStrategy::bestNumberUp_ [protected] |
Number of infeasibilities for up.
Definition at line 70 of file BcpsBranchStrategy.h.
Referenced by clearBest().
double BcpsBranchStrategy::bestChangeDown_ [protected] |
Change down for best.
Definition at line 72 of file BcpsBranchStrategy.h.
Referenced by clearBest().
int BcpsBranchStrategy::bestNumberDown_ [protected] |
Number of infeasibilities for down.
Definition at line 74 of file BcpsBranchStrategy.h.
Referenced by clearBest().