Design and Analysis of Algorithms Neal Young
Computer Science 45
Problem Set 2
Due Friday, April 18.
At any point during the execution of the Edmonds-Karp algorithm:
Let denote v's shortest-path in-degree.
(a) Show that this potential function increases with every round of the Edmonds-Karp algorithm. Conclude that the number of rounds is .
(b) Modify the potential function to improve the bound to O(V E).
(a) lift operations and saturating pushes
(b) (Extra Credit) nonsaturating pushes.
For the minimum-cost flow problem, one is also given a cost for each edge . The cost of a flow f on G is defined to be
The goal is to find a maximum flow that is of minimum cost among all maximum flows.
In the residual graph (as defined in the book for the maximum-flow problem), define the cost of each edge to be -w(v,u) if f(v,u)>0, or w(u,v) otherwise.
(a) Prove that if the residual graph for a flow f contains no negative cost cycle (with respect to the cost function ) then f is a minimum-cost flow among flows of value |f|.
(b) Among all paths in the residual graph, let p be a shortest path, with respect to the cost function . Prove that augmenting the flow f by sending flow along p yields a flow f' that is of minimum-cost among all flows of value |f'|.
(c) Why does this imply that in a network with integer capacities, there is always an integer minimum-cost maximum flow?