12
60 European Journal of Operational Research 76 (1994) 60-71 North-Holland Theory and Methodology Preemptive scheduling with release dates, delivery times and sequence independent setup times Stanis~aw Zdrza/ka Institute of Engineering Cybernetics, Technical University of Wroctaw, 50-370 Wroctaw, Poland Received January 1992; Revised July 1992 Abstract: This paper deals with the single-machine scheduling problem in which each job has a release date, a processing time and a delivery time. Preemption is permitted and a sequence-independent setup time is incurred before processing a job. The objective is to find a schedule which minimizes the time by which all jobs are delivered. We show that the problem is NP-hard and propose a heuristic algorithm 3 with a tight worst-case performance bound of ~ and which requires O(n log n) time. Keywords: Single-machine scheduling; Setup times; Approximation algorithm; Worst-case analysis I. Introduction There are n jobs, identified by the integers from the set J = {1, 2,..., n}, which are to be processed on a single machine. Each job j becomes available for processing at a release date ry > O, requires a processing time pj > 0 on the machine and has a subsequent delivery time qy > O. At any time, the machine can handle at most one job, and it requires a setup before it can process job j; a setup time for job j is sj > 0. A setup must be respected in a feasible schedule as an idle period on the machine of length at least sy directly preceding the processing of job j. At time zero, the machine requires a setup before processing the first job. Two models of a setup are considered: either a setup can be commenced only after a job release date (after job arrival), or it can be executed in absence of a job. Preemption is permitted, which allows the processing of a job to be interrupted and resumed later; each resumption requires a new setup. Let Cj denote the completion time of job j on the machine. Then Cj + qj is the time by which job j is delivered. The objective is to find a feasible schedule that minimizes the time C = maxj ~ j(Cj + qj) by which all the jobs are delivered. The problem of preemptive scheduling with setups as stated above is equivalent to the following lot-sizing problem. We treat each job as a production lot composed of a number of identical items. A job can be split into sublots, and the sublots can be processed separately. All items of a sublot are processed contiguously, and if a sublot is preceded in a schedule by the one belonging to another job, or if it is Correspondence to: Dr. S. Zdrzatka, Institute of Engineering Cybernetics, Technical University of Wroc~aw, ul.Janiszewskiego 11/17, 50-370 Wrociaw, Poland. 0377-2217/94/$07.00 © 1994 - Elsevier Science B.V. All rights reserved SSDI 0377-2217(92)00032-K

Preemptive scheduling with release dates, delivery times and sequence independent setup times

Embed Size (px)

Citation preview

Page 1: Preemptive scheduling with release dates, delivery times and sequence independent setup times

60 European Journal of Operational Research 76 (1994) 60-71 North-Holland

Theory and Methodology

Preemptive scheduling with release dates, delivery times and sequence independent setup times

Stanis~aw Zdrza/ka Institute of Engineering Cybernetics, Technical University of Wroctaw, 50-370 Wroctaw, Poland

Received January 1992; Revised July 1992

Abstract: This paper deals with the single-machine scheduling problem in which each job has a release date, a processing time and a delivery time. Preemption is permitted and a sequence-independent setup time is incurred before processing a job. The objective is to find a schedule which minimizes the time by which all jobs are delivered. We show that the problem is NP-hard and propose a heuristic algorithm

3 with a tight worst-case performance bound of ~ and which requires O(n log n) time.

Keywords: Single-machine scheduling; Setup times; Approximation algorithm; Worst-case analysis

I. Introduction

There are n jobs, identified by the integers from the set J = {1, 2 , . . . , n}, which are to be processed on a single machine. Each job j becomes available for processing at a release date ry > O, requires a processing time pj > 0 on the machine and has a subsequent delivery time qy > O. At any time, the machine can handle at most one job, and it requires a setup before it can process job j; a setup time for job j is sj > 0. A setup must be respected in a feasible schedule as an idle period on the machine of length at least sy directly preceding the processing of job j. At time zero, the machine requires a setup before processing the first job. Two models of a setup are considered: either a setup can be commenced only after a job release date (after job arrival), or it can be executed in absence of a job. Preemption is permitted, which allows the processing of a job to be interrupted and resumed later; each resumption requires a new setup. Let Cj denote the completion time of job j on the machine. Then Cj + qj is the time by which job j is delivered. The objective is to find a feasible schedule that minimizes the time C = maxj ~ j(Cj + qj) by which all the jobs are delivered.

The problem of preemptive scheduling with setups as stated above is equivalent to the following lot-sizing problem. We treat each job as a production lot composed of a number of identical items. A job can be split into sublots, and the sublots can be processed separately. All items of a sublot are processed contiguously, and if a sublot is preceded in a schedule by the one belonging to another job, or if it is

Correspondence to: Dr. S. Zdrzatka, Institute of Engineering Cybernetics, Technical University of Wroc~aw, ul.Janiszewskiego 11/17, 50-370 Wrociaw, Poland.

0377-2217/94/$07.00 © 1994 - Elsevier Science B.V. All rights reserved SSDI 0377-2217(92)00032-K

Page 2: Preemptive scheduling with release dates, delivery times and sequence independent setup times

s. Zdrzatka / Preemptive scheduling with release dates 61

processed first, it requires an appropriate setup. We also assume that the number of items in a lot is large, so that the lots can be treated as continuously divisible. In this setting, the problem stated consists in partitioning lots into continuous sublots (lot-sizing) and scheduling the sublots so as to minimize the time by which all the lots are delivered.

