6.24 ABA_BRANCHRULE Class Reference

class is an abstract base class for all branching rules within this framework.

#include <branchrule.h>

Inheritance diagram for ABA_BRANCHRULE::


PIC


Public Member Functions

Protected Attributes

6.24.1 Detailed Description

class is an abstract base class for all branching rules within this framework.

Parameters:

ABA_MASTER
*master_ A pointer to the corresponding master of the optimization.

Definition at line 63 of file branchrule.h.

6.24.2 Constructor & Destructor Documentation

6.24.2.1 ABA_BRANCHRULE::ABA_BRANCHRULE (ABA_MASTER * master)

The constructor.

Parameters:

master
A pointer to the corresponding master of the optimization.

6.24.2.2 virtual ABA_BRANCHRULE::~ABA_BRANCHRULE () [virtual]

The destructor.

6.24.3 Member Function Documentation

6.24.3.1 virtual int ABA_BRANCHRULE::extract (ABA_SUB * sub) [pure virtual]

Modifies a subproblem by setting the branching variable.

Returns:

0 If the subproblem can be modified according to the branching rule.

1 If a contradiction occurs.

Parameters:

sub
The subproblem being modified.

Implemented in ABA_BOUNDBRANCHRULE, ABA_CONBRANCHRULE, ABA_SETBRANCHRULE, and ABA_VALBRANCHRULE.

6.24.3.2 virtual void ABA_BRANCHRULE::extract (ABA_LPSUB * lp) [virtual]

Should modify the linear programming relaxation |lp| in order to determine the quality of the branching rule in a linear programming based branching rule selection.

The default implementation does nothing except writing a warning to the error stream. If a derived concrete branching rule should be used in LP-based branching rule selection then this function has to be redefined.

Parameters:

lp
A pointer to a the linear programming relaxtion of a a subproblem.

Reimplemented in ABA_BOUNDBRANCHRULE, ABA_CONBRANCHRULE, ABA_SETBRANCHRULE, and ABA_VALBRANCHRULE.

6.24.3.3 virtual void ABA_BRANCHRULE::unExtract (ABA_LPSUB * lp) [virtual]

Should undo the modifictions of the linear programming relaxtion |lp|.

This function has to be redefined in a derived class, if also extract(ABA_LPSUB*) is redefined there.

Parameters:

lp
A pointer to a the linear programming relaxtion of a a subproblem.

Reimplemented in ABA_BOUNDBRANCHRULE, ABA_CONBRANCHRULE, ABA_SETBRANCHRULE, and ABA_VALBRANCHRULE.

6.24.3.4 virtual bool ABA_BRANCHRULE::branchOnSetVar () [virtual]

Should indicate if the branching is performed by setting a binary variable.

This is only required as in the current version of the GNU-compiler run time type information is not satisfactorily implemented.

This function is currently required to determine global validity of Gomory cuts for general s.

Returns:

The default implementation returns always false. This function must be redefined in the class ABA_SETBRANCHRULE, where it has to return true.

Reimplemented in ABA_SETBRANCHRULE.

6.24.3.5 virtual void ABA_BRANCHRULE::initialize (ABA_SUB * sub) [virtual]

The function initialize is a virtual dummy function doing nothing. It is called from the constructor of the subproblem and can be used to perform initializations of the branching rule that can be only done after the generation of the subproblem.

Parameters:

sub
A pointer to the subproblem that should be used for the initialization.}

Reimplemented in ABA_CONBRANCHRULE.

6.24.4 Member Data Documentation

6.24.4.1 ABA_MASTER*ABA_BRANCHRULE::master_ [protected]

Definition at line 157 of file branchrule.h.

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