Directory UMM :Data Elmu:jurnal:O:Operations Research Letters:Vol26.Issue4.2000:
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 modication 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, dierent 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
dierent 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 classication 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 dierent machine
environment, known as
ow shop. In the two-machine case, the dierence 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 23 -approximation group technology algorithm. Moreover, it is shown that no group
technology algorithm can guarantee a worst-case performance ratio smaller than 23 . 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 34 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 specic 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 specied 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 dene a(∅) = b(∅) = 0.
Dene 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 articial 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 dene a
ow shop schedule S’ for processing the jobs of batch N 1
that is specied 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, dene a
ow shop schedule S that is specied 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 45 Cmax (S ∗ ). The algorithm starts with nding schedule S0 in which each
batch is treated as an individual articial 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 dierent from the long batch are kept as a block.
Dene 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 specied 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 specied 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 45 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 specied 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}):
(7)
sA1
sB1
P
=2 (sB
+ b(N )). If
Note that the total idle time on B equals x(S1 ) = + al − −
then Cmax (S1 ) = TB + x(S1 )6 45 Cmax (S ∗ ). Thus, in what follows, it is assumed that
x(S1 ) ¿ 14 Cmax (S ∗ ):
x(S1 )6 41 Cmax (S ∗ ),
(8)
Due to (4) and (8), we derive that
al ¿ 41 Cmax (S ∗ )
(9)
which in turn implies that
bl ¿ 41 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
(11)
(sB + b(N ))6 14 Cmax (S ∗ ):
=2
Let S2 be the schedule specied 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 45 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 specied 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 specied 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 41 Cmax (S ∗ ), then Cmax (S4 ) = TB +
x(S4 )6 45 Cmax (S ∗ ). Thus, in what follows, it is assumed that x(S4 ) ¿ 14 Cmax (S ∗ ). Then due to (13) we have
X
(sA + a(N )) + sA1 + al = sB1 + b(N 1 \ {l}) + x(S4 ) ¿ 43 Cmax (S ∗ )
=2
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 specied 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 dened 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 specied 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 45 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 21 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
(sA + a(N ))6 14 Cmax (S ∗ ):
(18)
=2
Let S7 be the schedule specied 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 45 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 ¿ 21 Cmax (S ∗ ):
(21)
Note that (16) and (21) imply that
X
(sB + b(N )) + b(N 1 \ {r})6 14 Cmax (S ∗ ):
(22)
=2
Let S8 be the schedule specied by the pair of strings VIII. Due to (20) and (21) we have
X
(sA + a(N )) + sA1 + ar 6 12 Cmax (S ∗ ) ¡ sB1 ;
=2
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 45 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
(sB + b(N )) + b(N 1 \ {r})6 12 Cmax (S ∗ ):
(23)
=2
Consider a new schedule S9 that is specied 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 45 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 specied 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 )¿ 41 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 specied 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 + 41 Cmax (S ∗ )6 45 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}) + 41 Cmax (S ∗ );
192
V.A. Strusevich / Operations Research Letters 26 (2000) 181–192
implying
sB1 + b(N 1 \ {r}) ¡ 41 Cmax (S ∗ ):
(26)
Consider a new schedule S12 that is specied 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 23 (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.
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 modication 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, dierent 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
dierent 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 classication 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 dierent machine
environment, known as
ow shop. In the two-machine case, the dierence 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 23 -approximation group technology algorithm. Moreover, it is shown that no group
technology algorithm can guarantee a worst-case performance ratio smaller than 23 . 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 34 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 specic 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 specied 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 dene a(∅) = b(∅) = 0.
Dene 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 articial 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 dene a
ow shop schedule S’ for processing the jobs of batch N 1
that is specied 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, dene a
ow shop schedule S that is specied 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 45 Cmax (S ∗ ). The algorithm starts with nding schedule S0 in which each
batch is treated as an individual articial 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 dierent from the long batch are kept as a block.
Dene 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 specied 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 specied 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 45 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 specied 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}):
(7)
sA1
sB1
P
=2 (sB
+ b(N )). If
Note that the total idle time on B equals x(S1 ) = + al − −
then Cmax (S1 ) = TB + x(S1 )6 45 Cmax (S ∗ ). Thus, in what follows, it is assumed that
x(S1 ) ¿ 14 Cmax (S ∗ ):
x(S1 )6 41 Cmax (S ∗ ),
(8)
Due to (4) and (8), we derive that
al ¿ 41 Cmax (S ∗ )
(9)
which in turn implies that
bl ¿ 41 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
(11)
(sB + b(N ))6 14 Cmax (S ∗ ):
=2
Let S2 be the schedule specied 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 45 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 specied 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 specied 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 41 Cmax (S ∗ ), then Cmax (S4 ) = TB +
x(S4 )6 45 Cmax (S ∗ ). Thus, in what follows, it is assumed that x(S4 ) ¿ 14 Cmax (S ∗ ). Then due to (13) we have
X
(sA + a(N )) + sA1 + al = sB1 + b(N 1 \ {l}) + x(S4 ) ¿ 43 Cmax (S ∗ )
=2
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 specied 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 dened 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 specied 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 45 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 21 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
(sA + a(N ))6 14 Cmax (S ∗ ):
(18)
=2
Let S7 be the schedule specied 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 45 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 ¿ 21 Cmax (S ∗ ):
(21)
Note that (16) and (21) imply that
X
(sB + b(N )) + b(N 1 \ {r})6 14 Cmax (S ∗ ):
(22)
=2
Let S8 be the schedule specied by the pair of strings VIII. Due to (20) and (21) we have
X
(sA + a(N )) + sA1 + ar 6 12 Cmax (S ∗ ) ¡ sB1 ;
=2
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 45 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
(sB + b(N )) + b(N 1 \ {r})6 12 Cmax (S ∗ ):
(23)
=2
Consider a new schedule S9 that is specied 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 45 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 specied 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 )¿ 41 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 specied 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 + 41 Cmax (S ∗ )6 45 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}) + 41 Cmax (S ∗ );
192
V.A. Strusevich / Operations Research Letters 26 (2000) 181–192
implying
sB1 + b(N 1 \ {r}) ¡ 41 Cmax (S ∗ ):
(26)
Consider a new schedule S12 that is specied 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 23 (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.