8
Computers & Operations Research 35 (2008) 876 – 883 www.elsevier.com/locate/cor A two-machine flowshop scheduling problem with a separated maintenance constraint Dar-Li Yang a , Chou-Jung Hsu b , Wen-Hung Kuo c , a Department of Information Management, National Formosa University,Yun-Lin,Taiwan 632, ROC b Department of Industrial Engineering and Management, Nan Kai College, Nan-Tou,Taiwan 542, ROC c Department of Industrial Engineering and Technology Management, Da-Yeh University, Chang-Hwa, Taiwan 515, ROC Available online 12 June 2006 Abstract This paper considers a two-machine flowshop scheduling problem with a separated maintenance constraint. This means that the machine may not always be available during the scheduling period. It needs a constant time to maintain the machine after completing a fixed number of jobs at most. The objective is to find the optimal job combinations and the optimal job schedule such that the makespan is minimized. The proposed problem has some practical applications, for example, in electroplating process, the electrolytic cell needs to be cleaned and made up a deficiency of medicine. In this paper, we propose a heuristic algorithm to solve this problem. Some polynomially solvable cases and computational experiments are also provided. 2006 Elsevier Ltd. All rights reserved. Keywords: Flowshop scheduling; Heuristic algorithm; Maintenance 1. Introduction Johnson [1] first proposed a polynomial optimal algorithm for a two-machine flowshop makespan scheduling prob- lem. Yoshida and Hitomi [2] extended this to the problem with setup times, which are separated from the processing times. Sule and Huang [3] extended the result ofYoshida and Hitomi [2] to a similar problem with separated removal times. Maggu and Das [4] considered a two-machine permutation flowshop scheduling problem with transportation times of jobs between machines. Nabeshima and Maruyama [5] extended the result of Maggu and Das to a similar problem with separated setup and removal times, start and stop lags and transportation times. In the literature, most of them assumed that machines are available at all times. However, in many environments, this assumption may not be realistic in real industry setting. For example, a machine may not be available during the scheduling horizon due to one maintenance or breakdown. Lee [6] studied the problem with an availability constraint, where the machine is unavailable in an interval, and the unavailable time is known in advance. He proved that the problem is NP-hard and provided a dynamic programing algorithm to solve the problem. Allahverdi [7,8] studied the problem with stochastic machine breakdowns and separated setup times. Under certain conditions on the breakdown processes, he showed that Sule and Huang’s algorithm stochastically minimizes the makespan. Corresponding author. Tel.: +886 4851 1888x2240; fax: +886 4851 1270. E-mail address: [email protected] (W.H. Kuo). 0305-0548/$ - see front matter 2006 Elsevier Ltd. All rights reserved. doi:10.1016/j.cor.2006.04.007

A two-machine flowshop scheduling problem with a separated maintenance constraint

Embed Size (px)

Citation preview

Page 1: A two-machine flowshop scheduling problem with a separated maintenance constraint

Computers & Operations Research 35 (2008) 876–883www.elsevier.com/locate/cor

A two-machine flowshop scheduling problem with a separatedmaintenance constraint

Dar-Li Yanga, Chou-Jung Hsub, Wen-Hung Kuoc,∗aDepartment of Information Management, National Formosa University, Yun-Lin, Taiwan 632, ROC

bDepartment of Industrial Engineering and Management, Nan Kai College, Nan-Tou, Taiwan 542, ROCcDepartment of Industrial Engineering and Technology Management, Da-Yeh University, Chang-Hwa, Taiwan 515, ROC

Available online 12 June 2006

Abstract

This paper considers a two-machine flowshop scheduling problem with a separated maintenance constraint. This means thatthe machine may not always be available during the scheduling period. It needs a constant time to maintain the machine aftercompleting a fixed number of jobs at most. The objective is to find the optimal job combinations and the optimal job schedule suchthat the makespan is minimized. The proposed problem has some practical applications, for example, in electroplating process, theelectrolytic cell needs to be cleaned and made up a deficiency of medicine. In this paper, we propose a heuristic algorithm to solvethis problem. Some polynomially solvable cases and computational experiments are also provided.� 2006 Elsevier Ltd. All rights reserved.

Keywords: Flowshop scheduling; Heuristic algorithm; Maintenance

