CO 351    Network Flow Theory
Fall 2007

Lecture Schedule

Sept. 10:    Course logistics, and outline. Examples of network flow problems: driving directions, currency exchange. (Chapter 2, section 1)

Sept. 12:    Shortest st-dipath problem. Reductions from Hamilton path. Reduction from Knapsack by example. (Chapter 2, section 1)

Sept. 14:    Quiz.

Sept. 17:    Formal reduction from Knapsack problem. LP formulation of shortest dipath problem. (Chapter 2, section 1.2, section 2.3)

Sept. 19:    Properties of the linear program for shortest paths. Its dual, feasible potentials, weak duality. (Chapter 2, section 2.2, section 2.3)

Sept. 21:    Complementary slackness conditions. A heuristic for finding shortest paths. (Chapter 2, section 2.3, section 3)

Sept. 24:    Dual Algorithm for shortest paths. Dijkstra Algorithm. (Chapter 2, section 3)

Sept. 26:    Solution to Question 2.2 from Homework 1. Correctness and complexity of the dual algorithm. (Chapter 2, section 3.1)

Sept. 28:    Correctness of the dual algorithm continued. Significance of Question 1.2 from Homework 2. Faithfulness of the linear programming relaxation of the shortest dipath problem. (Chapter 2, section 3.1, section 2.2)

Oct. 1:    Totally unimodular matrices and integer solutions to linear programs.

Oct. 3:    The integrality gap of the shortest dipath linear program. Acyclic digraphs and topological order. (Chapter 2, section 4.1)

Oct. 5:    Shortest dipaths in acyclic digraphs. (Chapter 2, section 4.2)

Oct. 8:    No lecture (Thanksgiving holiday).

Oct. 10:    Project evaluation and review technique. (Chapter 2, section 4.3)

Oct. 12:    Dantzig Algorithm, and its analysis. (Chapter 2, section 5)

Oct. 15:    Termination and correctness of the Dantzig algorithm. (Chapter 2, section 5)

Oct. 17:    Maximum bi-partite matching problem as a flow problem. Maximum (s,t)-flows, (s,t)-cuts. (Chapter 3, introduction and section 6.3)

Oct. 19:    Max-flow <= Min-cut. Augmenting paths, residual digraph. (Chapter 3, sections 1 and 2)

Oct. 22:    Pushing flow along an augmenting path, existence of augmenting path or (s,t)-cut attaining capacity. (Chapter 3, sections 1 and 2)

Oct. 24:    Max-flow Min-cut theorem, Integer flow theorem, Ford-Fulkerson algorithm. (Chapter 3, sections 2 and 3)

Oct. 26:    Shortest path rule for augmentation, Edmonds-Karp theorem, distance labels in residual digraph. (Chapter 3, section 3.1)

Oct. 29:    Proof of the Edmonds-Karp theorem. (Chapter 3, section 3.1)

Oct. 31:    Applications of Max-flow: Maximum bi-partite matching revisited, Konig theorem. (Chapter 3, section 6.3)

Nov. 2:    Applications of Max-flow: Optimal closure problem. (Chapter 3, section 5.3)

Nov. 5:    Flow decompostion. (Chapter 3, section 6.1)

Nov. 7:    Arc-disjoint dipaths, Menger Theorem (arc version), matrix rounding. (Chapter 3, sections 6.2 and 5.1)

Nov. 9:    Flows with lower bounds, feasible circulations. (Chapter 3, section 4)

Nov. 12:    Min-cost flow and its applications. (Chapter 4, section 1)

Nov. 14:    More applications of min-cost flows. (Chapter 4, section 1)

Nov. 16:    Flow feasibility revisited, flows with lower bounds. Flow optimality conditions. (Chapter 4, sections 2 and 4)

Nov. 19:    Finding a flow with smaller cost, residual digraph, residual weights. (Chapter 4, section 3)

Nov. 20:    Min-cost flow: Existence of a feasible potential and optimality of a flow. (Chapter 4, sections 3 and 4)

Nov. 23:    Augmenting cycle algorithm, preparations for the network simplex method: trees in digraphs, spanning trees, tree flows. (Chapter 4, sections 4 and 5)

Nov. 26:    Existence of tree flows, and finding them. (Chapter 4, section 5.1)

Nov. 28:    The Network Simplex Method through examples. (Chapter 4, sections 5.2, 5.3)

Nov. 30:    The Network Simplex Method. (Chapter 4, sections 5.2, 5.3)

Dec. 3:    No lecture. There is a review session instead on Wednesday, December 5, 1:30--3:30 pm, in MC 4040.