6.44 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.

#include <opensub.h>

Inheritance diagram for ABA_OPENSUB::


PIC


Public Member Functions

Private Member Functions

Private Attributes

Friends

6.44.1 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.

6.44.2 Constructor & Destructor Documentation

6.44.2.1 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.

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

6.44.3 Member Function Documentation

6.44.3.1 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.

6.44.3.2 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.

6.44.3.3 double ABA_OPENSUB::dualBound () const

Returns:

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

6.44.3.4 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.

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

Adds a subproblem to the set of open subproblems.

Parameters:

sub
The subproblem that is inserted.

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

Removes subproblem from the set of open subproblems.

Parameters:

sub
The subproblem that is removed.

6.44.3.7 void ABA_OPENSUB::prune () [private]

Removes all elements from the set of opens subproblems.

6.44.3.8 void ABA_OPENSUB::updateDualBound () [private]

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

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

6.44.4 Friends And Related Function Documentation

6.44.4.1 friend class ABA_SUB [friend]

Definition at line 51 of file opensub.h.

6.44.4.2 friend class ABA_MASTER [friend]

Definition at line 52 of file opensub.h.

6.44.5 Member Data Documentation

6.44.5.1 ABA_MASTER*ABA_OPENSUB::master_ [private]

A pointer to corresponding master of the optimization.

Definition at line 137 of file opensub.h.

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

The doubly linked list storing the open subproblems.

Definition at line 159 of file opensub.h.

6.44.5.3 int ABA_OPENSUB::n_ [private]

The number of open subproblems.

Definition at line 163 of file opensub.h.

6.44.5.4 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: