CS672: Approximation Algorithms (Spring 2017)

Basic information


Schedule by Week

Course Description

We will examine combinatorial optimization problems which are intractable to solve optimally, assuming P is not equal to NP. For such problems, we will examine the design of "approximation algorithms," which compute solutions which are "not too much worse" than optimal. This paradigm has become a cornerstone of algorithm design, and this course aims to provide a comprehensive overview of the topic at the graduate level. Towards the end of the semester, we will also explore the limits of this approach --- "hardness of approximation."


The main prerequisites for this class are mathematical maturity, exposure to algorithm design and analysis at the beginning graduate level (CS570 or 670), and a solid grounding in linear algebra and probability theory. Exposure to convex optimization, in particular linear programming, is also desirable. Students without such background can seek permission of the instructor.

Requirements and Grading

There will be 3-4 homeworks, a take-home midterm, and a take-home final. Homework assignments will count for 50% of the grade, the midterm will count for 20%, and the final for 30%. The homeworks and exams will be proof-based, and are intended to be very challenging. Collaboration and discussion among students on the homeworks is allowed, even encouraged, though students must write up their solutions independently. The exams, however, must be independent work.

Late Homework Policy: Students will be allowed 5 late days for homework, to be used in integer amounts and distributed as the student sees fit. No additional late days are allowed. There are no late days allowed on the take-home exams.


Our primary reference will be The Design of Approximation Algorithms by Williamson and Shmoys, and we will proceed through that book roughly in order. A useful secondary reference is Approximation Algorithms by Vazirani. The WS books is available free online, and both books will be placed on reserve at the USC libraries. Additionally, we might refer to research papers throughout the course, which will be linked on the course homepage.