Download presentation
Presentation is loading. Please wait.
Published byAlfred Carr Modified over 8 years ago
1
Approximation Algorithms for Scheduling Lecture 11
2
P |r j, prec |L max Now we consider the problem to schedule n jobs on m parallel identical processors with precedence constraints between these jobs. Also each job has release date and delivery time and the objective is to minimize the maximum delivery-completion time (equivalent to “ lateness ” ) of any job.
3
List Scheduling In this model we modify the definition of list scheduling so that whenever the machine becomes available we process the next available job on the list, meaning one that has been released and whose predecessors have all completed processing.
4
Algorithm LS Theorem 11.1 (Hall & Schmoys [1989]) List scheduling is a 2-approximation algorithm for the scheduling problem P|r j, prec |L max.
5
Proof J1J1 q1q1 0 Consider a schedule produced by the algorithm, and let J 1 be a job whose delivery completion time attains that of the schedule.
6
Idea of Proof We will partition the total time of the schedule into two sets of intervals such that the total time of the intervals belonging to each of the sets is bounded above by OPT. Thus, the constructed schedule will have L max 2OPT.
7
Proof J1J1 q1q1 t1t1 J2J2 0 Consider the latest time t 1 before starting time of J 1 that some machine is idle.
8
Proof J1J1 q1q1 t1t1 J2J2 t2t2 J3J3 0 Consider the latest time t 2 before starting time of J 2 that some machine is idle.
9
Proof J1J1 q1q1 t1t1 J2J2 t2t2 t3t3 J3J3 r4r4 0 J4J4 We construct a string of jobs whereby job J k is not available before t k because t k r k.
10
Proof J1J1 q1q1 t1t1 J2J2 t2t2 t3t3 J3J3 r4r4 0 J4J4
11
The LPT Rule for P||C max JkJk M1M1 M2M2 M3M3 M4M4 sksk CkCk t = 0 We apply list scheduling, ordering the job list by non-decreasing processing times: p 1 ≥ p 2 ≥... ≥ p n and J k is the job that completes last.
12
The LPT Rule for P||C max JkJk M1M1 M2M2 M3M3 M4M4 sksk CkCk t = 0 We apply list scheduling, ordering the job list by non-decreasing processing times: p 1 ≥ p 2 ≥... ≥ p n and J k is the job that completes last.
13
The LPT Rule for P||C max JkJk M1M1 M2M2 M3M3 M4M4 sksk CkCk t = 0 We apply list scheduling, ordering the job list by non-decreasing processing times: p 1 ≥ p 2 ≥... ≥ p n and J k is the job that completes last.
14
J h+ 1 J h+ 2 M m-3 M2M2 M3M3 M4M4 sksk CkCk t = 0 J1J1 J2J2 J 2m - h = J k J3J3 J4J4 M1M1 M m-2 M m-1 MmMm J 2m – h - 1 h W.l.o.g. we assume that is J k the last job on the list, since otherwise we can truncate the instance at this point and obtain a new instance on which LPT performs at least as badly relative to the optimal schedule.
15
J h+ 1 J h+ 2 M m-3 M2M2 M3M3 M4M4 sksk CkCk t = 0 J1J1 J2J2 J 2m - h = J k J3J3 J4J4 M1M1 M m-2 M m-1 MmMm J 2m – h - 1 h
16
The LPT Rule for P||C max Theorem 11.2 (Graham [1966])
17
Tight Instances t = 0 3l + 4 3l + 2 3l3l 2l + 2 t = 0 4l - 2 4l - 4 4l - 6 4l - 8 2l + 4 3l 3l - 2 3l - 4 2l + 8 2l + 6 2l LPT schedule OPT schedule 6l6l 8l - 4 3l + 4 3l + 2 3l3l 4l - 2 4l - 4 4l - 6 4l - 8 3l 3l - 2 3l - 4 3l - 6 3l - 8 2l + 4 2l + 2 2l
18
P|r j |C max We may consider a dynamic version of the LPT rule in the case that jobs have release dates; whenever a machine is idle, schedule a longest available (already released) job, if there is one.
19
The LPT Rule for P|r j |C max Theorem 11.3 (Chen & Vestjens [1995])
20
Proof (by contradiction)
21
Last Job Let J l be the last job to finish in the LPT schedule.
22
Last Job Let J l be the last job to finish in the LPT schedule.
23
Last Job Let J l be the last job to finish in the LPT schedule. JlJl slsl rlrl There are m jobs undergoing processing just before J l begins.
24
Non-empty Interval J j begins after r l JlJl slsl rlrl J j begins before r l p j ≥ p l There is a non-empty interval [t s, t f ], before r l, during which some machine is idle.
25
Bound on p l Lemma 11.4 Let t f be the latest point before r l that some machine is idle. Then,
26
Proof of Lemma 11.4 JlJl slsl rlrl tsts tftf Type 1 Type 2 + J l (LPT) Let us fix an optimal schedule σ*. Now two of these m + 1 jobs must be scheduled on the same machine in σ*. Denote these jobs J 1 and J 2. Consider again the m jobs that are processing just before J l begins.
27
Case 1: J 1 is a Type-1 job. JlJl slsl rlrl J1J1 tsts tftf (LPT) r1r1 s1s1
28
Case 2: J 1 is a Type-2 job. JlJl slsl rlrl J1J1 tsts tftf (LPT) r1r1 s1s1
29
Special Job Lemma 11.5 In the LPT schedule, some job begins at or before t s and completes at or after t f. Proof. Suppose that such a job did not exist. Consider the set J of jobs that begin processing after time t s in the LPT schedule.
30
Proof of Lemma 11.5 JlJl slsl tsts tftf (LPT) Set J
31
Proof of Lemma 11.5 (2) JlJl slsl tsts tftf (LPT) Set J
32
Proof of Theorem 11.3 JlJl slsl tsts tftf (LPT) JjJj sjsj rjrj
33
Proof of Theorem 11.3 (2) JlJl slsl tsts tftf (LPT) JjJj sjsj rjrj
34
Proof of Theorem 11.3(3) JlJl slsl tsts tftf (LPT) JjJj sjsj rjrj
35
End of Proof
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.