Syllabus (Tentative)

  1. Introduction (Handout of Chapter 1 and 2 from (Pinedo 95))
    1. Models
    2. Notation
    3. Applications
    4. NP-completeness, Approximation, Linear Programming
  2. Minimizing Schedule Length
    1. Solving P|pmtn|Cmax (McNaughton59) and lower bounds (KSW 2.3.2)
    2. P||Cmax
      1. List scheduling (2-approximation)
      2. LPT (4/3-approximation)
      3. Polynomial Approximation Scheme (Hochbaum Shmoys 87, KSW 3.3, 6.2)
    3. P|prec|Cmax (KSW 2.3.4)
      1. NP-hardness of P|prec,pj=1|Cmax
      2. Algorithms for P2|pj=1|Cmax (Gabow 82)
      3. List Scheduling for P|prec|Cmax (2-approximation)
    4. R|pmtn|Cmax (LawlerL78) -- introducing Linear programs in scheduling (KSW 4.1)
    5. R||Cmax (Shmoys Tardos 93) -- using linear program relaxations to get approximation algorithms (KSW 5.1)
  3. Scheduling with Deadlines on One Machine
    1. 1||Lmax - EDD (KSW 2.1.2)
    2. 1|rj,pmtn| Lmax - preemptive EDD (introducing release dates) (KSW 2.1.3)
    3. 1|prec|fmax - Least Cost Last (KSW 3.1.1)
    4. 1|pmtn,rj,prec|fmax (Baker et al 83)
    5. Approx. algorithms for 1|rj,prec|Lmax and 1|rj|Lmax (Hall Shmoys 89,Hall97) (KSW 6.3.2)
    6. 1||∑wjUj - Dynamic programming solution, weak NP-completeness (KSW 3.2,6.1)
  4. Scheduling to Minimize weighted completion time
    1. 1||∑wjCj - Smith's rule (KSW 2.1.1)
    2. Exact solutions to R||{∑Cj via linear programming and matching, specializations to P||∑Cj (KSW 4.1)
    3. Solving P|pmtn|∑Cj (McNaughton 59)
    4. Dealing with release dates and precedence constraints
    5. Solving 1|rj,pmtn|Cj via SRPT (KSW 2.1.3)
    6. Approximations for 1|rj|∑Cj and P|rj|∑Cj (Phillips Stein Wein 98) -- using relaxations (KSW 5.2)
    7. Improvements through randomization for 1|rj|∑Cj (Chekuri et. al. 97)
    8. Other LPs and roundings P|rj|∑wjCj ( Hall et al 97)
    9. A PTAS (Afrati et al 99)
  5. Minimizing Flow Time
    1. 1|rj|∑Fj is NP-hard (Kellerer et al 1995)
    2. Resource augmentation (Kalyanasundaram and Pruhs 95, Phillip et al 97, Cho et al 2007)
  6. On-line Scheduling
  7. Power-Aware Scheduling
  8. Mechanism Design for Scheduling
  9. Shop Scheduling Models