CO453: Network Design

Winter 2007

Instructor: Chaitanya Swamy

MC 4033 ext. 33600
cswamy AT math DOT uwaterloo DOT ca


Time: MWF 1:30-2:20pm
Location: MC 4058

Office Hours: Wednesdays after class till 3:30pm and MWF 1:30-2:20pm from April 3-April 10.

Announcements

Topics Covered

Course Overview

A course on the design and analysis of algorithms for a broad class of problems known as network design problems.
Many of the optimization problems that we will study will be computationally intractable, and we will tackle these
problems by designing approximation algorithms. We will study various techniques for the design and analysis
of approximation algorithms via the lens of network design problems. Three broad classes of problems that
we will consider are:

(a) Network connectivity problems, which typically entail constructing a minimum-cost subgraph of an underlying
network that possesses certain desired connectivity properties. Examples include shortest paths, minimum spanning
trees, minimum Steiner trees, generalized Steiner forests;

(b) Location problems, that deal with the optimal placement of "facilities" at the nodes of a network. A prototypical
example is the uncapacitated facility location problem;

(c) Games on networks, where certain inputs to the problem are controlled by self-interested rational agents. We
will study game versions of some of the above problems, e.g., the minimum spanning/Steiner tree problem where the
edges or the terminal vertices represent strategic players.

Prerequisites

The official prerequisites are: (MATH 239/249 and CO 350/CO 352/CM 340) or CO 355.
If you do not satisfy these prerequisites but are interested in taking this course for credit, come and talk to me.

I will assume that you have some basic knowledge about graphs like basic terminology, notation, concepts and
algorithms (some pointers to refresh your memory about graphs are given below). I will devote a lecture or two
to linear programming and duality (in the context of network design problems), which should be accessible even
if you have never seen linear programs before. A background in algorithms might be useful but is not essential.

Assignments and Exams

There will be 5 or 6 assignments that will be handed out roughly once every two weeks, and will be due in two
weeks time. Late assignments will not be accepted.
You are encouraged to discuss the assignments with each other, but you must write up the final solution
individually
. You must also write down the names of all your collaborators on the assignment (this does not
affect your mark).

Students suspected of cheating will automatically be assigned a zero mark on all previous assignments, including
the assignment in question, and will be referred to the Undergraduate Associate Dean.

The weightage for the assignments, midterm and final exam will be: 25% Assignments, 35% Midterm, 40% Final.

Books and other Supplementary Material

There is no prescribed textbook for this course.
The union of the following two sources includes most of the topics covered in the course, and a subset of their
union represents a good approximation to the course syllabus. Portions from these texts relevant to the material covered in lecture, and possibly links to some online sources
will be posted in the Topics Covered section from time to time.

The topics in CO 453 Course Notes from Fall 2001 have a large disjoint portion from the topics we will cover,
and our treatment of the common topics is different from the treatment therein, so this is a less useful reference
than the name suggests. The course notes are not available, but there are some very similar lecture notes (with
exercises) of Joseph Cheriyan and R. Ravi on "Approximation Algorithms for Network Problems" available here.
Some of the more relevant chapters from these notes are Chapter 1 [ps] (graph basics, shortest paths), Chapter 5 [ps]
(MSTs: up to section 5.4), Chapter 8 [ps] (primal-dual algorithm for 0-1 proper functions), and Chapter 2 [ps]
(set cover).

As mentioned earlier, not everything in these notes has been/will be covered, and not everything that is
covered appears in the notes
. The notes are also known to contain some errors.

Some other useful books are:

Tentative Course Outline

A large subset of the following topics will be covered. This is a course that offers plenty of flexibility.
If there is a topic that is not in here and you would really like to see covered, then come and talk to me!