BcpsBranchStrategy Class Reference

Branching strategy specifies: (1) how to select a candidate set of branching objects (2) how to compare two branching objects. More...

#include <BcpsBranchStrategy.h>

Inheritance diagram for BcpsBranchStrategy:
Inheritance graph
[legend]
Collaboration diagram for BcpsBranchStrategy:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 BcpsBranchStrategy ()
 Default Constructor.
 BcpsBranchStrategy (BcpsModel *m)
 Useful Constructor.
virtual ~BcpsBranchStrategy ()
 Destructor.
virtual BcpsBranchStrategyclone () 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_.

Protected Attributes

BcpsModelmodel_
 Pointer to model.

Private Member Functions

BcpsBranchStrategyoperator= (const BcpsBranchStrategy &rhs)
 Disable assignment operator.



int numBranchObjects_
 Following members are used to store candidate branching objects.
BcpsBranchObject ** branchObjects_
 The set of candiate branching objects.
BcpsBranchObjectbestBranchObject_
 Following members are used to store information about 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.
int getNumBranchObjects ()
 Set/get branching objects.
void getNumBranchObjects (int num)
 Following members are used to store candidate branching objects.
BcpsBranchObject ** getBranchObjects ()
 Following members are used to store candidate branching objects.
void setBranchObjects (BcpsBranchObject **obj)
 Following members are used to store candidate branching objects.
BcpsBranchObjectgetBestBranchObject ()
 Following members are used to store candidate branching objects.
void setBestBranchObject (BcpsBranchObject *ob)
 Following members are used to store candidate branching objects.

Detailed Description

Branching strategy specifies: (1) how to select a candidate set of branching objects (2) how to compare two branching objects.

Definition at line 39 of file BcpsBranchStrategy.h.


Constructor & Destructor Documentation

BcpsBranchStrategy::BcpsBranchStrategy (  )  [inline]

Default Constructor.

Definition at line 80 of file BcpsBranchStrategy.h.

BcpsBranchStrategy::BcpsBranchStrategy ( BcpsModel m  )  [inline]

Useful Constructor.

Definition at line 92 of file BcpsBranchStrategy.h.

virtual BcpsBranchStrategy::~BcpsBranchStrategy (  )  [inline, virtual]

Destructor.

Definition at line 104 of file BcpsBranchStrategy.h.


Member Function Documentation

BcpsBranchStrategy& BcpsBranchStrategy::operator= ( const BcpsBranchStrategy rhs  )  [private]
virtual BcpsBranchStrategy* BcpsBranchStrategy::clone (  )  const [pure virtual]
void BcpsBranchStrategy::setModel ( BcpsModel m  )  [inline]

Set model.

Definition at line 115 of file BcpsBranchStrategy.h.

int BcpsBranchStrategy::getNumBranchObjects (  )  [inline]

Set/get branching objects.

Definition at line 119 of file BcpsBranchStrategy.h.

void BcpsBranchStrategy::getNumBranchObjects ( int  num  )  [inline]

Following members are used to store candidate branching objects.

NOTE: They are required to be cleared before starting another round of selecting. Number of candidate branching objects.

Definition at line 120 of file BcpsBranchStrategy.h.

BcpsBranchObject** BcpsBranchStrategy::getBranchObjects (  )  [inline]

Following members are used to store candidate branching objects.

NOTE: They are required to be cleared before starting another round of selecting. Number of candidate branching objects.

Definition at line 121 of file BcpsBranchStrategy.h.

void BcpsBranchStrategy::setBranchObjects ( BcpsBranchObject **  obj  )  [inline]

Following members are used to store candidate branching objects.

NOTE: They are required to be cleared before starting another round of selecting. Number of candidate branching objects.

Definition at line 122 of file BcpsBranchStrategy.h.

BcpsBranchObject* BcpsBranchStrategy::getBestBranchObject (  )  [inline]

Following members are used to store candidate branching objects.

NOTE: They are required to be cleared before starting another round of selecting. Number of candidate branching objects.

Definition at line 123 of file BcpsBranchStrategy.h.

void BcpsBranchStrategy::setBestBranchObject ( BcpsBranchObject ob  )  [inline]

Following members are used to store candidate branching objects.

NOTE: They are required to be cleared before starting another round of selecting. Number of candidate branching objects.

Definition at line 124 of file BcpsBranchStrategy.h.

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.

virtual int BcpsBranchStrategy::createCandBranchObjects ( int  numPassesLeft  )  [inline, virtual]
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.


Member Data Documentation

Pointer to model.

Definition at line 48 of file BcpsBranchStrategy.h.

Following members are used to store candidate branching objects.

NOTE: They are required to be cleared before starting another round of selecting. Number of candidate branching objects.

Definition at line 55 of file BcpsBranchStrategy.h.

The set of candiate branching objects.

Definition at line 57 of file BcpsBranchStrategy.h.

Following members are used to store information about best branching object found so far.

NOTE: They are required to be cleared before starting another round of selecting. Best branching object found so far.

Definition at line 66 of file BcpsBranchStrategy.h.

Change up for best.

Definition at line 68 of file BcpsBranchStrategy.h.

Number of infeasibilities for up.

Definition at line 70 of file BcpsBranchStrategy.h.

Change down for best.

Definition at line 72 of file BcpsBranchStrategy.h.

Number of infeasibilities for down.

Definition at line 74 of file BcpsBranchStrategy.h.


The documentation for this class was generated from the following file:

Generated on 15 Mar 2015 for Coin-All by  doxygen 1.6.1