1. Introduction

Johnson [1] first proposed a polynomial optimal algorithm for a two-machine flowshop makespan scheduling prob-lem. Yoshida and Hitomi [2] extended this to the problem with setup times, which are separated from the processingtimes. Sule and Huang [3] extended the result of Yoshida and Hitomi [2] to a similar problem with separated removaltimes. Maggu and Das [4] considered a two-machine permutation flowshop scheduling problem with transportationtimes of jobs between machines. Nabeshima and Maruyama [5] extended the result of Maggu and Das to a similarproblem with separated setup and removal times, start and stop lags and transportation times. In the literature, mostof them assumed that machines are available at all times. However, in many environments, this assumption may notbe realistic in real industry setting. For example, a machine may not be available during the scheduling horizon dueto one maintenance or breakdown. Lee [6] studied the problem with an availability constraint, where the machine isunavailable in an interval, and the unavailable time is known in advance. He proved that the problem is NP-hard andprovided a dynamic programing algorithm to solve the problem. Allahverdi [7,8] studied the problem with stochasticmachine breakdowns and separated setup times. Under certain conditions on the breakdown processes, he showed thatSule and Huang’s algorithm stochastically minimizes the makespan.

∗ Corresponding author. Tel.: +886 4851 1888x2240; fax: +886 4851 1270.E-mail address: [email protected] (W.H. Kuo).

0305-0548/$ - see front matter � 2006 Elsevier Ltd. All rights reserved.doi:10.1016/j.cor.2006.04.007

Page 2: A two-machine flowshop scheduling problem with a separated maintenance constraint

D.-Li. Yang et al. / Computers & Operations Research 35 (2008) 876–883 877

M1 J1 J2 J3 J4 J5 J6 J7 J8 J9

M2 J1 J2 J3J4 J5 J6 J7 J8 J9

1 3 5 8 12 14 16 20 21 23 27 30

Fig. 1. A typical Gantt chart with k1 = 3, k2 = 4, d1 = 1, d2 = 2.

In this paper, we consider a two-machine flowshop scheduling problem where the machine may not always beavailable during the scheduling period. It needs a constant time to maintain the machine after completing a fixed numberof jobs at most. The objective is to minimize the makespan. The proposed problem has some practical applications. Forexample, it is necessary for a numerical controlled machine to maintain after completing a fixed number of jobs. Thismaintenance is to ensure the accuracy of the following operations. A similar application arises in the semiconductorand chemical industries. For example, in electroplating process, the electrolytic cell needs to be cleaned and made upa deficiency of medicine.

The rest of the paper is organized as follows. We first introduce the notation to be used. In the following sections,some important properties and a heuristic algorithm are proposed to solve this problem, some polynomially solvablecases and computational experiments are also provided. Finally, we give our conclusions in the last section.

2. Problem definition

Assume that there are n jobs {J1, J2, . . . , Jn} to be processed on machines M1 and M2 successively. Each job Ji

consists of two operations Oi1 and Oi2, i = 1, . . . , n. The processing time of operation Oij on machine Mj is pij . Alljobs are available for processing at time zero and the preemption of a job is not allowed. It is also assumed that machinej needs a constant time dj to maintain tools or to clean the area of a working center when it completes kj jobs at most(see Fig. 1). Our objective is to find a job sequence and an optimal job combination (that is, the optimal job groupsbetween the maintenance) such that the makespan is minimized.

3. Properties and theoretical results

In this section, we first show that it is sufficient to consider the permutation schedules and the full group policy.Then, we propose a heuristic algorithm to solve this problem.

Full group policyAssume that the number of jobs can be accommodated in a group is at most k1 on machine 1, and at most k2 on

machine 2. The idea of the full group policy is that we will fill each group with as many jobs as possible. A stepwisedescription of the full group policy is given as follows:

Step 1. Without loss of generality, let S = (J1, J2, . . . , Jn) denote the job sequence to be processed on each machine.Step 2. Divide the jobs of sequence S into the following z1 groups on machine 1:

(J1, J2, . . ., Jk1), (Jk1+1, . . ., J2k1), . . ., (J(z1−2)k1+1, . . ., J(z1−1)k1), (J(z1−1)k1+1, . . ., Jn), where z1 =�n/k1�and �d� denotes the smallest integer larger than or equal to d. We note that the first (z1 − 1) groups are fulland the last group has n − (z1 − 1)k1 jobs.

