Cbc  2.10.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Member Functions | List of all members
CbcBranchUserDecision Class Reference

Branching decision user class. More...

#include <CbcBranchUser.hpp>

+ Inheritance diagram for CbcBranchUserDecision:
+ Collaboration diagram for CbcBranchUserDecision:

Public Member Functions

 CbcBranchUserDecision ()
 
 CbcBranchUserDecision (const CbcBranchUserDecision &)
 
virtual ~CbcBranchUserDecision ()
 
virtual CbcBranchDecisionclone () const
 Clone. More...
 
virtual void initialize (CbcModel *model)
 Initialize i.e. before start of choosing at a node. More...
 
virtual int betterBranch (CbcBranchingObject *thisOne, CbcBranchingObject *bestSoFar, double changeUp, int numberInfeasibilitiesUp, double changeDown, int numberInfeasibilitiesDown)
 Returns nonzero if branching on first object is "better" than on second (if second NULL first wins). More...
 
virtual int bestBranch (CbcBranchingObject **objects, int numberObjects, int numberUnsatisfied, double *changeUp, int *numberInfeasibilitiesUp, double *changeDown, int *numberInfeasibilitiesDown, double objectiveValue)
 Compare N branching objects. More...
 
- Public Member Functions inherited from CbcBranchDecision
 CbcBranchDecision ()
 Default Constructor. More...
 
 CbcBranchDecision (const CbcBranchDecision &)
 
virtual ~CbcBranchDecision ()
 Destructor. More...
 
virtual int whichMethod ()
 Says whether this method can handle both methods - 1 better, 2 best, 3 both. More...
 
virtual void saveBranchingObject (OsiBranchingObject *)
 Saves a clone of current branching object. More...
 
virtual void updateInformation (OsiSolverInterface *, const CbcNode *)
 Pass in information on branch just done. More...
 
virtual void setBestCriterion (double)
 Sets or gets best criterion so far. More...
 
virtual double getBestCriterion () const
 
virtual void generateCpp (FILE *)
 Create C++ lines to get to current state. More...
 
CbcModelcbcModel () const
 Model. More...
 
OsiChooseVariablechooseMethod () const
 
void setChooseMethod (const OsiChooseVariable &method)
 Set (clone) chooseMethod. More...
 

Private Member Functions

CbcBranchUserDecisionoperator= (const CbcBranchUserDecision &rhs)
 Illegal Assignment operator. More...
 

Additional Inherited Members

- Protected Attributes inherited from CbcBranchDecision
CbcBranchingObjectobject_
 
CbcModelmodel_
 Pointer to model. More...
 
OsiChooseVariablechooseMethod_
 

Detailed Description

Branching decision user class.

Definition at line 14 of file CbcBranchUser.hpp.

Constructor & Destructor Documentation

CbcBranchUserDecision::CbcBranchUserDecision ( )
CbcBranchUserDecision::CbcBranchUserDecision ( const CbcBranchUserDecision )
virtual CbcBranchUserDecision::~CbcBranchUserDecision ( )
virtual

Member Function Documentation

virtual CbcBranchDecision* CbcBranchUserDecision::clone ( ) const
virtual

Clone.

Implements CbcBranchDecision.

virtual void CbcBranchUserDecision::initialize ( CbcModel model)
virtual

Initialize i.e. before start of choosing at a node.

Implements CbcBranchDecision.

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

Returns nonzero if branching on first object is "better" than on second (if second NULL first wins).

This is only used after strong branching. The initial selection is done by infeasibility() for each CbcObject return code +1 for up branch preferred, -1 for down

Implements CbcBranchDecision.

virtual int CbcBranchUserDecision::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.

This routine is used only after strong branching. This is reccommended version as it can be more sophisticated

Reimplemented from CbcBranchDecision.

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

Illegal Assignment operator.


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