**Assigned:**
Thursday, February 5, 2009

**Due:**
Thursday, February 12, 2009

## 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 4.10. Multiple Knapsack problem.
- Problem 4.34, Problem 4.36. K-shortest paths.
- Given a directed acyclic graph G, with source c let ct(v) be the number of distinct paths from s to v. Give an efficient algorithm to compute ct(v) for all vertices v.
- Problem 5.51, 5.52. Bit-scaling for shortest paths
- Suppose that you are given a graph G with real-valued weights c, which is guaranteed to have
exactly one negative cost cycle.
For any set of node prices p, we define the reduced cost of edge (i,j) by c'(i,j) = c(i,j+ p(i) - p(j). Given
a set of reduced costs, we define v(c') to be the min
_{(i,j)} {c'(i,j)}
Give a polynomial-time algorithm that computes a set of prices p, such that v(c') is maximized. Prove your
algorithm is correct.

### Switch to:

cliff@ieor.columbia.edu