Approximation Algorithms

Many critical optimization problems arising in computer science, data science, network design, scheduling, and robotics are NP-hard, making it practically impossible for any algorithm to be both perfectly optimal and efficient. To cope with this intractability, we must sacrifice absolute optimality in favor of efficient polynomial-time heuristics. This course focuses on approximation algorithms—heuristics that provide rigorous, provable mathematical guarantees on the quality of their solutions, thereby quantifying their gap from optimality. We expect to cover the following techniques:  greedy algorithms, local search, rounding, scaling, and dynamic programming, linear programming-based techniques -- LP-rounding and the primal-dual method.

Course Topics

Unit Sessions Topics Covered
Unit

Combinatorial Approximation Algorithms

Sessions

4

Topics Covered

k-center, Traveling Salesperson Problem (TSP), Scheduling, Knapsack

Unit

Introduction to Linear Programming (LP)

Sessions

1

Topics Covered
Unit

LP-based Approximation Algorithms (LP-rounding + Primal-Dual)

Sessions

4

Topics Covered

Vertex Cover, Set Cover, Uncapacitated Facility Location, Max-SAT, Independent Set

Unit

Semidefinite Programming

Sessions

1

Topics Covered