0305-0548/9356.00+0.00 Copyright 0 t993 Pergamon Press Ltd
ComputersOps Res. Vol. 20, No. 6, pp. 597-611.1993 Printed in Great Britain. All rights reserved
TWO MACHINE OPEN SHOP SCHEDULING PROBLEM WITH SETUP, PROCESSING AND REMOVAL TIMES SEPARATED VITALV A. STRUSEVICH~ Econometric Institute, Erasmus University, P.O. Box 1738, 3OOODR,Rotterdam, The Netherlands (Received September 1991: in rev~ed~orm Sepiember 1992)
Scope and PurwIf a production process requires some pre- and post-operational work and one needs to find the best schedule to arrange the process, then results developed within frameworks of classical scheduling theory cannot be applied directly. This paper studies a two machine open shopscheduling model in the setting descriged above and develops a fast algorithm for finding the optimal schedule. Abstract--An algorithm for minimizing the makespan for the two machine open shop scheduling problem with setup, processing and removal times separated is presented. The running time of the algorithm is linear with respect to the number of jobs.
INTRODUCTION
There are two ~~c~~~es, A and B, and a set N = (1,2,. . . , a) of jobs to be performed by those machines. Each job i consists of two operations, Oi, and OiB, operation 0, being performed by machine Le{A, I?}. According to the open shop scheduling model, the order of operations is not specified in advance but is selected as part of the schedule, different jobs being allowed to have different orders of their operations. Here we shall assume that each operation consists of three stages: setup, processing and removal, to be performed in that order and without preemption. If an operation 0, is not scheduled to be the first operation performed by machine L, then the setup stage of this operation can start only after the removal stage of the preceding operation is completed. Setup, processing and removal times of operation OiL, kN, LE(A, B), are equal to SiL,PiL and riL time units, respectively. At each time unit, each machine deals with at most one operation and performs no more than one of its stages. The processing stages of operations 0, and O,, in N, cannot be performed simultaneously. Note that the other stages can overlap: while a machine performs the setup (or the removal) stage of a job, the other machine may perform any (feasible) stage of the same job. Let R,(S) and C,(S) denote the starting and the completion time of operation OiL, &N, Le{A, B), respectively, for a schedule S. The problem we consider is to find the optimal schedule which minimizes makespan, i.e. find S* from the set of all feasible schedules which minimizes C,,(S) =maxfG&% GB@)liW. This problem has been considered for some other two machine shop scheduling models, namely, for the flow shop and the flow shop with no-wait in process. Unlike the open shop, for the two machine flow shop scheduling problem with setup, processing and removal times separated the processing stage of operation Oi, must precede the processing stage of operation OiB for ali ieN. This problem is proved to be N&hard in the strong sense [l]. On the other hand, when the problem is restricted to ~~utation schedules only (i.e. the same job sequence holds on both machines), then it can be solved in O(n logn) time [2,3]. The corresponding algorithm is a generalization of the well-known Johnson algorithm [43 for the two machine flow shop scheduling problem. The two machine flow shop no-wait scheduling problem with setup, processing and removal tV. A. Strusevich is currently an Assistant Professor at the Econometric Institute of the Erasmus Univ~ty, Rotterdam, The Netherlands. He received his Candidate of Sciences (in Physics and Mathematics) dearee from the Institute of Mathematics of Bydorussian Academy of Sciences, Min&, and-his Ph.D. from Erasmhs Diversity, Rotterdam. He has two books and more than 40 papers and notes published or accepted, most in Russian. His current research interest is scheduling theory. 597
VITALYA. STRUSEVICH
598
times separated has been shown to be solvable in O(n log n) time [S, 61. For this model, the no-wait restriction implies that, for all &N, the processing stage of operation OiB must start at the same time the processing stage of operation O,, is finished. This paper describes a linear-time algorithm for solving the two machine open shop scheduling problem with setup, processing and removal times separated. The algorithm is a generalization of the Gonzalez-Sahni algorithm [7] for the two machine open shop scheduling problem with setup and removal times included.
We start with some definitions. Define Gif.= siL+
iEN,
Pi& + riLt
L&{A,B)*
In addition, given a set Q c N, Q if 0, we define
G.t.(Q)=C Git$
L&(A,B).
icQ
Let x(Q) be an arbitrary reputation of jobs of set Q. We also define G,(B)= K(B) denotes a dummy permutation. It is easy to verify that for any schedule S we have that C~=~(S)~max~G~(N), G,(N), maxfp,
Gs(~)=O,
+~j~+miu~si~ I- ri~,si~+ri,)liENf~~
while
(1)
A schedule S* is optimal if equality is attained in relation (1) for S=S*. We shall look for the optimal schedule within a class of schedules which are specified by a pair ofst~ngsofthefo~(~;~~;~*~...; HkL) where h, 2 1. Here &(A,B) is the name of a machine, and an item Hj of the string is of the form [R,(L), Iti(N which is used to indicate that machine L, ~ginning at time Rj(L), processes the jobs of set Nj according to the ~~utation 7Ei(Nj)and does not become idle until it has performed all these jobs. Let us define ai = siA+ PrA- Sis,
bi=PiB+PiB-rut
icN.
(2)
We introduce a set N,= fiEN]$
then we select a job keN,
such that ~~=m~~~~l~~NA~,
otherwise we set (k)=@. Similarly, we introduce a set
If N,#@
then we select a job IgN,, such that a,=maxja#~N,),
otherwise we set (I) = 0. In what follows, we consider the general case when both N, and N, are not empty, Let R&(S) and C&(S) denote the starting and the completion time of the processing phase of operation O,, &N, &(A, R), for a certain schedule S. Note that, in a feasible schedule S, for each job &N either C&(S)< RP,(S) or Cf~(S)~R~(S) holds. Suppose that lNAI= 4 and INsI =m. We determine ~rmutations I = (i1, is,. . . , iJ= 6%WA\Vd))
and VW%)= Vi, A,. . . p.&J= Mb\f~)M.
First, we consider set N, and construct a flow shop schedule SA where each machine performs the jobs of set NA according to the permutation &N,) and C~~(S~)~R~~(S~) holds for each iEN,. Moreover, we assume that both machines do not stand idle once started. Let R: and Ri be the starting times of machine A and B, respectively, for the schedule SA.
Two machine open shop scheduling problem
599
It is clear that
Ri=O. An expression for Rk follows from [2,3] after some minor corrections made in [l] :
However, due to the definitions of set N, and job k = i,, we get for each U, 2 G u 6 q, that i ail- ig b(,;,
(B;tR:>(k,~(N~\~k~~)l).
It is obvious that Cf’(S,) CiqA(SA). L&t us now consider the set N,. Similarly, we construct a flow shop schedule S, where each machine performs the jobs of set NB according to the ~~utation I and C~~~S~)~R~(S~) holds for each kN,. Moreover, we suppose that both machines do not stand idle once started. Let R: and Ri be the starting times of machine A and B, respectively, for the schedule S,. As above, here we have
However, due to the definitions of the set N, and of the job 1= f,, we get for each U, 2
In addition, it follows from the definition of job l=f,
we get that
Finally, we conclude that
where
that al>aas, and, since
VITALY A. STRIJSEVICH
6al
The schedule S, is specified by the pair of strings
It is obvious that C$(S,)< R$(S,), &N,\(I). Besides, if Ri=x, then Cf”(S,)=Rf”(S,), while if Ri= 0 then CjpA(Ss)< Rf’(SB). Note that if Ri = 0 then Cmax(SB)= C&S,), while if Ri = xl then Cmax(SB)= max{ C,,(S,), CIB(SB)}. These schedules S, and S, are used when constructing an optimal schedule S* for the original problem. SOME
BACKGROUND
ON
THE
ALGORITHM
Since our algorithm is a generalization of the Gonzalez-Sahni algorithm for the two machine open shop scheduling problem with setup and removal times included, we begin with recalling basic ideas behind their algorithm. For the later model we have SiA= riA= SiB= ris= 0, kN, SO that (2) becomes ai = PiA,
Given a subset Qs N, Q#@,
bi = PiB,
ieN.
we define
a(Q)= 1 ai,
b(Q)= 1 bi*
isQ
ieQ
For any schedule S, the bound (1) becomes C,,,(S)>max{a(N),
b(N),max{u,+
b&N}}.
Moreover, schedules S, and Sg are now specified by the pair of strings (~4;CO,UvW,\~~~Nl)
CR1% (k dN,\{k)))l)
and (A; CO,(~NB\{O), 01) (B; C~(Nd-WB\(Oh
(WB\{~)),
Olh
respectively. Those two schedules are then combined together to produce a flow shop schedule S’ shown in Fig. 1 which is specified by the pair of strings (A; CO,(k~(N~\{k)))l, C~NA)+WA, (~NB\{~}L
(B; [a,, (k4K\{k)M),
01) [a,+b(N,)+w,, Mb\(~)), 01)
where wA and wg are the idle times of machine A and machine B, respectively, such that a(N\V))
+ WA= b(N\{l))+ WB.
These unnecessary idle times can be removed by appropriate shifting the starting times of some of the jobs as described below. In the case if WA 2 wg, i.e. if u(N\(k}) < b(N\{l}), the jobs of set Ng can be shifted to the left by
B I
>
0 Fig. 1.
Two machine open shop scheduling problem
a1
a(Ng\tll)
B .
bk
ibfNA\{k‘)) I
I
b(Nfj\(l})
I
b1
I
1
*
I3
Fig. 2.
w, on machine A and by wa on machine B to obtain a schedule shown in Fig. 2(a) which is specified by the pair of strings
This schedule can be transformed into an optimal open shop schedule by transfer~ng the job k to the last position on machine A accompanied by the corresponding shiftings of the starting times. The resulting schedule S* [see Fig. 2(b) and (c)] is specified by the pair of strings
On the other hand, if wA~(~\~~~), the jobs of set N, can be shifted to the Ieft by w, on both machines, and then the jobs of set N, are shifted to the right by wa- wA on machine B to obtain a schedule shown in Fig. 3(a) which is specified by the pair of strings (A;CO,(k,n(N,\(k)),ntN,\fE)),Ill) (R Cu(~)-~(~\~~~), 6, ~(~~\~k~}, W,\(Q
07).
This schedule can be transfo~ed into an optimal open shap schedule by transfer~ng the job E to the first position on machine B accompanied by the corresponding shiftings of the starting times. The resulting schedule S* [see Fig. 3(b)-(d)] is specified by the pair of strings
(~,K(N~\(~)),~(N,\(I)),~)I) @; Cmax~min(a(N)-b(N),a(N\(ff)-b,},O), (l,k,7i(NA\Ik)f,x(N,\II))11). (4 Cmax~b~-u(~\~~~),O~,
Thus, in the classical case, there are two strategies of constructing evident that each of them can be implemented in O(n) time.
an optimal schedule. It is
602
VITALYA. STRUSEVICH 4
a(NA\{k))
4k
A
a(Ni?\{l))
a1
I
n \ \
b(f”A\{k))
bk
B
I
I
I
bV’g\U))/
a)
bl
I
0
A
ak
A
a(NA\tk))
I
4 \ bl
a(~~\(~))
B
r
/
c
;k/’
%“A\(:k})
I
I
--___ i
I
&CC
H4 \
al
b)
b(Ng\{ll)
I
l
0
A
T
ck(NA\(k))
a, k
aI
a(Ng\{l))
j--+---11 ;
bl
bk
I
B
_______-j
b(NA\{k))
I
I
c)
b(Ng\{l}) i
I
0
A
ak
A
a(NA\{k))
I
I
I
bl
B
a(Ng\{l))
al
I
1
j bk I
4
b(Ng\tll)
b(NA\{k)) I
I
I
0
Fig. 3.
Our development of the algorithm for the case of setup and removal times separated is similar to that in the classical case. However, in our case, we arrive at five rather than two optimal strategies. There are at least three reasons for this. First, the initial schedules S, and SB have a more complex structure than in the classical case, so that there are four rather than two principal ways of combining them together. Second, a flow shop schedule may be an optimal open shop schedule as well. The third point is that, due to (l), now the processing order of a ‘long’ job, i.e. either of job k or of job I, becomes important. We begin our analysis with introducing a flow shop schedule S, that arises when combining the schedules S, and SB described in the previous section. We construct the schedule S, by joining the schedules S, and S, as shown in Fig. 4. More precisely, schedule S, is specified by the following pair of strings (‘4; CO&LW,\{Wl;
(&CR;, (kW,\{kI))l;
CG,W,)+w,, W’~I\{~))>01) C%+G,W,)+w,, Mb\{~))JIl),
where the values of wA and wa of the idle time of machines A and B, respectively, are chosen
603
Two machine open shop scheduling problem
A B
A
B
skA
PkA
‘kA
“‘A
GA(Nq\(k))
GA(NB\(~))
SlA
‘IA
PlA
A cl GB(NE\~~I)
B
A Skl3
B
i
PkB
“k~
tug
Gg(NA\{k))
I
“.
GB(NB\{~))
SIB
; PlB
d) ‘1B
I
0
Fig. 4.
according to the following rule: if Ri=O, otherwise, if Ri=x,,
then
w,=o, wA= GB(NA)+ R;- GA(NA) 2 0; then the values of wA and wB must satisfy the equality G,(N)-r,,
+ w,, = G,(N)+R&+,-r,,+
wB.
(3)
The desired optimal schedule is obtained from the schedule S, by a series of transformations. The manner in which these transformations are implemented is described in the next section. OBTAINING
THE
OPTIMAL
SCHEDULE
Suppose that schedule S, is constructed. First, we show that this schedule, under certain conditions, can be transformed into a flow shop schedule which is the desired optimal schedule S*. 1. Let the relation R;=O
(4)
R;=O
(5)
R;=x,
(6)
be valid. Suppose that along with (4) either
or both
wa mb-0
604
VITALY A. STRUSEVICH
G,tN)-rI,~GBtN)+R~-~IB-rIB
(7)
hold. Note that, despite (4), we keep the term Ri in (7) because in what follows we need (7) in this form. This form is also used to point out connections with (3). In this case schedule S1 is specified either by the pair of strings (A; 10, (k, x(N,\W))];
Pi CO, (k W,\W,
CGsfN,), (~(NB 10
WB\W, 01)
01)
if (5) holds [see Fig. 4(a)], or by the pair of strings EG,(N,)+w,, (~(N~\~~~), 01) (&CO,bW~,\W)l~ CG,(N,)~W,,(B(NB\(E}),III).
(4; CO,(k, ~(NA\W];
if (6) and (7) hold [see Fig. 4(b)]. Note that in both cases, w,>, wB [in fact wB=O if (5) holds]. This implies that one can obtain a schedule S* by shifting the jobs of set N, to the left by wA on machine A and by w, on machine 3, i.e. by setting RiA(S*)=RiA(Si)-WA,
iE N,.
RidS*)=&t(St)-w~,
More formally, schedule S* (see Fig. 5) is specified by the pair of strings
01) @; Co:o, (kn@%\fkh d&\(~)), j)l). (A; CO,(k, n(N,\(kf ), ~WB\(~)~
I-
It follows from w, 2 wB that iEN,,
R&(S*)--C:_(S*)aRf’&)-C:‘(SI)aO,
so S* is a feasible schedule. Moreover, it is optimal since C,,(S*)=max(G,(N),
G,(N)).
2. Suppose now that instead of (4) the relation R;=xk,
(8)
is valid, and along with (8) either (5) or both (6) and (7) hold. In this case schedule S, is specified either by the pair of strings
(A; CO, (k ~(N~\~k~))l; EGA(NA)+wA, (~~NB\~~~), 01) (R C-G(k V,\Wh WB\IEI), 01). if (5) holds [see Fig. 4(c)], or by the pair of strings
EGANA+WA, (@'JB\(~), 01) EGBVA)+WB, (~(N~\~~~),~)l)
(A; CO,(k,x(N,\(k)))l;
0%CG6%W,\fk))ll;
if (6) and (7) hold [see Fig. 4(d)]. Note that again in both cases W,Z w, [in fact w,=O if (5) holds], and one can obtain a feasible schedule S, by shifting the jobs of set N, to the left by wAon machine A and by w, on machine B, i.e. by setting
* stA
A
I
Pk.4
‘kA
1
GA(NA\{~))
I
41
GA(NB\{I))
1
SlA
PlA
‘IA
-_______-f
*
0
Fig. 5.
605
Two machine open shop scheduling problem
Schedule Sz is specified by the pair of strings (A; CO,(k, n(N”\{kj), 4Ng\{l}), 01) (~~Cx,~(k,~(N”\~k}),~(N,\~l}),l)l) but unlike the previous case, in general, this is not an optimal schedule because of the flow shop structure and the idle time xk on machine B. We show now that under additional assumptions schedule S, can be transformed into the desired optimal schedule S*. Given a job jeN, we introduce a Boolean expression of the form (9)
yi = (.sjs+ rj” > sj” + rje) A (Pi” + rj” =rG,(N\Cj} I+ TjB) 2.1. First, we make the assumption that y, = true.
(10)
In this case schedule S, can be transformed into the desired schedule S* by transferring the job k on machine B to the last position so that the processing phase of this job starts as early as
possible, and machine B has no intermediate idle time. The resulting schedule is specified by the pair of strings (A;CO,(k,n(N”\(k}),~(N,\{l}),1)1) (~;~max~~,“+pk”-(G~(N’\{k})+~,,),O~,(~(N”\{k~)~~(N~\~~~)~~~k)l). If the inequality G,(N\{k))+%,~s,“+Pk” holds then we get that CR(S*)C;B(N\(k})+TkB.
This means that max{C~~(S*)l~~N\{kJ)~G,(N\{k})~~,(~\{k})+rk~~Pk~+rk~
ds,“+p,“+r,“=min{R~“(S*)liEN\{k}}. Thus, in this case we have that C,,,_(S*)= max{ G”(N), G,(N)}. On the other hand, if the inequality G,(N\(k})+s,,
holds then we get that C,P”(S*)=R[“(S*)=sk”+pk”. Moreover, max{C~~(S*)~i~N\{k}}=sk”+p,“~s,“+p,”+r,”=min{R~“(S*)li~N\{k}}. Besides, in this case we have that Cmar(S*)=max{G,(N),sk”+pk” optimal due to (1) and the inequality SkA
+
lkB
<
skB
+
+pks+rtB},
this value being
IkA
which arises from (10). Note also that since in the proof of feasibility of this schedule the permutation of the jobs different from k is unimportant, one may conclude that in this case schedule S* is specified by the pair of strings of a more general form, namely II.
(A; CO,(k,n(N\{k}))l) (~~~max(~k”+~,“-(G,(N\(k~)+s,,)~o}~(~(N\~kj)~k)l)~
This schedule is presented in Fig. 6. 2.2. Now we assume that y, = false.
(11)
VITALYA. STRUSEVICH
606
A
PkA
SkA
GA(N\o;))
I-kA
I
I
-__-
I
stsi
Gg(N\{kl) I
t
PkB
i
b)
‘k-t? I
I
,
0
Fig. 6.
0
A
GA(NA\{R)) t
I
GA(~‘B\{~))
I
G~A
I
SPA
f-‘kA
I
TkA I
__-___-
i b)
irkB
1'kB
3kB
I
I
I
GB(N/t\{k))
I
GB(NB\{l))
I
G[B I
0
Fig. 7.
We transform schedule S, into schedule S* in the following way:
(i) transfer operation O,, from the first position to the last one in the sequence of operations performed by machine A (ii) set R,(S*)= Ri,(S,)-xk, &N, SO that operation OkBstarts at time zero. (iii) shift all the operations on machine A to the left until either the first operation starts at time zero or the processing phase of operation O,, cannot start earlier. This schedule is specified by the pair of strings 111. (4 Cmax{s,,+p,,-G,(N\(L})-s,,,O},
m co, (km,\{~))~ W,\{~)), w.
(r@%\(k)), ~(~,\{~})~ LWI)
If the inequality GA(~\~~~)+skA~skB+~kB
(12)
holds, then the described transformation yields the schedule S* shown in Fig. 7(a). It is clear that C,&S*)=max{G,(N), G,(N)}, so that schedule S* is optimal. If inequality (12) does not hold, we get the schedule S* which is shown in Fig. 7(b).
607
Two machine open shop scheduling problem
Note that if the inequality (13) holds, then C,,,(S*)=G,(N), and schedule S* is optimal. Otherwise, if (13) is not valid, then it follows from (11) that SkB
+ Ik.4
< SkA
+ rkBa
Since, in this case, we have that Cmax(S*)= s&.B + pks + pkA+ rk& schedule S* is optimal. 3. Suppose that relations (6) and G,(N) - rr~ G G,(N) -I-RZ,-PIB
-
(14)
JIB
are valid. If (4) holds, then schedule S1 [see Fig. 4(b)] is specified by the pair of strings (A;[% (~,~(~~\~~~)~I; CGA(NA)+WA,K(NB\(I)),~~I) (B;1%(k n(b\tk)))l; [G,@‘,.i)+WB, (‘@h\i~)),I)]). Otherwise, if relation (8) is valid, then schedule Si [see Fig. 4(d)] is specified by the pair of strings (&CO, (k,Ir(N,\(k)))l;fGAfNA)+wA,(R(NB\(I)),111)
Pi [Ix,?
(k,
~(~~\~k~))l; ll++ GB(~~)
+ wB,
(~(~~\~~~),
W
Note that it follows from (3) and (14) that wA< wB. At first, we transform schedule Si into a new schedule S, by shifting all jobs of set NB to the left by wAon both machines, and then by shifting the jobs of set N, to the right by wB- wAon machine B. Formally, we suggest setting Ri~(S~)=Ri~(S~)-W~,
WA,
B),
iEN&
followed by setting iEN,. R~~~(S,)=R~B(S,)+WB-W,, Tt is clear that
R&(S,)-CR(S,)~R~B(S,)-CR(S,)~O,
iEN.
Schedule S, is specified by the pair of strings (4; CO,(k,It(N,\(k)),a(N,\(I)), rl) (R C&t (k, a(N,\+)), ~(NB\(Q), II) where
To describe the further transformation of schedule SJ into the desired optimal schedule S* we need to make some additional assumptions. As above, these assumptions are formulated in terms of Boolean expressions of the form (9). 3.1. First, we make the assumption that y,= true.
(15)
In this case schedule S, can be transformed into schedule S* by transferring the job 1 on machine A to the first position so that the processing phase of this job on machine B starts as early as possible, and machine B has no intermediate idle time. The proof of feasibility and optimality of the schedule obtained this way is omitted because it is similar to the proof presented in subsection 2.1 above (the only difference is that job I replaces job k). Moreover, in the case under consideration the permutation of the jobs different from I is unimportant, and one can conclude that schedule S* is specified by the pair of strings IV.
(A; l.$, (It ~(N\~~~))l)
(B;Emax(s,,+pl,-GG,(N\fI))-s,,,O),C~(N\(I)),II1).
VITALYA. STRUSEVICH
‘SPAPk.41 I
rk~
I
GA(NA\{c})
G~(N~\(IJ)
\ \
SlB
I
e-
eL-rkl?
Pls
J
ed
TlA
PlA
SIA
I
I
H-1
GB(NA\{k))
b)
0
Gk,tl GA(NA\{~)) A
FIB I
18~B~
PUB
1’1A
S!A I
slB
B
B
%(‘%\I~!) I
I
‘IA
I
I I
I
1rlB I
;
Gk13 G~t~~A\{~if I I
“1B
,
GABI
I
Cl
GB(NB\(~})
GB(NA\{~))
4
I GBtN~\ill)
,
d, ,
t 0
Fig. 8.
3.2. Suppose now that y, = false.
(16)
To transform schedule S, into schedule S* we transfer operation U,, from the last position to the first one in the sequence of operations performed by machine B. We assume that, just after this transfer, operation OIB starts at time zero. However, in general, this transfer may have to be accomplished by several shifts of operations. More formally, we are going to prove that schedule S* (see Fig. 8) is specified by the pair of strings V.
(A;Cmax&+~,,-
%(~\{~I)-~~AJU,
(k rO,\O4)>
(B;Cmax{min(G,(N)-G,(N),G,(N\{~})+s,,-s,,-p,,},O}, 6 k ~WA\W
W,\VINl).
3.2.1. If the inequality
~OB\#),
01)
Two machine open shop scheduling problem
609
holds, then before transferring operation 0,s we set
RdS*)=RdS,)+ GB- RB,
iEN.
If the inequalities G,(N\(l))
+ slz,> SIB+ pm
(18)
and G,(N) < G,(N) hold, then we get the schedule S* shown in Fig. 8(a) with Cmax(S*)= G,(N). Otherwise, suppose that, along with (18), the inequality G,(N)> G,(N) is valid. In this case, if the relation min{G,(N)-G,(N),G,(N\{I})+s,,-s,,-p,,}=G,(N)-G,(N)>O
holds, then after transferring operation OIB, we increase the starting times of all operations Ou, kN, by G,(N)-G,(N). For this schedule S* [see Fig. 8(b)] we get that C,,,(S*)=G,(N). If it turns out that the relation min(G,(N)-G,(N),G,(N\{I})+s,,-s,,-p,,}
=G,(N\{I})+s,,-sIB-pr,>O
holds, then after transferring operation OIB, we increase the starting times of all operations Oia, iEN, by G,(N\{i)) + sIA- slB--plB. For this schedule S* [see Fig. 8(c)] we get that C,,_(S*) = G,(N), since it follows from the inequality GA(N\~~~)+~~~,B-P,,~G,(N)-G,(N)
that the inequality PIA+ ru 2 G,(N\V))
+
rlB
(19)
holds. On the other hand, if (18) is not valid, then before transferring operation O,, we shift all the operations on machine A so that the processing phase of operation O,, could start at time slB+pIB [see Fig. 8(d)]. Note that, in the latter case, if inequality (19) does not hold, then C,_(S*) = G,(N) and the schedule S* is optimal. Otherwise, if (19) is valid, then it follows from (16) that
Since, in this case, we have C,,,(S*)=slB+pIB+plA +rIA, schedule S* is optimal. 3.2.2. Now suppose that inequality (17) does not hold. This case can be studied in a similar way. However, since (17) does not hold, we have G,(N)-GB(N)>s,,+r,, 20. This implies that we shall not get the schedule shown in Fig. 8(a). Besides, if inequality (18) does not hold, then it follows from G,(N)- G,(N)>0 that inequality (19) is valid. This means that for the schedule S* shown in Fig. 8(d) we have C,,,(S*)=slB+pIB+pIA+rIA. THE ALGORITHM
From the results of the previous section one can derive the algorithm for finding the optimal schedule S* for the two machine open shop with setup, processing and removal times separated. As shown above, schedule S* is specified by one of the following pairs of strings 1.
(A;CO,(~,A(N,\{~}),~(NB\{I}),~)I) (B;CO,(k,n(N,\(k)),~(N,\(I)),1)1) II. (~;CO,(kw\{~}m
II
II
II
> GB(N)
-
PIB
-rIB
Fig. 9.
The algorithm consists of verifying a series of relations and selecting the appropriate pair of strings from those listed above. The order of verifying the relations is shown by arrows in Fig. 9. Rectangles drawn by double lines contain Roman numerals corresponding to the number of the pair of strings, which specifies the optimal schedule S*. As far as the running time of the algorithm is concerned, it is obvious that evaluating all the expressions shown in Fig. 9, checking the relations, and constructing the corresponding pair of strings takes O(n) time. AcknowZedge~~s-The author is grateful to C. N. Potts for drawing his attention to scheduling problems with setup and removal times separated, and to A. H. G. Rinnooy Kan, I.. N. Van Wassenhove, and C. M. Zwaneveld for helpful discussions. Comments by the anonymous referees have contributed to improving the presentation. REFERENCES 1. V. A. Strusevich and C. M. Zwaneveld, On non-permutation solutions to some two-machine flow shop scheduling problems. Report 9150/A, Econometric Institute, Erasmus University Rotterdam (1991). 2. D. R. Sule, Sequencing n jobs on two machines with setup, processing and removal times separated. Nav. Res. Logisf. Q. 29,517-519 (1982). 3, D. R. Sule and K. Y. Huang, Sequencing on two and three machines with setup, processing and removal times separated. Int. J. Prod. Res. 21, 723-732 (1983).
Two machine open shop scheduling problem
611
4. S. M. Johnson, Optimal two- and three-stage production schedules with set-up times included. Nav. Res. Log&. Q. 1,61-&t (1954). S. V. A. Strusevich, Two machine flow shop no-wait scheduling problem with setup, processing and removal times separated. Report 9094/A, Econometric Institute, Erasmus University, Rotterdam (1990). 6. V. A. St~~~ich,Compiexity aspects ofshop~h~uiing problems. Ph.D. thesis, Erasmus University, Rotterdam (1991). 7. T. Gonzalez and S. Sahni,Open shop scheduling to minimize finish time. .I. Assoc. Compr. Mach. 23.665679 (1976).