ABA_BOUNDBRANCHRULE Class Reference

class implements a branching rule for modifying the lower and the upper bound of a variable. More...

#include <boundbranchrule.h>

Inheritance diagram for ABA_BOUNDBRANCHRULE:

ABA_BRANCHRULE ABA_ABACUSROOT List of all members.

Public Member Functions

 ABA_BOUNDBRANCHRULE (ABA_MASTER *master, int variable, double lBound, double uBound)
virtual ~ABA_BOUNDBRANCHRULE ()
virtual int extract (ABA_SUB *sub)
 Modifies a subproblem by changing the lower and the upper bound of the branching variable.
virtual void extract (ABA_LPSUB *lp)
 Is overloaded to modify directly the linear programming relaxation.
virtual void unExtract (ABA_LPSUB *lp)
int variable () const
double lBound () const
double uBound () const

Private Attributes

int variable_
double lBound_
double uBound_
double oldLpLBound_
double oldLpUBound_

Friends

ostream & operator<< (ostream &out, const ABA_BOUNDBRANCHRULE &rhs)
 The output operator writes the branching variable together with its lower and upper bound to an output stream.

Detailed Description

class implements a branching rule for modifying the lower and the upper bound of a variable.

Parameters:
int variable_ The branching variable.
double lBound_ The lower bound of the branching variable.
double uBound_ The upper bound of the branching variable.

Definition at line 40 of file boundbranchrule.h.


Constructor & Destructor Documentation

ABA_BOUNDBRANCHRULE::ABA_BOUNDBRANCHRULE ( ABA_MASTER master,
int  variable,
double  lBound,
double  uBound 
)

The constructor.

Parameters:
master A pointer to the corresponding master of the optimization.
variable The branching variable.
lBound The lower bound of the branching variable.
uBound The upper bound of the branching variable.

virtual ABA_BOUNDBRANCHRULE::~ABA_BOUNDBRANCHRULE (  )  [virtual]

The destructor.


Member Function Documentation

virtual int ABA_BOUNDBRANCHRULE::extract ( ABA_SUB sub  )  [virtual]

Modifies a subproblem by changing the lower and the upper bound of the branching variable.

Returns:
0 If the subproblem is successfully modified.

1 If the modification causes a contradiction.

Parameters:
sub The subproblem being modified.

Implements ABA_BRANCHRULE.

virtual void ABA_BOUNDBRANCHRULE::extract ( ABA_LPSUB lp  )  [virtual]

Is overloaded to modify directly the linear programming relaxation.

This required to evaluate the quality of a branching rule.

Reimplemented from ABA_BRANCHRULE.

virtual void ABA_BOUNDBRANCHRULE::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 from ABA_BRANCHRULE.

int ABA_BOUNDBRANCHRULE::variable (  )  const [inline]

Returns:
The number of the branching variable.

Definition at line 134 of file boundbranchrule.h.

double ABA_BOUNDBRANCHRULE::lBound (  )  const [inline]

Returns:
The lower bound of the branching variable.

Definition at line 139 of file boundbranchrule.h.

double ABA_BOUNDBRANCHRULE::uBound (  )  const [inline]

Returns:
The upper bound of the branching variable.

Definition at line 144 of file boundbranchrule.h.


Friends And Related Function Documentation

ostream& operator<< ( ostream &  out,
const ABA_BOUNDBRANCHRULE rhs 
) [friend]

The output operator writes the branching variable together with its lower and upper bound to an output stream.

Returns:
A reference to the output stream.
Parameters:
out The output stream.
rhs The branch rule being output.


Member Data Documentation

int ABA_BOUNDBRANCHRULE::variable_ [private]

Definition at line 126 of file boundbranchrule.h.

double ABA_BOUNDBRANCHRULE::lBound_ [private]

Definition at line 127 of file boundbranchrule.h.

double ABA_BOUNDBRANCHRULE::uBound_ [private]

Definition at line 128 of file boundbranchrule.h.

double ABA_BOUNDBRANCHRULE::oldLpLBound_ [private]

Definition at line 129 of file boundbranchrule.h.

double ABA_BOUNDBRANCHRULE::oldLpUBound_ [private]

Definition at line 130 of file boundbranchrule.h.


The documentation for this class was generated from the following file:
Generated on Tue Aug 14 18:09:56 2007 for ABACUS by  doxygen 1.5.1