Public Member Functions | Protected Attributes | Private Member Functions
CbcBranchDecision Class Reference

#include <CbcBranchDecision.hpp>

Inheritance diagram for CbcBranchDecision:
CbcBranchDefaultDecision CbcBranchDefaultDecision CbcBranchDynamicDecision CbcBranchDynamicDecision CbcBranchUserDecision

List of all members.

Public Member Functions

 CbcBranchDecision ()
 Default Constructor.
 CbcBranchDecision (const CbcBranchDecision &)
virtual ~CbcBranchDecision ()
 Destructor.
virtual CbcBranchDecisionclone () const =0
 Clone.
virtual void initialize (CbcModel *model)=0
 Initialize e.g. before starting to choose a branch at a node.
virtual int betterBranch (CbcBranchingObject *thisOne, CbcBranchingObject *bestSoFar, double changeUp, int numberInfeasibilitiesUp, double changeDown, int numberInfeasibilitiesDown)=0
 Compare two branching objects.
virtual int bestBranch (CbcBranchingObject **objects, int numberObjects, int numberUnsatisfied, double *changeUp, int *numberInfeasibilitiesUp, double *changeDown, int *numberInfeasibilitiesDown, double objectiveValue)
 Compare N branching objects.
virtual int whichMethod ()
 Says whether this method can handle both methods - 1 better, 2 best, 3 both.
virtual void saveBranchingObject (OsiBranchingObject *)
 Saves a clone of current branching object.
virtual void updateInformation (OsiSolverInterface *, const CbcNode *)
 Pass in information on branch just done.
virtual void setBestCriterion (double)
 Sets or gets best criterion so far.
virtual double getBestCriterion () const
virtual void generateCpp (FILE *)
 Create C++ lines to get to current state.
CbcModelcbcModel () const
 Model.
OsiChooseVariable * chooseMethod () const
void setChooseMethod (const OsiChooseVariable &method)
 Set (clone) chooseMethod.
 CbcBranchDecision ()
 Default Constructor.
 CbcBranchDecision (const CbcBranchDecision &)
virtual ~CbcBranchDecision ()
 Destructor.
virtual CbcBranchDecisionclone () const =0
 Clone.
virtual void initialize (CbcModel *model)=0
 Initialize e.g. before starting to choose a branch at a node.
virtual int betterBranch (CbcBranchingObject *thisOne, CbcBranchingObject *bestSoFar, double changeUp, int numberInfeasibilitiesUp, double changeDown, int numberInfeasibilitiesDown)=0
 Compare two branching objects.
virtual int bestBranch (CbcBranchingObject **objects, int numberObjects, int numberUnsatisfied, double *changeUp, int *numberInfeasibilitiesUp, double *changeDown, int *numberInfeasibilitiesDown, double objectiveValue)
 Compare N branching objects.
virtual int whichMethod ()
 Says whether this method can handle both methods - 1 better, 2 best, 3 both.
virtual void saveBranchingObject (OsiBranchingObject *)
 Saves a clone of current branching object.
virtual void updateInformation (OsiSolverInterface *, const CbcNode *)
 Pass in information on branch just done.
virtual void setBestCriterion (double)
 Sets or gets best criterion so far.
virtual double getBestCriterion () const
virtual void generateCpp (FILE *)
 Create C++ lines to get to current state.
CbcModelcbcModel () const
 Model.
OsiChooseVariable * chooseMethod () const
void setChooseMethod (const OsiChooseVariable &method)
 Set (clone) chooseMethod.

Protected Attributes

CbcBranchingObjectobject_
CbcModelmodel_
 Pointer to model.
OsiChooseVariable * chooseMethod_

Private Member Functions

CbcBranchDecisionoperator= (const CbcBranchDecision &rhs)
 Assignment is illegal.
CbcBranchDecisionoperator= (const CbcBranchDecision &rhs)
 Assignment is illegal.

Detailed Description

Definition at line 22 of file CbcBranchDecision.hpp.


Constructor & Destructor Documentation

CbcBranchDecision::CbcBranchDecision ( )

Default Constructor.

CbcBranchDecision::CbcBranchDecision ( const CbcBranchDecision )
virtual CbcBranchDecision::~CbcBranchDecision ( )
virtual

