Group technology approach to the open shop scheduling problem with batch setup times

Group technology approach to the open shop scheduling problem with batch setup times

Operations Research Letters 26 (2000) 181–192 www.elsevier.com/locate/dsw Group technology approach to the open shop scheduling problem with batch s...

176KB Sizes 0 Downloads 75 Views

Operations Research Letters 26 (2000) 181–192

www.elsevier.com/locate/dsw

Group technology approach to the open shop scheduling problem with batch setup times V.A. Strusevich ∗ School of Computing and Mathematical Sciences, University of Greenwich, 30 Park Row, London SE10 9LS, UK Received 1 November 1998; received in revised form 1 December 1999

Abstract This paper studies the problem of scheduling jobs in a two-machine open shop to minimize the makespan. Jobs are grouped into batches and are processed without preemption. A batch setup time on each machine is required before the rst job is processed, and when a machine switches from processing a job in some batch to a job of another batch. For this NP-hard problem, we propose a linear-time heuristic algorithm that creates a group technology schedule, in which no batch is split into sub-batches. We demonstrate that our heuristic is a 54 -approximation algorithm. Moreover, we show c 2000 Elsevier Science that no group technology algorithm can guarantee a worst-case performance ratio less than 54 . B.V. All rights reserved. Keywords: Open shop; Batching; Group technology; Approximation

1. Introduction In this paper, we consider the two-machine open shop scheduling problem with batch setup times. This problem is a modi cation of the conventional version of the two-machine open shop problem without batching and setups, which is one of the classical multi-stage models in scheduling theory. In the classical case, we are given a set N = {1; 2; : : : ; n} of jobs to be processed on two machines, A and B, without preemption. The processing times of each job on each machine are known. Neither of the machines can process more than one job at a time. For every job, the processing route, i.e., the order in which the job passes the machines, is not given in advance and has to be chosen, di erent jobs being allowed to follow ∗

Corresponding author. Fax: +44-181-3318665. E-mail address: [email protected] (V.A. Strusevich)

c 2000 Elsevier Science B.V. All rights reserved. 0167-6377/00/$ - see front matter PII: S 0 1 6 7 - 6 3 7 7 ( 0 0 ) 0 0 0 2 1 - 3

182

V.A. Strusevich / Operations Research Letters 26 (2000) 181–192

di erent routes. Thus, a job can be assigned rst to machine A and then to machine B, while for another job the opposite route can be selected. The objective is to nd a schedule that minimizes the makespan Cmax , which is the completion time of all jobs on both machines. Following a standard classi cation scheme [5], this problem is denoted by O2 k Cmax . A more general situation to be found in certain manufacturing environments involves a setup performed on a machine before it can start the processing of a job. In other words, performing a job on a machine consists of two phases: the setup phase, which is followed by the processing phase. In this paper, we assume that the setup times are sequence-independent, i.e., they depend only on the machine and on the job that follows the setup. For the two-machine open shop, we assume that the setup for any job on a machine can be performed simultaneously with any activity on the other machine, including the setup for the same job. However, as in the classical case, the processing of a job on both machines at the same time is forbidden. We denote the resulting problem by O2|setup|Cmax , provided that the makespan is chosen as the objective. The open shop model with batch setup times, which is the main object of study in this paper, is similar to problem O2|setup|Cmax . Here, however, the jobs are known to be partitioned into groups, called batches. No setup is incurred between jobs of the same batch. On the other hand, a setup on each machine is required before the rst job assigned to the machine is processed, and when a machine switches from processing a job in some batch to a job of another batch. This problem is denoted by O2|batch setup|Cmax . Generally speaking, in the problems with batch setup times the given batches of jobs can be split into smaller groups, called sub-batches. The rst job of each sub-batch needs a setup. In this paper, we consider a restricted class of scheduling algorithms for problem O2|batch setup|Cmax . Often implemented in practice and known as group technology methods, the algorithms of this class schedule each batch as a whole block of jobs without splitting it into sub-batches. For various scheduling problems with batch setup times, group technology algorithms cannot deliver a global optimal solution, but they appear to be able to create schedules reasonably close to optimal ones. Closely related to the model discussed in this paper are scheduling problems based on a di erent machine environment, known as ow shop. In the two-machine case, the di erence between the open shop and the ow shop is that, for the ow shop, each job is rst processed on machine A and then on machine B, while for the open shop determining the job processing routes is part of the scheduling decision-making. Similarly to its open shop counterpart, the two-machine ow shop problems to minimize the makespan with no setups, with job setup times and with batch setup times are denoted by F2 k Cmax , F2|setup|Cmax , and F2|batch setup|Cmax , respectively. We recall main complexity results on relevant scheduling problems. Problems O2||Cmax and O2|setup|Cmax are solvable in O(n) time due to Gonzalez and Sahni [2] and Strusevich [6], respectively. Both problems F2||Cmax and F2|setup|Cmax are solvable in O(n log n) time due to Johnson [3] and Yoshida and Hitomi [7], respectively. On the other hand, both problems F2|batch setup|Cmax and O2|batch setup|Cmax are NP-hard as proved by Kleinau [4]. The latter facts motivate design and analysis of approximation algorithms for the problems with batch setup times. For a scheduling problem to minimize the makespan, a heuristic algorithm is called a -approximation algorithm, if for any instance of the problem it creates a schedule with the makespan that is at most  times the optimum value. If  is as small as possible, then  is the worst-case performance ratio of the heuristic. Two O(n log n) time heuristic algorithms for problem F2|batch setup|Cmax are given by Chen et al. [1]. One of these algorithms is a 32 -approximation group technology algorithm. Moreover, it is shown that no group technology algorithm can guarantee a worst-case performance ratio smaller than 32 . Further, by allowing each batch to be split into at most two sub-batches, a second heuristic is developed for which a reduced worst-case performance ratio of 43 is obtained. The purpose of this paper is to analyze the group technology approach to solving problem O2|batch setup|Cmax . We demonstrate that no group technology algorithm can guarantee a worst-case performance ratio smaller than 5 5 4 , and present a 4 -approximation group technology algorithm, the best possible in this class.

