layeredShrNetwork Class Reference

Encapsulates the shortest augmenting path code for non-weighted balanced network flows. More...

#include <shrinkingNetwork.h>

Inheritance diagram for layeredShrNetwork:

layeredAuxNetwork abstractDiGraph abstractMixedGraph managedObject goblinRootObject

Public Member Functions

 layeredShrNetwork (abstractBalancedFNW &_H, TNode _s, staticQueue< TNode > **Q, staticQueue< TArc > **Anomalies, staticQueue< TArc > **Bridges) throw ()
 ~layeredShrNetwork () throw ()
void Init () throw ()
unsigned long Size () const throw ()
unsigned long Allocated () const throw ()
TNode StartNode (TArc a) const throw (ERRange)
TCap UCap (TArc a) const throw (ERRange)
TNode DDFS (TArc a) throw (ERRange)
void ShrinkBlossom (TNode b, TArc currentPetal, TNode tenacity) throw (ERRange)
TFloat FindPath (TNode t) throw (ERRange,ERRejected)
void Expand (TNode x, TNode y) throw ()
void CoExpand (TNode x, TNode y) throw ()
void Traverse (TNode b, TNode x, TNode y, TArc currentPetal, TArc *thisProp, TArc *otherProp) throw ()
TFloat Augment (TArc currentPetal) throw ()

Detailed Description

Encapsulates the shortest augmenting path code for non-weighted balanced network flows.


Constructor & Destructor Documentation

layeredShrNetwork (  abstractBalancedFNW &  _H,
TNode  _s,
staticQueue< TNode > **  Q,
staticQueue< TArc > **  Anomalies,
staticQueue< TArc > **  Bridges
)  throw ()
 

~layeredShrNetwork (   )  throw ()
 


Member Function Documentation

unsigned long Allocated (   )  const throw ()
 

Reimplemented from layeredAuxNetwork.

TFloat Augment (  TArc  currentPetal  )  throw ()
 

void CoExpand (  TNode  x,
TNode  y
)  throw ()
 

TNode DDFS (  TArc  a  )  throw (ERRange)
 

void Expand (  TNode  x,
TNode  y
)  throw ()
 

TFloat FindPath (  TNode  t  )  throw (ERRange,ERRejected)
 

Reimplemented from layeredAuxNetwork.

void Init (   )  throw ()
 

Reimplemented from layeredAuxNetwork.

void ShrinkBlossom (  TNode  b,
TArc  currentPetal,
TNode  tenacity
)  throw (ERRange)
 

unsigned long Size (   )  const throw () [virtual]
 

Reimplemented from layeredAuxNetwork.

TNode StartNode (  TArc  a  )  const throw (ERRange) [virtual]
 

Query the start node of a given arc.

Parameters:
a An arc index ranged [0,1,..,2*mAct-1]
Returns:
The index of the start node

Reimplemented from layeredAuxNetwork.

void Traverse (  TNode  b,
TNode  x,
TNode  y,
TArc  currentPetal,
TArc *  thisProp,
TArc *  otherProp
)  throw ()
 

TCap UCap (  TArc  a  )  const throw (ERRange) [virtual]
 

Retrieve an upper capacity bound.

Parameters:
a An arc index ranged [0,1,..,2m-1]
Returns:
The upper capacity bound of arc a

Reimplemented from layeredAuxNetwork.