Step 3. Divide the jobs of sequence S into the following z2 groups on machine 2:(J1, J2, . . . , Jn−(z2−1)k2), (Jn−(z2−1)k2+1, . . . , Jn−(z2−2)k2), . . . , (Jn−2k2+1, . . . , Jn−k2), (Jn−k2+1, . . . , Jn),where z2 = �n/k2�. We note that the first group has n − (z2 − 1)k2 jobs and the remaining (z2 − 1) groups arefull.

Theorem 1. It is sufficient to consider permutation schedules and the full group policy.

Proof. We first show that it is sufficient to consider permutation schedules. If it is not true in a schedule �, then thereis a job Ji which directly precedes Jj on machine 1 and follows Jj on machine 2, perhaps with intervening jobs. Weconsider the following two cases: (i) There is one maintenance time d1 between Ji and Jj on machine 1 (Fig. 2(a)).

Page 3: A two-machine flowshop scheduling problem with a separated maintenance constraint

878 D.-Li. Yang et al. / Computers & Operations Research 35 (2008) 876–883

(a)

M1 … Jj …

M2 … Jj … Ji …

(b)

M1 … Ji Jj …

M2 … Jj … Ji …

Ji

Fig. 2. An illustration for the interchange of jobs in Theorem 1.

(ii) There does not exist a maintenance time d1 between Ji and Jj (Fig. 2(b)). Clearly, it does not increase the makespanto interchange the order of Ji and Jj on machine 1. Therefore, repeating the process of interchanging jobs until apermutation schedule �′ is obtained completes the first part of the proof. In the following, we show that it suffices toconsider the full group policy.

For machine 1, suppose that there is a sequence with a job combination S′1: (A′

1, A′2, . . . , A

′w). If S′

1 does not satisfythe full group policy, then there exists an A′

i , i < w such that the job number of A′i is less than k1, i.e. |A′

i | < k1. Inthis case, we consider the job combination S1: A′

1, A′2, . . . , A

′i−1, Ai, Ai+1, A

′i+2, . . . , A

′w where the first job in group

A′i+1 is moved to A′

i . Such an adjacent interchange operation does not increase the completion time of any jobs onboth machines. The proof is similar on machine 2. Therefore, by induction, repeating the process of interchanging jobsuntil a schedule satisfies the full group policy completes the proof of Theorem 1. �

In the following, we consider four cases: (1) There are maintenance times d1 and d2 between Jl and Jk on machine1 and machine 2, respectively. (Fig. 3(a)). (2) There is only one maintenance time d1 between Jl and Jk on machine1 (Fig. 3(b)). (3) There is only one maintenance time d2 between Jl and Jk on machine 2 (Fig. 3(c)). (4) There is nomaintenance time between Jl and Jk on machine 1 and machine 2. (Fig. 3(d)).

Lemma 1. For the proposed problem, there exists an optimal schedule that satisfies one of the following conditions:

(a) For case (1), if min{pk1 + d1, pl2 + d2}� min{pl1 + d1, pk2 + d2}, then job Jk precedes job Jl .(b) For case (2), if min{pk1 + d1, pl2}� min{pl1 + d1, pk2}, then job Jk precedes job Jl .(c) For case (3), if min{pk1, pl2 + d2}� min{pl1, pk2 + d2}, then jobJk precedes job Jl .(d) For case (4), if min{pk1, pl2}� min{pl1, pk2}, then job Jk precedes job Jl .

Proof. Part (a): Let S = (�1, Jl, Jk, �2) denote a job sequence, where �1 and �2 are subsequences and �1 or �2may be empty. We will show that interchanging the order of Jl and Jk in S does not increase the makespan (Fig. 3(a)).Let S′ = (�1, Jk, Jl, �2) and denote Cij and C′

ij as the completion times of job Ji on machine j in sequences S andS′, respectively. In sequence �1, we also denote Ci as the completion time on machine i (i = 1, 2).

For case (a), we have

Cl1 = C1 + pl1,

Cl2 = max{C1 + pl1, C2} + pl2,

Ck1 = C1 + pl1 + d1 + pk1, (1)

