Alps  2.0.2
Public Member Functions | Private Member Functions | Private Attributes | List of all members
AbcBranchDefaultDecision Class Reference

Branching decision default class. More...

#include <AbcBranchActual.h>

+ Inheritance diagram for AbcBranchDefaultDecision:
+ Collaboration diagram for AbcBranchDefaultDecision:

Public Member Functions

 AbcBranchDefaultDecision ()
 
 AbcBranchDefaultDecision (const AbcBranchDefaultDecision &)
 
virtual ~AbcBranchDefaultDecision ()
 
virtual AbcBranchDecisionclone () const
 Clone. More...
 
virtual void initialize (AbcModel *model)
 Initialize, e.g. before the start of branch selection at a node. More...
 
virtual int betterBranch (int thisOne, int bestSoFar, double changeUp, int numInfUp, double changeDn, int numInfDn)
 Compare two branching objects. More...
 
 AbcBranchDefaultDecision ()
 
 AbcBranchDefaultDecision (const AbcBranchDefaultDecision &)
 
virtual ~AbcBranchDefaultDecision ()
 
virtual AbcBranchDecisionclone () const
 Clone. More...
 
virtual void initialize (AbcModel *model)
 Initialize, e.g. before the start of branch selection at a node. More...
 
virtual int betterBranch (int thisOne, int bestSoFar, double changeUp, int numInfUp, double changeDn, int numInfDn)
 Compare two branching objects. More...
 
 AbcBranchDefaultDecision ()
 
 AbcBranchDefaultDecision (const AbcBranchDefaultDecision &)
 
virtual ~AbcBranchDefaultDecision ()
 
virtual AbcBranchDecisionclone () const
 Clone. More...
 
virtual void initialize (AbcModel *model)
 Initialize, e.g. before the start of branch selection at a node. More...
 
virtual int betterBranch (int thisOne, int bestSoFar, double changeUp, int numInfUp, double changeDn, int numInfDn)
 Compare two branching objects. More...
 
- Public Member Functions inherited from AbcBranchDecision
 AbcBranchDecision ()
 Default Constructor. More...
 
virtual ~AbcBranchDecision ()
 Destructor. More...
 
virtual int bestBranch (AbcModel *model, int *objects, int numberObjects, int numberUnsatisfied, double *changeUp, int *numberInfeasibilitiesUp, double *changeDown, int *numberInfeasibilitiesDown, double objectiveValue)
 Compare N branching objects. More...
 
 AbcBranchDecision ()
 Default Constructor. More...
 
virtual ~AbcBranchDecision ()
 Destructor. More...
 
virtual int bestBranch (AbcModel *model, int *objects, int numberObjects, int numberUnsatisfied, double *changeUp, int *numberInfeasibilitiesUp, double *changeDown, int *numberInfeasibilitiesDown, double objectiveValue)
 Compare N branching objects. More...
 
 AbcBranchDecision ()
 Default Constructor. More...
 
virtual ~AbcBranchDecision ()
 Destructor. More...
 
virtual int bestBranch (AbcModel *model, int *objects, int numberObjects, int numberUnsatisfied, double *changeUp, int *numberInfeasibilitiesUp, double *changeDown, int *numberInfeasibilitiesDown, double objectiveValue)
 Compare N branching objects. More...
 

Private Member Functions

AbcBranchDefaultDecisionoperator= (const AbcBranchDefaultDecision &rhs)
 Illegal Assignment operator. More...
 
AbcBranchDefaultDecisionoperator= (const AbcBranchDefaultDecision &rhs)
 Illegal Assignment operator. More...
 
AbcBranchDefaultDecisionoperator= (const AbcBranchDefaultDecision &rhs)
 Illegal Assignment operator. More...
 

Private Attributes

AbcModelmodel_
 data Point to the model More...
 
double bestCriterion_
 "best" so far More...
 
double bestChangeUp_
 Change up for best. More...
 
int bestNumberUp_
 Number of infeasibilities for up. More...
 
double bestChangeDown_
 Change down for best. More...
 
int bestNumberDown_
 Number of infeasibilities for down. More...
 
int bestObject_
 Index of the best branching integer variable. More...
 

Detailed Description

Branching decision default class.

This class implements a simple default algorithm (betterBranch()) for choosing a branching variable.

Definition at line 42 of file AbcBranchActual.h.

Constructor & Destructor Documentation

◆ AbcBranchDefaultDecision() [1/6]

AbcBranchDefaultDecision::AbcBranchDefaultDecision ( )

◆ AbcBranchDefaultDecision() [2/6]

AbcBranchDefaultDecision::AbcBranchDefaultDecision ( const AbcBranchDefaultDecision )

◆ ~AbcBranchDefaultDecision() [1/3]

virtual AbcBranchDefaultDecision::~AbcBranchDefaultDecision ( )
virtual

◆ AbcBranchDefaultDecision() [3/6]

AbcBranchDefaultDecision::AbcBranchDefaultDecision ( )

◆ AbcBranchDefaultDecision() [4/6]

AbcBranchDefaultDecision::AbcBranchDefaultDecision ( const AbcBranchDefaultDecision )

◆ ~AbcBranchDefaultDecision() [2/3]

virtual AbcBranchDefaultDecision::~AbcBranchDefaultDecision ( )
virtual

◆ AbcBranchDefaultDecision() [5/6]

AbcBranchDefaultDecision::AbcBranchDefaultDecision ( )

◆ AbcBranchDefaultDecision() [6/6]

AbcBranchDefaultDecision::AbcBranchDefaultDecision ( const AbcBranchDefaultDecision )

◆ ~AbcBranchDefaultDecision() [3/3]

virtual AbcBranchDefaultDecision::~AbcBranchDefaultDecision ( )
virtual

