
all_min_cuts(+Graph, +CapacityArg, +SourceNode, +SinkNode, -MaxFlowValue, -MaxFlowEdges, -MinCuts, -MinCutEdges)

   Curet et al, algorithm for generating all minimum-cost cuts

Arguments
   Graph               a graph structure, no parallel edges, e(Src,Dest,EdgeData)
   CapacityArg         which argument of EdgeData to use as edge capacity (integer), (0 if EdgeData is a single number and -1 if every edge capacity is 1)
   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)
   MinCuts             list of all minimum cost cutsets (each cutset is represented by a list of nodes belonging to the source-side of the cut)
   MinCutEdges         list of all minimum cost cutsets (each cutset is represented by a list of edges that separate the source-side and the sink-side of the cut)

Type
   library(all_min_cuts)

Description
This predicate provides all minimal cost cutsets for a max flow problem in a graph between a source and a sink node. It returns the maximal flow value, edges with non-zero flow in the optimal solution, and a list of all minimum cost cutsets corresponding to that flow value. The results are given both as node lists (nodes on the source side of the cut), and as edge lists (edges belonging to the cut), to simplify use of the predicate in situations where either of the output formats is preferred.

See Also
   max_flow : max_flow / 5, max_flow : max_flow / 7, max_flow_eplex : max_flow_eplex / 5, max_flow_eplex : max_flow_eplex_dual / 5, max_flow_eplex : max_flow_eplex_dual / 7, all_min_cuts / 8, all_min_cuts / 9, all_min_cuts_list / 5, all_min_cuts_eplex : all_min_cuts_eplex / 7, all_min_cuts_eplex : all_min_cuts_eplex / 8
