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. List Scheduling for P|prec|Cmax (2-approximation)
      3. 3-processor Sheduling ??
    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)
    6. Improvements for R||Cmax (Svensson 2011) using configuration LPs
  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. Approx. algorithms for 1|rj,prec|Lmax and 1|rj|Lmax (Hall Shmoys 89,Hall97) (KSW 6.3.2)
    4. 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. Dealing with release dates and precedence constraints
    4. Solving 1|rj,pmtn|Cj via SRPT (KSW 2.1.3)
    5. Approximations for 1|rj|∑Cj and P|rj|∑Cj (Phillips Stein Wein 98) -- using relaxations (KSW 5.2)
    6. Improvements through randomization for 1|rj|∑Cj (Chekuri et. al. 97)
    7. Other LPs and roundings P|rj|∑wjCj ( Hall et al 97)
    8. A PTAS (Afrati et al 99)
    9. 1 |prec| ∑ wjCj (Chekuri Motwani 1998)
  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)
    3. Further improvements (Bansal et al., 2007)
  6. Energy-Aware Scheduling
    1. A scheduling model for reduced CPU energy by Francis Yao, Demers and Shenker, FOCS 1995.
    2. Speed scaling with an arbitrary power function by Nikhil Bansal, Ho-Leung Chan and Kirk Pruhs, SODA 2009.
    3. Hallucination Helps: Energy Efficient Virtual Circuit Routing. A Antoniadis, et. al. SODA, 1141-1153. Optimal Power-Down Strategies by John Augustine, Sandy Irani and Chaitanya Swamy, SICOMP 2008.
    4. Algorithms for Power Savings Sandy Irani, Sandeep Shukla and Rajesh Gupta, SODA 2003 and TALG 2007.
    5. Polynomial Time Algorithms for Minimum Energy Scheduling by Philippe Baptiste, Marek Chroback and Christoph Durr, ESA 2007.