12
Batch scheduling in a two-machine flow shop with limited buffer and sequence independent setup times and removal times Marco Pranzo Dipartimento di Informatica e Automazione, Universit a ‘‘Roma Tre’’, Via della Vasca Navale 79 - 00146 Roma, Italy Received 10 December 2001; accepted 30 January 2003 Abstract The problem of makespan minimization in a flow shop with two-machines when the input buffer of the second machine can only host a limited number c of parts is known to be NP-hard for any c > 0 and c 6 n, where n is the number of jobs. In this paper we analyze this problem in the context of batch scheduling, i.e. when identical parts must be processed consecutively. In particular we study the case in which each batch requires sequence independent setup times and removal times. We then show that, if the size of the ith batch is larger than a value b i , then the makespan minimization problem can be formulated as a special case of TSP and solved in polynomial time. The cost structure of this TSP can be reduced to the one defined for the two-machine no-wait flow shop. Hence, we give a closed form expression for b i . Then, we prove that when the same algorithm is applied to batch sizes smaller than b i , the error goes to zero as the batch sizes approach the values b i . Ó 2003 Elsevier B.V. All rights reserved. Keywords: Scheduling; Flow shop; Limited buffer; Batch; Setup times 1. Introduction Several production environments are organized according to the philosophy of the flow lines: machines are arranged along a line, raw parts enter the line from one endpoint, and finished products leave the line from the other endpoint. All the parts visit the machines in the same order. Flow lines have inherent ad- vantages, such as low cost, ease of supervision etc. (for a thorough description of flow lines see for instance the book by Askin and Standridge [3]). A considerable amount of literature has been written concerning optimization models in flow lines. The two major problems arising in the management of flow lines are the assignment of the operations of the jobs to the machines of the line, and the problem of sequencing the jobs on the machines. The former problem is addressed by the assembly line balancing model. It consists of assigning a given set of operations to the E-mail address: [email protected] (M. Pranzo). 0377-2217/$ - see front matter Ó 2003 Elsevier B.V. All rights reserved. doi:10.1016/S0377-2217(03)00264-9 European Journal of Operational Research 153 (2004) 581–592 www.elsevier.com/locate/dsw

Batch scheduling in a two-machine flow shop with limited buffer and sequence independent setup times and removal times

Embed Size (px)

Citation preview

Page 1: Batch scheduling in a two-machine flow shop with limited buffer and sequence independent setup times and removal times

European Journal of Operational Research 153 (2004) 581–592

www.elsevier.com/locate/dsw

Batch scheduling in a two-machine flow shopwith limited buffer and sequence independent

setup times and removal times

Marco Pranzo

Dipartimento di Informatica e Automazione, Universit�aa ‘‘Roma Tre’’, Via della Vasca Navale 79 - 00146 Roma, Italy

Received 10 December 2001; accepted 30 January 2003

Abstract

The problem of makespan minimization in a flow shop with two-machines when the input buffer of the second

machine can only host a limited number c of parts is known to be NP-hard for any c > 0 and c6 n, where n is the

number of jobs. In this paper we analyze this problem in the context of batch scheduling, i.e. when identical parts must

be processed consecutively. In particular we study the case in which each batch requires sequence independent setup

times and removal times. We then show that, if the size of the ith batch is larger than a value b�i , then the makespan

minimization problem can be formulated as a special case of TSP and solved in polynomial time. The cost structure of

this TSP can be reduced to the one defined for the two-machine no-wait flow shop. Hence, we give a closed form

expression for b�i . Then, we prove that when the same algorithm is applied to batch sizes smaller than b�i , the error goesto zero as the batch sizes approach the values b�i .� 2003 Elsevier B.V. All rights reserved.

Keywords: Scheduling; Flow shop; Limited buffer; Batch; Setup times

1. Introduction

Several production environments are organized according to the philosophy of the flow lines: machines

are arranged along a line, raw parts enter the line from one endpoint, and finished products leave the linefrom the other endpoint. All the parts visit the machines in the same order. Flow lines have inherent ad-

vantages, such as low cost, ease of supervision etc. (for a thorough description of flow lines see for instance

the book by Askin and Standridge [3]).

A considerable amount of literature has been written concerning optimization models in flow lines. The

two major problems arising in the management of flow lines are the assignment of the operations of the jobs

to the machines of the line, and the problem of sequencing the jobs on the machines. The former problem is

addressed by the assembly line balancing model. It consists of assigning a given set of operations to the

E-mail address: [email protected] (M. Pranzo).

0377-2217/$ - see front matter � 2003 Elsevier B.V. All rights reserved.

doi:10.1016/S0377-2217(03)00264-9

Page 2: Batch scheduling in a two-machine flow shop with limited buffer and sequence independent setup times and removal times

582 M. Pranzo / European Journal of Operational Research 153 (2004) 581–592

minimum number of machines in the line, while respecting a constraint on the cycle time. The latterproblem is referred to as flow shop scheduling, and consists of finding the sequence of jobs on the machines

of the line such that the overall completion time is minimized.

Although several authors have studied the two-machine flow shop scheduling problem, not many have

dealt with issues of real-life system, such as batch scheduling, limited capacity buffer and separated setup

and removal times. We consider the batch scheduling problem in a two-machine flow shop with limited

capacity intermediate buffer, and separated setup, processing and removal times. Each batch consists of

identical parts to be produced consecutively. This happens, for example, in the steel making process.

The steel production process is well known to have extremely strict requirements of material continuityand flow time (see, for example Dorn and Shams [6], Lixin Tang et al. [11]). Fig. 1 shows the layout of the

production line for a stainless steel line located in central Italy.

In particular, the processing of stainless steel consists of a sequence of high temperature operations

starting with the loading of scrap iron in an electric arc furnace (EAF). The time to melt the scrap iron is

substantially independent of the batch type. The liquid steel is poured into ladles that a crane transports to

a subsequent machine, called argon oxygen decarburization unit (AOD), where nickel, chromium and other

elements are added to the steel in order to meet the chemical quality requirements. After the AOD the ladles

are transported to a ladle furnace (LF) which can host at most two ladles. Even if some operations areexecuted in the LF, in practice it acts as a buffer to maintain the ladles at the proper temperature before the

last operation, to be executed in the continuous caster machine (CCM). Here the liquid steel is cast and

cooled to form slabs. The CCM needs to be tooled with a particular tool, called flying tundish, which must

be changed when switching from a lot to another.

A first approximated model of a stainless steel production line can be a batch scheduling problem in a

two-machine (AOD and CCM) flow shop, with setup times given by the EAF operations on the first

machine and removal times on the second machine, and with a limited intermediate buffer (LF).

We have studied a general model with setup times and removal times for each batch and each machine.These setup times are independent of the sequence but different for each batch. If the setup times are zero

for each batch and each machine then the model collapses into a batch scheduling problem [1].

The paper is organized as follows. In Section 2 relevant results in related problems are discussed. In

Section 3 we define the batch scheduling problem. In Section 4 we show that if the size of each batch Bi is

greater than a certain quantity b�i (depending on the processing times of batch Bi and buffer capacity c),then the problem can be formulated as a TSP problem, and can be solved in polynomial time by defining an

auxiliary instance of no-wait flow shop. In Section 5, we determine the values of the b�i such that the steady

state is reached. In Section 6 we show that, even if bi < b�i for some i, the same TSP-based algorithmprovides an e-approximate solution, where e approaches zero as the bi�s approach the values b�i .Throughout the paper the illustrations refer to the case in which c ¼ 2. In all illustrations the two bars

correspond to machines M1 and M2, whereas the lines correspond to the buffer spaces Q1 and Q2.

E AF

L FSlabs

CCM

AOD

ScrapIron

Fig. 1. Layout of the stainless steel production line.

Page 3: Batch scheduling in a two-machine flow shop with limited buffer and sequence independent setup times and removal times

M. Pranzo / European Journal of Operational Research 153 (2004) 581–592 583

2. Review of related literature

The flow shop scheduling problem is a well known and studied problem. Almost 50 years ago, Johnson

[10] proposes a polynomial algorithm to solve optimally the two-machine problem. Garey et al. [7] have

shown the NP-hardness of a three-machine flow shop problem.

In many real-life systems jobs can be efficiently grouped into batches or families, with similar charac-

teristics. See Potts and Kovalyov [14] for a recent survey on scheduling problems with batching. Usually all

the jobs in the same batch can share the setup operations. The setup times usually are anticipatory, i.e. theycan start even if the first job of the batch is not on the machine yet. Note that the setup operation can be

started only if the corresponding machine is free. The setup operations can be either at the beginning or at

the end of a batch. We refer to setup times if they are at the beginning of a batch, otherwise we refer to

removal times. If the setup time is depending on the preceding job to be processed, we say that it is a

sequence dependent setup time, otherwise it is a sequence independent setup time. In the following we

consider sequence independent setup times.

Some authors have studied flow shop problems with setups. In their paper Yoshida and Hitomi [19]

extended the Johnson�s algorithm [10] for a two-machine flow shop scheduling problem with setup timesseparated. The paper of Yoshida and Hitomi was extended by Sule [15] considering setup, processing and

removal times separated. Baker [4] studied a two-machine flow shop with batch scheduling with setup

times. Yang and Chern [18] extended Baker�s results to separated setup and removal times and transpor-

tation times for moving the jobs from the first machine to the second machine. For a detailed survey on

scheduling problems with setups see Allahverdi et al. [2].

Only few authors have dealt with one of the major issues of real-life systems, namely the limited capacity

of the intermediate storage facilities. One of the reasons is probably the fact that even when the line consists

of two machines only, if the capacity of the intermediate buffer is limited, the scheduling problem is alreadyNP-hard. This was shown by Papadimitriou and Kanellakis [13]. Hall and Sriskandarajah [9] have shown

the equivalence of the blocking flow shops with no-wait flow shops for any regular performance measure,

and non-separated processing times. One polynomially solvable case is the two-machine flow shop with

zero buffer, because it is equivalent to a no-wait two-machine flow shop, and thus solvable with Gilmore

and Gomory�s algorithm [8]. Logendran and Sriskandarajah [12] studied a two-machine batch scheduling

problem with the zero buffer assumption and setup times showing that the problem is NP-hard. They

