CS 522 Network and Combinatorial Optimization
Time: Monday and Wednesday 7:30 pm - 8:50 pm
Place: Science & Engineering Resource Center (SEC), Room 208
Instructor: Peng Zhang (Email: pz149@cs.rutgers.edu)
Office Hours: TBA Office: Hill Center 444
Course description
A combinatorial optimization problem is a problem of maximizing a real-valued objective function on a finite set of feasible solutions usually represented by 2^E — the set of all subsets of a finite ground set E. Examples include minimum spanning trees, maximum matchings, and network flows and cuts. Combinatorial optimization is closely related to operations research, algorithms, and computational complexity theory. It has numerous applications in artificial intelligence, machine learning, auction theory, applied mathematics, and theoretical computer science. Throughout this course, we will develop efficient algorithms that are provably better than enumerating all feasible solutions.
Prerequisites
Familiarity with discrete structures, probability theory, and design and analysis of algorithms, e.g., as in 01:198:205, 01:198:206, 01:198:344 or 16:198:512 or 16:198:513, or an equivalent background. Knowledge of LP duality is useful but not a prerequisite.
Tentative Topics
Polytopes and linear programming: convex sets, linear-programming duality, polytopes, totally unimodular matrices, graphs
Matroids: example of matroids, the greedy algorithm, rank properties, duality, the matroid polytope
Matroid intersection: applications, ordinality matroid-intersection algorithm, maximum-weight matroid-intersection algorithm, the matroid-intersection polytope
Matching: augmenting paths and matroids, the matching polytope, duality, maximum matching algorithm
Flows and cuts: source-sink flows and cuts, max-flow algorithms
Submodular function optimization
References
A First Course in Combinatorial Optimization, by John Lee
A Course in Combinatorial Optimization, by Alexander Schrijver
Grading
Problem sets (45%): 3 problem sets
Project (30%): presentation (last week in class)
Scribe notes (25%)
Schedule
9/6: Intro of combinatorial optimization, definitions of convex sets, polytope, Fourier-Moztkin elimination for linear equality systems (Ref: Lee's book Chapter 0.1)
9/11: Weyl's theorem, the theorem of the alternative for linear inequalities (Farkas lemma) (Ref: Lee's book Chapter 0.1)
9/13: Linear program duality (Ref: Lee's book Chapter 0.2)
9/18: Complementary-slackness (Ref: Lee's book Chapter 0.2)
9/20: Polytopes, faces (Ref: Lee's book Chapter 0.5)
9/25: Polytopes, Minkowski's theorem (Ref: Lee's book Chapter 0.5)
9/27: Matroids: definition and examples (Ref: Lee's book Chapter 1.1)
10/2: The greedy algorithm (Ref: Lee's book Chapter 1.4)
10/4: Rank properties (Ref: Lee's book Chapter 1.5)
10/9: Matroid duality (Ref: Lee's book Chapter 1.6)
10/11: Matroid polytope (Ref: Lee's book Chapter 1.7)
10/16: Applications of matroid intersection (Ref: Lee's book Chapter 3.1)
10/18: An efficient cardinality matroid-intersection algorithm (Ref: Lee's book Chapter 3.2)
10/23: Proofs for the cardinality matroid-intersection algorithm (Ref: Lee's book Chapter 3.2)
10/25: Maximum-weight matroid-intersection algorithm (Ref: Lee's book Chapter 3.3); matching, augmenting paths and matroids (Ref: Lee's book Chapter 4.1)
10/30: Bipartite matching polytope (Ref: Lee's book Chapter 0.8)
11/1: Konig's theorem and Hall's theorem for bipartite matching (Ref: Lee's book Chapter 0.8)
11/6: General graph matching polytope and duality (Ref: Lee's book Chapter 4.2 and 4.3)
11/8: Algorithm for maximum-cardinality matching (Ref: Lee's book Chapter 4.3)
11/13: Source-sink flows and cuts (Ref: Lee's book Chapter 5.1)
11/15: Max-flow algorithm (Ref: Lee's book Chapter 5.2) reduce finding a feasible flow to max-flow with flow lower bounds 0
11/27: Runtime of the max-flow algorithm (Ref: Lee's book Chapter 5.2)
11/29: Optimizing submodular functions (Ref: Vondrak's lecture notes)
12/04: The greedy algorithm for submodular maximization, continuous extension for submodular minimization (Ref: Vondrak's lecture notes 16 and 17)
12/06: Submodular maximization application in social network (Ref: Maximizing the Spread of Influence through a Social Network, by Kempe, Kleinberg, and Tardos)
12/11 and 12/13: Presentation