[ library(max_flow) | Reference Manual | Alphabetic Index ]

max_flow_with_lb(+Graph, +LowerBoundArg, +CapacityArg, +SourceNode, +SinkNode, -MaxFlowValue, -MaxFlowEdges, -MaxFlowEdgesGraph)

Finds rhe maximum flow for a network with non-negative lower-bounds imposed on the edge flows,using an adapted Ford-Fulkerson maximum flow algorithm
a graph structure, no parallel edges, e(Src,Dest,EdgeData)
which argument of EdgeData to use as the minimum flow (lower bound) for edge (integer)
which argument of EdgeData to use as edge capacity (integer),
source node number (integer)
sink node number (integer)
value of the maximum flow
list denoting edges with non-zero flow (form: Flow-Edge)
a graph structure, original nodes (as in Graph) but only the edges that are in max flow


This predicate provides an implementation of the Ford-Fulkerson max-flow algorithm between two nodes in a graph, modified to allow edges to have non-negative minimum flows. It returns the maximal achievable flow allowed by the capacities in the network, a list of all edges with non-zero flow, and a graph of the edges with non-zero flow.

Fail Conditions

There is no feasible flow between Source and Sink nodes.

See Also

max_flow_with_lb / 6, max_flow / 5, max_flow / 7, feas_flow_with_lb / 8, all_min_cuts : all_min_cuts / 8, all_min_cuts : all_min_cuts / 9, all_min_cuts : all_min_cuts_list / 5