propose a heuristic algorithm and a worst case analysis. See Hall and Sriskandarajah [9] for a survey on

machine scheduling with blocking and no-wait constraints.On the other hand, while most scheduling algorithms are conceived to deal with the case in which the

jobs are all different from each other, in practice parts are often produced in batches or families of similar

jobs. Vickson and Alfredsson [16] assumed identical jobs in the batch and solved the two-machine flow

shop batch scheduling by Johnson�s rule [10]. Cetinkaya [5] extended this result adding separated setup and

removal times. Agnetis et al. [1] considered a two-machine flow shop with batches composed of identical

parts and a limited capacity buffer. They showed that the problem is NP-hard, and proposed an exact

algorithm under some assumption on the batch size. If the conditions on the batches size are not met, the

proposed algorithm provides approximate solutions for the problem.To the best of our knowledge, no paper deals with the batch scheduling of a two-machine flow shop with

limited buffer between the two machines and separated setup, processing and removal times.

3. Problem definition

Consider a flow shop with two machinesM1 and M2 and an intermediate storage buffer of capacity c, i.e.,the buffer can host at most c parts. The system must process a set N of n batches, B1;B2; . . . ;Bn. Each batch

Page 4: Batch scheduling in a two-machine flow shop with limited buffer and sequence independent setup times and removal times

584 M. Pranzo / European Journal of Operational Research 153 (2004) 581–592

Bi has size bi, i.e., consists of bi identical parts. All the parts from the same batch must be processedconsecutively, i.e., batches cannot be split. Each batch Bi requires a setup time (removal time) Ui1ðRi1Þ andUi2ðRi2Þ, on the machine M1 and M2 respectively, independent of the sequence r. The setup times are

processed without the presence of one part on the machine. Each part of batch Bi requires processing times

pi1 and pi2 on machines M1 and M2 respectively. For the sake of simplicity, let us first neglect the case in

which pi1 ¼ pi2 for some Bi. This case is discussed at the end of Section 5.

Let us partition N into two classes N1 and N2, where N1 � fBijpi1 < pi2g and N2 � fBijpi1 > pi2g. Ifmachine M1 completes processing on a part and the buffer is full, then the part keeps M1 blocked until there

is room in the buffer. In this paper we suppose that bi P cþ 1 for all i ¼ 1; . . . ; n.As we already noticed, this condition is usually satisfied in real-life applications (consider that very often

the buffer capacity c is itself very small). Notice that this condition implies that at any time in the system at

most two batches can be under process.

Since all the jobs belonging to the same batch are identical, we schedule the batches and not the single

jobs. Therefore we refer to the identical jobs belonging to the same batch as ‘‘parts’’ instead of ‘‘jobs’’. The

problem we deal with in this paper can be formulated as follows:

Problem 1 (Batch sequencing problem). Given a two-machine flow shop with a buffer of capacity c, and aset of n batches B1;B2; . . . ;Bn (batch Bi of size bi P cþ 1, for i ¼ 1 . . . n, with setup times Ui1, Ui2 and re-

moval times Ri1, Ri2, for i ¼ 1 . . . n, for each machine), find a sequence r of the batches so that the makespan

is minimized.

Given a sequence r, we denote as rðjÞ the jth batch in the sequence. Problem 1, which has been proved

to be NP-hard by Agnetis et al. [1] for any c > 0 and c < nþ 1 even if all the setup times are zero, with n thenumber of batches. If c ¼ 0, all the setup times can be viewed as part of the processing times, and therefore

the problem can be reduced to the well-known no-wait flow shop, which is solved in the two-machine casein polynomial time by Gilmore and Gomory [8]. If cP nþ 1 and the setup times are zero, the buffer can be

considered as unlimited and hence the problem can be solved by the extension of Johnson�s algorithm [5].

4. Makespan evaluation

In this section we show that, for a given solution r to batch sequencing problem (BSP), the value of the

makespan can be expressed as the sum of two terms. The first term is the sum of quantities which do notdepend on the sequence of the batches, but only on the processing times and the batch sizes. The second

term is the sum of quantities which do depend on the batch sequence, and which is to minimize.

Since all the parts in a batch are identical, without loss of generality, we can assume the buffer organized

according to a FIFO policy. In Fig. 2 the second part in batch Bi stays in buffer Q2 until the first part of the

Fig. 2. Bi 2 N1 and steady state (c ¼ 2).

Page 5: Batch scheduling in a two-machine flow shop with limited buffer and sequence independent setup times and removal times

M. Pranzo / European Journal of Operational Research 153 (2004) 581–592 585

batch is completed on the second machine M2. When the first part is completed on the second machine, thesecond part leaves the buffer Q2 and goes to the machine M2. At the same time the third part leaves the

buffer Q1 reaching the buffer Q2 and so on, i.e. the second part is replaced by the third part. Therefore

the last position on the machine M2 is occupied by the last part of the batch.

Throughout the paper we use the concept of steady state, referred to the evolution of the schedule of a

single batch when the size of Bi is large enough. A batch reaches the steady state when every maxfpi1; pi2gtime both machines simultaneously start processing a new part. In other words the steady state is reached

when the parts start to be processed after a regular period of time, given by the maximum between the two