Ck2 = max{Ck1, Cl2 + d2} + pk2 = max{Ck1, max{C1 + pl1, C2} + pl2 + d2} + pk2

= max{C1 + pl1 + d1 + pk1, C1 + pl1 + pl2 + d2, C2 + pl2 + d2} + pk2. (2)

Similarly, we have

C′l1 = C′

1 + pk1 + d1 + pl1, (3)

C′l2 = max{C′

1 + pk1 + d1 + pl1, C′1 + pk1 + pk2 + d2, C

′2 + pk2 + d2} + pl2. (4)

Page 4: A two-machine flowshop scheduling problem with a separated maintenance constraint

D.-Li. Yang et al. / Computers & Operations Research 35 (2008) 876–883 879

(a)

M1 … Jl Jk …

M2 … Jl Jk …

(b)

M1 … Jl Jk …

M2 … Jl Jk …

(c)

M1 … Jl Jk …

M2 … Jl Jk …

(d)

M1 … Jl Jk …

M2 … Jl Jk …

Fig. 3. Four possible cases between two adjacent jobs.

Now by comparing S and S′, we have C1 = C′1 and C2 = C′

2. Thus, C′l1 = Ck1 holds.

By (2) and (4), in order to have C′l2 �Ck2, it is sufficient to show that

max{pk1 + d1 + pl1 + pl2, pk1 + pk2 + d2 + pl2}� max{pl1 + d1 + pk1 + pk2, pl1 + pl2 + d2 + pk2}. (5)

Subtracting pk1 + pl1 + pk2 + pl2 + d1 + d2 from both sides of (5), we have an equivalent inequality

max{−pk2 − d2, −pl1 − d1}� max{−pl2 − d2, −pk1 − d1} or min{pk1 + d1, pl2 + d2}� min{pl1 + d1, pk2 + d2}.

Therefore, if min{pk1 + d1, pl2 + d2}� min{pl1 + d1, pk2 + d2}, then C′l2 �Ck2. This completes the proof of

part (a).Part (b): The proof of part (b) is similar to that in part (a). We will show that interchanging the order of Jl and Jk in

S does not increase the makespan (Fig. 3(b)).For case (2), we have

Cl1 = C1 + pl1,

Cl2 = max{C1 + pl1, C2} + pl2,

Ck1 = C1 + pl1 + d1 + pk1, (6)

Ck2 = max{Ck1, Cl2} + pk2 = max{Ck1, max{C1 + pl1, C2} + pl2} + pk2

= max{C1 + pl1 + d1 + pk1, C1 + pl1 + pl2, C2 + pl2} + pk2. (7)

Similarly, we have

C′l1 = C′

1 + pk1 + d1 + pl1, (8)

C′l2 = max{C′

1 + pk1 + d1 + pl1, C′1 + pk1 + pk2, C

′2 + pk2} + pl2. (9)

Page 5: A two-machine flowshop scheduling problem with a separated maintenance constraint

880 D.-Li. Yang et al. / Computers & Operations Research 35 (2008) 876–883

Table 1A ten-job problem with k1 = 3, k2 = 4, d1 = 2, d2 = 1

i 1 2 3 4 5 6 7 8 9 10

pi1 1 4 2 5 5 2 8 5 7 4pi2 2 5 4 3 6 1 9 8 7 2

Now by comparing S and S′, we have C1 = C′1 and C2 = C′

2. Thus, C′l1 = Ck1 holds. By (7) and (9), in order to have

C′l2 �Ck2, it is sufficient to show that

max{pk1 + d1 + pl1 + pl2, pk1 + pk2 + pl2}� max{pl1 + d1 + pk1 + pk2, pl1 + pl2 + pk2}. (10)

Subtracting pk1 + pl1 + pk2 + pl2 + d1 from both sides of (10), we have an equivalent inequality

max{−pk2, −pl1 − d1}� max{−pl2, −pk1 − d1} or min{pk1 + d1, pl2}� min{pl1 + d1, pk2}.Therefore, if min{pk1 + d1, pl2}� min{pl1 + d1, pk2}, then C′

l2 �Ck2. This completes the proof of part (b).Part (c): This proof of Part (c) is similar to that in Part (b).Part (d): This proof is similar to that of Johnson’s rule.Based on Lemma 1, we propose a heuristic algorithm. A stepwise description of the algorithm is given as follows:

Algorithm.

Step 1. (Determining a job sequence and an optimal job combination) Find a job sequence and an optimal job combi-nation by using Johnson’s algorithm and the full group policy, respectively.Job combination on machine 1:

(J[1], J[2], . . . , J[k1])(J[k1+1], . . . , J[2k1]) . . . (J[(z1−2)k1+1], . . . , J[(z1−1)k1])(J[(z1−1)k1+1], . . . , J[n]).

Job combination on machine 2:

(J[1], J[2], . . . , J[n−(z2−1)k2])(J[n−(z2−1)k2+1], . . . , J[n−(z2−2)k2]). . . (J[n−2k2+1], . . . , J[n−k2])(J[n−k2+1], . . . , J[n]),

where J[i] is the job scheduled at the ith position in the processing sequence by using Johnson’s algorithm. Goto Step 2.

Step 2. (Determining a near-optimal job sequence) Adjust the position for each adjacent job in the adjacent groups.Find the first adjacent jobs in the adjacent groups, which does not check. If it is in case (1), go to Step 2.1. Ifit is in case (2), go to Step 2.2. If it is in case (3), go to Step 2.3.

2.1 If case (1) of Lemma 1 holds, then interchange the adjacent jobs and go to Step 2.4.2.2 If case (2) of Lemma 1 holds, then interchange the adjacent jobs and go to Step 2.4.2.3 If case (3) of Lemma 1 holds, then interchange the adjacent jobs and go to Step 2.4.2.4 Repeat Step 2 until all the adjacent jobs in the adjacent groups have been checked.

In the following, the proposed algorithm is implemented to solve a ten-job problem, which is given in Table 1.Step 1. The job sequence of ten jobs determined by Johnson’s algorithm and the full group policy is

S = (J1, J3, J2)(J5, J8, J9)(J7, J4, J10)(J6)

(J1, J3)(J2, J5, J8, J9)(J7, J4, J10, J6)

Step 2. The first pair of adjacent jobs is J3J2. This pair is in case (3), go to Step 2.3.For min{p21, p32 + d2} = 4 > min{p31, p22 + d2} = 2, by case (3) of Lemma 1, it is useless to interchange thejobs J3 and J2 in S, and the sequence is still equal to

S = (J1, J3, J2)(J5, J8, J9)(J7, J4, J10)(J6)

(J1, J3)(J2, J5, J8, J9)(J7, J4, J10, J6)

Go to Step 2.4. Choose the first unchecked pair J2J5. This pair is in case (2), go to Step 2.2.

Page 6: A two-machine flowshop scheduling problem with a separated maintenance constraint

D.-Li. Yang et al. / Computers & Operations Research 35 (2008) 876–883 881

J1 J3 J5 J2 J8 J7 J9 J4 J10 J6

1 2 5 4 5 8 7 5 4 2

2 4 6 5 8 9 7 3 2 1

0 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 502

Fig. 4. The Gantt chart of a near-optimal sequence.

For min{p51 + d1, p22} = 5� min{p21 + d1, p52} = 6, by case (2) of Lemma 1, interchange the jobs J2 andJ5 in S, and update the sequence

S = (J1, J3, J5)(J2, J8, J9)(J7, J4, J10)(J6)

(J1, J3)(J5, J2, J8, J9)(J7, J4, J10, J6)

Go to Step 2.4. Choose the first unchecked pair J3J5. This pair is in case (3), go to Step 2.3.

For min{p51, p32 + d2} = 5 > min{p31, p52 + d2} = 2, by case (3) of Lemma 1, it is useless to interchange thejobs J3 and J5 in S, and the sequence is still equal to

S = (J1, J3, J5)(J2, J8, J9)(J7, J4, J10)(J6)

(J1, J3)(J5, J2, J8, J9)(J7, J4, J10, J6)

Go to Step 2.4. Choose the first unchecked pair J9J7. This pair is in case (1), go to Step 2.1.

For min{p71 + d1, p92 + d2} = 8� min{p91 + d1, p72 + d2} = 9, by case (1) of Lemma 1, interchange thejobs J9 and J7 in S, and update the sequence

S = (J1, J3, J5)(J2, J8, J7)(J9, J4, J10)(J6)

