public class PushRelabelMaximumFlow<V,E> extends MaximumFlowAlgorithmBase<V,E>
Push-relabel maximum flow algorithm designed by Andrew V. Goldberg and Robert Tarjan. Current implementation complexity upper-bound is O(V^3). For more details see: "A new approach to the maximum flow problem" by Andrew V. Goldberg and Robert Tarjan STOC '86: Proceedings of the eighteenth annual ACM symposium on Theory of computing
| Modifier and Type | Class and Description | 
|---|---|
class  | 
PushRelabelMaximumFlow.EdgeExtension  | 
class  | 
PushRelabelMaximumFlow.VertexExtension  | 
MaximumFlowAlgorithm.MaximumFlow<V,E>, MaximumFlowAlgorithm.MaximumFlowImpl<V,E>DEFAULT_EPSILON| Constructor and Description | 
|---|
PushRelabelMaximumFlow(DirectedGraph<V,E> network)  | 
| Modifier and Type | Method and Description | 
|---|---|
MaximumFlowAlgorithm.MaximumFlow<V,E> | 
buildMaximumFlow(V source,
                V sink)
Builds maximum flow for the supplied network flow, for the supplied
 ${source} and ${sink} 
 | 
void | 
initialize(PushRelabelMaximumFlow.VertexExtension source,
          PushRelabelMaximumFlow.VertexExtension sink,
          Queue<PushRelabelMaximumFlow.VertexExtension> active)  | 
protected void | 
pushFlowThrough(PushRelabelMaximumFlow.EdgeExtension ex,
               double f)  | 
compareFlowTo, composeFlow, edgeExtended, pushFlowThrough, vertexExtendedpublic PushRelabelMaximumFlow(DirectedGraph<V,E> network)
public void initialize(PushRelabelMaximumFlow.VertexExtension source, PushRelabelMaximumFlow.VertexExtension sink, Queue<PushRelabelMaximumFlow.VertexExtension> active)
public MaximumFlowAlgorithm.MaximumFlow<V,E> buildMaximumFlow(V source, V sink)
MaximumFlowAlgorithmsource - source of the flow inside the networksink - sink of the flow inside the networkprotected void pushFlowThrough(PushRelabelMaximumFlow.EdgeExtension ex, double f)
Copyright © 2016. All rights reserved.