Member Function Documentation

◆ clone() [1/3]

virtual AbcBranchDecision* AbcBranchDefaultDecision::clone ( ) const
virtual

Clone.

Implements AbcBranchDecision.

◆ initialize() [1/3]

virtual void AbcBranchDefaultDecision::initialize ( AbcModel model)
virtual

Initialize, e.g. before the start of branch selection at a node.

Implements AbcBranchDecision.

◆ betterBranch() [1/3]

virtual int AbcBranchDefaultDecision::betterBranch ( int  thisOne,
int  bestSoFar,
double  changeUp,
int  numInfUp,
double  changeDn,
int  numInfDn 
)
virtual

Compare two branching objects.

Return nonzero if thisOne is better than bestSoFar.

The routine compares branches using the values supplied in numInfUp and numInfDn until a solution is found by search, after which it uses the values supplied in changeUp and changeDn. The best branching object seen so far and the associated parameter values are remembered in the AbcBranchDefaultDecision object. The nonzero return value is +1 if the up branch is preferred, -1 if the down branch is preferred.

As the names imply, the assumption is that the values supplied for numInfUp and numInfDn will be the number of infeasibilities reported by the branching object, and changeUp and changeDn will be the estimated change in objective. Other measures can be used if desired.

Because an AbcBranchDefaultDecision object remembers the current best branching candidate (bestObject_) as well as the values used in the comparison, the parameter bestSoFar is redundant, hence unused.

Implements AbcBranchDecision.

◆ operator=() [1/3]

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

Illegal Assignment operator.

◆ clone() [2/3]

virtual AbcBranchDecision* AbcBranchDefaultDecision::clone ( ) const
virtual

Clone.

Implements AbcBranchDecision.

◆ initialize() [2/3]

virtual void AbcBranchDefaultDecision::initialize ( AbcModel model)
virtual

Initialize, e.g. before the start of branch selection at a node.

Implements AbcBranchDecision.

◆ betterBranch() [2/3]

virtual int AbcBranchDefaultDecision::betterBranch ( int  thisOne,
int  bestSoFar,
double  changeUp,
int  numInfUp,
double  changeDn,
int  numInfDn 
)
virtual

Compare two branching objects.

Return nonzero if thisOne is better than bestSoFar.

The routine compares branches using the values supplied in numInfUp and numInfDn until a solution is found by search, after which it uses the values supplied in changeUp and changeDn. The best branching object seen so far and the associated parameter values are remembered in the AbcBranchDefaultDecision object. The nonzero return value is +1 if the up branch is preferred, -1 if the down branch is preferred.

As the names imply, the assumption is that the values supplied for numInfUp and numInfDn will be the number of infeasibilities reported by the branching object, and changeUp and changeDn will be the estimated change in objective. Other measures can be used if desired.

Because an AbcBranchDefaultDecision object remembers the current best branching candidate (bestObject_) as well as the values used in the comparison, the parameter bestSoFar is redundant, hence unused.

Implements AbcBranchDecision.

◆ operator=() [2/3]

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

Illegal Assignment operator.

◆ clone() [3/3]

virtual AbcBranchDecision* AbcBranchDefaultDecision::clone ( ) const
virtual

Clone.

Implements AbcBranchDecision.

◆ initialize() [3/3]

virtual void AbcBranchDefaultDecision::initialize ( AbcModel model)
virtual

Initialize, e.g. before the start of branch selection at a node.

Implements AbcBranchDecision.

◆ betterBranch() [3/3]

virtual int AbcBranchDefaultDecision::betterBranch ( int  thisOne,
int  bestSoFar,
double  changeUp,
int  numInfUp,
double  changeDn,
int  numInfDn 
)
virtual

Compare two branching objects.

Return nonzero if thisOne is better than bestSoFar.

The routine compares branches using the values supplied in numInfUp and numInfDn until a solution is found by search, after which it uses the values supplied in changeUp and changeDn. The best branching object seen so far and the associated parameter values are remembered in the AbcBranchDefaultDecision object. The nonzero return value is +1 if the up branch is preferred, -1 if the down branch is preferred.

As the names imply, the assumption is that the values supplied for numInfUp and numInfDn will be the number of infeasibilities reported by the branching object, and changeUp and changeDn will be the estimated change in objective. Other measures can be used if desired.

Because an AbcBranchDefaultDecision object remembers the current best branching candidate (bestObject_) as well as the values used in the comparison, the parameter bestSoFar is redundant, hence unused.

Implements AbcBranchDecision.

◆ operator=() [3/3]

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

Illegal Assignment operator.

Member Data Documentation

◆ model_

AbcModel * AbcBranchDefaultDecision::model_
private

data Point to the model

Definition at line 93 of file AbcBranchActual.h.

◆ bestCriterion_

double AbcBranchDefaultDecision::bestCriterion_
private

"best" so far

Definition at line 96 of file AbcBranchActual.h.

◆ bestChangeUp_

double AbcBranchDefaultDecision::bestChangeUp_
private

Change up for best.

Definition at line 99 of file AbcBranchActual.h.

◆ bestNumberUp_

int AbcBranchDefaultDecision::bestNumberUp_
private

Number of infeasibilities for up.

Definition at line 102 of file AbcBranchActual.h.

◆ bestChangeDown_

double AbcBranchDefaultDecision::bestChangeDown_
private

Change down for best.

Definition at line 105 of file AbcBranchActual.h.

◆ bestNumberDown_

int AbcBranchDefaultDecision::bestNumberDown_
private

Number of infeasibilities for down.

Definition at line 108 of file AbcBranchActual.h.

◆ bestObject_

int AbcBranchDefaultDecision::bestObject_
private

Index of the best branching integer variable.

Definition at line 111 of file AbcBranchActual.h.


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