A partition of a lot into continuous sublots is implicit in preemptive scheduling. Therefore the latter is the natural model of a lot-sizing problem provided, however, that setups are incorporated in the model and lots are continuously divisible. The continuous sublots provide a good approximation to the discrete sublots model when the number of items in a lot is large. Despite the practical interest in the scheduling models with setups, they are rarely considered in the scheduling literature. Recently, Monma and Potts (1989) drew attention to this class of problems by examining the computational complexity of various problems with batch setups. Potts and Van Wassenhove (1990) have pointed out strong interrelations between scheduling, batching and lot-sizing. The worst-case analysis of heuristics for parallel machine and single machine scheduling with batch setup times has been given by Monma and Potts (1991), Chen (1991), Uzsoy, Lee and Martin-Vega (1992), and Zdrza~ka (1991a,b).

The standard single machine scheduling problem with release dates and delivery times (in which setup times are equal to zero, or are included in the processing times), whose extension is discussed in this paper, has received considerable attention in the literature. We refer to the standard problem using the notation 1 [ r i, qi I Cmax, for the nonpreemptive variant, or 1 I pmtn, ri, qi I Cmax, for the preemptive case, see Graham et al. (1979). Lenstra, Rinnooy Kan and Brucker (1977) have shown that the nonpreemptive case 11 ri, qilCmax is NP-hard in the strong sense. However when preemptions are allowed, the problem (1 Ipmtn, ri, qil Cma x) is solvable in polynomial time (O(n log n)), see, e.g. Carlier (1982). The standard problem has important applications as the model of scheduling a bottleneck machine, as a simplified model of more complex scheduling situations in a sophisticated environment, and in the theoretical context, for computing lower bounds in flow shop and job shop problems, see, e.g. Adams, Balas and Zawack (1988). The best approximation algorithm, until now, for the standard (nonpreemptive) problem 11 ri, qilCmax has been given by Hall and Shmoys (1992); it has a worst-case performance bound of 4 3- Branch-and-bound algorithms which are capable of solving problem instances with hundreds of jobs in a very short time have been proposed by Carlier (1982) and Grabowski, Nowicki and Zdrza~ka (1986).

Finally, we should mention that the problem stated is equivalent to that with due dates dr, j ~ J, in which the objective is to minimize the maximum lateness max j~ j (C j - dr). If we define qj = K - d r, j ~ J, where K is a constant such that K > maxj ~ j dr, then maxj ~ j (C i - d r) + K = maxj ~ j(Cj + q j), and minimizing the maximum lateness is equivalent to minimizing the time by which all the jobs are delivered.

In this paper we show that the problem stated is NP-hard, and then confine our attention to the design and analysis of a heuristic algorithm with polynomial running time. We propose a heuristic which requires O(n log n) time and guarantees a tight worst-case performance bound of 3 2- The design and analysis of the heuristic is based upon some properties of the extended Jackson rule and the notion of the interference job introduced by Potts (1982) for the 11 r~, q,-I Cmax problem. The heuristic also uses the technique of sequencing the jobs, known as Johnson's algorithm, for minimizing the makespan in the two-machine flow shop problem (Johnson, 1954). The algorithm first finds a nonpreemptive schedule, using the extended Jackson rule and Johnson's algorithm, and then splits an interference job, if it exists, and reschedules it before or after the critical sequence. Analysis shows that it is enough to split only the interference job to obtain the worst-case performance bound of 3 2-

2. Computational complexity

We first discuss the computational complexity of the problem stated.

Theorem 1. The preemptive case of the maximum delivery time problem with release dates and sequence independent setup times is NP-hard for both models of setups.

Page 3: Preemptive scheduling with release dates, delivery times and sequence independent setup times

62 S. Zdrzatka / Preemptive scheduling with release dates

Proof. We show that the NP-complete decision problem P A R T I T I O N is reducible to the decision form of the maximum delivery time problem. P A R T I T I O N : Given positive integers a l , . . . , ak, does there exist a subset S c T = {1 . . . . , k} such that

Ei~sai = ]~iET\Sai 9. Write b = ½~,i~rai. An instance of the decision version of the maximum delivery time problem is defined as follows. Let: n = k + 1; p j = s j = a j , j = 1 , . . . , k ; Pk+l = 1; sk+ 1 = 0 ; r j = q j = 0 , j = 1 . . . . ,k; rk+ 1 ----- 2b; qk+~ = 2b; y = 4b + 1, where y is the threshold in the decision version of our optimization problem. We shall show that P A R T I T I O N has a solution if and only if there exists a schedule such that C < y. If P A R T I T I O N has a solution S, then the nonpreemptive schedule (S, k + 1, T \ S ) , in which jobs from the set S precede job k + 1 and the jobs from T \ S follow k + 1, yields C = 4b + 1 <y . We now show that if P A R T I T I O N has no solution, then C > y for all schedules. First, we observe that for every schedule in which at least one job j, j 4: k + 1, is preempted, C > 4b + 1 + min I <_ i ~ kSi > Y" Clearly, if job k + 1 is preempted, then C > 4b + 1. Therefore it suffices to consider only the nonpreemptive schedules. Since for every S c T, ~ i ~ s a i = b +e for some e ~ 0, and any nonpreemptive schedule has the form (S, k + 1, T \ S ) , we have C = 4b + 1 + 21 el > y for all nonpreemptive schedules. []

Since the problem is NP-hard, we turn our attention to the design and analysis of heuristics which approximate the optimal solution and require polynomial time.

3. Approximation algorithm

We begin by introducing some further notation. Let a sequence of jobs 7r determine a processing order of jobs. By rr(i) we denote that e lement of J which is in position i in rr. We claim that if no jobs are preempted, then the maximum delivery time for the processing order 7r, denoted by C(zr), can be written as follows:

where

{ il } C(~ ' ) = m a x ATr(il) + ~ t=(i) + q~(iO ' (1)

l<--i~<-i2<-n i=il

rj for the model where a setup required by a job can be commenced only

Aj = after a job release date,

max{0, rj - sj} for the model where a setup can be executed before a job release date,

tj = s~ + p j .

In the case of the first setup model, it is obvious that sj and pj can be combined and designated as the processing time t~ of job j. In consequence, if no jobs are preempted, then function C has the same form as the objective function in the problem 1]ri, qiICma~, that is (1), see, e.g., Potts (1980) and Carlier (1982). For the second setup model, we have

C(zr) = m a x rlr(iD-t-Prr(il) + E (S~( i )+P~(i ) ) -t-qzr(iz) , ( 2 ) O<-ia <-iz <--n i=i 1+ 1

Ek=aXk = 0 for where ~r(0) is a dummy job with r=(0) = sT(0) =p~r(0) = q=(0) = 0. We assume in (2) that b _ a > b. Adding and subtracting s~(il ) f rom the right-hand side of (2), we get

C( r r ) = max r~(q)-s,~(il) + Y'. (s~(i) +P~(i)) +%(i~) , O<il <-i2<-n i=il

Page 4: Preemptive scheduling with release dates, delivery times and sequence independent setup times

S. Zdrzatka / Preemptive scheduling with release dates 63

which is equal to the right-hand side of (1), since the following inequalities hold. For any 1 < i 2 < n, if il < i 2 and r~r(i 0 -- Sz:(i 0 < 0, then

i2 i2 i2

r~r(il) -- Scr(il) "+- E ( S~'(i) +Pi t ( i ) ) + q~(i2) < r~(o) - s~(o) + ~-" (Sir(i) + P~r(i)) -t- q~r(i2) = E ( Srr(i) + P~r(i)) i=i I i = 0 i=1

+ q~'(i2) ~- 0/.

If r~o ~ - S~l) < O, then

i2

a = Art(1 ) "~- E (S'rr(i) "t-Prr(i)) "t- q,rr(i2) , i=1

otherwise,

i2

a __< r~o ) - S¢r(1 ) -1- E (s.a-(i) +P~r(i)) -t- q'n'(i2)" i=1

The equality (1) implies the following corollary.

Corollary 1. The nonpreemptive case of the maximum delivery time problem with release dates and sequence independent setup times is the scheduling problem 1 [ ri, qi I Cmax with rj := Aj and pj := sj + pj.

Since for both setup models the objective functions are of the same form irrespective of whether preemption is allowed or not (if preemption is allowed, each portion (sublot) of a job can be treated as a separate job), in what follows we do not distinguish between which of the setup models is used.

We define u I and u 2 to be the indices for which the maximum in (1) is achieved. Unless stated otherwise, we assume that u 1 is as small as possible. We call (~r(ul), 'W(U 1 + 1), . . . ,~-(u2)) a critical sequence, and refer to job "rr(c) satisfying the inequalities u 1 _< c < u 2, q~.(c) < q=(-2) and q~r(h) ~ q~("2) for h = c + 1 . . . . . u2, as the interference job. Given a processing order 7r of jobs, the earliest and the latest

+ starting times S~¢i), 1 < i < n, and S=¢i), 1 < i _< n, respectively, ensuring maximum delivery time C(~-), are given through the following recursive equations:

S~(1):A~r(I), S~r(i+l)=max{S~r(i)+tzr(i), A=(i+I) }, i = 1 . . . . , n - - 1,

S~r~n) = C("n') -q~(n)-t~¢n), S ~ + ~ i - l ) = m i n { S + ( i ) - t ~ ( i - o , C ( ~ ) - q z r ( i _ l } - t ~ r ( i _ l ) } ,

i = n , . . . , 2 . + +

We call S - ( T r ) = (S~o) . . . . . S~(n)) and S+(Tr)= (S~o) . . . . . S~¢,)) the earliest and the latest starting time (nonpreemptive) schedules, respectively. It should be noted that for each job 7r(i) of the critical sequence of ~r, Sgc o = S=+~o-

Finally, define P ( I ) = ~ j e l t j for I cJ . We now describe an approximation algorithm for solving the maximum delivery time problem with

release dates and sequence independent setup times. The procedure consists of two phases. In the first phase, two different nonpreemptive schedules are generated, and in the second, one of those schedules is improved through splitting and rescheduling the interference job.

