max.flow {RBGL}R Documentation

Compute max flow for a directed graph

Description

Compute max flow for a directed graph

Usage

edmunds.karp.max.flow(g, source, sink)
push.relabel.max.flow(g, source, sink)

Arguments

g an instance of the graph class with edgemode “directed”
source node name (character) or node number (int) for the source of the flow
sink node name (character) or node number (int) for the sink of the flow

Details

Given a directed graph G=(V, E) of a single connected component with a vertex source and a vertex sink. Each arc has a positive real valued capacity, currently it's equivalent to the weight of the arc. The flow of the network is the net flow entering the vertex sink. The maximum flow problem is to determine the maximum possible value for the flow to the sink and the corresponding flow values for each arc. See documentation on these algorithms in Boost Graph Library for more details.

Value

A list of

maxflow the max flow from source to sink
edges the nodes of the arcs with non-zero capacities
flows the flow values of the arcs with non-zero capacities

Author(s)

Li Long <li.long@isb-sib.ch>

References

Boost Graph Library by Siek et al.

See Also

minCut, edgeConnectivity

Examples

g <- fromGXL(file(system.file("XML/dijkex.gxl",package="RBGL"), open="r"))

ans1 <- edmunds.karp.max.flow(g, "B", "D")
ans2 <- edmunds.karp.max.flow(g, 3, 2)     # 3 and 2 equivalent to "C" and "B"

ans3 <- push.relabel.max.flow(g, 2, 4)     # 2 and 4 equivalent to "B" and "D"
ans4 <- push.relabel.max.flow(g, "C", "B")

[Package RBGL version 1.8.1 Index]