V.A. Strusevich / Operations Research Letters 26 (2000) 181–192

183

This paper is organized as follows. Section 2 provides preliminary results and discusses schedules found by reducing problem O2|batch setup|Cmax to the problem with job setup times. In Section 3 we consider special

ow shop schedules for processing jobs of a speci c batch. Our main heuristic and its analysis are presented in Section 4. The aspects of tightness of the obtained ratio bounds are outlined in Section 5. 2. Preliminaries We start with a formal description of problem O2|batch setup|Cmax , introduce some notation and analyze a schedule found by reducing the original problem to problem O2|setup|Cmax . In problem O2|batch setup|Cmax , we are given the set N = {1; 2; : : : ; n} of jobs. Each job j ∈ N must be processed on machines A and B; the processing times are aj and bj , respectively. Set N is partitioned into  batches N 1 ; : : : ; N  . Batch setup times of batch N  for 166 on machines A and B are equal to sA and sB time units, respectively. For an arbitrary schedule S, the makespan, or the length, of the schedule is denoted by Cmax (S). An optimal schedule with the smallest possible makespan is denoted by S ∗ . Given a scheduling problem, in order to specify a schedule for all of some of the jobs we have to provide information on the starting and/or completion times of every job on each machine. Since the open shop with batch setup times is a suciently complicated model, to avoid confusion we need a tool for formal description of schedules. In what follows, a schedule S is speci ed by a pair of strings of the form (L; H1 ; H2 ; : : : ; HhL ), where hL ¿1. Here L ∈ {A; B} is the name of a machine, and an item Hj of the string is of the form [Rj (L); j (Nj )], which indicates that machine L, beginning at time Rj (L), processes the jobs of set Nj according to the permutation j (Nj ) and does not become idle until it has performed all these jobs. The setup times are incurred whenever the machine switches from a job in one batch to a job in another batch. If the rst job in the sequence j (Nj ) is the rst job in its batch, then Rj (L) corresponds to the starting time of the batch setup; otherwise Rj (L) corresponds to the starting time of the processing of the rst job in j (Nj ). There is no idle time between the completion of a batch setup and the processing of the rst job in the batch. A similar representation of schedules in terms of a pair of strings is used in [6]. For a non-empty subset Q ⊆, denote X X aj ; b(Q) = bj a(Q) = j∈Q

j∈Q

and de ne a(∅) = b(∅) = 0. De ne the total workload of each machine TA =

 X =1

(sA + a(N  ));

TB =

 X

(sB + b(N  )):

=1

For any schedule S for problem O2|batch setup|Cmax , the makespan cannot be smaller than the workload of a machine. Besides, the amount of time needed to complete a job j from a batch N  is either at least sA + aj + bj , if the job is given the processing route (A; B), or at least sB + aj + bj , if the job is given the opposite route (B; A). Thus, a lower bound on the makespan can be written as Cmax (S)¿max{TA ; TB ; max{min{sA ; sB } + aj + bj | j ∈ N  ; 166}}:

(1)

Recall that our goal is to design a group technology algorithm for problem O2|batch setup|Cmax that provides a worst-case performance ratio of 54 . As part of our algorithm, we introduce a schedule found by reducing the problem with batch setup times to the problem with job setup times.

184

V.A. Strusevich / Operations Research Letters 26 (2000) 181–192

Given an instance of problem O2|batch setup|Cmax with  batches, transform it into an instance of problem O2|batch setup|Cmax with  composite jobs J1 ; J2 ; : : : ; J . This is done by replacing each batch N  , 166, by an arti cial job J assuming that the processing times of J on machines A and B are given by  = a(N  );

ÿ = b(N  );

respectively, and the job setup times are given by s; A = sA ;

s; B = sB :

Using the algorithm given in [6] applied to the jobs J1 ; J2 ; : : : ; J , we may nd a schedule S for problem O2|setup|Cmax such that (  )  X X  = max (s; A +  ); (s; B + ÿ ); max{min{s; A ; s; B } +  + ÿ | 166} : Cmax (S) =1

=1

By the inverse substitution of each composite job J by an arbitrary sequence of the jobs of batch N  , schedule S can be transformed into a schedule S0 for the original problem O2|batch setup|Cmax such that Cmax (S0 ) = max{TA ; TB ; max{min{sA ; sB } + a(N  ) + b(N  ) | 166}}: Obviously, S0 is a group technology schedule, i.e., each batch is processed as a block. Moreover, since in schedule S no job is processed by both machines at a time, we derive that there is no batch overlapping in schedule S0 . Notice that nding schedule S0 requires O(n) time. We need to consider the case that Cmax (S0 ) ¿ max{TA ; TB }; since otherwise schedule S0 is optimal due to (1). Without loss of generality, assume that the batches and the machines are numbered and named in such a way that Cmax (S0 ) = sA1 + a(N 1 ) + b(N 1 ):

(2)

1

We will refer to batch N as the long batch. Again, we only have to consider the case that the long batch contains more than one job; otherwise S0 is optimal. Note that (2) implies that sA1 + a(N 1 ) ¿ TB − (sB1 + b(N 1 ));

b(N 1 ) ¿ TA − (sA1 + a(N 1 ))

(3)

and sA1 6sB1 :

(4)

Due to (2), we observe that in order to reduce the makespan we must allow the processing of the long batch on one machine overlap with its processing on the other machine. Some useful schedules of this type are discussed in the following section. 3. Flow shop schedules for the long batch We now present an approach to nding ow shop schedules for the jobs in the long batch in linear time. The approach is based on the Gonzalez–Sahni algorithm for problem O2||Cmax or its extension for problem O2|setup|Cmax (see [2,6]). For problem O2|batch setup|Cmax , temporarily disregard all batches other than the long batch N 1 . Our current purpose is to nd a schedule in which the jobs of N 1 are processed as in a ow shop, i.e., either they all follow the processing route (A; B) or they all are given the opposite route (B; A).

V.A. Strusevich / Operations Research Letters 26 (2000) 181–192

185

Let (Q) denote an arbitrary permutation of the jobs of a non-empty set Q ⊆ N , while (∅) stands for a dummy permutation. Split batch N 1 into two subsets one of which may be empty: NA1 = {j ∈ N 1 | aj 6bj };

NB1 = N 1 \ NA1 :

Select the jobs l ∈ NA1 such that bl ¿max{aj | j ∈ NA1 }, and r ∈ NB1 such that ar ¿max{bj | j ∈ NB1 }. If either of the sets NA1 or NB1 is empty, then assume either {l} = ∅ or {r} = ∅, respectively. Form two permutations ’(N 1 ) = (l; (NA1 \ {l}); (NB1 \ {r}); r) and (N 1 ) = (r; (NB1 \ {r}); (NA1 \ {l}); l). Following [2] (see also [6]), we may de ne a ow shop schedule S’ for processing the jobs of batch N 1 that is speci ed by the pair of strings (A; [0; ’(N 1 )]); (B; [max{sA1 + al − sB1 ; sA1 + a(N 1 ) − (sB1 + b(N 1 \ {r})); 0}; ’(N 1 )]): In this schedule, each job is completed on machine A before it starts on machine B. If a schedule contains a job that starts on one of the machines exactly when it is completed on the other machine, the job is called critical. Lemma 1. If schedule S’ has a critical job; then either job l is critical and the inequalities sA1 + al ¿sB1 and a(N 1 \ {l})6b(N 1 \ {r})

