12.07.2015 Views

Design of Approximation Algorithms

Design of Approximation Algorithms

Design of Approximation Algorithms

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

3.2 Scheduling jobs on identical parallel machines 71there is a rounded long job <strong>of</strong> size greater than T , then there is no such schedule. Otherwise,we can describe an input by a k 2 -dimensional vector, where the ith component specifies thenumber <strong>of</strong> long jobs <strong>of</strong> rounded size equal to iT/k 2 , for each i = 1, . . . , k 2 . (In fact, we knowthat for i < k, there are no such jobs, since that would imply that their original processingrequirement was less than T/k, and hence not long.) So there are at most n k2 distinct inputs— a polynomial number!How many distinct ways are there to feasibly assign long jobs to one machine? Each roundedlong job still has processing time at least T/k. Hence, at most k jobs are assigned to one machine.Again, an assignment to one machine can be described by a k 2 -dimensional vector, where againthe ith component specifies the number <strong>of</strong> long jobs <strong>of</strong> rounded size equal to iT/k 2 that areassigned to that machine. Consider the vector (s 1 , s 2 , . . . , s k 2); we shall call it a machineconfiguration if∑k 2s i · iT/k 2 ≤ T.i=1Let C denote the set <strong>of</strong> all machine configurations. Note that there are at most (k +1) k2 distinctconfigurations, since each machine must process a number <strong>of</strong> rounded long jobs that is in theset {0, 1, . . . , k}. Since k is fixed, this means that there are a constant number <strong>of</strong> configurations.Let OPT(n 1 , . . . , n k 2) denote the minimum number <strong>of</strong> (identical) machines sufficient toschedule this arbitrary input. This value is governed by the following recurrence relation, basedon the idea that a schedule consists <strong>of</strong> assigning some jobs to one machine, and then using asfew machines as possible for the rest:OPT(n 1 , . . . , n k 2) = 1 + min OPT(n 1 − s 1 , . . . , n k 2 − s k 2).(s 1 ,...,s k 2 )∈CThis can be viewed as a table with a polynomial number <strong>of</strong> entries (one for each possibleinput type), and to compute each entry, we need to find the minimum over a constant number<strong>of</strong> previously computed values. The desired schedule exists exactly when the correspondingoptimal value is at most m.Finally, we need to show that we can convert the family <strong>of</strong> algorithms {B k } into a polynomialtimeapproximation scheme. Fix the relative error ϵ > 0. We use a bisection search procedureto determine a suitable choice <strong>of</strong> the target value T (which is required as part <strong>of</strong> the input foreach algorithm B k ). We know that the optimal makespan for our scheduling input is withinthe interval [L 0 , U 0 ], where⎧⎡⎤ ⎫⎨ n∑⎬L 0 = max⎩p j /m⎢ ⎥ , max p jj=1,...,n ⎭andj=1⎡ ⎤n∑U 0 =p j /m⎢ ⎥ + max p j.j=1,...,nj=1(We strengthen the lower bound with the ⌈·⌉ by relying on the fact that the processing requirementsare integral.) Throughout the bisection search, we maintain such an interval [L, U], withthe algorithmic invariants (1) that L ≤ C ∗ max, and (2) that we can compute a schedule withmakespan at most (1 + ϵ)U. This is clearly true initially: by the arguments <strong>of</strong> Section 2.3, L 0is a lower bound on the length <strong>of</strong> an optimal schedule, and using a list scheduling algorithm wecan compute a schedule <strong>of</strong> length at most U 0 .Electronic web edition. Copyright 2011 by David P. Williamson and David B. Shmoys.To be published by Cambridge University Press

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!