Destructor.

CbcBranchDecision::CbcBranchDecision ( )

Default Constructor.

CbcBranchDecision::CbcBranchDecision ( const CbcBranchDecision )
virtual CbcBranchDecision::~CbcBranchDecision ( )
virtual

Destructor.


Member Function Documentation

virtual CbcBranchDecision* CbcBranchDecision::clone ( ) const
pure virtual
virtual void CbcBranchDecision::initialize ( CbcModel model)
pure virtual

Initialize e.g. before starting to choose a branch at a node.

Implemented in CbcBranchDynamicDecision, CbcBranchDynamicDecision, CbcBranchDefaultDecision, CbcBranchDefaultDecision, and CbcBranchUserDecision.

virtual int CbcBranchDecision::betterBranch ( CbcBranchingObject thisOne,
CbcBranchingObject bestSoFar,
double  changeUp,
int  numberInfeasibilitiesUp,
double  changeDown,
int  numberInfeasibilitiesDown 
)
pure virtual

Compare two branching objects.

Return nonzero if branching using thisOne is better than branching using bestSoFar.

If bestSoFar is NULL, the routine should return a nonzero value. This routine is used only after strong branching. Either this or bestBranch is used depending which user wants.

Implemented in CbcBranchDynamicDecision, CbcBranchDynamicDecision, CbcBranchDefaultDecision, CbcBranchDefaultDecision, and CbcBranchUserDecision.

virtual int CbcBranchDecision::bestBranch ( CbcBranchingObject **  objects,
int  numberObjects,
int  numberUnsatisfied,
double *  changeUp,
int *  numberInfeasibilitiesUp,
double *  changeDown,
int *  numberInfeasibilitiesDown,
double  objectiveValue 
)
virtual

Compare N branching objects.

Return index of best and sets way of branching in chosen object.

Either this or betterBranch is used depending which user wants.

Reimplemented in CbcBranchDefaultDecision, CbcBranchDefaultDecision, and CbcBranchUserDecision.

virtual int CbcBranchDecision::whichMethod ( )
inlinevirtual

Says whether this method can handle both methods - 1 better, 2 best, 3 both.

Reimplemented in CbcBranchDynamicDecision, and CbcBranchDynamicDecision.

Definition at line 68 of file CbcBranchDecision.hpp.

virtual void CbcBranchDecision::saveBranchingObject ( OsiBranchingObject *  )
inlinevirtual

Saves a clone of current branching object.

Can be used to update information on object causing branch - after branch

Reimplemented in CbcBranchDynamicDecision, and CbcBranchDynamicDecision.

Definition at line 74 of file CbcBranchDecision.hpp.

virtual void CbcBranchDecision::updateInformation ( OsiSolverInterface *  ,
const CbcNode  
)
inlinevirtual

Pass in information on branch just done.

assumes object can get information from solver

Reimplemented in CbcBranchDynamicDecision, and CbcBranchDynamicDecision.

Definition at line 77 of file CbcBranchDecision.hpp.

virtual void CbcBranchDecision::setBestCriterion ( double  )
inlinevirtual

Sets or gets best criterion so far.

Reimplemented in CbcBranchDynamicDecision, CbcBranchDynamicDecision, CbcBranchDefaultDecision, and CbcBranchDefaultDecision.

Definition at line 80 of file CbcBranchDecision.hpp.

virtual double CbcBranchDecision::getBestCriterion ( ) const
inlinevirtual
virtual void CbcBranchDecision::generateCpp ( FILE *  )
inlinevirtual

Create C++ lines to get to current state.

Definition at line 85 of file CbcBranchDecision.hpp.

CbcModel* CbcBranchDecision::cbcModel ( ) const
inline

Model.

Definition at line 87 of file CbcBranchDecision.hpp.

OsiChooseVariable* CbcBranchDecision::chooseMethod ( ) const
inline

Definition at line 101 of file CbcBranchDecision.hpp.

void CbcBranchDecision::setChooseMethod ( const OsiChooseVariable &  method)

Set (clone) chooseMethod.

CbcBranchDecision& CbcBranchDecision::operator= ( const CbcBranchDecision rhs)
private

Assignment is illegal.