Algorithm H Phase I. (Nonpreemptive scheduling) Step 1. (Extended Jackson's rule) Generate sequence ~" using the rule: Whenever the machine is free and

there is at least one job available for processing, schedule an available job with the largest delivery time. If there exists no interference job 7r(c), then set CIa-'= C(Tr) and stop.

Page 5: Preemptive scheduling with release dates, delivery times and sequence independent setup times

64 S. Zdrzatka / Preemptive scheduling with release dates

Step 2. (Johnson's algorithm) Determine the sets A = {j ~ J : dj < qj, j ~ rr(c)} and B = {j ~ J : Aj > qj, j #: ~-(c)}. Generate sequence /3 in the following way: First arrange the jobs in A in order of nondecreasing A j, next put job rr(c), and then arrange the jobs in B in order of nonincreasing qj.

Phase II. (Splitting) Step 3. (Splitting and rescheduling the inference job to the left) If job ~-(c) does not belong to the critical

sequence (/3(u 1) . . . . ,/3(u2)) of/3, then set C H := min{C(Tr), C(/3)} and stop. Otherwise split job 7r(c) and reschedule it in the following manner. In the earliest starting time schedule S-(/3), determine D1, the sum of idle times on the machine between the times A=(c) and At3(u,): if A~(~) >__ A~(ul ), then D a := 0. If Dt > S=(c), then partition job 7r(c) into sublot j~ with

t h = min{D l, t~(c) }, Aj, = A~(~), qh = q~(c)'

and sublot ~-(c) with

{~(¢) - t j l+%(~) i f th<t~(~), t~(c) := otherwise.

Set A :=A t) {Jl} and generate sequence/3' from /3 by rearranging the jobs from A in order of nondecreasing Aj. If t~(c) = 0, then A(¢) := 0 and %(c) := 0. If D 1 < %(c), then se t /3 ' :=/3.

Step 4. (Splitting and rescheduling the interference job to the right) If 7r(c) does not belong to the critical sequence (/3'(u;) . . . . ,/3'(u'2)) of/3 ' , then set C H := min{C(Tr), C(/3), C(/3')} and stop. Otherwise, in the latest starting time schedule S+(/3'), determine the sum D~ of idle times on the machine between the times C(/3')-qt3,(u~) and C(/3 ' ) -%(~): if C(/3')-qt3,(u~)>_C(/3')-q=(c), then D~ := 0. If D~ > %(c), then partition 7r(c) into sublot J2 with

tj2 = min{D~, t=(¢)}, Aj2 = A~(~), qJ2 = %(c),

and sublot 7r(c) with

{ t~(c) - tj~ + %(c) if tj~ < t~.(c),

t~(~) := 0 otherwise.

Set B := B U {J2} and generate sequence /3" from [3' by rearranging the jobs in B in order of nonincreasing qy. If t~.(¢) = 0, then A=(~) := 0 and %(¢):= 0. If D~ _< %(c), then set /3" :=/3'. Set C H := min{C(Tr), C(/3), C(/3'), C(/3")} and stop.

The extended Jackson rule (Jackson, 1955), also known as Schrage's algorithm, generates schedules in which the critical sequence and interference job have some nice analytical properties (Potts, 1980). Johnson's algorithm is the well-known exact polynomial procedure for the two-machine flow shop problem (Johnson, 1954). In Step 2, an adaptation of that algorithm for the maximum delivery problem is used. A combination of the above two methods has been suggested by Nowicki and Smutnicki (1990) as a heuristic for the (nonpreemptive) standard problem 1 [r i, qilCmax. If after Step 2, the interference job belongs t o the critical sequence, then in Steps 3 and 4, some portion of its processing is moved to before or after the critical sequence in order to reduce the maximum delivery time. Such a transfer requires an additional setup time %(c). Therefore, if s~(c)> D 1 or s~(~)___ D~, then it is not performed as it cannot reduce the objective function.

We now discuss the computational complexity of heuristic H. The extended Jackson rule in Step 1 requires O(n log n) time. The same time is required by Johnson's algorithm in Step 2. The rescheduling procedures of Steps 3 and 4 can be implemented in O(n) time. A combination of the above observations leads to a conclusion that the time requirement for H is O(n log n).

Page 6: Preemptive scheduling with release dates, delivery times and sequence independent setup times

S. Zdrzatka / Preemptive scheduling with release dates 65

4. Worst-case analysis

We now present results of the worst-case analysis. For some problem instance, let CI~ be the value of the objective function C obtained when algorithm H is applied, and C* the minimum value of C. The performance measure we use in our analysis is the ratio of C H to C*. We first show some preliminary results. The basic lower bound on C* which is used in the subsequent analysis is given in Lemma 1; the result is obvious.

Lemma 1. For every I c J,

C * _ minAt + P ( I ) + minq;. (3) j ~ l j E I "

Lemma 2. Let ~r be the sequence generated by the extended Jackson rule in Step 1 of algorithm H. I f there exists no interference job ~r(c) in ~r, then C(~-)= C*; otherwise,

C ( ~ ) - C* <_ t~(c). (4)

Proof. By Lemma 1 and (1), the result of Potts (1980) derived for the (nonpreemptive) standard maximum delivery time problem with release dates, 1 [ r~, qilCm~x, extends to the problem considered. []

Lemma 3. Let A and B be the sets defined in Step 2 of algorithm H. Then 1 , (i) if j c A , then aj <_ ~C ,

(ii) if j ~ B, then qj < ½C* (iii) if t t > ½C*, then A t < ½C* and qt <- ½C*.

Proof. (i) Suppose that At> ½C*. Since j E A , we have A t < q t which leads to the contradiction C* >_ aj + qt -> 2 A t > C*. Cases (ii) and (iii) can be shown analogously. []

We now derive another lower bound on C* which will be used in the subsequent analysis. To this end, let us partition the set of feasible schedules into the subsets K~ and K 2 defined as follows: K 1 = The set of schedules in which job ~r(c) is not preempted. K 2 = The set of schedules in which ~r(c) is preempted. Denote the minimum values of the objective function on K 1 and K 2 by C~ and C~, respectively. Consider now sequence /3 generated in Step 2 of algorithm H. Let D 2 be the sum of idle times in the schedule S+(/3) between the times C(fl) - qo(,2) and C(/3) - q~(c)- If C(/3) - qt3(u2) >- C(fl) - q~c), then D z = 0. D 2 is defined the same as D~ in the description of H, however, with respect to/3.

For the earliest starting time schedule S-(/3), define

~A~(u, ) if D l = 0,

if D 1 > 0 and the machine is not idle immediately before the time A~(c); /3(wl) is the job starting before the time A(¢), and such that there is no idle time in the interval

A = A~(wl ) [A~(w~), A (~)] and either /3(w~) is the first job in /3 or the machine is idle immediately prior to processing job/3(Wl)

A(~) if D~ > 0 and the machine is idle immediately before the time A~(~).

For the latest starting time schedule 8+(/3), define

q~(u2) if D 2 = 0 ,

if D 2 > 0 and the machine is not idle immediately after the time C(/3) - q~(~);/3(w 2) is the job finishing after the time C(/3) - q~-(c), and such that there is no idle time in

q = q~(w~) the interval [C(/3)- q~(~), C( /3 ) - q~(w2)] and either /3(w 2) is the last job or the machine is idle immediately after processing/3(w2),

q~(~) if D 2 > 0 and the machine is idle immediately after the time C (/3) - q=(~).

Page 7: Preemptive scheduling with release dates, delivery times and sequence independent setup times

66 S. Zdrzatka / Preemptive scheduling with release dates

Define also the following set of jobs:

M 1 = ([3(i): S~ i , ~ [A, Afl(Ul,) }

and

M2= ([3(i): ( S~+(i) -[- t~(i) ) ~ (C([3)-qt3(u2), C ( [ 3 ) - q ] ) .

Lemma 4. Let U be the critical sequence of [3 defined in Step 2 of algorithm H, and let ~r(c) ~ U. Then we have

(i) if [3(u 1) = 7r(c), then C~ > qt~(u2) + P(U), if [3(u 2) = ~'(c), then C~ __> AS(u1) + P(U), if [3(u 1) 4: ~'(c) and [3(u 2) ¢ ~'(c), then C~ >_ min{A=(u]), qt3(,2)} + P(U).

(ii) C~ > 2min{A, q} + P(U) + S=(c) + P(MI) + P(M2).

Proof. (i) For every schedule in K], a job from the set U\{rr(c)} is processed as the first or the last one amongst the jobs of U. Therefore

C ~ ' > m i n ( min A., min q . ~ + P ( U ) . I,j~Uk{,n-(c)} "ljEU',x{,rr(c)} JJ

If [3(u 1) = ~-(c), then C~ > q~(u2) + P(U) since (U\{Tr(c)})cB which implies that the jobs of U\{Tr(c)} are ordered in nonincreasing order of qj, and Aj > qj for j ~ U\{rr(c)}. Similarly, if [3(u 2) = rr(c), then (U\{~-(c)}) c A which, together with the structure of [3 and the properties of A, implies the desired inequality. If [3(u1) 4= ~-(c) and [3(u 2) :~ ~r(c), then fl(u 1) ~ A and B(u 2) ~B, and the inequality for this case follows immediately from the construction of [3 and the properties of A and B.

(ii) It follows from the definition of A, q, M1, ME, and the structure of sequence [3 that

min{A, q} < min{Aj: j ~ M ] kJm2t.3 U}, min{A, q} < min{qj: j E M 1UM2U U}.

For every schedule in K2, job ~-(c) consists of at least two sublots processed separately; each sublot requires setup time S~r(c ). This observation, Lemma 1 and the above inequalities imply inequality (ii). []

M 1 and M2, the maximum delivery time for the processing order [3 can be

(5)

Using A, q, D1, D2, written as follows:

C([3) = At3(ul) + P(U) + qt3(u~)= A + D 1 + P( M1) + P(U) + P ( M 2 ) + Dz + q,

where

At3(ul) =A + D 1 + P( M]) and qt3(u2) = P( Mz) + D 2 + q .

Clearly, C H < C([3). We now derive an upper bound on C H which is based on properties of the permutation [3" generated

in Step 4 of H. To this end, let us denote by rr'(c) (~'"(c)) the sublot of job ~'(c) (~"(c)) which after splitting in Step 3 (Step 4) of algorithm H remains under the name 'Tr(c)' in the position of rr(c) (Tr'(c)).

Lemma 5. Let U and U" be the critical sequences of fl and fl", respectively. (i) I f t~,,(c) > 0 and 7r"(c) ~ U", then

CH<_C([3" ) =A + P(M1) + min{D1, s,~(c)} + P ( U ) + min{D 2, s~.(c)} + P ( M 2 ) +q . (6)

(ii) if t~.(c) = 0 and ~'"(c) ~ U", then

C H < C([3") < at3(Ul) + P( U \ { 7r(c)} ) + qt3(,2)" (7)

Page 8: Preemptive scheduling with release dates, delivery times and sequence independent setup times

S. Zdrzatka / Preemptive scheduling with release dates 67

Proof. (i) Consider the following cases: D~ < s~( o and D~ _< s~(o: In accordance with the description of H, the interference job ~'(c) has been

split neither in Step 3 nor in Step 4. Therefore /3"=/3 , and (6) follows from (5). D~ > s~( o and D~ < s~(o: Due to the description of the algorithm, in Step 3, the interference job ~'(c)

has been split into sublots Jl and ~-'(c), and then a sequence/3' has been generated from /3 by inserting sublot Jl in set A and rearranging the jobs in A in order of nondecreasing A i. In Step 4, job 7r'(c) has not been split, since D~ <s~(~). Therefore /3"=/3' , ~-"(c)= ~"(c), and by the assumption, t~,(~)> 0. Hence, in view of the definition of t h, tj, = D v By the assumptions that 7r"(c) ~ U" (that is ~-'(c) ~ U'), sequences /3 and /3' have the form

and

/3 = ( /3 (1 ) , . . . , / 3 (u , ) . . . . , /3(v) . . . . . /3(u2) . . . . . /3(n))

/3t= ( / 3 ' ( 1 ) . . . . . /3 ' (W) . . . . , /3 t (U 1 "~ 1) . . . . . /3'(V + 1) , . . . , /3 ' (U 2 + 1) . . . . . /3'(n + 1)),

respectively, where

/3(U) =TI ' (C) , /3t(U-}- 1) =ffl ' t(c), /3'(W) = j l o

/ Y ( v + i + l ) = / 3 ( v + i ) for O < i < n - v ,

{3 ' (u , + 1) . . . . . /3'(v)} = {/3(u,) . . . . . /3(v - 1)} and A/3,(Ul+l)=A/3(Ul) ,

Note that /3(u 1) ~ ~'(c); otherwise D 1 --- 0, which contradicts the inequality D 1 > s~(c) > 0. It follows from the definition of A and the equality t h = D 1 that in the schedule S-(/3'), the machine

is not idle in the time interval [A, At3(u,)], and either it is idle immediately before the time zi, or A = 0. Moreover, in S-(f l ' ) , job fl(u 1) the earliest starting time of a job from the set {/3(u 1) . . . . /3(v - 1)} is A/~(ul)"

The last assertion and the fact that (/3(u 1) . . . . ,/3(uz)) is the critical sequence in /3 imply that in schedule S-(/3'), the machine is not idle in the time interval between A~(,,) and the starting time of ~-'(c).

Gathering the above observations together and using the assumption that .n"(c) ~ U', we come to the conclusion that the first job of the critical sequence of 3' , 3'(u'z), must start at the time A, that is, A~,(~i) = A.

Since (/3(ul) . . . . . /3(v) . . . . . /3(uz)) is the critical sequence in /3, we have

h u2 A~(~,) + ~, t~(i) + q~(h) ~ A~(u,) 4- E tt3(i) + q~(u2) for v < h < n.

i--u I i=u l

Adding - ti, + S~(c) to the left-hand and right-hand sides of these inequalities and using the fact that try(c+ 1) = t/3(v)- tj I + S~r(c), we obtain

h u:+l

A/y(uI+I)+ E tly(i)+q3'(h)<--zlW(ul+l)+ E tly(i)wq~,(u2+l) for v + l < h < n + l, i=u I i=Ul+l

which implies that there exists the critical sequence in/3 ' with ' - u 2 - u 2 + 1, that is , /3 '(u[) =/3(u2). This relationship, together with the previous observations and (5), leads to the conclusion that

u~ u2+l C(/3") =At3,(u~)+ ~] t~,(i)+qt~,(u~)=A~(uO+ ~_, tl3,(i)+qt3(u2 )

i=u~ i=ul+l

= A + P ( M I ) + t h + P ( U \ { T r ( c ) } ) + t~,(c ) + q~(u2)

= A + P(M1) +s~(c )+P(U ) + q/3(u2 ). (8)

Page 9: Preemptive scheduling with release dates, delivery times and sequence independent setup times

68 S. Zdrzatka / Preemptive scheduling with release dates

In view of the definitions of D~, D z and the form of the permutations /3 and /3', the equality /3'(u~) =/3(u 2) also implies D~ = D 2. This, together with (5) and the assumption of this case, D 1 > s~r(c )

P < and D 2 _ s~r(c), implies that (8) is equal to the right-hand side of (6).

We omit a discussion of the remaining cases, [D 1 <S~r(c ) and D~ >s,~(o] and [D 1 >s~.(o and D~ > s=(o] , as it is based on essentially the same arguments as those presented in the proof of the case [D 1 > s~r(c ) and D~ _< s=(o]. For the same reason we omit the proof of Lemma 5(ii). []

We are now prepared to show the main result.

T h e o r e m 2. For every instance o f the preemptive, maximum delivery time problem with release dates and sequence independent setup times, CH/C* < 3, and this bound is the best possible.

Proof. Consider separately the different cases where heuristic H terminates. Case 1. (Stop in Step 1) By Lemma 2, if H terminates in Step 1, then C H = C*. Case 2. (Stop in Step 3) We have

(9)

where U = ( f l ( U l ) . . . . . / 3 ( u 2 ) ) is the critical sequence of /3. Since the interference job 7r(c) does not belong to U, two cases are possible: either/3(u 2) ~ A or fl(u 1) ~B . Consider the case when fl(u 2) ~A. By the construction of/3, At3(, 0 _< At3(,2) which, together with the inequality C* >__ At3(u2) + q~(uz) and (9), implies

c ( /3 ) - c * <_ P ( U ) . (10)

Using analogous arguments for the case fl(u 1) ~ B, we get again (10). As ~'(c) does not belong to U, we have t~(c) < 1C* or P(U) < ½C*. If t~(c) > 1C* and P(U) > ] * C*

- - ~C , then >_ t=(c) + P(U) > C*, a 3 contradiction. Thus, if heuristic H terminates in Step 3, then by (4) and (10), CH/C* <_ ~.

Case 3. (Heuristic H terminates under the first stop condition of Step 4) We have

c ( /3') = + P( V ' ) + (11)

where U' = (/3'(u~) . . . . . /3'(u'z)) is the critical sequence of/3 ' . Denote by ~ ' (c ) the sublot of original job ~'(c) which after splitting in Step 3 remains (under the name '~'(c)') in the position of the original job, and define A' = A U {Jl}. In Case 3, ~-'(c) ~ U', that is either/3'(u'2) ~ A ' or/3'(u~) ~ B.

Case 3.1. /3'(u' 2) ~ A ' . It follows from the description of H that Atr(u~) < Atr(u~). This inequality, the inequality C* > Atr(~)+ qt~'(ul) and (11) imply

C(/3') - C * < P ( U ' ) . (12)

Consider now the following two subcases. If /3'(u 2) precedes /3(u 1) in sequence /3', then by the construction of /3', P(U')<At~(ul) and

/3(u 1) ~A; /3 (u 1) ¢ ~-(c) since otherwise D~ = 0 and heuristic H would not terminate under the first stop condition of Step 4. In view of [.emma 3, At3(u,)< ½C* which, together with the previous inequality and (12), yields C H - C* < ½C*.

If fl '(u' z) =/3(ul) or fl '(u' 2) follows/3(u 1) in sequence/3' , then by the construction of/3 ' , there exist a critical sequence U' of /3 ' such that/3 '(u~) =/3(ul). In this case, U' does not contain any sublot of ~-(c) and therefore we have t~( o < ½C* or P(U') < 1 .

- _ ~C , by the same reasoning as that at the end of Case 2. In view of (4) and (12), C H - C* < ½C*.

Case 3.2. /3'(u~)~ B. It follows from the description of H that qt3'(,i) > qt3'(u~). This inequality, the inequality C * > Ate,(, D + q~,(,~) and (11) imply C( /3 ' ) - C * < P(U'). As U' does not contain any sublot

1 . of ~-(c), the same reasoning as in Case 3.1 yields C n - C* < ~C .

Page 10: Preemptive scheduling with release dates, delivery times and sequence independent setup times

S. Zdrzatka / Preemptive scheduling with release dates 69

Case 4. (Heuristic H terminates under the second stop condition of Step 4) Let U" = (/3"(u~') . . . . . /3"(u~)) be the critical sequence of/3". Denote by rr"(c) the sublot of job rr'(c) which after splitting in Step 4 remains (under the name '~-(c)') in the position of 7r'(c), and define B ' = B W {J2}.

Now, the following three cases are possible: either/3"(u~) ~ A ' or/3"(u~') ~ B ' or ~r"(c)~ U". In the first case, the reasoning which leads to the desired result is the same as in Case 3.1, and in the second one, it is analogous ('symmetric') to that of Case 3.1. Therefore we omit discussion of the first two cases

and come to the third one. 1 , . < 1 ,

Henceforth we assume that ~r"(c)~ U" and t~(o> ~C , if t~(~)_ ~C , then by (4), C H / C * < 3 C(¢r)/C* <_ 5.

By the inequality C H < C(/3), (9), I_~mma 4(i), Lemma 3 and the fact that ~r(c)~ U (because ~r"(c) ~ U"), we obtain

I At3(u 0 < ½C*, 1 ,

C H-C~'<_ qo(.2) <~C ,

max{ao,.o, qo,u2)} <_ ½C*,

if /3(Ul) = "/7"(C),

if /3(U2) = rr(C),

if /3(U 0 4: 7r(c) and /3(u2) 4: ~-(c).

Thus

1 , ( 1 3 ) CH--CI*--<~C -

If t=.(~) > 0, then using Lemma 5(i), Lemma 4(ii) and the fact that ~'"(c) c U", we obtain

CH -- Cff < max{A + q + min{D 1, s=(~)} + min{D2, s,~(¢)} - s,~(¢)- 2q,

A + q + min{D 1, s=(~)} + min{D2, s~(¢)} - S~(c)- 2A}

_< max{A + min{D 1, s,~(~)} + min{D2, s¢(o } - s~(o,

q + min{D1, s=(~)} + min{O 2, S=(c)} - S~(c)}

< max{A + 0 1 , q +D2} < max{At3(,~), qo(,:)}. (14)

Consider now the case where t~,,(c) = 0. It can be shown, using the assumption that 7r"(c) ~ U" and 1 * t~(~) > ~C , and the properties of the sets A and B, that if t~,,(o 0, then/3(ux) ~ A and/3(u 2) ~ B; the

sets A and B are defined in Step 2. Applying Lemma 1 to the set I = U\{'rr(c)} and using the properties of the sets A and B, we obtain the following lower bound on C* :

C* > 2 min{At3(,1), qt3(u2)} + e ( u \ { r r ( c ) } ) .

Combining this inequality and the result of 1.emma 5(ii), we get for the case t¢,,(c ) = 0,

C . - CJ' < CH - C * _< max{A~(u,), qt3(~:)}" (15)

1 , If /3(u 1) = ~-(c), then by the inequality t~(c) > ½C* and Lemma 3(iii), we obtain At3(,,) < 5C . The

1 , equality /3(u l) = 7r(c) also implies /3(u z) ~ B which, in view of Lemma 3(ii), gives qt3(,2) < 5C . Analogous reasoning yields the the inequalities At3(,1)< 1C* and qt3(,2)< ½C* for the case where 3(u2)=~'(c). If /3(u1) 4:~'(c) and /3(u 2) 4:~-(c), then /3(ux)~A and /3(Uz)~B, and the inequalities At3(ul) < ~C1 *, qt3(u2) -< ~C1 . follow from Lemma 3, part (i) and (ii). Therefore, max{At3(ulv qt3(u2)} -- < ½C* which, together with (14) and (15), yields C H - C~" < ½C*. Combining this inequality and (13), we get the

1 , inequality C u - C* < 5C for Case 4. 3 We have established the inequality CH/C* < ~ in all cases. It remains to show that this bound is the

best possible. To this end, consider the instance of the maximum delivery time problem with data given

Page 11: Preemptive scheduling with release dates, delivery times and sequence independent setup times

70 S. Zdrzalka / Preemptive scheduling with release dates

Table 1 The example used in the proof of Theorem 2

y tj sj zaj qj

1 Q Q - 2 0 1 2 Q 2 1 Q 3 1 0 Q + 2 Q + I

in Table 1. It is assumed in Table 1 that Q > 2. In Step 1, algorithm H yields the sequence 7r = (1, 2, 3). It is easy to verify that (1, 2, 3) is the critical sequence of rr and job 2 is the interference job, 7r(c) = 2. Since the interference job exists, Step 2 is performed. In Step 2, we have A = {1} and B = {3}, and in consequence, /3 = (1, 2, 3). We now proceed to Step 3. As job rr(c) = 2 belongs to the critical sequence U = {1, 2, 3) of/3, the procedure of splitting and rescheduling begins. However D 1 --- 0, and therefore job ~'(c) = 2 cannot be split and rescheduled to the left. We set /3' .'= (1, 2, 3) and go to Step 4. Since job ~-(c) = 2 belongs to the critical sequence U ' = (1, 2, 3) of /3 ' , according to the description of H, it is now split and rescheduled to the right if D 2 > s~(c). However, D z = 1 and s~.(c) = 2 which implies/3" = (1, 2, 3). Thus C H = 3Q + 2. The nonpreemptive schedule (2, 3, 1) is an optimal schedule with C* = 2Q + 4, which can easily be deduced from the inequality C* > d 3 + t 3 + q3 = 2Q + 4. Finally, we obtain CH/C*

3 = (3Q + 2 ) / ( 2Q + 4) which can be arbitrarily close to ~ as Q tends to infinity. This completes the proof of Theorem 2. []

5. Concluding remarks

In this paper, we consider the problem of preemptive scheduling on a single machine with sequence independent setup times and release dates to minimize the maximum delivery time. We show that the problem is NP-hard and propose a heuristic which first finds a nonpreemptive schedule, using two well-known algorithms: the extended Jackson rule and Johnson's algorithm. It then splits a selected job and reschedules it before or after the critical sequence. The heuristic requires O(n log n) time and has the worst-case performance ratio of 3 3"

A natural question is the development of heuristics with better worst-case performance ratios. Here, the heuristic of Hall and Shmoys (1989) for the standard problem with the worst-case performance ratio

4 of ~ constitutes a challenging result. The next question is the design and analysis of heuristics for the nonpreemptive case of the maximum delivery time problem with release dates and batch setup times.

Acknowledgement

We wish to thank the referees for their helpful comments and suggestions.

References

Adams, J., Balas, E., and Zawack, D. (1988), "The shifting bottleneck procedure for job-shop scheduling", Management Science 34, 391-401.

Carlier, J. (1982), "The one-machine sequencing problem", European Journal of Operational Research 11, 42-47. Chen, B. (1991), "A better heuristic for preemptive parallel machine scheduling with batch set-up times", Report 9131/A, Erasmus

University, Rotterdam. Graham, R.L., Lawler, E.L., Lenstra J.K., and Rinnooy Kan, A.H.G. (1979), "Optimization and approximation in deterministic

sequencing and scheduling: A survey", Annals of Discrete Mathematics 5, 287-326. Grabowski, J., Nowicki, E., and Zdrzatka, S. (1986), "A block approach for single-machine scheduling with release dates and due

dates", European Journal of Operational Research 26, 278-285.

Page 12: Preemptive scheduling with release dates, delivery times and sequence independent setup times

S. Zdrzalka / Preemptive scheduling with release dates 71

Hall, L.A., and Shmoys, D.B. (1992), "Jackson's rule for one-machine scheduling: Making a good heuristic better", Mathematics of Operations Research 17, 22-35.

Jackson, J.R. (1955), "Scheduling a production line to minimize maximum tardiness", Research Report 43, Management Science Research Project, UCLA.

Johnson, S.M. (1954), "Optimal two- and three-stage production schedules with setup times included", Naval Research Logistics Quarterly 1, 61-68.

Lenstra, J.K., Rinnooy Kan, A.H.G., and Brucker, P. (1977) "Complexity of machine scheduling problems" Annals of Discrete Mathematics 1,343-363.

Monma, C.L., and Potts, C.N. (1989), "On the complexity of scheduling with batch set-up times", Operations Research 37, 798-804. Monma, C.L., and Potts, C.N. (1991) "Analysis of heuristics for preemptive parallel machine scheduling with batch set-up times",

to appear in Operations Research. Nowicki, E., and Smutnicki, C. (1990), Private communication. Potts, C.N. (1980), "Analysis of heuristic for one machine sequencing with release dates and delivery times", Operations Research

28, 1436-1441. Potts, C.N., and Van Wassenhove, L.N. (1992) "Integrating scheduling with batching and lot-sizing: A review of algorithms and

complexity", Journal of the Operational Research Society 43, 395-406. Uzsoy, R., Lee, C.Y., and Martin-Vega, L.A. (1992) "Scheduling semiconductor test operations: Minimizing maximum lateness and

number of tardy jobs on a single machine", Naval Research Logistics 39, 369-388. Zdrza|ka, S. (1991a), "Approximation algorithms for single-machine sequencing with delivery times and unit batch set-up times",

European Journal of Operational Research 51, 199-209. ZdrzMka, S. (1991b), "Analysis of an approximation algorithm for single-machine scheduling with delivery time and sequence

independent batch setup times", Institute of Engineering Cybernetics, Technical University of Wrodaw.