ABA_OPENSUB Class Reference

New subproblems are inserted in this set after a branching step, or when a subproblem becomes dormant. A subproblem is extracted from this list if it becomes the active subproblem which is optimized. More...

#include <opensub.h>

Inheritance diagram for ABA_OPENSUB:

ABA_ABACUSROOT List of all members.

Public Member Functions

 ABA_OPENSUB (ABA_MASTER *master)
 The constructor does not initialize the member dualBound_ since this can only be done if we know the sense of the objective function which is normally unknown when the constructor of the class ABA_MASTER is called which again calls this constructor.
int number () const
bool empty () const
double dualBound () const

Private Member Functions

ABA_SUBselect ()
 Selects a subproblem according to the strategy in master and removes it from the list of open subproblems.
void insert (ABA_SUB *sub)
void remove (ABA_SUB *sub)
void prune ()
void updateDualBound ()
 Updates the member dualBound_ according to the dual bounds of the subproblems contained in this set.
 ABA_OPENSUB (const ABA_OPENSUB &rhs)
const ABA_OPENSUBoperator= (const ABA_OPENSUB &rhs)

Private Attributes

ABA_MASTERmaster_
ABA_DLIST< ABA_SUB * > list_
int n_
double dualBound_

Friends

class ABA_SUB
class ABA_MASTER

Detailed Description

New subproblems are inserted in this set after a branching step, or when a subproblem becomes dormant. A subproblem is extracted from this list if it becomes the active subproblem which is optimized.

Definition at line 50 of file opensub.h.


Constructor & Destructor Documentation

ABA_OPENSUB::ABA_OPENSUB ( ABA_MASTER master  ) 

The constructor does not initialize the member dualBound_ since this can only be done if we know the sense of the objective function which is normally unknown when the constructor of the class ABA_MASTER is called which again calls this constructor.

Parameters:
master A pointer to the corresponding master of the optimization.

ABA_OPENSUB::ABA_OPENSUB ( const ABA_OPENSUB rhs  )  [private]


Member Function Documentation

int ABA_OPENSUB::number (  )  const [inline]

Returns:
The current number of open subproblems contained in this set.

Definition at line 174 of file opensub.h.

bool ABA_OPENSUB::empty (  )  const [inline]

Returns:
true If there is no subproblem in the set of open subproblems,

false otherwise.

Definition at line 179 of file opensub.h.

double ABA_OPENSUB::dualBound (  )  const

Returns:
The value of the dual bound of all subproblems in the list.

ABA_SUB* ABA_OPENSUB::select (  )  [private]

Selects a subproblem according to the strategy in master and removes it from the list of open subproblems.

The function select() scans the list of open subproblems, and selects the subproblem with highest priority from the set of open subproblems. Dormant subproblems are ignored if possible.

Returns:
The selected subproblem. If the set of open subproblems is empty, 0 is returned.

void ABA_OPENSUB::insert ( ABA_SUB sub  )  [private]

Adds a subproblem to the set of open subproblems.

Parameters:
sub The subproblem that is inserted.

void ABA_OPENSUB::remove ( ABA_SUB sub  )  [private]

Removes subproblem from the set of open subproblems.

Parameters:
sub The subproblem that is removed.

void ABA_OPENSUB::prune (  )  [private]

Removes all elements from the set of opens subproblems.

void ABA_OPENSUB::updateDualBound (  )  [private]

Updates the member dualBound_ according to the dual bounds of the subproblems contained in this set.

const ABA_OPENSUB& ABA_OPENSUB::operator= ( const ABA_OPENSUB rhs  )  [private]


Friends And Related Function Documentation

friend class ABA_SUB [friend]

Definition at line 51 of file opensub.h.

friend class ABA_MASTER [friend]

Definition at line 52 of file opensub.h.


Member Data Documentation

ABA_MASTER* ABA_OPENSUB::master_ [private]

A pointer to corresponding master of the optimization.

Definition at line 137 of file opensub.h.

ABA_DLIST<ABA_SUB*> ABA_OPENSUB::list_ [private]

The doubly linked list storing the open subproblems.

Definition at line 159 of file opensub.h.

int ABA_OPENSUB::n_ [private]

The number of open subproblems.

Definition at line 163 of file opensub.h.

double ABA_OPENSUB::dualBound_ [private]

The dual bound of all open subproblems.

Definition at line 167 of file opensub.h.


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