Time: Th 2:00PM~4:30PM

Location: Clemen 206

Credits: 1 or 3

Sign up for the course on Piazza here.

Shi Li

Office: 328 Davis Hall

Email: [first name][last name initial][at][buffalo][dot][edu]

Homepage: http://www.cse.buffalo.edu/~shil/

Office hours for the course: Wed 2:00pm-3:00pm

Linear programming is a powerful tool in solving combinatorial optimization problems. This graduate-level seminar course focuses on its power and limitations in designing exact and approximation algorithms for solving these problems in a rigorous manner. It will cover the following topics in this order:

- Combinatorial algorithms for some classic optimization problems
- Linear programming approach for these problems
- When problems can be solved exactly using linear programming
- Iterative-rounding: an useful paradigm in designing LP-based algorithms
- Extension complexity: limitations on LP-based algorithms

Students who take this course should have already taken the design and analysis of algorithms course (CSE 331, CSE 431/531 or some equivalent courses), and have interest in the theoretical aspect of algorithm design. A reasonable background in mathematics is expected; if you are not sure, talk to the instructor.

A student can take the course for either 1 or 3 credits. A student with the 1-credit option is graded based on participation and scribing lecture notes while a student with the 3-credit option will also be required to either give a 1-hour presentation during the class or complete the homework of the class.

There will be 13 lectures for the course (no classes for the weeks of Sep 17 and Nov 19), and *each lecture will be split into 2 one-hour slots*, one from 2:00pm-3:00pm and one from 3:10pm-4:10pm.

- Participation: 20%.
- Scribing: 40%. Each student in the course is required to provide scribe notes for 1-2 slots. Scribe notes must be typed in LaTex.
- Presentation or Homework: 40% : A student taking the course for 3 credits need also to choose between a one-hour presentation and the homework. There are some lecture slots that are allocated for student presentations (see the tentative schedule). There is one homework for the whole semester and problems will be added to the homework from time to time.

Students taking the course for 3 credits need to get 70% of the score in order to pass the course, and those who take it for 1 credit need to get 40% of the total score (counting only participation and scribing) to pass the course.

- Chandra Chekuri's Course on Combinatorial Optimization.
- A Course on Combinatorial Optimization by Alexander Schrijver.
- Polyhedral techniques in combinatorial optimization by Jan Vondrak
- A Survey on Iterative Rounding Method by Ofer Monin.

- Introduction, Network Flow, Bipartite Graph Matching (3 lectures) Contents:
- Introduction, Network flow
- Maximum-Flow-Min-Cut Theorem
- Bipartite graph matching, Hall's Theorem
- Applications : b-matching, edge and node disjoint paths, graph orientation, preemptive scheduling on one machine, etc
- Lecture Notes on Combinatorial Applications of Max-Flow from Cornell University
- Jeff Ericksonâ€™s Notes on Applications of Maximum Flow
- Polyhedral Combinatorics and Linear Programming (4 lectures) Contents:
- Polytopes and Polyhedra, linear programming
- Dual of LP, Farkas' Lemma
- Integral Polyhydra, Totally unimodular matrices
- Examples: bipartite matching polytope, directed graphs, independent set on interval graphs
- Other integral polytopes: General Graph Matching Polytope
- Lecture 4 from Chandra Chekuri's Course
- Lecture 5 from Chandra Chekuri's Course
- Lecture 5 from Jan Vondrak's Course
- Matroids and Matroid Intersection (3 lectures)
- Matroids and examples
- Maximum weighted independent set in a matroid
- Matroid Intersection Polytope
- Extension Complexity (3 lectures)
- non-negative matrix factorization, Yannakakis's factorization theorem
- approximate version of Yannakakis' factorization theorem
- lower bound on maximum cut polytopes