
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

Arguments
   Graph               a graph structure, no parallel edges, e(Src,Dest,EdgeData)
   LowerBoundArg       which argument of EdgeData to use as the minimum flow (lower bound) for edge (integer) 
   CapacityArg         which argument of EdgeData to use as edge capacity (integer),
   SourceNode          source node number (integer)
   SinkNode            sink node number (integer)
   MaxFlowValue        value of the maximum flow
   MaxFlowEdges        list denoting edges with non-zero flow (form: Flow-Edge)
   MaxFlowEdgesGraph   a graph structure, original nodes (as in Graph) but only the edges that are in max flow

Type
   library(max_flow)

Description
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
