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.