Given a undirected graph G=(V,E), each edge is associated with a non-negative value.
How to find the maximum number of vertex-disjoint paths from s to t on the graph G, with a constraint that the sum of paths length is not greater than a predefined value T.
The max number of edge-disjoint s-t paths is equal to the min number of arcs whose removal disconnects t from s. Suppose the removal of F ⊆ E disconnects t from s, and |F| = k. All s-t paths use at least one edge of F. Hence, the number of edge- disjoint paths is at most k.
Definition 6 (Vertex disjoint paths). Given a graph G = (V,E) and two vertices s, t ∈ G, we say that two or more paths from s to t in G are vertex disjoint if they have no other vertices in common except for s and t, respectively.
Given a directed graph and two vertices in it, source 's' and destination 't', find out the maximum number of edge disjoint paths from s to t. Two paths are said edge disjoint if they don't share any edge. There can be maximum two edge disjoint paths from source 0 to destination 7 in the above graph.
You can start with transforming a vertex-disjoint paths problem to edge-disjoint paths problem. See this answer to other question for details.
Now you can solve Minimum-cost flow problem on this graph to find any number of disjoint paths having minimal sum of path lengths. Do do this, assign flow capacity for each edge equal to 1, then search for a minimum-cost flow between s and t with flow equal to the needed number of paths.
To find the maximum number of paths, apply minimum-cost flow procedure on each step of binary search, starting from some initial number of paths, which may be determined by one of the following procedures:
Since you are only interested in the number of vertex-disjoint paths you can use Menger's theorem (for proof look here) that states as follows:
Let G be a finite undirected graph and x and y two nonadjacent vertices. Then the theorem states that the size of the minimum vertex cut for x and y (the minimum number of vertices whose removal disconnects x and y) is equal to the maximum number of pairwise vertex-independent paths from x to y.
But this doesn't satisfy the constraint that the sum of paths length is not greater than a predefined value T.
For that you'll have to use a version of of Menger's theorem for paths of bounded length that is presented here: http://www.math.elte.hu/~lovasz/scans/mengerian.pdf
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With