An introduction to polynomial-time algorithms that produce provably good approximate solutions to combinatorial optimization problems. We will cover both fundamental (commonly occurring) problems and general techniques for the design and analysis of such algorithms, including linear programming and duality, randomized rounding, greedy algorithms and lagrangian-relaxation algorithms, and proving NP-hardness of approximation problems.
Required background: proficiency in basic algorithm design and analysis at the graduate level. Some experience with network flow or related problems, and some experience with probability, will be useful. Format of the class is yet to be determined, but is likely to include lectures (some by students), group work, working from the text and reading papers. The course will be relatively mathematical and is unlikely to require much programming (although we won't discourage it).
|time:||TR 11:10 - 12:30|
|room:||Humanities 1407 (subject to change)|
|instructor:||Neal Young, 347 Surge Bldg, firstname.lastname@example.org|
|text:||Approximation Algorithms by Vijay Vazirani|