Maximum Integer Flows in Directed Planar Graphs with Multiple Sources and Sinks and Vertex Capacities
We consider the problem of finding maximum flows in planar graphs with capacities on both vertices and edges and with multiple sources and sinks. We present three algorithms when the capacities are integers. The first algorithm runs in O(n ^3 n + kn) time when all capacities are bounded, where n is the number of vertices in the graph and k is the number of terminals. This algorithm is the first to solve the vertex-disjoint paths problem in near-linear time when k is bounded but larger than 2. The second algorithm runs in O(k^2(k^3 + Δ) n polylog (nU)) time, where U is the largest finite capacity of a single vertex and Δ is the maximum degree of a vertex. Finally, when k=3, we present an algorithm that runs in O(n n) time; this algorithm works even when the capacities are arbitrary reals. Our algorithms improve on the fastest previously known algorithms when k and Δ are small and U is bounded by a polynomial in n. Prior to this result, the fastest algorithms ran in O(n^2 / n) time for real capacities and O(n^3/2 n U) for integer capacities.
READ FULL TEXT