| Times | MW 9:30am - 10:45pm | ||
|---|---|---|---|
| Location | McCullough 122 | ||
| Instructor | Amin Saberi (saberi at stanford dot edu) | Office Hours | TBD or by appointment |
| Course Assistant | Adam Guetz (guetz at stanford dot edu) | Office Hours | F 9:30-10:45
McCullough 122 |
Texts
Recommended Books:
Discrete Mathematics by Lovasz, Pelikan and Vesztergombi (available here for Stanford IPs)
Combinatorial Optimization, by Korte and Vygen, Theory and Algorithms, 2002
Cook, Cunningham, Pulleyblank and Schrijver,Combinatorial Optimization, 1997
Hillier and Lieberman, Introduction to Operations Research, 8th edition, 2005
Class Description
Combinatorial and mathematical programming (integer and non-linear) techniques for optimization.
Topics:
linear program duality and LP solvers; integer programming;
combinatorial optimization problems on networks including minimum
spanning trees, shortest paths, and network flows; matching and
assignment problems; dynamic programming; linear approximations to
convex programs; NP-completeness.
Course Load and Grading
Homework: 4 homework assignments of 10% each.
Midterm: in class and 30%
(if you get more than 100, you will get an A+ in this class).
Tentative Outline
- Motivation for the course: several examples; lp vs ip, np-hardness,
approximation algorithms (1 week) - Basic graph theory (3 weeks)
Graphs, Trees, Cayley's Theorem
Depth First Search, Breadth First Search
Minimum Spanning Trees
Eulerian graphs, Hamiltonian graphs - Running time, Asymptotics (1 week)
- Refresh LP and duality -- simplex (1 week)
- Shortest path, matching, flow, min-cost flow, several applications (4 weeks)
- NP-completeness (2 weeks)
- Approximation algorithms (4 weeks)