processing times. Once a batch is in the steady state the schedule of the parts in the batch repeats identicallyover time. As illustrated in Figs. 2 and 3, the steady state is reached at a time t such that, from then on, the

two machines start processing a new part every maxfpi1; pi2g time.

Given a solution r, let us denote by T ðrÞ the corresponding value of the makespan. Given a batch Bi, let

us focus on the time interval from the start of the setup time on M1 and the end of the removal time on M1.

The length of this time interval is referred to as span of Bi, since it is the total amount of time thatM1 is busy

with batch Bi (either operating on some part or blocked). In general, this quantity depends on the sequence

r, which affects the buffer status. Since the span of Bi could depend on the status of the buffer, and this can

influence the availability of the machine M2, we denote the span of Bi as SiðrÞ.However, the value SiðrÞ attains when Bi starts at time 0, (i.e., when the system is empty) obviously does

not depend on r, and therefore we denote it as S0i . We next compute this value, supposing that Bi reaches

the steady state.

If Bi 2 N1, since pi1 < pi2, the steady state is reached when the buffer is filled to its capacity. In this case,

machine M2 is never in a waiting state and therefore S0i is equal to S0

i ¼ Ui1 þ pi1 þ ðbi � ðcþ 1ÞÞpi2 þ Ri1

(see Fig. 2). Note that on the first machineM1 there is an idle time between the last part of the batch and the

removal time Ri1. In fact the first machine has to wait until the last part of the batch has moved into the first

buffer Q1. Only after that, the removal time Ri1 can be processed on the first machine.If Bi 2 N2, the buffer is always empty, the steady state is reached when the buffer is empty and

S0i ¼ Ui1 þ bipi1 þ Ri1 (see Fig. 3).

Let us introduce the concepts of head Hi and tail Ti of a batch Bi. We define the head Hi of a batch as the

maximum difference between the starting time of the setup of Bi on M2 and on M1 that does not produce an

increase on the length of the makespan Si, i.e., the delay is fully absorbed by the buffer. We define the tail Tiof the batch Bi as the time interval between the end of the processing on the first machine M1 and the end of

the removal time of Bi on M1 and on M2. Note that the values of the head Hi and the tail Ti only depend on

the batch Bi.If Bi 2 N1 the head and the tail are given by

Hi ¼ pi1 þ Ui1 � Ui2; ð1Þ

M1

M2

Q2

Q1

Ui1

Ui2

Ri1

Ri2pi2pi2pi2pi2 pi2 pi2 pi2

pi1 pi1 pi1 pi1pi1 pi1pi1t

Hi Ti

Fig. 3. Bi 2 N2 and steady state (c ¼ 2).

Page 6: Batch scheduling in a two-machine flow shop with limited buffer and sequence independent setup times and removal times

586 M. Pranzo / European Journal of Operational Research 153 (2004) 581–592

Ti ¼ pi2ðcþ 1Þ þ Ri2 � Ri1: ð2Þ

If Bi 2 N2 the head and the tail are respectively

Hi ¼ pi1ðcþ 1Þ þ Ui1 � Ui2; ð3Þ

Ti ¼ pi2 þ Ri2 � Ri1: ð4Þ

In what follows, dðxÞ ¼ 1 if x > 0 and dðxÞ ¼ 0 if x6 0. The head and tail can be formulated by

Hi ¼ pi1ð1þ cdðpi1 � pi2ÞÞ þ Ui1 � Ui2; ð5Þ

Ti ¼ pi2ð1þ cdðpi2 � pi1ÞÞ þ Ri2 � Ri1: ð6Þ

Suppose that Bi does not start at time 0, but immediately after some other batch Bh. Since M2 and/or the

buffer may not be empty at the time Bi starts onM1, one has SiðrÞP S0i . Therefore, SiðrÞ can be expressed as

S0i þ Qðr; iÞ with Qðr; iÞP 0. These two terms fixed cost and coupling cost respectively. We show that if the

preceding batch Bh and batch Bi have both reached the steady state, then the coupling cost only depends on

the processing times of Bi and Bh, but it does not depend on the previous batches, i.e., Qðr; iÞ ¼ Qðh; iÞ.

Theorem 2. Let Bh immediately precede Bi in a feasible solution r. If both Bh and Bi reach the steady state,

then the span SiðrÞ is given by

SiðrÞ ¼ S0i þmaxf0; Th � Hig: ð7Þ

Proof. We divide the proof in two steps. The first step is divided in four subcases. For each subcase we want

to show that the expression

SiðrÞ ¼ S0i þmaxf0; ph2ð1þ cdðph2 � ph1ÞÞ � pi1ð1þ cdðpi1 � pi2ÞÞ � Ui1 þ Ui2 þ Rh2 � Rh1g; ð8Þ

holds.

1. Bh 2 N1; Bi 2 N1 (Fig. 4)

In this case the first part of the batch Bi on the machine M2 is delayed by

maxf0; ph2ðcþ 1Þ þ Rh2 � Rh1 � pi1 � Ui1 þ Ui2g. This expression of the delay is in accordance with (8)

