Home Course Information Announcements Assignments, Solutions and Notes

Lecture 1 (May 5) Introduction, Framework and Notations, Regular performance measures

Lecture 2 (May 7) Visualizing Schedules, Classes of Schedules

Lecture 3 (May 12) Reduction among problems, (1||\sum C_j), (1||\sum w_jC_j)

Lecture 4 (May 14) Average completion time with release dates, SRPT for preemptive schedules, CFP for a factor $2$ approximation algorithm.

Lecture 5 (May 19) EDD for (1||L_{max}), LCL for (1|| f_{max})

Lecture 6 (May 21) Dynamic Programming, Knapsack problem

Lecture 7 (May 26) DP for (1||\sum w_jU_j)

Lecture 8,9,10 (May 28, Jun 2,4) Polynomial time reductions, complexity classes, P, NP, NP-completeness. Prof. Koenemann's notes (1) (2)

Lecture 11 (Jun 9) NP-hard Scheduling Problems

Lecture 12 (Jun 11) Identical Parallel Machines (P||C_{max})

Lecture 13 (Jun 16) More list scheduling algorithms

Lecture 14 (Jun 18) TSP

Lecture 15,16,17 (Jun 30, Jul 2,7) LP based algorithms, factor 2 for (R||C_max)

Lecture 18 (Jul 9) LP based algorithms, factor 2 for (1|prec|\sum w_jC_j)

Lecture 19,20,21 (Jul 14,16,21) Shop Scheduling problems. This material is covered from Chapter 6,7 of the book. My handwritten notes for the shifting bottleneck rule is (here). Needless to say, this is to be complemented with your own notes in class, or from the reading of Chapter 7 from the book.

Homework 1 (Due: May 21st) Solution

Homework 2 (Due: June 4th) Solution

Homework 3 (Due: June 18th) Solution

Homework 4 (Due: June 30th) Solution

Homework 5 (Due: July 21st) Solution

Homework 6 (Due: July 28th) Solution

For the last homework you will need access to an LP solver. You might have been acquainted with one from your CO350 course. You can use your favorite one. Here is a java applet which should suffice for your purpose. The applet is (here) . A guide is of how to use it is given in the same page. I am attaching a sample output of solving a simple LP here (here). By the way, you should be careful that the applet might right 1.19999 for 1.2: feel free to round, and then check that everything's ok.