virtual CbcBranchDecision* CbcBranchDecision::clone ( ) const
pure virtual
virtual void CbcBranchDecision::initialize ( CbcModel model)
pure virtual

Initialize e.g. before starting to choose a branch at a node.

Implemented in CbcBranchDynamicDecision, CbcBranchDynamicDecision, CbcBranchDefaultDecision, CbcBranchDefaultDecision, and CbcBranchUserDecision.

virtual int CbcBranchDecision::betterBranch ( CbcBranchingObject thisOne,
CbcBranchingObject bestSoFar,
double  changeUp,
int  numberInfeasibilitiesUp,
double  changeDown,
int  numberInfeasibilitiesDown 
)
pure virtual

Compare two branching objects.

Return nonzero if branching using thisOne is better than branching using bestSoFar.

If bestSoFar is NULL, the routine should return a nonzero value. This routine is used only after strong branching. Either this or bestBranch is used depending which user wants.

Implemented in CbcBranchDynamicDecision, CbcBranchDynamicDecision, CbcBranchDefaultDecision, CbcBranchDefaultDecision, and CbcBranchUserDecision.

virtual int CbcBranchDecision::bestBranch ( CbcBranchingObject **  objects,
int  numberObjects,
int  numberUnsatisfied,
double *  changeUp,
int *  numberInfeasibilitiesUp,
double *  changeDown,
int *  numberInfeasibilitiesDown,
double  objectiveValue 
)
virtual

Compare N branching objects.

Return index of best and sets way of branching in chosen object.

Either this or betterBranch is used depending which user wants.

Reimplemented in CbcBranchDefaultDecision, CbcBranchDefaultDecision, and CbcBranchUserDecision.

virtual int CbcBranchDecision::whichMethod ( )
inlinevirtual

Says whether this method can handle both methods - 1 better, 2 best, 3 both.

Reimplemented in CbcBranchDynamicDecision, and CbcBranchDynamicDecision.

Definition at line 68 of file CbcBranchDecision.hpp.

virtual void CbcBranchDecision::saveBranchingObject ( OsiBranchingObject *  )
inlinevirtual

Saves a clone of current branching object.

Can be used to update information on object causing branch - after branch

Reimplemented in CbcBranchDynamicDecision, and CbcBranchDynamicDecision.

Definition at line 74 of file CbcBranchDecision.hpp.

virtual void CbcBranchDecision::updateInformation ( OsiSolverInterface *  ,
const CbcNode  
)
inlinevirtual

Pass in information on branch just done.

assumes object can get information from solver

Reimplemented in CbcBranchDynamicDecision, and CbcBranchDynamicDecision.

Definition at line 77 of file CbcBranchDecision.hpp.

virtual void CbcBranchDecision::setBestCriterion ( double  )
inlinevirtual

Sets or gets best criterion so far.

Reimplemented in CbcBranchDynamicDecision, CbcBranchDynamicDecision, CbcBranchDefaultDecision, and CbcBranchDefaultDecision.

Definition at line 80 of file CbcBranchDecision.hpp.

virtual double CbcBranchDecision::getBestCriterion ( ) const
inlinevirtual
virtual void CbcBranchDecision::generateCpp ( FILE *  )
inlinevirtual

Create C++ lines to get to current state.

Definition at line 85 of file CbcBranchDecision.hpp.

CbcModel* CbcBranchDecision::cbcModel ( ) const
inline

Model.

Definition at line 87 of file CbcBranchDecision.hpp.

OsiChooseVariable* CbcBranchDecision::chooseMethod ( ) const
inline

Definition at line 101 of file CbcBranchDecision.hpp.

void CbcBranchDecision::setChooseMethod ( const OsiChooseVariable &  method)

Set (clone) chooseMethod.

CbcBranchDecision& CbcBranchDecision::operator= ( const CbcBranchDecision rhs)
private

Assignment is illegal.


Member Data Documentation

CbcBranchingObject * CbcBranchDecision::object_
protected

Definition at line 110 of file CbcBranchDecision.hpp.

CbcModel * CbcBranchDecision::model_
protected

Pointer to model.

Definition at line 112 of file CbcBranchDecision.hpp.

OsiChooseVariable * CbcBranchDecision::chooseMethod_
protected

Definition at line 116 of file CbcBranchDecision.hpp.


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