CSE 711: Topics in Combinatorial Optimization and Linear Programming (Fall 2018 Seminar)
Course Information
Time: Th 2:00PM~4:30PM
Location: Clemen 206
Credits: 1 or 3
Sign up for the course on Piazza here.
Instructor
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: Mon 2:00pm-3:00pm
Overview
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
Prerequisites
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.
Grading
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.
Reference Materials
Tentative Schedule
- 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
Material for Student Presentations:
Notes: Lecture 1 by Shi Li
- 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
Material for Student Presentations:
- 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