(J1, J3)(J5, J2, J8, J7)(J9, J4, J10, J6)

Go to Step 2.4. Choose the first unchecked pair J10J6. This pair is in case (2), go to Step 2.2.

For min{p61 + d1, p10,2} = 2 > min{p10,1 + d1, p62} = 1, by case (2) of Lemma 1, it is useless to interchangethe jobs J10 and J6 in S, and the sequence is still equal to

S = (J1, J3, J5)(J2, J8, J7)(J9, J4, J10)(J6)

(J1, J3)(J5, J2, J8, J7)(J9, J4, J10, J6)

Go to Step 2.4. Since all of the adjacent pairs have been checked, STOP. A near-optimal sequence

S = (J1, J3, J5)(J2, J8, J7)(J9, J4, J10)(J6)

(J1, J3)(J5, J2, J8, J7)(J9, J4, J10, J6)

is obtained. The makespan is 50 and the Gantt chart is given in Fig. 4.

4. Some polynomially solvable cases

In this section, some solvable cases are provided in Theorem 2.

Theorem 2. The schedule given in Step 1 of the above algorithm is optimal if it satisfies one of the followingconditions:

(a) In the case of d1 = 0, and (i) pi1 �pi2 or (ii) pi1 �pi2 + d2 for all i.(b) In the case of d2 = 0, and (i) pi1 �pi2 or (ii) pi1 + d1 �pi2 for all i.(c) In the case of d1 = d2, and (i) pi1 �pi2 or (ii) pi1 + d1 �pi2 for all i.

Page 7: A two-machine flowshop scheduling problem with a separated maintenance constraint

882 D.-Li. Yang et al. / Computers & Operations Research 35 (2008) 876–883

Table 2Computational results for the algorithm

n Observed in 500 test problems Average

k1 = 4 k1 = 8 k1 = 12 k1 = 16

k2 = 4 k2 = 8 k2 = 12 k2 = 16 k2 = 4 k2 = 8 k2 = 12 k2 = 16 k2 = 4 k2 = 8 k2 = 12 k2 = 16 k2 = 4 k2 = 8 k2 = 12 k2 = 16

20 4.17 4.05 4.39 4.39 3.69 3.09 3.05 3.05 4.24 3.86 2.97 2.97 4.24 3.86 2.97 2.97 3.6230 0.82 0.93 0.85 0.93 1.25 0.89 0.88 0.76 1.35 1.31 0.80 0.83 1.75 1.70 1.38 0.89 1.0840 0.26 0.36 0.40 0.42 0.18 0.41 0.35 0.45 0.23 0.18 0.23 0.34 0.23 0.16 0.19 0.24 0.2950 0.32 0.41 0.42 0.47 0.43 0.42 0.45 0.44 0.34 0.27 0.40 0.39 0.31 0.32 0.29 0.30 0.3760 0.09 0.10 0.09 0.09 0.20 0.11 0.12 0.10 0.23 0.22 0.12 0.13 0.23 0.24 0.15 0.15 0.1570 0.04 0.02 0.04 0.04 0.07 0.03 0.04 0.02 0.07 0.07 0.04 0.04 0.07 0.08 0.04 0.04 0.0580 0.06 0.03 0.02 0.02 0.07 0.08 0.04 0.05 0.07 0.09 0.09 0.04 0.07 0.09 0.10 0.09 0.0690 0.01 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.01 0.02 0.02 0.02 0.01 0.01 0.02 0.02 0.02100 0.01 0.01 0.01 0.01 0.03 0.01 0.02 0.02 0.03 0.02 0.01 0.02 0.03 0.04 0.02 0.01 0.02

Average 0.64 0.66 0.69 0.71 0.66 0.56 0.55 0.54 0.73 0.67 0.52 0.53 0.77 0.72 0.57 0.52 0.63

Unit = 10−2.

Proof. Part (a): Since pi1 �pi2 for all i, it is easy to show that Johnson’s algorithm condition min{pi1, pj2}� min{pj1, pi2} implies min{pi1, pj2 + d2}� min{pj1, pi2 + d2}. Therefore, the Johnson’s algorithm and the fullgroup policy give an optimal solution. The proof of (ii) is similar to that of (i). We omit the details here.

