CSE 632: Analysis of Algorithms II : Approximation Algorithms (Fall 2017)

Course Information

Time: WeFr 11:00AM~12:20PM

Location: Filmore 319

Credits: 3

Please sign up the course on Piazza.


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: Wed 2:00pm-3:00pm and Fri 4:00pm-5:00pm.


This course will mainly focus on approximation algorithms, which is the theoretical study of efficient heuristic algorithms for NP-hard problems with provable guarantee on the quality of the solutions. It not only provides practical algorithms for many applications, but also provides a way to measure different levels of hardness these problems exhibit. The course will present various techniques in designing approximation algorithms, such as greedy algorithm, dynamic programming, linear and semi-definite programming rounding, dual fitting, local search and metric embedding.


A prerequisite of CSE 431/531 is required. A basic knowledge of probability theory, linear programming and graph theory is expected.

Recommended Textbooks

There are no required textbooks, but most of the contents we will discuss are covered in the following two books:


Your final grade will be computed as follows:

Homework Policy

No late homeworks will be accepted. You are allowed to discuss with classmates on homework problems. However, it is highly recommended that you first think about each problem for enough time before the discussion. You must write your solutions by yourself, in your own words. You need to write down the names of the students you collaborated with. Those who fail to follow these rules will be treated as cheating and violation of academic integrity. Other than getting an immediate F for the course, further actions consistent with the Department Academic Integrity Policy will be taken.


A project can be one of the following forms:

  1. A survey of several papers on a topic.
  2. A research paper on some old problem or new problem you introduced. In either case, you need to have some new result.
  3. Design and implement an approximation algorithm for a problem rising in applied area of your interest. You need to give a theoretical analysis of the algorithm you implemented, describe the engineering tricks you used to make the implementation faster and/or the solutions better and give an experimental evaluation of the algorithm in terms of the running time and approximation factors. If the approximation factors the are better than those guaranteed by the theoretical analysis, briefly explain why.

If you are using the course to satisfy the master project requirement, you need to do either 2 or 3.


HomeworksPost DatesDue Dates
Homework 1 9/22/2017 10/6/2017
Homework 2 10/11/2017 10/25/2017
Homework 3 10/30/2017 11/13/2017
Homework 4 11/22/2017 12/6/2017
Homework 5 12/9/2017 12/22/2017

Tentative Schedule

1Aug 30Introduction
Administrivia, IntroductionSec 1.1 in WSlec1.pdf
Sep 1Greedy
k-centerSec 2.2 in WSlec2.pdf
2Sep 6Maximum coverage, set coverLec 3 from CClec3.pdf
Sep 8Scheduling on identical machinesSec 2.3 in WSlec4.pdf
3Sep 13Dynamic
Knapsack Covering and PackingSec 3.1 in WSlec5.pdf
Sep 15Scheduling on identical machinesSec 3.2 in WSlec6.pdf
4Sep 20LP
Set cover, Maximum coverageSec 1.7 in WSlec7.pdf
Sep 22Set Cover, Maximum coveragelec8.pdf
5Sep 27Unrelated machine schedulingSec 11.1 in WSlec9.pdf
Sep 29 No class today due to CSE50 celebration
6Oct 4LP
Concentration boundsSec 5.10 in WSlec11.pdf
Oct 6Machine minimization, Congestion minimizationSec 5.11 in WSlec12.pdf
7Oct 11Dual
Weighted Set CoverSec 1.5 in WSLec11, Lec12
from Ola
Svensson's course
Oct 13Uncapacitated facility locationSec 7.6 in WS
8Oct 18Uncapacitated facility location
Oct 20Local
Max-cut, sub-modular function maximizationLec12 of Chekuri
9Oct 25Uncapacitated facility locationSec 9.2 in WSlec17.pdf
Oct 27Uncapacitated facility locationlec18.pdf
10Nov 1Semi-
Ellipsoid methodSec 4.3, 6.1 in WSlec19.pdf
Nov 3Goemans-Williamson algorithm for max-cutSec 6.2 in WSlec20.pdf
11Nov 8Multiplicate Weight Update
Multiplicative weighte updateA Surveylec21.pdf
Nov 100-sum game and Nash-equilibriumlec22.pdf
12Nov 15Streaming Algorithms
Computing F0lec23.pdf
Nov 17Computing F2lec24.pdf
13Nov 22 Fall Recess
Nov 24
14Nov 29Lower Bound via
Necessity of Approximation
Dec 1Necessity of Randomization
15Dec 6MapReduce Algorithms
MapReduce ModelSlides by Suri
Dec 8Computing Triangles

Other Useful Resources