Maximum st-flow


Data Structures

class  layeredAuxNetwork
 A class for supporting supporting network flow methods which use layered augmentation. More...
class  iLayeredAuxNetwork
 Investigators for layeredAuxNetwork objects. More...

Enumerations

enum  abstractMixedGraph::TMethMXF {
  abstractMixedGraph::MXF_DEFAULT = -1,
  abstractMixedGraph::MXF_SAP = 0,
  abstractMixedGraph::MXF_DINIC = 1,
  abstractMixedGraph::MXF_PREFLOW_FIFO = 2,
  abstractMixedGraph::MXF_PREFLOW_HIGH = 3,
  abstractMixedGraph::MXF_PREFLOW_SCALE = 4,
  abstractMixedGraph::MXF_SAP_SCALE = 5
}

Functions

TFloat abstractMixedGraph::MaxFlow (TNode source, TNode target) throw (ERRange,ERRejected)
TFloat abstractMixedGraph::MaxFlow (TMethMXF method, TNode source, TNode target) throw (ERRange,ERRejected)
bool abstractMixedGraph::AdmissibleBFlow () throw ()

Enumeration Type Documentation

enum TMethMXF [inherited]
 

Alternative methods for the maximum st-flow solver.

Enumerator:
MXF_DEFAULT  Apply the default method set in goblinController::methMXF.
MXF_SAP  Apply the shortest path method.
MXF_DINIC  Apply the Dinic blocking flow method.
MXF_PREFLOW_FIFO  Apply the FIFO push / relabel method.
MXF_PREFLOW_HIGH  Apply the highest label push / relabel method.
MXF_PREFLOW_SCALE  Apply the excess scaling push / relabel method.
MXF_SAP_SCALE  Apply a shortest path method with scaled capacities.


Function Documentation

bool AdmissibleBFlow  )  throw () [inherited]
 

Construct a feasible b-flow.

Return values:
true The graph admits a feasible b-flow
This method determines a b-flow by using the maximum flow solver. The solution is returned by the subgraph data structure.

TFloat MaxFlow TMethMXF  method,
TNode  source,
TNode  target
throw (ERRange,ERRejected) [inherited]
 

Compute a maximum st-flow by using the specified method.

Parameters:
method A TMethMXF value specifying the applied method
source A node whose flow excess is minimized
target A node whose flow excess is maximized
Returns:
The value of the final st-flow
This is the public interface to all maximum st-flow methods. The result is a subgraph in which all nodes but source and target are balanced, and the flow excess of the source node is minimal. The distance labels on return encode a minimum st-cut.

Depending on the applied method, it may be required that the lower capacity bounds are all zero, or that the subgraph at start is already a feasible st-flow whose value does not exeed the demand of target.

TFloat MaxFlow TNode  source,
TNode  target
throw (ERRange,ERRejected) [inherited]
 

Compute a maximum st-flow by using a default method.

Parameters:
source A node whose flow excess is minimized
target A node whose flow excess is maximized
Returns:
The value of the final st-flow
The method determines a subgraph in which all nodes but source and target are balanced, and the flow excess of the source node is minimal. The distance labels on return encode a minimum st-cut.

Depending on the applied method, it may be required that the lower capacity bounds are all zero, or that the subgraph at start is already a feasible st-flow whose value does not exeed the demand of target.