Part (b): The proof of Part (b) is similar to that of Part (a). We omit the details here.Part (c): We first prove (i). Since d1 = d2, it is easy to see that Johnson’s algorithm inequality min{pi1, pj2}

� min{pj1, pi2} implies min{pi1 + d1, pj2 + d2}� min{pj1 + d1, pi2 + d2}. Since pi1 �pi2 + d2 for all i, it is easyto see that condition (ii) of part (a) and condition (i) of part (b) still hold. Therefore, Johnson’s algorithm and the fullgroup policy give an optimal solution. The proof of (ii) is similar to that of (i). We omit the details here.

5. Computational experiments

In order to evaluate the effectiveness of the proposed algorithm, the computational experiments were conducted. Thetest problems were randomly generated based on the combinations of the following parameters.

(1) n is equal to 20, 30, 40, 50, 60, 70, 80, 90, or 100.(2) k1 is equal to 4, 8, 12, or 16.(3) k2 is equal to 4, 8, 12, or 16.(4) pi1 is uniformly distributed over [1, 50].(5) pi2 is uniformly distributed over [1, 50].(6) d1 is uniformly distributed over [20, 100].(7) d2 is uniformly distributed over [20, 100].

A total of 72,000 (9 × 16 × 500) test problems were generated. There are 500 test problems for each combination.For each of the problems, a percentage of error

E = Ch − Clow

Clow× 100

is computed, where Ch is the makespan obtained by the heuristic algorithm and Clow is the lower bound on thecorresponding makespan. The lower bound Clow is estimated in the following.

Clow = max

{n∑

i=1

pi1 + (z1 − 1) × d1 + min1� i �n

{pi2}, min1� i �n

{pi1} +n∑

i=1

pi2 + (z2 − 1) × d2

},

where we assume that processing on each machine may be continuous.

Page 8: A two-machine flowshop scheduling problem with a separated maintenance constraint

D.-Li. Yang et al. / Computers & Operations Research 35 (2008) 876–883 883

The results are given in Table 2. To evaluate the overall performance of the heuristic algorithm, we compute themean of all the average percentage errors reported in Table 2. The mean value is 0.0063, which suggests that theheuristic algorithm, on the average, finds schedules that are within 0.0063% of optimality. Based on the computationalexperiments, as can be seen from Table 2, the performance of the proposed algorithm is quite satisfactory. We can alsosee that the average percentage of the errors decreases as the job number n increases. This result is quite encouragingsince it provides an efficient procedure for solving large-scale problems.

6. Conclusions

In this paper, we investigate a two-machine flowshop scheduling problem with a maintenance constraint. The objectiveis to find the optimal job combinations and the job schedule such that the makespan is minimized. We provide a heuristicalgorithm to solve the problem. Some polynomial solvable cases and computational experiments are also provided. Inaddition, we note that the complexity status of the problem remains an open question, and solving it seems an interestingtopic for future research.

Acknowledgment

This work is partially supported by the National Science Council of the Republic of China under grant NSC-94-2213-E-150-016.

References

[1] Johnson SM. Optimal two- and three-stage production schedules with setup times included. Naval Research Logistics Quarterly 1954;1:61–8.[2] Yoshida T, Hitomi K. Optimal two-stage production scheduling with setup times separated. AIIE Transactions 1979;11:261–3.[3] Sule D, Huang KY. Sequency on two and three machines with setup, processing and removal times separated. International Journal of Production

Research 1983;21:723–32.[4] Maggu PL, Das G. On 2 × n sequencing problem with transportation times of jobs. Pure and Applied Mathematika Sciences 1980;12:1–6.[5] Nabeshima I, Maruyama S. Two- and three-machine flow-shop makespan scheduling problems with additional times separated from processing

times. Journal of the Operations Research Society of Japan 1984;27:348–66.[6] Lee CY. Minimizing the makespan in the two-machine flowshop scheduling problem with availability constraint. Operations Research Letters

1997;20:129–39.[7] Allahverdi A. Two-stage production scheduling with separated setup times and stochastic breakdowns. Journal of the Operational Research

Society 1995;46:896–904.[8] Allahverdi A. Scheduling in stochastic flowshops with independent setup, processing and removal times. Computers and Operations Research

1997;24:955–60.