**Assigned:**
Thursday, February 24, 2011

**Due:**
Thursday, March 3, 2011

## General Instructions

- Please review the
course information.
- You must write down with whom you worked on the assignment. If this
changes from problem to problem, then you should write down this
information separately with each problem.
- Numbered problems are all from the textbook
* Network Flows *.

## Problems

- Problem 7.4. An example of the push/relabel algorithm.
- Problem 7.14. An example of the push/relabel algorithm.
- Suppose that at some point in the execution of a push-relabel
algorithm, there exists an integer 0 < k <= n-1 for which
no vertex has d(v) = k. Show that all vertices with
d(v) > k are on the source side of a minimum cut. If
such a k exists, the
* gap heuristic * updates every vertex v
d(v) > k to set
d(v) = max(d(v), n+1).
Show that the resulting d(v) is a valid distance function,
that is, d(v) <= d(w) + 1, if (v,w) is in the residual graph.
(The gap heuristic is crucial in making implementations of the
push-relabel method perform well in practice.)
- Suppose that we have a flow network, but we know that each
edge capacity is an integer of value at most k. Analyze runnning time
of the generic push/relabel algorithm in terms of n, m and k.
- Problem 7.20. (The highest-label algorithm applies discharge to the
active vertex with the highest distance label.)

### Switch to:

cliff@ieor.columbia.edu