Math 514, Network Optimization, Autumn 2009
Instructor : Rekha Thomas
- Office : Padelford C-438
- Phone : (206) 616 9374
- E-mail : rrthomas (at) u (dot) washington (dot) edu
- Office hours : TBA
Course Information
- Description : This is a graduate class on the
fundamentals of network optimization (aka combinatorial optimization).
The majority of these problems involve finding the "best" candidate
among a set of objects associated with a network/directed graph. Many
of these problems come from real-world applications and as such it is
important to solve large instances of these problems in
practice. Therefore, along with understanding the mathematical
structure of the problems, we will also be interested in algorithms
for solving them and the complexity/difficulty of these algorithms
from a computer science point of view. There will be a small final
project that involves coding an appropriate algorithm that we will
learn in class or reading and summarizing a research paper in this area.
Main topics to be covered: : We will look at various graph
problems and their algorithms such as finding minimum spanning trees,
shortest paths, max/min flow, min cut, matchings, optimal assignment,
and the travelling salesman problem. The first set of problems have
combinatorial graph theoretic algorithms and are "easy" in a
complexity sense. The last few problems are "hard" and require
techniques beyond combinatorics. To deal with these we will learn the
basics of linear programming and then some integer programming. Using
these advanced, more geometric methods, we will get a sense of how the
hard problems are modeled and solved in practice whenever their sizes
allow them to be tackled effectively. An important companion to an
algorithm is its complexity. We will learn some elementary complexity
theory in order to be able to analyze the algorithms we learn.
- Lecture : Mary Gates Hall 234, MWF 9:30-10:20
- Textbook : The official textbook for the class will be
"Network Flows and Monotropic Optimization" by R.T. Rockafellar.
- Required Work:
- There will be daily reading assignments from the book. I will
cover essentials but many of the details and discussions will be left
as reading assignments.
- There will be five homework assignments (roughly once every other
week) which will carry 80% of the grade.
- There will also be a final project to be specified later that
will carry 20% of the grade.
- NO EXAMS
Daily assignments:
Sep 30: Read Chapter 1 of Rockafellar's book.
Oct 2: Finish Chapter 1. Try all problems in Chapter 1. They
should be straightforward. Problems 1.1, 1.2, 1.4 and 1.6 will be part
of the official Homework 1 to be posted later.
Oct 5: Read Chapter 2: paths and cuts. Try problems 2.4, 2.8
Oct 7: Chapter 2: Painted Network Problem and Algorithm. Try problems 2.17, 2.18, 2.19
Oct 9: Finish Chapter 2: Painted Cut Problem, Minty's Lemma. Read applications to testing for connectivity and strong connectivity.
Homework 1 : (due Friday Oct 23 in class): Problems 1.2, 1.6, 2.4, 2.8, 2.17, 2.18, 2.19, 2.27
Oct 12: Minimum spanning tree problem in an undirected graph.
Problems to try:
- Show that any minimum spanning tree (mst) problem can be reduced to a mst problem with positive edge costs.
- Let H be a spanning connected subgraph of G. Argue that H is a spanning tree in G if and only if H has exactly n-1 edges where n is the number of vertices in G.
- Let T be a spanning tree in a graph G, e and edge in G that is not in T, and f be an edge in a path in T between the end points of e. Show that the graph obtained from T by deleting f and adding e is again a spanning tree in G.
- Establish the validity of Kruskal's algorithm.
Oct 14: Finish MST algorithms: Prim and Kruskal
Oct 16: Shortest path algorithms: Ford, Dijkstra
The following is a pdf of Chapter 2 in the book "Combinatorial Optimization" by Cook, Cunnigham, Pulleyblank and Schrijver. It is a good reference for the MST and shortest path algorithms that we discussed this week: Chapter 2 from Cook,Cunningham, Pulleyblank and Schrijver
Homework 2 : (due Friday Oct 30 in class): Problems from the pdf posted above: 2.1, 2.5, 2.11, 2.21 (only run Ford's algorithm as done in class and Dijkstra's algorithm), 2.25, 2.36
Corrections to the Cook et.al book
Please read Chapter 5 in the following set of lecture notes for the basics of Complexity Theory
Try exercises 5.6 and 5.10.
Oct 19: Chapter 3: Max Flow Min Cut
Oct 21: Chapter 3
Oct 23: Chapter 3
Oct 26: Chapter 3
Oct 28: Finish Chapter 3, Try problems: 3.3, 3.9, 3.11, 3.15, 3.18, 3.20, 3.29,
Homework 3 : (due Friday Nov 13 in class): 3.3, 3.9, 3.15, 3.18, 3.20
Oct 30: Chapter 5A and 5C, read 5B, Try problems 5.1, 5.2, 5.5
Nov 2: Polyhedral approach to the matching problem (not in the book)
Projects:
You can attempt one of two kinds of projects if you are not doing something already (that you have discussed with me).
Project 1: Implement the painted network algoritm as described in Chapter 2. The program should be able to input a network G and a painting of the user's choice. It must output a painted path or a painted cut.
Project 2: You can also work on something theoretical. If you would like to do this, please talk to me in person.
Nov 4: Chapter 5D
Nov 6: Chapter 5E
Nov 9: Chapter 5F, Try problem 5.46
Nov 13: Chapter 6A, 6B
Homework 4 : (due Wednesday Nov 25 in class): 5.6, 5.16, 5.29, 5.30