Design and Analysis of Algorithms Neal Young

Computer Science 45

Problem Set 2

Due Friday, April 18.

  1. (Warm-up, don't hand in.) Exercise 27.4-2 (Generic Preflow-Push Max. Flow Algorithm, p. 614).
  2. Potential function analysis of the Edmonds-Karp algorithm.

    At any point during the execution of the Edmonds-Karp algorithm:

    (a) Show that this potential function increases with every round of the Edmonds-Karp algorithm. Conclude that the number of rounds is tex2html_wrap_inline59 .

    (b) Modify the potential function to improve the bound to O(V E).

  3. Show that the generic Preflow-Push Algorithm can in fact perform:

    (a) tex2html_wrap_inline63 lift operations and tex2html_wrap_inline63 saturating pushes

    (b) (Extra Credit) tex2html_wrap_inline67 nonsaturating pushes.

  4. For the maximum-flow problem, the input is a directed graph G=(V,E), a source vertex s and a sink vertex t, and, for each edge tex2html_wrap_inline75 , a capacity c(e) > 0.

    For the minimum-cost flow problem, one is also given a cost tex2html_wrap_inline79 for each edge tex2html_wrap_inline75 . The cost of a flow f on G is defined to be

    displaymath39

    The goal is to find a maximum flow that is of minimum cost among all maximum flows.

    In the residual graph tex2html_wrap_inline87 (as defined in the book for the maximum-flow problem), define the cost tex2html_wrap_inline89 of each edge tex2html_wrap_inline91 to be -w(v,u) if f(v,u)>0, or w(u,v) otherwise.

    (a) Prove that if the residual graph tex2html_wrap_inline99 for a flow f contains no negative cost cycle (with respect to the cost function tex2html_wrap_inline103 ) then f is a minimum-cost flow among flows of value |f|.

    (b) Among all tex2html_wrap_inline109 paths in the residual graph, let p be a shortest path, with respect to the cost function tex2html_wrap_inline103 . 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?





Neal Young
Wed Apr 16 13:49:10 EDT 1997