Two machine open shop scheduling problem with setup, processing and removal times separated

Two machine open shop scheduling problem with setup, processing and removal times separated

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 re...

1MB Sizes 22 Downloads 140 Views

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).