210 likes | 213 Views
György Dósa – M. Grazia Speranza – Zsolt Tuza :. Improved bounds for scheduling two uniform machines with known sum of the jobs. University of Pannonia, University of Brescia, Hung. Academy of Science.
E N D
György Dósa – M. Grazia Speranza – Zsolt Tuza: Improved bounds for scheduling two uniform machines with known sum of the jobs University of Pannonia, University of Brescia, Hung. Academy of Science
Scheduling: some kind of combinatorial optimizationWe use the three-field notation:α׀β׀γ, where α : machines: parallel, uniform (processing time is pi/s),… β: jobs: precedence constraints, release dates, due dates, preemption is allowed or not, … γ:objectives: makespan, (weighted) sum of completion times of jobs, number of not completed jobs, … (many practical applications, interesting, hard problems,…)
just an example: P4׀׀ Cmax , i.e. • identical parallel machines, • no restrictions on jobs, • minimizing the maximum • compl. time (makespan) = Cmax • load: sum of proc. times of jobs assigned to the machine • s = smallest load Cmax J6 J5 s 6 J1 J2 J3 J4 3 M1 M2 M3 M4 this schedule is made byList Scheduling(Graham, ‘66)
Competitiveness (performance ratio) • We compare the „goodness” of an algorithm A to an optimal algorithm OPT • How many times can be A worse than OPT in the „worst case”, i.e. C(A) = sup { A(I) / OPT(I) }, where I is an arbitrary input (instance) ( for example, C(LS)= 2 - 1/m )
Lower bounds • Adversary: a very wrong sequence, for what no algorithm can perform well • Similar to a Maker-Breaker game: Maker = adversary (building a big makespan) Breaker = algorithm (enforcing a small makespan) • Optimality: if the lower bound touches the competitive ratio (we are happy if our algorithm is optimal)
(some) recent, and popular topics: • Scheduling with machine cost (J. Noga, Cs. Imreh) • Randomization (can help?) • Rejection (we can reject the job, but must pay penalty) • Semi online problems: we know something, but not everything about the jobs, (or we have a buffer, or…) What is Known: sum, largest size, a range of sizes, order of the jobs, … now we will deal with this condition
so our problem is now: Q2׀ Sum = S ׀ Cmax • two related machines, • only the sum of the sizes is known • the makespan is minimized
previous work: [1] Kellerer, Kotov, Speranza, Tuza: Semi online algorithms for the partition problem, Op. Res. Letters 21 (1997) a many times cited paper the main results: - three semi online versions of P2 II Cmax, - three optimal algorithms with the same comp. ratio C=4/3, ( the pure online comp. ratio is C=3/2 (LS) )
Q2 ׀Sum=S ׀ Cmax case of 2 uniform machines, known sum: [2] Angelelli, Speranza, Tuza: Semi online scheduling on two uniform processors, Theor. Comp. Science 393 (2008), 211-219. the paper provides: • three simple algorithms • lower bounds • optimality if s=1, and in two intervals (not everywhere opt., or not proved to be opt.)
Previous (lower and upper) bounds from [2] these two intervals remained to be investigated better, where previous algorithms are not (or not proved to be) optimal
The case of the first interval: 1 < s < 1.28 we have optimal algorithms for almost the whole interval
in the case of the first interval • the problem is solved by a „ladder” algoritm, (we will define it a little bit later) • only two „steps” are enough to get optimal ratio • the case of the other interval seems to be more difficult: - we still get optimal ratio for some subintervals - more steps are needed - we will show the results only for s=1.5
the present results for s=1.5: lower 1.333 upper 1.4 improved bounds CoalBas(1): 1.4 (original) CoalBas(2): 1.3846 (better) CoalBas(3): 1.375 (better) CoalBas(4): 1.3721 (better) CoalBas(5): 1.3718 (better) CoalBas(6): 1.3714 (better) CoalBas(7): 1.3715 (worse) U P P E R 15/11=1.3636 lower (for further k? OPT = ? in case of other s? open questions)
s=1 s=1.5 How does an adversary work? (how to get 15/11) Suppose SUM=11+16.5, we want to get loads 15 and 22.5 resp. 15 22.5 (at least) Let J1=1 safe sets if J1 goes to M2: 11 16.5 J2=5 if J2 goes to M1: J3=10, J4=11.5 if J2 goes to M2: J3=16.5, J4=5 S0 S1 12.5 5 4 6 J1 in both cases: OPT=11, C ≥ 15, OK.
s=1 s=1.5 (how to get 15/11, PART II) 15 22.5 We conclude: J1 goes to M1. Let J2 = 2.5 safe sets if J2 goes to M1: 11 16.5 J3=11.5 if J3 goes to M1: J4=11, J5=1.5 if J3 goes to M2: J4=12.5 S0 S1 12.5 5 4 6 J2 J1 in both cases: C/OPT ≥ 15/11, OK.
s=1 s=1.5 (how to get 15/11, PART III) 15 22.5 safe sets We conclude: J2 goes to M2. Let J3 = 4 if J3 goes to M2: 11 16.5 S0 S1 J4=16.5 then: OPT=11, C ≥ 15, OK. 12.5 We conclude: J3 goes to M1. **********THEN************** the last two jobs are J4 = J5 = 10, and OK. 5 6 4 J3=4 J2=2.5 J1=1
safe sets S0 S1 4 s=1 s=1.5 the improved algorithm: CoalBas(k) =Climbing On ALadder, (a basic alg.) with step K 14 21 The previous alg. would be CoalBas(1), since the safe sets are S0 and S1 (no more) 10 15 • Assign the job to M1until we reach S1. • If we jump over S1, then Ji >10 must hold. • Assign the job to M2. If we reach S0: OK • Otherwise: Assign again to M1 until we reach S1. • If we jump over again: • (No problem, since two big jobs, opt >10,…) 11
S0 S1 S2 s=1 s=1.5 the idea : by one more safe set: we get CoalBas(2), and C=36/26=1.3846 < 1.4 • Assign to M2 while L2 < 4 • If S2 is reached: • - assign the next jobs to M1 while L1<11. • - if S1 is reached: OK(further jobs go to M2) • - if the next job would jump over S1: it is > 25 • -assign it to M2 • -if we reach S0: OK (further jobs go to M1) • -if we jump over S0: OK (further jobs go to M1) • If S2 is jumped over: the job is > 11, • and so on… 36 54 26 39 29 11 15 4
How to define the safe sets? • we ensure that the proof will be correct • a simple recursion is applied • a better way? - If we get valid safe sets (nonnegative top and bottom, non overlapping safe sets) then this recursion is the best choice • what is the best choice of the safe sets if the recursion fails? • what is the best choice of parameter K?
66 48 S0 S1 54 21 27 12 S2 S3 3 s=1 s=1.5 s=1 s=1.5 CoalBas(3), CoalBas(4): 99 118 177 • the algorithm is similar, • can be made in a recursive way • for bigger K it is a little bit more difficult, • also the proof 86 129 72 S0 S1 97 38 48 21 S2 S3 17 66/48 = 1.375 118/86 = 1.3721 9 7 10 S4 3
1.3714 • CoalBas(6): the best we can do in this way for s=1.5 the best upper bound is the lower bound is 1.3636 • Further improvements? • Case of other s speeds? • Better lower bound? • (many open questions) Thank You for your kind attention!