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