Completion Time Scheduling - PowerPoint PPT Presentation

completion time scheduling l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Completion Time Scheduling PowerPoint Presentation
Download Presentation
Completion Time Scheduling

play fullscreen
1 / 18
Completion Time Scheduling
96 Views
Download Presentation
paley
Download Presentation

Completion Time Scheduling

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Completion Time Scheduling Notes from Hall, Schulz, Shmoys and Wein, Mathematics of Operations Research, Vol 22, 513-544, 1997

  2. One LP formulation for 1||ΣwjCj

  3. Other ways to bound Cj Smith’s rule: Scheduling jobs by wj/pj is guaranteed to be optimal wj pj

  4. Think of all jobs as having wj = pj Smith’s rule: Any order is then equivalent since wj/pj = 1 for all jobs pj pj

  5. 1|prec| ΣwjCj • LP: minimize ΣwjCj • Subject to Ck ≥ Cj + pk (if job j precedes job k) Let C’i denote the LP optimal values Let C*i denote the true optimal values

  6. Algorithm and Analysis • Let C’i denote the LP optimal values • Let C*i denote the true optimal values • Greedy Algorithm: • Solve LP for C’i • Solvable in poly time despite exponential size • Prioritize the jobs by C’i values • Let Gi be the resulting completion times • Key result: Gi ≤ 2C’i ≤ 2C*i • From Lemma 2.1

  7. 1|rj, prec| ΣwjCj • LP: minimize ΣwjCj • Subject to Cj ≥ rj + pj (all jobs) Ck ≥ Cj + pk (if job j precedes job k) Let C’i denote the LP optimal values Let C*i denote the true optimal values

  8. Algorithm • Let C’i denote the LP optimal values • Let C*i denote the true optimal values • Greedy Algorithm: • Solve LP for C’i • Solvable in poly time despite exponential size • Prioritize the jobs by C’i values • Let Gi be the resulting completion times

  9. Analysis • Key result: Gi ≤ 3C’i ≤ 3C*i • Fix j and define S = {1, …, j} • Gj ≤ rmax(S) + p(S) • C’j ≥ rmax(S) • Thus Gj ≤ C’j + p(S) ≤ 3C’j • From Lemma 2.1

  10. Extending to parallel machines

  11. Extending to parallel machines

  12. P|rj| ΣwjCj • LP: minimize ΣwjCj • Subject to Cj ≥ rj + pj Let C’i denote the LP optimal values Let C*i denote the true optimal values

  13. Algorithm • Let C’i denote the LP optimal values • Let C*i denote the true optimal values • Greedy Algorithm: • Solve LP for C’i • Solvable in poly time despite exponential size • Prioritize the jobs by C’i values • Let Gi be the resulting completion times

  14. Analysis • Key result: Gi ≤ (4-1/m)C’i ≤ 4C*i • Fix j and define S = {1, …, j} • Gj ≤ rmax(S) + 1/m p(S – {j}) + pj • = rmax(S) + 1/m p(S) + (1-1/m)pj

  15. Preemption vs Nonpreemption • Method for converting preemptive schedules into non-preemptive schedules • Effective for minimizing Cj objectives • Prioritize jobs by their preemptive completion times Cjp • Generalization: When α of the job is complete • List schedule these jobs nonpreemptively using this priority

  16. 1 machine conversion • Let Cpi denote any preemptive values • Let Cni denote the nonpreemptive values • Cni ≤ 2 Cpi CPj …

  17. 1|rj| ΣCj • With preemption, we have an optimal solution, SRPT • Nonpreemptive online: • Simulate SRPT and when a job is completed in SRPT, start it in the non-preemptive (or add it to the list to start)