(5)

hold; or job r is critical and (5) does not hold. We skip the Proof of Lemma 1, since it is straightforward to adapt the proofs of similar statements given in [1,2,6]. Fig. 1 shows possible shapes of schedule S’ . In this and subsequent gures, a double-framed box represents a setup. Similarly, de ne a ow shop schedule S that is speci ed by the pair of strings (A; [max{sB1 + br − sA1 ; sB1 + b(N 1 ) − (sA1 + a(N 1 \ {l})}; (N 1 )]);

(B; [0; (N 1 )]):

In this schedule, all jobs are rst processed on machine B and then on machine A. Observe that due to (4) schedule S always contains a critical job. Moreover, if (5) holds then job l is critical; otherwise job r is critical (see Fig. 2). We use schedules S’ and S and their properties in the subsequent algorithm in its analysis. 4. Main algorithm We now present a linear-time group technology algorithm that nds a schedule SH for problem O2|batch setup|Cmax , such that Cmax (SH )6 54 Cmax (S ∗ ). The algorithm starts with nding schedule S0 in which each batch is treated as an individual arti cial job. If the length of schedule S0 is determined by the time needed to setup and process the long batch, the algorithm nds a number of schedules and accepts the best found schedule as a heuristic solution. In all schedules created by the algorithm, the batches di erent from the long batch are kept as a block. De ne N 0 = N 2 ∪ N 3 ∪ · · · ∪ N  . Let (N 0 ) denote a permutation of jobs obtained by sorting the jobs in each batch N  ; 266, arbitrarily, followed by sorting the batches in an arbitrary order.

186

V.A. Strusevich / Operations Research Letters 26 (2000) 181–192

Fig. 1. Schedule S’ .

Fig. 2. Schedule S .

In some of the schedules created by the algorithm, the jobs of the long batch are sequenced as in schedules S’ or S , described in the previous section. For a job j ∈ N 1 , we write ’(N 1 \ {j}) to denote the permutation obtained from ’(N 1 ) by deleting job j. The notation (N 1 \ {j}) is used analogously. Algorithm H. 1. Find schedule S0 . Identify the long batch. If necessary, renumber the batches so that the long batch is batch N 1 . If necessary, rename the machines so that (4) holds. If either Cmax (S0 ) ¡ sA1 + a(N 1 ) + b(N 1 ) or batch N 1 contains exactly one job, then go to Step 4. Otherwise, go to Step 2.

V.A. Strusevich / Operations Research Letters 26 (2000) 181–192

187

2. If inequality (5) holds, then nd the schedules that are speci ed by the pairs of strings I–V given below. Go to Step 4. I. (A; [0; (l; ’(N 1 \ {l}); (N 0 ))]) (B; [0; (N 0 )]; [max{sA1 + al − sB1 ; TB − (sB1 + b(N 1 ))}; (l; ’(N 1 \ {l}))]); II. (A; [0; l]; [max{sA1 + al ; TB − bl }; ((N 1 \ {l}); (N 0 ))]) (B; [0; ((N 0 ); (N 1 \ {l}))]; [max{sA1 + al ; TB − bl }; l]); III. (A; [0; (N 0 )]; [max{sB1 + b(N 1 ) − (sA1 + a(N 1 \ {l})), TA − (sA1 + a(N 1 ))}; ( (N 1 \ {l}); l)]) (B; [0; ( (N 1 \ {l}); l; (N 0 ))]); IV. (A; [0; ((N 0 ); l)]; [max{TA − a(N 1 \ {l}); sB1 + b(N 1 ) − a(N 1 \ {l})}, (N 1 \ {l}))]) (B; [0; (N 1 \ {l})]; [max{TA − a(N 1 \ {l}); sB1 + b(N 1 \ {l})}; (l; (N 0 ))]); V. (A; [0; (N 0 )]; [max{TA − (sA1 + a(N 1 )); sB1 + bl − sA1 }; l]; [max{TA − a(N 1 \ {l}); sB1 + b(N 1 )}; (N 1 \ {l})]) (B; [0; (l; (N 1 \ {l}); (N 0 ))]): 3. If inequality (5) does not hold, nd the schedules that are speci ed by the pairs of strings VI–XII given below. Go to Step 4. VI. (A; [0; (’(N 1 \ {r}); r; (N 0 ))]) (B; [0; ((N 0 )]; [max{sA1 + a(N 1 ) − (sB1 + b(N 1 \ {r})); TB − (sB1 + b(N 1 ))}; (’(N 1 \ {r}); r)]); VII. (A; [0; r]; [max{sA1 + ar ; TB − br }; ((N 1 \ {r}); (N 0 ))]) (B; [0; ((N 0 ); (N 1 \ {r}))]; [max{sA1 + ar ; TB − br }; r]); VIII. (A; [0; ((N 0 ); r; (N 1 \ {r}))]) (B; [0; r]; [max{sB1 + br ; TA }; ((N 1 \ {r}); (N 0 ))]); IX. (A; [0; ((N 0 ); (N 1 \ {r}))]; [max{sB1 + br ; TA − ar }; r]) (B; [0; r]; [max{sB1 + br ; TA − ar }; ((N 1 \ {r}); (N 0 ))]); X. (A; [0; (N 0 )]; [max{sB1 + br − sA1 ; TA − (sA1 + a(N 1 ))}; (r; (N 1 \ {r}))]) (B; [0; (r; (N 1 \ {r}); (N 0 ))]); XI. (A; [0; ((N 0 ); r)]; [max{TA − a(N 1 \ {r}); sB1 + ar }; (N 1 \ {r}))]) (B; [0; (N 1 \ {r})]; [max{sB1 + b(N 1 \ {r}); TA − a(N 1 \ {r})}; (r; (N 0 ))]); XII. (A; [0; (r; (N 1 \ {r}); (N 0 ))]) (B; [0; (N 0 )]; [max{sA1 + ar − sB1 ; TB − (sB1 + b(N 1 ))}; r]; [max{sA1 + a(N 1 ); TB − b(N 1 \ {r})}; (N 1 \ {r})): 4. Accept that of the found schedules which has the smallest makespan as a heuristic schedule SH . Stop.

188

V.A. Strusevich / Operations Research Letters 26 (2000) 181–192

It is easily verify that Algorithm H requires O(n) time. If the conditions of Step 1 hold, then, as shown in Section 2, schedule S0 is optimal. In the lemmas below, we analyze the worst-case performance of Algorithm H. Recall that the algorithm enters either Step 2 or Step 3 provided that relations (3) and (4) hold. Theorem 1. Let SH be the best schedule found in Step 2 of Algorithm H. Then the following bound Cmax (SH )6 54 Cmax (S ∗ )

(6)

holds. Proof. First, observe that in Step 2 of Algorithm H inequality (5) holds. Due to Lemma 1, this implies that if either schedule S’ or schedule S has a critical job, then this job is job l. Let S1 be the schedule speci ed by the pair of strings I. First of all, observe, that the jobs of set N 0 do not overlap due to (3), while each job of batch N 1 starts on machine B no earlier than in schedule S’ . If either machine A terminates schedule S1 or there is no idle time on machine B, then Cmax (S1 ) = max{TA ; TB } and S1 is optimal. Therefore, assume that machine B terminates this schedule and that there is idle time on B. This implies that the jobs of the long batch N 1 are processed in schedule S1 exactly as in schedule S’ , and job l ∈ NA1 is critical. Thus, the setup of batch N 1 on machine B starts at time sA1 + al − sB1 , so that Cmax (S1 ) = sA1 + al + bl + b(N 1 \ {l}): sA1

sB1

P

 =2 (sB

(7) 

+ b(N )). If Note that the total idle time on B equals x(S1 ) = + al − − then Cmax (S1 ) = TB + x(S1 )6 54 Cmax (S ∗ ). Thus, in what follows, it is assumed that x(S1 ) ¿ 14 Cmax (S ∗ ):

x(S1 )6 14 Cmax (S ∗ ), (8)

Due to (4) and (8), we derive that al ¿ 14 Cmax (S ∗ )

(9)

which in turn implies that bl ¿ 14 Cmax (S ∗ );

(10)

since l ∈ NA1 . Note also that al 6 12 Cmax (S ∗ ), since otherwise we would have bl ¿al ¿ 12 Cmax (S ∗ ), which is impossible due to (1). Therefore, it follows from (4) and (8) that  X (sB + b(N  ))6 14 Cmax (S ∗ ): (11) =2

Let S2 be the schedule speci ed by the pair of strings II. Observe, that the jobs of set N 0 ∪ N 1 \ {l} do not overlap, while job l starts on machine B after it is nished on A. If machine B terminates the schedule then Cmax (S2 ) = max{sA1 + al + bl ; TB } and this schedule is optimal. Thus, assume that machine A terminates schedule S2 and there is idle time on A, since otherwise S2 is optimal. We obtain Cmax (S2 ) = TB − bl + TA − sA1 − al : Thus, if sA1 + al + bl ¿ 34 Cmax (S ∗ ), then Cmax (S2 )6 54 Cmax (S ∗ ). Therefore, in what follows, it is assumed that sA1 + al + bl ¡ 34 Cmax (S ∗ ): Moreover, we only need to consider the case when 1 b(N 1 \ {l}) ¿ Cmax (S ∗ ); 2 since otherwise Cmax (S1 )6 54 Cmax (S ∗ ) due to (7) and (12).

(12) (13)

V.A. Strusevich / Operations Research Letters 26 (2000) 181–192

189

Let S3 be the schedule speci ed by the pair of strings III. Observe that the jobs of set N 0 do not overlap due to (3), while each job of batch N 1 starts on machine A no earlier than in schedule S . Again, we only have to consider the case when machine A terminates this schedule and there is idle time on that machine, otherwise S3 is optimal. By moving job l to the rst position in batch N 1 on machine A, transform this schedule into a new schedule S4 that is speci ed by the pair of strings IV. Observe that in this schedule each job of set N 1 \ {l} starts on machine A no earlier than in schedule S3 , while job l starts on B no earlier than this job is completed on A. This also implies that the jobs of set N 0 do not overlap. If either machine A terminates this schedule or there is no idle time on machine B, then Cmax (S4 ) = max{TA ; TB } and S4 is optimal. Therefore, assume that machine B terminates this schedule and there is idle time on B. For schedule S4 , denote the total idle time on B by x(S4 ). If x(S4 )6 14 Cmax (S ∗ ), then Cmax (S4 ) = TB + x(S4 )6 54 Cmax (S ∗ ). Thus, in what follows, it is assumed that x(S4 ) ¿ 14 Cmax (S ∗ ). Then due to (13) we have  X =2

(sA + a(N  )) + sA1 + al = sB1 + b(N 1 \ {l}) + x(S4 ) ¿ 34 Cmax (S ∗ )

and since Cmax (S ∗ )¿TA =

P

=2

(sA + a(N  )) + sA1 + al + a(N 1 \ {l}), it follows that

a(N 1 \ {l})6 14 Cmax (S ∗ ):

(14) 1

By moving job l to the rst position in batch N on machine B, transform schedule S4 into a new schedule S5 that is speci ed by the pair of strings V. Observe that in this schedule there is no job overlap. If either machine B terminates this schedule or there is no idle time on A, then Cmax (S5 ) = max{TA ; TB } and S5 is optimal. Suppose that machine A terminates this schedule and there is idle time on A, so that Cmax (S5 ) = sB1 + b(N 1 ) + a(N 1 \ {l}): It follows from (14) that Cmax (S5 )6 54 Cmax (S ∗ ). Thus, we have proved that if SH is the best of the schedules de ned by the pairs of strings I–V, then the required bound (6) holds. We now analyze the schedules found in Step 3 of Algorithm H. Theorem 2. Let SH be the best schedule found in Step 3 of Algorithm H. Then the bound (6) holds. Proof. First, observe that in Step 3 of Algorithm H inequality (5) does not hold. Due to Lemma 1, this implies that if either schedule S’ or schedule S has a critical job, this is job r. Let S6 be the schedule speci ed by the pair of strings VI. Due to (3), the jobs of set N 0 do not overlap. Besides, each job of batch N 1 starts on machine B no earlier than in schedule S’ . If either machine A terminates schedule S6 or there is no idle time on machine B, then Cmax (S6 ) = max{TA ; TB } and S6 is optimal. Therefore, assume that machine B terminates this schedule and there is idle time on B. This implies that the setup of batch N 1 starts at time sA1 + a(N 1 ) − (TB − (sB1 + b(N 1 \ {r})), so that  X (sA + a(N  )) + br : (15) Cmax (S6 ) = sA1 + a(N 1 ) + br = TA − =2

Note that if br 6 14 Cmax (S ∗ ) br ¿ 14 Cmax (S ∗ )

then Cmax (S6 )6 54 Cmax (S ∗ ). Thus, in what follows, it is assumed that (16)

which in turn implies that ar ¿ 14 Cmax (S ∗ );

(17)

190

V.A. Strusevich / Operations Research Letters 26 (2000) 181–192

since r ∈ NB1 . Note also that br 6 12 Cmax (S ∗ ), since otherwise we would have ar ¿ br ¿ 12 Cmax (S ∗ ), which is impossible due to (1). Therefore, if Cmax (S6 ) ¿ 54 Cmax (S ∗ ) then it follows from (15) that  X =2

(sA + a(N  ))6 14 Cmax (S ∗ ):

(18)

Let S7 be the schedule speci ed by the pair of strings VII. Observe that the jobs of set N 0 ∪ N 1 \ {r} do not overlap, while job r starts on machine B after it is nished on A. Assume that machine A terminates schedule S7 , and there is idle time on A; since otherwise S7 is optimal. Thus, we obtain Cmax (S7 ) = TB − br + TA − sA1 − ar : Thus, if sA1 + ar + br ¿ 34 Cmax (S ∗ ), then Cmax (S7 )6 54 Cmax (S ∗ ). Therefore, in what follows, it is assumed that sA1 + ar + br ¡ 34 Cmax (S ∗ );

(19)

Moreover, we only need to consider the case when a(N 1 \ {r}) ¿ 12 Cmax (S ∗ );

(20)

Cmax (S6 )6 54 Cmax (S ∗ )

due to (15) and (19). since otherwise We split our consideration into two cases, depending on the size of the batch setup time sB1 . Case 1: Assume that sB1 ¿ 12 Cmax (S ∗ ):

(21)

Note that (16) and (21) imply that  X =2

(sB + b(N  )) + b(N 1 \ {r})6 14 Cmax (S ∗ ):

(22)

Let S8 be the schedule speci ed by the pair of strings VIII. Due to (20) and (21) we have  X =2

(sA + a(N  )) + sA1 + ar 6 21 Cmax (S ∗ ) ¡ sB1 ;

on A. Observe that machine therefore, in schedule S8 job r starts processing on B after it is completed P B always terminates schedule S8 , so that Cmax (S8 ) = max{TB ; TA + =2 (sB + b(N  )) + b(N 1 \ {r})} and Cmax (S8 )6 54 Cmax (S ∗ ) due to (22). Case 2: Suppose now that (21) does not hold. Case 2.1: Assume that the following inequality sB1 + br ¿ 12 Cmax (S ∗ ) holds. Note that this implies  X =2

(sB + b(N  )) + b(N 1 \ {r})6 12 Cmax (S ∗ ):

(23)

Consider a new schedule S9 that is speci ed by the pair of strings IX. Observe that in this schedule the jobs of set N 1 \ {r} and those of set N 0 do not overlap, while job r starts on A no earlier than this job is completed on B. P If machine B terminates schedule S9 then Cmax (S9 ) = max{TB ; TA − ar + =2 (sB + b(N  )) + b(N 1 \ {r})}, 5 so that Cmax (S9 )6 4 Cmax (S ∗ ) due to (17) and (23).

V.A. Strusevich / Operations Research Letters 26 (2000) 181–192

191

Fig. 3. Schedules S10 and S11 .

If machine A terminates schedule S9 then Cmax (S9 ) = max{TA ; sB1 + br + ar }, so that Cmax (S9 )6 54 Cmax (S ∗ ) due to (19) and because (21) does not hold. Case 2.2: We now assume that the inequality sB1 + br 6 12 Cmax (S ∗ )

(24)

holds. Consider schedule S10 that is speci ed by the pair of strings X. We only have to look at the case when machine A terminates schedule S10 and there is idle time x(S10 ) on A (see Fig. 3(a)). Due to (24) we have 1 ∗ 1 2 Cmax (S )¿sB + br ¿x(S10 ). This implies x(S10 )¿ 14 Cmax (S ∗ ) + br :

(25)

Transform schedule S10 into a new schedule S11 in the following way: 1. Temporarily remove job r and the sequence of jobs (N 0 ) on machine B. 2. Start the setup for batch N 1 on machine A immediately after the block of jobs (N 0 ) is completed, and start the processing of job r on that machine immediately after the setup. 3. Reduce the starting times of all jobs of set N 1 \ {r} on machine B by br . 4. Reduce the starting times of all jobs of set N 1 \ {r} on machine A by min{br ; x(S10 )}. 5. Make job r the last job in batch N 1 on machines B and start the processing of job r as early as possible, i.e., either when job r is completed on A or when the last job in the sequence (N 1 \ {r}) is completed on B. 6. Start the sequence (N 0 ) on B as soon as job r is completed on that machine. As a result, we obtain schedule S11 that is speci ed by the pair of strings XI. Observe that the above transformations reduce the idle time on A by at least br compared with that in schedule S10 . Therefore, if machine A terminates schedule S11 , then due to (25) we have Cmax (S11 )6TA + 14 Cmax (S ∗ )6 54 Cmax (S ∗ ). If machine B terminates schedule S11 then we only have to consider the case when there is idle time on B; otherwise S11 isPoptimal (see Fig. 3(b)).  Let x(S11 ) = =2 (sA + a(N  )) + sA1 + ar − (sB1 + b(N 1 \ {r})) denote the idle time on machine B in schedule S11 . If Cmax (S11 ) ¿ 54 Cmax (S ∗ ) then x(S11 ) ¿ 14 Cmax (S ∗ ). It follows from (20) that ∗ 1 2 Cmax (S )¿

 X =2

(sA + a(N  )) + sA1 + ar ¿ sB1 + b(N 1 \ {r}) + 14 Cmax (S ∗ );

192

V.A. Strusevich / Operations Research Letters 26 (2000) 181–192

implying sB1 + b(N 1 \ {r}) ¡ 14 Cmax (S ∗ ):

(26)

Consider a new schedule S12 that is speci ed by the pair of strings XII. We only have to look at the case when machine B terminates schedule S12 and there is idle time on B. We obtain Cmax (S12 ) = sA1 + a(N 1 ) + b(N 1 \ {r}), and by (26) we derive Cmax (S12 )6 54 Cmax (S ∗ ). Thus, we have proved that if schedule SH is the best of all schedules found in Step 4 then the desired bound (6) holds. 5. Tightness It follows from Theorems 1 and 2 that Algorithm H provides a worst-case ratio bound of 54 . In this section we demonstrate that this bound cannot be improved by any group technology algorithm. To see that 54 is a tight bound, consider the following instance of problem O2|batch setup|Cmax . There are two batches each consisting of two identical jobs: N 1 = {1; 2}; N 2 = {3; 4}. All batch setup times are zero, while processing times are as follows: a1 = a2 = 2;

b1 = b2 = 1;

a3 = a4 = 0;

b3 = b4 = 1:

It is easy to see that there exists an optimal schedule with the makespan of 4 in which, e.g., machine A processes the jobs in the sequence (1,2) and machine B in the sequence (3,2,1,4). On the other hand, Algorithm H outputs a schedule with the makespan of 5. Moreover, considering the same example it is easy to verify that there is no schedule in which a batch is not split into sub-batches and which has a makespan smaller than 5. Thus, Algorithm H is a best possible heuristic algorithm for problem O2|batch setup|Cmax , which employs the group technology approach. Notice that for the ow shop counterpart of out model, i.e., problem F2|batch setup|Cmax , a best-possible group technology algorithm gives a ratio of 32 (see [1]). Possible next steps in studying problem O2|batch setup|Cmax may include the development of an algorithm that will allow batch splitting, e.g., at least once. It is still an open question whether the problem admits a fully polynomial approximation scheme, or at least a polynomial approximation scheme. References [1] B. Chen, C.N. Potts, V.A. Strusevich, Approximation algorithms for two-machine ow shop scheduling with batch setup times, Math. Programming B 82 (1998) 255–271. [2] T. Gonzalez, S. Sahni, Open shop scheduling to minimize nish time, J. Assoc. Comput. Mach. 23 (1976) 665–679. [3] S.M. Johnson, Optimal two- and three-stage production schedules with setup times included, Naval Res. Log. Quart. 1 (1954) 61–68. [4] U. Kleinau, Two-machine shop scheduling problems with batch processing, Math. Comput. Modelling 17 (1993) 55–66. [5] E.L. Lawler, J.K. Lenstra, A.H.G. Rinnooy Kan, D.B. Shmoys, Sequencing and scheduling: algorithms and complexity, in: S.C. Graves, A.H.G. Rinnooy Kan, P. Zipkin (Eds.), Handbooks in Operations Research and Management Science, Vol. 4, Logistics of Production and Inventory, North-Holland, Amsterdam, 1993, pp. 445 –522. [6] V.A. Strusevich, Two machine open shop scheduling problem with setup, processing and removal times separated, Comput. Oper. Res. 20 (1993) 597–611. [7] T. Yoshida, K. Hitomi, Optimal two-stage production scheduling with setup times separated, AIIE Trans. 11 (1979) 261–263.