CS602: Applied Algorithms : Convex Programming in Combinatorial Optimization (2020-21 Sem II)

Course Contents The course will start with basics of linear programming and duality. We will also talk about semidefinite programming and more generally about convex programming. Then we will see applications of LP and SDP in combinatorial optimization, problems like matching, maximum flow, minimum cut, matroids, submodular optimization, graph coloring etc. We will see examples where LP and SDP is used in designing approximation algorithms for hard problems and online algorithms, for example Steiner Tree, Max Cut etc. Other topics we might cover -- Linear programming extended formulations, and continuous methods for combinatorial problems.

Pre-requisites: You are expected to know basics of algorithms (CS218/CS601), linear algebra and graph theory.

References

Lecture Videos:

Week 1 (Jan 11-17) Linear Programming

Week 2 (Jan 18-24) LP Geometric Perspective

Week 3 (Jan 25-31) LP in NP and coNP

Week 4 (Feb 1 - 7) LP Duality

Week 5 (Feb 8-14) Complementary Slackness and Primal-Dual Schema

Week 6 (Feb 15-21) Steiner Tree/Forest: Primal-Dual approximation

Week 7 (Mar 4-11) Steiner Tree/Forest continued

Week 8 (Mar 11-17) Online Algorithms: Ski Rental

Week 9 (Mar 18-22) Online Algorithms: Ad Allocation

Week 10 (Mar 23-Apr 1) Approximation Algorithms via LP: Maximum Satisfiability

Week 11-13 (Apr 5-20) Algorithms for solving Linear Programs

  1. Simplex Method

  2. Ellipsoid Method

  3. Interior Point Method