because in this case Bh 2 N1 and by definition ph2 � ph1 > 0, thus dðph2 � ph1Þ ¼ 1, and Bi 2 N1 and bydefinition pi1 � pi2 < 0, thus dðpi1 � pi2Þ ¼ 0. Consequently the expression of the delay is in accordance with

the expression of the delay in (8).

2. Bh 2 N2; Bi 2 N1 (Fig. 5)

In this case the first part of the batch Bi is delayed by maxf0; ph2 þ Rh2 � Rh1 � pi1 � Ui1 þ Ui2g, and (8)

holds. Since in this case Bh 2 N2 and by definition ph2 � ph1 < 0, thus dðph2 � ph1Þ ¼ 0, and Bi 2 N1 and by

definition pi1 � pi2 < 0, thus dðpi1 � pi2Þ ¼ 0.

M1

M2

Q2

Q1

Bi

Bi

Bh

Bh

Fig. 4. Bh 2 N1 and Bi 2 N1ðc ¼ 2Þ.

Page 7: Batch scheduling in a two-machine flow shop with limited buffer and sequence independent setup times and removal times

M1

M2

Q2

Q1

BiBh

BiBh

Fig. 5. Bh 2 N2 and Bi 2 N1ðc ¼ 2Þ.

M. Pranzo / European Journal of Operational Research 153 (2004) 581–592 587

3. Bh 2 N1; Bi 2 N2 (Fig. 6)

In this case the first part of the batch Bi is delayed by maxf0; ph2ðcþ 1Þ þ Rh2 � Rh1 �pi1ðcþ 1Þ � Ui1 þ Ui2g, and (8) holds. Since in this case Bh 2 N1 and by definition ph2 � ph1 > 0, thus

dðph2 � ph1Þ ¼ 1, and Bi 2 N2 and by definition pi1 � pi2 > 0, thus dðpi1 � pi2Þ ¼ 1.

4. Bh 2 N2; Bi 2 N2 (Fig. 7)

In this case the first part of the batch Bi is delayed by maxf0; ph2 þ Rh2 � Rh1 � pi1ðcþ 1Þ � Ui1 þ Ui2g.This expression of the delay is in accordance with (8) because in this case Bh 2 N2 and by definition

ph2 � ph1 < 0, thus dðph2 � ph1Þ ¼ 0, and Bi 2 N2 and by definition pi1 � pi2 > 0, thus dðpi1 � pi2Þ ¼ 1.

In the second step we want to obtain (7). Trivially in the expression (8) we can recognize the expressions(5) and (6), thus obtaining (7). �

From (7) it follows that, if both Bi and Bh reach the steady state, the expression of the span is

SiðrÞ ¼ S0i þ Qðh; iÞ, where

Qðh; iÞ ¼ maxf0; Th � Hig ð9Þ

represents the coupling cost between batches Bh and Bi. For a given solution r, there is a close relationship

between the value of the makespan T ðrÞ and the values SiðrÞ. Namely, T ðrÞ equals the sum of all the spans

M1

M2

Q2

Q1

B i

B i

B h

B h

Fig. 6. Bh 2 N1 and Bi 2 N2ðc ¼ 2Þ.

Fig. 7. Bh 2 N2 and Bi 2 N2ðc ¼ 2Þ.

Page 8: Batch scheduling in a two-machine flow shop with limited buffer and sequence independent setup times and removal times

588 M. Pranzo / European Journal of Operational Research 153 (2004) 581–592

SiðrÞ plus the tail of the last batch BrðnÞ. In order to express the whole T ðrÞ as the sum of spans, we can

regard the tail of the schedule as the span of a dummy batch Bnþ1, consisting of bnþ1 ¼ cþ 1 parts having

zero processing time, zero setup time and zero removal time on each machine. Actually, these processing

times can be thought of as arbitrarily small, to indicate that each part of the dummy batch must nonetheless

visit all the machines. Notice that S0nþ1 ¼ 0, Hnþ1 ¼ 0, Tnþ1 ¼ 0, and Snþ1 ¼ S0

nþ1 þ QðrðnÞ; rðnþ 1ÞÞ so

Snþ1 ¼ maxf0; Tn � Hnþ1g ¼ Tn. We can therefore write

T ðrÞ ¼Xnþ1

i¼1

SiðrÞ ¼Xnþ1

i¼1

ðS0i þmaxf0; TrðiÞ � Hrðiþ1ÞgÞ: ð10Þ

We observe that the problem of finding an optimal sequence of the batches B1;B2; . . . ;Bn is equivalent to

finding an optimal cyclic sequence of the batches B1;B2; . . . ; Bn;Bnþ1. In particular, notice that the batch

scheduled first (last) in the ‘‘open-loop’’ sequence is the one following (preceding) Bnþ1 in the cyclic se-

