Properties of SPT schedules Eric Angel, Evripidis Bampis, Fanny Pascual LaMI, university of Evry, France MISTA 2005
Outline Definition of an SPT schedule Quality of SPT schedules on these criteria: Min. Max ∑Cj: minimization of the maximum sum of completion times per machine. Fairness measure Conclusion
Model Example: Cj = completion time of task j. (e.g. C 3 =4) Main quality criteria: Makespan -> (P||C max ) Sum of completion times ( ∑ Cj ) -> (P|| ∑ Cj ) P1 P2 P3 n tasks m machines time
SPT schedules SPT= Shortest Processing Time first Smith’s rule: SPT greedy –Sort tasks in order of increasing lengths. –Schedule them as soon as a machine is available. Algo which minimizes ∑Cj. Class of the schedules which minimize ∑Cj : [Bruno et al]: Algorithms for minimizing mean flow time
A schedule minimizes ∑Cj iff it is an SPT schedule SPT schedules [Bruno et al]: notion of rank Rank 1: Rank 2: Rank 3: The tasks of rank i are counted i times in the ∑Cj : ∑Cj= C 1 + C 4 + C 7 + C 2 + C 5 + C 8 + … = l(1) + ( l(1) + l(4) ) + ( l(1) + l(4) + l(7) ) + … = 3 l(1) + 2 l(4) + l(7) + … machine 1
Outline Definition of an SPT schedule Quality of SPT schedules on these criteria: Min. Max ∑Cj: minimization of the maximum sum of completion times per machine. –Example –NP-complete problem –Analysis of SPT greedy Fairness measure Conclusion
Minimization of Max ∑Cj Pb = Minimization of Max ∑ Cj To minimize Max ∑Cj To minimize ∑Cj Max ∑Cj = 7 Max ∑Cj = 6 ∑Cj = 10 ∑Cj = 11 NP-complete problem. i {1,…,m}j on Pi P1 P P1
To minimize Max ∑Cj is an NP-complete problem We reduce the partition problem into a Min. Max ∑Cj problem. –Partition: Let C={ x1, x2,..., xn } be a set of numbers. Does there exist a partition (A,B) of C such that ∑ x A x = ∑ x B x ? –Min. Max ∑Cj: Let n tasks and m machines, and let k be a number. Does there exist a schedule such that Max ∑Cj= k ?
Min Max ∑Cj is NP-complete Transformation: –Partition: C={ x1, x2,..., xn } –Min. Max ∑Cj: k= ½ Min ∑Cj ;2 machines;2n tasks Example : C={ x1, x2, x3 } Tasks = P1 P2 3 x1 3 x1 3 x1 + 2 x2 3 x1 + 2 x3 + 3 x1 + 2 ≠ce contrib ∑Cj = 3 x1 + 2 x2 3 x1 3 x1 3 x1 + 2,,,,, 3 x1 + 2 x3 + x1 x2x3 + x1+ x2 + x3 x1 + x2 = x3 Claim: Solution of (Min. Max ∑Cj) ∑Cj = ∑Cj = k = ½ Min ∑Cj P1P2
Min Max ∑Cj is NP-complete tasks ≠ce length rank ≠ce contrib ∑Cj transformation: –Partition: C={ x1, x2,..., xn }. –Min. Max ∑Cj: k= ½ Min ∑Cj ; 2 machines; 2n tasks n - 2 n n - 1
Min. Max ∑Cj : analysis of SPT greedy Theorem 1 : –The approx. ratio of SPT greedy is ≤ 3 – 3/m + 1/m 2. Theorem 2 : –The approx. ratio of SPT greedy is ≥ 2 – 2/(m 2 + m).
Min. Max ∑Cj : analysis of SPT greedy Theorem 2 : –The approx. ratio of SPT greedy is ≥ 2 – 2/(m 2 + m). ( example: for m=3, ratio ≥ 11/6 ) Proof: –m(m-1) tasks of length 1 –A task of length B= m(m+1)/2 –Example for m=3: Max ∑Cj = 11 Max ∑Cj = 6
Definition of an SPT schedule Quality of SPT schedules on these criteria: Min. Max ∑Cj. Fairness measure. Conclusion Outline
Fairness measure [Kumar, Kleinberg]: Fairness Measures For Ressources Allocation (FOCS 2000) Definition: global approx ratio of a schedule S: –Max. ratio between the completion time of the i th task of S, and the min. completion time of the i th task of any other schedule. –I = instance; X = (sorted) vector of completion times –C(X) = min s.t. X Y Y= feasible schedule of I –C*(I) = min C(X) s.t. X = feasible schedule of I –C*= max C*(I) 1 4 Vector X = (1, 3, 4) 2
Fairness measure Example: Vector X = (1, 2, 4) Possible vectors: X + (1, 2, 5) (1, 3, 3) (1, 3, 5) (2, 3, 3) (2, 3, 4) (1, 3, 6) (1, 4, 6) (2, 3, 6) (2, 5, 6) (3, 4, 6) (3, 5, 6) Min = (1, 2, 3) C (X) = 4/3 C* (I) = 4/3 I={,, }
Fairness measure Theorem 1: –C(X SPTgreedy ) ≤ 2 – 1/m. ( example: for m=2, C(X SPTgreedy ) ≤ 3 / 2 ) Theorem 2: –C* = 3/2 when m=2. Proof of theorem 2: Vector X = (1, 1, 3) C (I) = C* = 3/2
Conclusion – Future work Conclusion –Minimization ofMax ∑Cj = NP-complete pb. –SPT greedy between 2 – 2/(m 2 + m) and 3 – 3/m + 1/m 2 for Min. Max ∑Cj. –Good fairness measure for SPT greedy. Future work –A better bound for SPT greedy for Min. Max ∑Cj. –Study of fairness measure on other problems.