Title: Completion Time Scheduling
1Completion Time Scheduling
Notes from Hall, Schulz, Shmoys and Wein,
Mathematics of Operations Research, Vol 22,
513-544, 1997
2One LP formulation for 1SwjCj
3Other ways to bound Cj
Smiths rule Scheduling jobs by wj/pj is
guaranteed to be optimal
wj
pj
4Think of all jobs as having wj pj
Smiths rule Any order is then equivalent since
wj/pj 1 for all jobs
pj
pj
5(No Transcript)
61prec SwjCj
- LP minimize SwjCj
- Subject to
- Ck Cj pk (if job j precedes job k)
- Let Ci denote the LP optimal values
- Let Ci denote the true optimal values
7Algorithm and Analysis
- Let Ci denote the LP optimal values
- Let Ci denote the true optimal values
- Greedy Algorithm
- Solve LP for Ci
- Solvable in poly time despite exponential size
- Prioritize the jobs by Ci values
- Let Gi be the resulting completion times
- Key result Gi 2Ci 2Ci
- From Lemma 2.1
81rj, prec SwjCj
- LP minimize SwjCj
- Subject to
- Cj rj pj (all jobs)
- Ck Cj pk (if job j precedes job k)
- Let Ci denote the LP optimal values
- Let Ci denote the true optimal values
9Algorithm
- Let Ci denote the LP optimal values
- Let Ci denote the true optimal values
- Greedy Algorithm
- Solve LP for Ci
- Solvable in poly time despite exponential size
- Prioritize the jobs by Ci values
- Let Gi be the resulting completion times
10Analysis
- Key result Gi 3Ci 3Ci
- Fix j and define S 1, , j
- Gj rmax(S) p(S)
- Cj rmax(S)
- Thus Gj Cj p(S) 3Cj
- From Lemma 2.1
11Extending to parallel machines
12Extending to parallel machines
13Prj SwjCj
- LP minimize SwjCj
- Subject to
- Cj rj pj
- Let Ci denote the LP optimal values
- Let Ci denote the true optimal values
14Algorithm
- Let Ci denote the LP optimal values
- Let Ci denote the true optimal values
- Greedy Algorithm
- Solve LP for Ci
- Solvable in poly time despite exponential size
- Prioritize the jobs by Ci values
- Let Gi be the resulting completion times
15Analysis
- Key result Gi (4-1/m)Ci 4Ci
- 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
16Preemption 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 a of the job is complete
- List schedule these jobs nonpreemptively using
this priority
171 machine conversion
- Let Cpi denote any preemptive values
- Let Cni denote the nonpreemptive values
- Cni 2 Cpi
CPj
181rj SCj
- 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)