quence (notice that, in fact, in the cyclic sequence the completion time on M2 of BrðnÞ coincides with the

starting time on M1 of Brð1ÞÞ. Therefore, from now on we refer to cyclic schedules (in a similar fashion towhat done for no-wait flow shop by Wismer [17]).

As a straightforward consequence of Eq. (10), the following theorem holds:

Theorem 3. If, for any sequence r, all the batches reach the steady state, BSP is equivalent to a TSP problem

in which the coupling cost between batches Bh and Bi is given by Eq. (9). The value of the makespan T ðrÞ isobtained by adding the optimal solution of the TSP to the sum of the values S0

i .

From Eq. (9) we recognize that the structure of this TSP allows the problem to be solved in polynomialtime. In fact the cost function becomes identical to that of a two-machine no-wait flow shop. In conclusion,

if all the batches reach the steady state in any sequence r, the problem can be solved as follows: for each

batch Bi, we define a part having processing times Hi and Ti, and apply the Gilmore and Gomory�s algo-rithm [8] to get an optimal sequence r in Oðn log nÞ time. The batches are scheduled according to the

optimal sequence of the corresponding parts. It should be pointed out that this algorithm is guaranteed to

yield the optimal solution only if all the batches reach the steady state in any solution r. In the next section

we analyze under what conditions we are ensured that this occurs.

5. Conditions for the steady state

In the previous section, we have seen that if the batches are ‘‘large enough’’, each of them reaches the

steady state, and this enables us to formulate the problem in terms of a special case of TSP. In this section,

we compute values b�i such that, if bi P b�i , batch Bi is guaranteed to reach the steady state. In the following,

Bh denotes the batch preceding Bi. Let us now turn to the value b�i . In general, such a value also depends on

the values of the head Hi and tail Th. However, we next show that the number of parts necessary to reach thesteady state never exceeds a figure that only depends on the processing times of batch Bi.

Theorem 4. In any sequence r, batch Bi reaches the steady state if

bi Pcmaxfpi1; pi2g

jpi2 � pi1j

� �þ 1: ð11Þ

Proof. We divide the proof into two subcases, whether Bi 2 N1 or Bi 2 N2. In both cases, we consider two

further subcases, corresponding to the state of the buffer at the end of batch Bh. If batch Bh has reached the

steady state, only two cases hold: either the buffer is empty or the buffer is filled up to its capacity.

Page 9: Batch scheduling in a two-machine flow shop with limited buffer and sequence independent setup times and removal times

M. Pranzo / European Journal of Operational Research 153 (2004) 581–592 589

1. Bi 2 N1.

If pi1 < pi2 the steady state is reached when the buffer is filled up to its capacity. This happens when, for

the first time, the part completed onM1 cannot be moved to the buffer. The worst case arises when the batch

Bh leaves the buffer empty. The removal (setup) times of batch BhðBiÞ do not affect the number of parts

needed to fill up the buffer. We have to find the minimum value of bi for which bipi2 P ðbi � 1Þpi1 þ ðcþ 1Þpi2holds. That is

b�i ¼cpi2

pi2 � pi1

� �þ 1: ð12Þ

The expression (12) is in accordance with (11). If the batch Bh leaves the buffer full or partially full the batch

Bi can reach the steady state even sooner.2. Bi 2 N2.

If pi1 > pi2 the steady state is reached when the buffer is completely emptied. This happens when, for the

first time, the part completed on M1 can be moved to the machine M2 without wait in the buffer. The worst

case arises when the batch Bh leaves the buffer full. In the worst case the removal (setup) times of batch

BhðBiÞ do not affect the number of parts needed to empty the buffer. We have to find the minimum value of

bi for which bipi1 P ðbi � 1Þpi2 þ ðcþ 1Þpi1 holds. That is

b�i ¼cpi1

pi1 � pi2

� �þ 1: ð13Þ

The expression (13) is in accordance with (11). If the batch Bh leaves the buffer partially full or empty the

batch Bi can reach the steady state sooner. The steady state can be reached even sooner than b�i parts due tothe presence of the setup times of the two batch Bh and Bi. �

Note the absence of the setup times in the expression (11), this should not be too surprising because the

number of parts needed to enter in the steady state in the worst case is not affected by the setup times. In the

general case the setup times can help to reach the steady state even sooner because they can help to leave

the buffer away from the steady state condition, i.e. empty or filled up to its capacity.

It should be pointed out that the quantity in (11) is not defined for a batch Bq for which pq1 ¼ pq2. If theprocessing times of a batch are very close to each other, the steady state may never be reached: At the end ofBq the value of the difference between the times at which the two machines can start the new batch may be

identical to the value immediately before Bq, then the coupling cost of batches Bq and Bðqþ1Þ depends on

batch Bðq�1Þ. In other words, the state of the system may be the same as if Bq was not scheduled. This would

happen especially if the setup times for each machine are very similar. However, if we consider the batches

for which the two processing times are identical as belonging to N2, the subsequent discussion on the

approximation is valid as well.

6. Approximation

In Section 5 we have derived an expression for the minimum batch size b�i ensuring that batch Bi reaches

the steady state. From expression (11) we note that such a value can be very large if the difference between

the processing times on the two machines is small. Therefore one is led to analyze the quality of the solution

obtained if the same TSP approach is applied to the case in which some batch size bi is actually lower than

b�i . In fact, one expects that the closer the batch sizes to the values b�i , the more precise the approximation.

In what follows, we derive expressions for an upper and lower bound on the error of a solution, when thebatches are not guaranteed to reach the steady state for any sequence r. In order to derive such bounds, we

analyze how, for a given sequence r, the value of the span of a batch Bi is affected by the fact that the

Page 10: Batch scheduling in a two-machine flow shop with limited buffer and sequence independent setup times and removal times

590 M. Pranzo / European Journal of Operational Research 153 (2004) 581–592

preceding batch (let it be Bh) is not in the steady state. In what follows, z� is the optimal solution to BSP andzTSP denotes the value of the solution obtained by our algorithm. By the previous theorems, if bi P b�i for alli ¼ 1; . . . ; n, then z� ¼ zTSP. Otherwise, in general this equality does not hold.

In Theorem 2 we have obtained the coupling cost of pairing the batch Bh and Bi when Bh reaches the

steady state. If the batch Bh does not reach the steady state then his tail assumes a different value. Let us

introduce T 0i as the tail of the batch Bi when the steady state is not reached. In the two following lemmas we

derive the expression of T 0h if Bh 2 N1 and if Bh 2 N2.

Lemma 5. For any sequence r, and for any batch Bi, if Bh 2 N1, then T 0h 6 maxf0; ðcþ 1Þph1 �

ðbh � ðcþ 1ÞÞðph2 � ph1Þ þ Ri2 � Ri1g.

Proof. If Bh is in the steady state, the value Th of the tail is given by (6). If Bh is not in the steady state the

buffer is not full, thus T 0h cannot be greater than Th, whereas in general it can be smaller.

In particular, the most favorable situation arises if, at the time the last part from Bh leaves M1, the buffer

is completely emptied. In this case, T 0h 6 maxf0; ph2 þ Rh2 � Rh1g.

Beyond the ðcþ 1Þth, each additional part of Bh has the effect of increasing T 0h of the quantity ðph2 � ph1Þ,

and therefore T 0h 6 maxf0; ph2 þ ðbh � ðcþ 1ÞÞðph2 � ph1Þ þ Rh2 � Rh1g. �

Lemma 6. For any sequence r, and for any batch Bi, if Bh 2 N2, then T 0h 6 maxf0; ðcþ 1Þph2 �

ðbh � ðcþ 1ÞÞðph1 � ph2Þ þ Rh2 � Rh1g.

Proof. If Bh is in the steady state, the value Th of the tail is given by (6). If Bh is not in the steady state the

buffer is not empty, thus T 0h cannot be smaller than Th, whereas in general it can be greater.

In particular, the most unfavorable situation arises if, at the time the last part from Bh leaves M1, the

buffer is filled to its capacity (with parts of type Bh). In this case, T 0h 6 maxf0; ðcþ 1Þph2 þ Rh2 � Rh1g.

Beyond the ðcþ 1Þth, each additional part of Bh has the effect of decreasing T 0h of the quantity ðph1 � ph2Þ,

and therefore T 0h 6 maxf0; ðcþ 1Þph2 � ðbh � ðcþ 1ÞÞðph1 � ph2Þ þ Rh2 � Rh1g. �

Note that for the batches Bh 2 N1, and Bh is not in the steady state, the value zTSP is an upper bound of

the real coupling cost. In the other hand for the batches Bh 2 N2, and Bh is not in the steady state, the TSP

cost is a lower bound of the real value z�. We are now in the position of proving the following theorems that

give an upper bound and a lower bound for the z� value.

Theorem 7. The following upper bound holds:

z� 6 zTSP þXh2N2

ðT 0h � ThÞ: ð14Þ

Proof. From Lemma 6, if Bh does not reach the steady state, zTSP is a lower bound of the real coupling costz�.

If Bh 2 N1, and Bh not in the steady state, no makespan increases are introduced. If Bh 2 N2, and Bh not in

the steady state, the increase in the span is smaller than T 0h � Th.

So z� cannot be greater than zTSP þP

h2N2ðT 0

h � ThÞ and the proof is done. �

Theorem 8. The following lower bound holds:

z� P zTSP �X

ðTh � T 0hÞ: ð15Þ

h2N1

Page 11: Batch scheduling in a two-machine flow shop with limited buffer and sequence independent setup times and removal times

M. Pranzo / European Journal of Operational Research 153 (2004) 581–592 591

Proof. FromLemma 5, if Bh does not reach the steady state, zTSP is an upper bound of the real coupling cost z�.If Bh 2 N1, and Bh not in the steady state, the decrease in the span is smaller than Th � T 0

h. If Bh 2 N2, and

Bh not in the steady state, no makespan decreases are introduced.

So z� cannot be smaller than zTSP �P

h2N1ðTh � T 0

hÞ and the thesis follows. �

From Theorems 7 and 8, expressions for the maximum relative error of the solution produced by the

algorithm can be given. To this aim, let us observe that a trivial lower bound on z� is obtained by summing

up all the processing and setup times on one machine:

z� P max Uh1

(þXn

h¼1

bhph1 þ Rh1;Uh2 þXn

h¼1

bhph2 þ Rh2

); ð16Þ

and we can prove the following theorem:

Theorem 9. The relative error of a solution produced by the algorithm does not exceed

e6

Pnh¼1 maxf0; cminfph1; ph2g � ðbh � ðcþ 1ÞÞjph1 � ph2jg

max Uh1 þPn

h¼1 bhph1 þ Rh1;Uh2 þPn

h¼1 bhph2 þ Rh2

� � 6c

cþ 1: ð17Þ

Proof. If we subtract the value of the lower bound in Theorem 8 from the upper bound in Theorem 7, and

we divide by the lower bound in (16), we get the first upper bound for e. The expression of the second term

of (17) is maximum when all the batches have minimum cardinality (i.e., cþ 1), when pi1 ¼ pi2 for all

i ¼ 1; . . . ; n, and when the setup times Ui1, Ui2, Ri1, Ri2 are zeros for all i ¼ 1; . . . ; n. In this case the bound

boils down to the rightmost term in (17). In general, however, the value of this expression is substantially

smaller. �

We observe that in the computation of e, the worst case arises when the setup times are zero. If Ui1, Ui2,Ri1, Ri2 are non-zeros, for some batch Bi, the value of the rightmost term in (17) is strictly smaller than

c=ðcþ 1Þ. We remind that (17) only gives an upper bound on the relative error, which can in fact be even

smaller. Notice that for small c our approach gives a very small relative error, whereas it increases for larger

buffer capacity. (This is similar to the approximation result by Papadimitriou and Kanellakis [13].)

7. Conclusions and future research

In this paper we have dealt with the problem of sequencing batches, with sequence independent setup

times and removal times, in a flow shop with limited intermediate storage, in order to minimize the

makespan. Conditions on the batch sizes are proposed, so that the problem can be solved in polynomial

time, by defining a suitable instance of no-wait flow shop. These conditions are however only sufficient, and a

challenging research issue is to refine these conditions. Moreover, the special case in which pi1 ¼ pi2 has notbeen addressed explicitly here. The reason is that in this case the subsequent schedule may not be decoupled

from the schedule preceding the batch, no matter how large the value bi. It is of interest to see if there exists

some particular three-machine flow shop case with the batching assumption solvable in polynomial time.

Acknowledgements

The author would like to thank the anonymous referees for their comments that helped in improving the

quality of this paper.

Page 12: Batch scheduling in a two-machine flow shop with limited buffer and sequence independent setup times and removal times

592 M. Pranzo / European Journal of Operational Research 153 (2004) 581–592

References

[1] A. Agnetis, D. Pacciarelli, F. Rossi, Batch sequencing in a two machine flow shop with limited buffer, Discrete Applied

Mathematics 72 (1997) 243–260.

[2] A. Allahverdi, J.N.D. Gupta, T. Aldowaisan, A review of scheduling research involving setup considerations, Omega,

International Journal of Management Science 27 (1999) 219–239.

[3] R.G. Askin, C.R. Standridge, Modeling and analysis of manufacturing systems, Wiley and Sons, 1993.

[4] K.R. Baker, Scheduling groups of jobs in the two machine flowshop, Mathematical Computing Modelling 13 (1990) 29–36.

[5] F.C. Cetinkaya, Lot streaming in a two-stage flow shop with set-up, processing and removal times separated, Journal of the

Operational Research Society 45 (1994) 1445–1455.

[6] J. Dorn, R. Shams, Scheduling high-grade steelmaking, IEEE Expert. 11 (1) (1996) 28–35.

[7] M.R. Garey, D.S. Johnson, R. Sethi, The complexity of flowshop and jobshop scheduling, Mathematics of Operations Research. 1

(1976) 117–129.

[8] P.C. Gilmore, R.E. Gomory, Sequencing a one state-variable machine: A solvable case of the traveling salesman problem,

Operations Research 12 (1964) 655–679.

[9] N.G. Hall, C. Sriskandarajah, A survey of machine scheduling problems with blocking and no-wait in process, Operations

Research 44 (1996) 510–525.

[10] S.M. Johnson, Optimal two- and three-stage production schedules with setup times included, Naval Research Logistics Quarterly

1 (1954) 61–68.

[11] L. Tang, J. Liu, A. Rong, Z. Yang, A mathematical programming model for scheduling steel making––continuous casting

production, European Journal of Operational Research 120 (2000) 423–435.

[12] R. Logendran, C. Sriskandarajah, Two-machine group scheduling problem with blocking and anticipatory setups, European

Journal of Operational Research. 69 (1993) 467–481.

[13] C.H. Papadimitriou, P.C. Kanellakis, Flowshop scheduling with limited temporary storage, Journal of the Associated Computer

Machinery 27 (1980) 533–549.

[14] C.N. Potts, M.Y. Kovalyov, Scheduling with batching: A review, European Journal of Operational Research 120 (2000) 228–249.

[15] D.R. Sule, Sequencing n jobs on two machine with setup, processing and removal times separated, Naval Research Logistics

Quarterly 29 (1982) 517–519.

[16] R.G. Vickson, B.E. Alfredsson, Two- and three-machine flow shop scheduling problems with equal sized transfer batches,

International Journal of Production Research 30 (1992) 1551–1574.

[17] D.A. Wismer, Solution of the flowshop scheduling problem with no intermediate queues, Operations Research 20 (1972) 689–697.

[18] D.L. Yang, M.S. Chern, Two-machine flowshop group scheduling problem, Computers and Operations Research 27 (2000) 975–

985.

[19] T. Yoshida, K. Hitomi, Optimal two-stages production scheduling with setup times separated, AIIE Transactions 11 (1979) 261–

263.