Time: WeFr 11:30am~12:50pm (notice the new time!)

Location: Due to the COVID-19 pandemic, the course will be delivered online.

Credits: 3

Please sign up for the course on Piazza.

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: office hours will be held online via Zoom. The exact time will be decided later.

Combinatorial optimization problems is a large family of problems that arise naturally in practice. A combinatorial optimization problem seeks to determine the best solution from a discrete set of possible solutions. This course will cover many topics and techniques in designing exact and approximation algorithms for combinatorial optimization problems, including network flow, matroid theory and linear programming. A large portion of the course is dedicated to linear programming.

Linear programming (LP) is an optimization technique that tries to optimize a linear objective function subject to a set of linear constraints. While combinatorial optimization problems are in general discrete and a linear program has a continuous feasible region, many of the problems can be solved exactly or approximately using the technique. In the course, we shall cover some classic examples of problems that are captured by linear programs, and some related techniques such as randomized rounding, concentration bounds and primal-dual method to solve the problems.

Due to the COVID-19 pandemic, all the lectures will be given online. We will use Zoom to deliver the live lectures. The Zoom meeting information is given on Piazza. The recorded videos for lectures, slides and hand-writing notes will be available to students in the course.

There is no textbook for the course. Slides, lecture notes and links to external resources will be provided as the course goes on. The resources from the following courses together cover most of the topics in this course:

- Professor Chandra Chekuri's Course on Combinatorial Optimization
- Professor Shuchi Chawla's Advanced Algorithms Course
- A related seminar course I taught in Fall 2018.

Your final grade will be computed as follows:

- Quizzes: 20%. There will be 4 quizzes on UBLearns, each contributing 5% of total score. Each quiz has a deadline, and you can choose any 30-minute interval before the deadline to take the quiz. There are 10 multiple-choice questions in each quiz.
- Homeworks: 50%. There will be 5 homeworks for this course and each homework is worth 10% of the total score.
- Online Final Exam: 30%. The final exam will be on UBLearns. Time: 11:45AM - 2:45PM, Tue, Dec 15.

Homeworks | Post Date | Due Date |
---|---|---|

HW1 | Sep 21, 2020 | Oct 5, 2020 |

HW2 | Oct 10, 2020 | Oct 20, 2020 |

HW3 | Oct 31, 2020 | Nov 10, 2020 |

HW4 | Nov 14, 2020 | Nov 24, 2020 |

("NA" stands for "no animation".)

- Introduction (0.5 Lecture) (Slides: Introduction, Introduction-NA, last updated: 09/04/20 08:52)
- Network Flow. (~5 Lectures) (Slides and Notes: NetworkFlow, NetworkFlow-NA, last updated: 09/16/20 09:26, Lecture-4-Notes, Lecture-5-Notes, Lecture-6-Notes)
- Ford-Fulkerson
- Maximum-Flow-Minimum-Cut
- Bipartite Matching
- Other Applications of Network Flow

- Matroid, Submodular Functions and Greedy Algorithms (~4 Lectures) (Slides and Notes: Matroid, Matroid-NA, last updated: 10/18/20 12:16, Lecture-8-Notes, Lecture-9-Notes, Lecture-10-Notes)
- Introduction to Sub-Modular Functions and Matroid
- Weighted Independent Set in Matroids
- Optimization for Submodular Functions

- Introduction to Linear Programming (~4 Lectures)(Slides and Notes: LinearProgramming, LinearProgramming-NA, last updated: 10/07/20 11:21, Lecture-12-Notes, Lecture-13-14-Notes)
- LP and LP solvers
- Formulating Problems as Linear Programs
- Linear Program Duality

- Integral Polytopes (~6 Lectures) (Notes:Lecture-15-18-Notes, Lecture-19-Notes, Lecture-20-Notes )
- Bipartite Matching
- Matroid Polytopes
- Intersections of Two Matroid Polytopes
- Non-bipartite Matching Polytopes

- Linear Programming Rounding and Primal-Dual Algorithm (~6 Lectures) (Notes: Lecture-21-Notes, Lecture-22-Notes, Lecture-23-Notes, Lecture-24-Notes)
- Randomized Rounding for Set Cover and Maximum Coverage
- Concentration Bounds: Markov, Chebshev and Chernoff
- Congestion Minimization, Discrepancy Minimization
- Primal-Dual for Weighted Bipartite matching
- Approximation Algorithms via Primal-Dual

- Other Topics (Depending on progress)