European Journal of Operational Research 169 (2006) 767–780 www.elsevier.com/locate/ejor
A branch-and-bound algorithm for three-machine flowshop scheduling problem to minimize total completion time with separate setup times Ali Allahverdi a
a,*
, Fawaz S. Al-Anzi
b,1
Department of Industrial and Management Systems Engineering, Kuwait University P.O. Box 5969, Safat, Kuwait b Department of Computer Engineering, Kuwait University P.O. Box 5969, Safat, Kuwait Received 11 November 2003; accepted 28 July 2004 Available online 12 March 2005
Abstract In this paper, we address the three-machine flowshop scheduling problem. Setup times are considered separate from processing times, and the objective is to minimize total completion time. We show that the three-site distributed database scheduling problem can be modeled as a three-machine flowshop scheduling problem. A lower bound is developed and a dominance relation is established. Moreover, an upper bound is developed by using a three-phase hybrid heuristic algorithm. Furthermore, a branch-and-bound algorithm, incorporating the developed lower bound, dominance relation, and the upper bound is presented. Computational analysis on randomly generated problems is conducted to evaluate the lower and upper bounds, the dominance relation, and the branch-and-bound algorithm. The analysis shows the efficiency of the upper bound, and, hence, it can be used for larger size problems as a heuristic algorithm. Ó 2005 Elsevier B.V. All rights reserved. Keywords: Scheduling; Distributed database; Flowshop; Total completion time; Dominance relation; Lower and upper bounds; Branch-and-bound
1. Introduction Many real life problems can be modeled as a three-machine flowshop scheduling problem where setup times are treated as separate from processing time. A specific case is in the area of distributed computing.
*
1
Corresponding author. Tel.: +965 484 1188; fax: +965 481 6137. E-mail addresses:
[email protected] (A. Allahverdi),
[email protected] (F.S. Al-Anzi). Fax: +965 481 7451.
0377-2217/$ - see front matter Ó 2005 Elsevier B.V. All rights reserved. doi:10.1016/j.ejor.2004.07.074
768
A. Allahverdi, F.S. Al-Anzi / European Journal of Operational Research 169 (2006) 767–780
Distributed computing is becoming one of the most promising choices for speeding up computations (Elmasri and Navathe, 1999). This is especially true for cases where tasks can easily be broken into sequential related subtasks. In the field of databases, it is common to find that the business logic of a transaction (job) can be divided into queries that run on separate machines sequentially. The only relation between two adjacent tasks would be the transfer of results from one subtask to the next one. For this reason, in an m site distributed database, queries are typically programmed to execute on different sites for efficiency reasons. Consider a configuration of three sites. An execution of a job is first submitted to the machine on site 1 for first stage of processing. The result of machine processing on site 1 is then transferred through the network to the machine on site 2 for more processing which allows the machine on site 1 to process a new job. When processing of machine 2 is complete, the result is transferred to the machine on site 3 for final processing which leaves the machine on site 2 ready to process further jobs that have been completed by the machine on site 1. Note that some extra times are needed for submitting a job to the machine on site 1 as well as transferring the results to the machines on sites 2 and 3. These times can be observed as times needed for setting up jobs for processing on machines on different sites. Typically, there is a set of transactions (jobs) grouped in a batch. For the best performance of the distributed system, it is desired to minimize the average completion time of the jobs in that batch since the average completion time is a measure of quality of the service of the distributed system. This problem can be modeled as a three-machine flowshop scheduling problem where the objective is to minimize total completion time, and the setup times are considered separate from processing times. Another application of separate setup can be found in the printing industry, where machine cleaning (setup) time depends on the color of the order. Similar practical situations arise in the chemical, pharmaceutical, food processing, metal processing, and semiconductor industries (Srikar and Ghosh, 1986; Bianco et al., 1988; Bitran and Gilbert, 1990; Uzsoy et al., 1992; Kim and Bobrowski, 1994; and Schaller et al., 2000). A recent survey on scheduling problems involving setup times is given by Allahverdi et al. (1999). Yoshida and Hitomi (1979) extended the well-known two-machine flowshop scheduling problem to the case where setup times are separate from processing times and sequence independent with the objective of minimizing makespan. Allahverdi (1995) extended the work of Yoshida and Hitomi to stochastic environments. There are other studies addressing flowshop scheduling problem with the objective function of makespan including Das et al. (1995), Rajendran and Ziegler (1997), and Rios-Mercado and Bard (1998, 1999). Dileepan and Sen (1991) addressed the same problem, but with the objective of minimizing maximum lateness. They presented dominance relations along with a lower bound to be used in a branch-and-bound algorithm. They also developed two heuristic algorithms. Allahverdi and Al-Anzi (2002) indicated that the multimedia data objects scheduling problem for WWW Applications can be modeled as a two-machine flowshop problem of minimizing maximum lateness with separate setup times. They established three dominance relations and proposed four heuristics. They showed that their proposed heuristics outperform the ones developed by Dileepan and Sen. The two-machine flowshop problem was shown to be NP-hard (Gonzalez and Sahni, 1978) when the objective is to minimize mean or total completion time instead of makespan, even for the case where setup times are neglected. This means that it is highly unlikely to find a polynomial algorithm to solve the problem. Therefore, researchers have focused on the development of branch-and-bound algorithms for the mean or total flowtime criterion problem. As a result, several lower bounds, dominance relations, and versions of branch-and-bound algorithm have been proposed for the case where setup times are ignored (Ahmadi and Baghci, 1990; Cadambi and Sathe, 1983; and Della Croce et al., 2002). Bagga and Khurana (1986) addressed the two-machine flowshop problem to minimize total completion time when considering setup times as separate from processing times and sequence-independent. They developed one dominance relation and a lower bound for the problem. Allahverdi (2000) also considered the same problem of Bagga and Khurana. He established two more dominance relations for the problem. He also presented a branch-and-bound algorithm incorporating the dominance relations that he and Bagga
A. Allahverdi, F.S. Al-Anzi / European Journal of Operational Research 169 (2006) 767–780
769
and Khurana established. Moreover, he presented three heuristics for the problem. Al-Anzi and Allahverdi (2001) showed that the three-tired client–server database internet connectivity problem is equivalent to the two-machine flowshop problem with separate setup times, and hence the results of Bagga and Khurana (1986) and Allahverdi (2000) can be used for the three-tired client–server database internet connectivity problem when the objective is to minimize total completion time. Al-Anzi and Allahverdi (2001) also proposed heuristics for the problem and discussed the computational complexity of the proposed and the previous heuristics. Al-Anzi and Allahverdi (2001) showed that their heuristics outperform the previous ones. The literature reveals that the flowshop problem with separate setup times and total completion time criterion has been limited to the two-machine flowshop. In this paper, we extend the problem to the three-machine flowshop problem. We develop a lower bound, an upper bound, and a dominance relation. Furthermore, we propose a branch-and-bound algorithm that incorporates these bounds and the relation. We evaluate the lower and upper bounds, the dominance relation, and the branch-and-bound algorithm through computational experiments. Moreover, we establish the conditions under which an optimal solution can be obtained. Problem formulation is presented in the next section. The dominance relation, the lower bound, the optimum sequence, the upper bound, the branch-and-bound algorithm, the computational experiments, and the conclusions are presented in Sections 3–9, respectively. 2. Formulation Let tj,k: the processing time of job j (j = 1, 2, . . ., n) on machine k (k = 1, 2, 3), sj,k: the setup time of job j on machine k, Cj,k: the completion time of job j on machine k, TCT: total completion time. Also let [j] denote the job in position j. Therefore, t[j],k denotes the processing time of the job in position j. s[j],k and C[j],k are defined similarly. Let ST[j],k denote the sum of the setup and processing times of jobs in positions 1, 2, . . ., j on machine k, i.e., ST½j;k ¼
j X
ðs½r;k þ t½r;k Þ;
j ¼ 1; 2; . . . ; n and k ¼ 1; 2; 3:
r¼1
Let d½j ¼ ST½j;1 ðST½j1;2 þ s½j;2 Þ;
j ¼ 1; 2; . . . ; n;
ð1Þ
where ST[0],2 = 0. Let IT[j],2 denote total idle time on the second machine until the job in position j on the machine is completed. It is known that (see Allahverdi, 2000): IT½j;2 ¼ maxf0; d½1 ; d½2 ; . . . ; d½j g:
ð2Þ
Therefore, C ½j;2 ¼ ST½j;2 þ IT½j;2 :
ð3Þ
Now let /½j ¼ IT½j;2 þ ST½j;2 ðST½j1;3 þ s½j;3 Þ;
j ¼ 1; 2; . . . ; n;
ð4Þ
770
A. Allahverdi, F.S. Al-Anzi / European Journal of Operational Research 169 (2006) 767–780
where ST[0],3 = 0. Similarly, if IT[j],3 denotes the total idle time on the third machine until the job in position j on the machine is completed. It can be shown that IT½j;3 ¼ maxf0; /½1 ; /½2 ; . . . ; /½j g:
ð5Þ
Hence, C ½j;3 ¼ ST½j;3 þ IT½j;3 :
ð6Þ
Once the completion times of jobs on the last (third) machine are known, then, n X C ½j;3 : TCT ¼
ð7Þ
j¼1
It should be noted that throughout this paper we only consider permutation flowshops.
3. A dominance relation Dominance relations are common in the scheduling literature (Chu, 1992; Bagga and Khurana, 1986; Allahverdi, 2000; and Allahverdi and Al-Anzi, 2002). They are mainly used in implicit enumeration techniques such as branch-and-bound algorithms. In this section a dominance relation is developed for our problem. Consider exchanging the positions of two adjacent jobs on a three-machine flowshop in a sequence p1 that has job i in an arbitrary position s and job j in position s + 1. Consider another sequence that is obtained from the sequence p1 by only interchanging jobs i and j. Call the sequence obtained from p1 as p2, i.e., p1 = . . ., i, j, . . . and p2 = . . ., j, i, . . . If it is shown that TCT(p2) 6 TCT(p1), then, sequence p2 would be no worse than sequence p1, and, therefore, job j precedes job i in a sequence that minimizes total completion time. The following four lemmas will be used for the proof of Theorem 1, which specifies a dominance relation for our problem. In Lemma 1, it is shown that d[r] values for both sequences of p1 andp2 are the same for all positions except s and s + 1. Lemma 1. For both sequences p1 and p2, d[r](p1) = d[r](p2) for r = 1, 2, . . ., s 1, s + 2, s + 3, . . ., n. Proof. It is obvious that d[r](p1) = d[r](p2) for r = 1, 2, . . ., s 1 since both sequences have the same jobs in these positions. Furthermore, d[r](p1) = d[r](p2) for r = s + 2, s + 3, . . ., n since again both sequences have the same jobs in these positions, and both include the jobs in positions s and s + 1. Observe that the sum of processing and setup times is taken into account and hence the order is not important. h In the following Lemma, it is shown that /[r] value for sequence p2 is less than or equal to that of p1 for all positions except s and s + 1 if a certain condition is satisfied. Lemma 2. If max{d[s](p2), d[s+1](p2)} 6 max{d[s](p1), d[s+1](p1)}, then /[r](p1) = /[r](p2) for r = 1, 2, . . ., s 1, and furthermore /[r](p2) 6 /[r](p1) for r = s + 2, s + 3, . . ., n. Proof. It is clear that /[r](p1) = /[r](p2) for r = 1, 2, . . ., s 1 since both sequences have the same jobs in these positions. Now, it follows by definition of /[r] that for r = s + 2, s + 3, . . ., n /½r ðp2 Þ /½r ðp1 Þ ¼ maxf0; d½1 ðp2 Þ; . . . ; d½s ðp2 Þ; d½sþ1 ðp2 Þ; . . . ; d½r ðp2 Þg maxf0; d½1 ðp1 Þ; . . . ; d½s ðp1 Þ; d½sþ1 ðp1 Þ . . . ; d½r ðp1 Þg: If max{d[s](p2), d[s+1](p2)} 6 max{d[s](p1), d[s+1](p1)}, then by Lemma 1, /[r](p2) 6 /[r](p1).
h
A. Allahverdi, F.S. Al-Anzi / European Journal of Operational Research 169 (2006) 767–780
771
In the following Lemma, it is shown that the completion time of a job in all positions in the sequence p2 is less than or equal to that of p1 except for positions s and s + 1 if certain conditions are satisfied. Lemma 3. For a given position r (r < s), it is true that C[r],3(p2) = C[r],3(p1). Moreover, if max {/[s](p2), /[s+1](p2)} 6 max{/[s](p1), /[s+1](p1)} and max{d[s](p2), d[s+1](p2)} 6 max{d[s](p1), d[s+1] (p1)}, then C[r],3(p2) 6 C[r],3(p1) for r = s + 2, s + 3, . . ., n. Proof. Since both sequences have the same jobs in positions 1, 2, . . ., s 1, C[r],3(p2) = C[r],3(p1) for r = 1, 2, . . ., s 1. For r = s + 2, s + 3, . . ., n, it follows from the definition of C[r],3 that: C ½r;3 ðp2 Þ C ½r;3 ðp1 Þ ¼ maxf/½1 ðp2 Þ; . . . ; /½s ðp2 Þ; /½sþ1 ðp2 Þ; . . . ; /½r ðp2 Þg maxf/½1 ðp1 Þ; . . . ; /½s ðp1 Þ; /½sþ1 ðp1 Þ . . . ; /½r ðp1 Þg: If maxfd½s ðp2 Þ; d½sþ1 ðp2 Þg 6 maxfd½s ðp1 Þ; d½sþ1 ðp1 Þg and maxf/½s ðp2 Þ; /½sþ1 ðp2 Þg 6 maxf/½s ðp1 Þ; /½sþ1 ðp1 Þg; then, by Lemmas 1 and 2, C[r],3(p2) 6 C[r],3(p1).
h
In the following Lemma, it is shown that the total completion time of the sequence p2 is less than or equal to that of p1 if certain conditions are satisfied. Lemma 4. For the defined sequences p1 and p2, if max{d[s](p2), d[s+1](p2)} 6 max{d[s](p1), d[s+1](p1)}, max{/[s](p2), /[s+1](p2)} 6 max{/[s](p1), /[s+1](p1)}, and [C[s],3(p2) + C[s+1],3(p2)] 6 [C[s],3(p1) + C[s+1],3(p1)], then TCT(p2) 6 TCT(p1). Proof. By Lemma 3, C[r],3(p2) = C[r],3(p1) for r = 1, 2, . . ., s 1. Moreover, again by Lemma 3, when max {d[s](p2), d[s+1](p2)} 6 max{d[s](p1), d[s+1](p1)} and max{/[s](p2), /[s+1](p2)} 6 max{/[s] (p1), /[s+1](p1)} are satisfied, then C[r],3(p2) 6 C[r],3(p1) for r = s + 2, s + 3, . . ., n. Furthermore, if [C[s],3(p2) + C[s+1],3(p2)] 6 [C[s],3(p1) + C[s+1],3(p1)], then TCT(p2) 6 TCT(p1). h A dominance relation is given in the following theorem. Theorem 1. Consider a three-machine flowshop where setup times are treated as separate from processing times. Suppose that two jobs i and j satisfy the following conditions: (i) sj,2 + tj,2 + si,3 6 si,2 + ti,2 + sj,3; (ii) sj,1 + tj,1 + si,2 6 si,1 + ti,1 + sj,2; (iii) Either {sj,2 + tj,2 6 sj,3 + tj,3 and either si,1 + ti,1 6 si,2 + tj,2 or sj,1 + tj,1 6 sj,2 + tj,2} or {si,2 + ti,2 6 si,3 + tj,3 and si,1 + ti,1 6 si,2 + tj,2}; (iv) sj,3 + tj,3 6 si,3 + ti,3. Then, there exists an optimal solution that minimizes total completion time in which job j precedes job i if jobs i and j are adjacent. Proof. Consider the two sequences described earlier. For the jobs in positions s and s + 1 for the two sequences p1 and p2 we have, d½s ðp1 Þ ¼ ST½s1;1 ðp1 Þ þ si;1 þ ti;1 ST½s1;2 ðp1 Þ si;2 ;
ð8Þ
772
A. Allahverdi, F.S. Al-Anzi / European Journal of Operational Research 169 (2006) 767–780
d½s ðp2 Þ ¼ ST½s1;1 ðp2 Þ þ sj;1 þ tj;1 ST½s1;2 ðp2 Þ sj;2 ;
ð9Þ
d½sþ1 ðp1 Þ ¼ ST½s1;1 ðp1 Þ þ si;1 þ ti;1 þ sj;1 þ tj;1 ST½s1;2 ðp1 Þ si;2 ti;2 sj;2 ;
ð10Þ
d½sþ1 ðp2 Þ ¼ ST½s1;1 ðp2 Þ þ sj;1 þ tj;1 þ si;1 þ ti;1 ST½s1;2 ðp2 Þ sj;2 tj;2 si;2 :
ð11Þ
Observe that ST[s1],1(p1) = ST[s1],1(p2) and ST[s1],2(p1) = ST[s1],2(p2) since both sequences have the same jobs in all the positions prior to s. By the hypothesis of (ii) and Eqs. (8) and (9), d½s ðp2 Þ 6 d½s ðp1 Þ:
ð12Þ
If si,1 + ti,1 6 si,2 + tj,2, then by Eqs. (9) and (11), d½sþ1 ðp2 Þ 6 d½s ðp2 Þ
ð13Þ
and if sj,1 + tj,1 6 sj,2 + tj,2, then by Eqs. (8) and (11), d½sþ1 ðp2 Þ 6 d½s ðp1 Þ:
ð14Þ
Hence, it follows by Eq. (12) and the hypothesis of (iii) (i.e., if either Eqs. (13) or (14) holds) that maxfIT½s1;2 ðp2 Þ; d½s ðp2 Þ; d½sþ1 ðp2 Þg 6 maxfIT½1;2 ðp1 Þ; d½s ðp1 Þ; d½sþ1 ðp1 Þg:
ð15Þ
The / values for the jobs in positions s and s + 1 for the two sequences p1 and p2 are given as /½s ðp1 Þ ¼ maxfIT½s1;2 ðp1 Þ; d½s ðp1 Þg þ ST½s1;2 ðp1 Þ þ si;2 þ ti;2 ST½s1;3 ðp1 Þ si;3 ;
ð16Þ
/½s ðp2 Þ ¼ maxfIT½s1;2 ðp2 Þ; d½sðp2 Þ g þ ST½s1;2 ðp2 Þ þ sj;2 þ tj;2 ST½s1;3 ðp2 Þ sj;3 ;
ð17Þ
/½sþ1 ðp1 Þ ¼ maxfIT½s1;2 ðp1 Þ; d½s ðp1 Þ; d½sþ1 ðp1 Þg þ ST½s1;2 ðp1 Þ þ si;2 þ ti;2 þ sj;2 þ tj;2 ST½s1;3 ðp1 Þ si;3 ti;3 sj;3 ;
ð18Þ
/½sþ1 ðp2 Þ ¼ maxfIT½s1;2 ðp2 Þ; d½sðp2 Þ ; d½sþ1 ðp2 Þg þ ST½s1;2 ðp2 Þ þ sj;2 þ tj;2 þ si;2 þ ti;2 ST½s1;3 ðp2 Þ sj;3 tj;3 si;3 :
ð19Þ
Remember that both sequences have the same jobs in positions 1 through s 1, therefore, ST[s1],2(p1) = ST[s1],2(p2),ST[s1],3(p1) = ST[s1],3(p2), and IT[s1],2(p1) = IT[s1],2(p2). It follows from Eqs. (12), (16) and (17), and the hypothesis of (i) that /½s ðp2 Þ 6 /½s ðp1 Þ:
ð20Þ
From Eqs. (8), (9), (11), (16) and (19), /½sþ1 ðp2 Þ 6 /½s ðp1 Þ;
ð21Þ
if sj,2 + tj,2 6 sj,3 + tj,3 and if either si,1 + ti,1 6 si,2 + tj,2 (for the case d[s+1](p2) 6 d[s](p2)) or sj,1 + tj,1 6 sj,2 + tj,2 (for the case d[s+1](p2) 6 d[s](p1)). From Eqs. (9), (11), (17) and (19), /½sþ1 ðp2 Þ 6 /½s ðp2 Þ;
ð22Þ
if si,2 + ti,2 6 si,3 + tj,3 and if si,1 + ti,1 6 si,2 + tj,2 (for the case d[s+1](p2) 6 d[s](p2)). Clearly if Eq. (20) and either (21) or (22) hold then maxfIT½s1;3 ðp2 Þ; /½s ðp2 Þ; /½sþ1 ðp2 Þg 6 maxfIT½s1;3 ðp1 Þ; /½s ðp1 Þ; /½sþ1 ðp1 Þg:
ð23Þ
A. Allahverdi, F.S. Al-Anzi / European Journal of Operational Research 169 (2006) 767–780
773
It can easily be shown that if the conditions in which Eq. (20) holds, the conditions in which either (21) or (22) holds are satisfied, then maxfIT½s1;2 ðp2 Þ; d½s ðp2 Þ; d½sþ1 ðp2 Þg 6 maxfIT½s1;2 ðp1 Þ; d½s ðp1 Þ; d½sþ1 ðp1 Þg:
ð24Þ
For sequences p1 and p2, the completion times of the jobs in positions s and s + 1 on the third machine are given as C ½s;3 ðp1 Þ ¼ ST½s1;3 ðp1 Þ þ si;3 þ ti;3 þ maxfIT½s1;3 ðp1 Þ; /½s ðp1 Þg; C ½s;3 ðp2 Þ ¼ ST½s1;3 ðp2 Þ þ sj;3 þ tj;3 þ maxfIT½s1;3 ðp2 Þ; /½s ðp2 Þg; C ½sþ1;3 ðp1 Þ ¼ ST½s1;3 ðp1 Þ þ si;3 þ ti;3 þ sj;3 þ tj;3 þ maxfIT½s1;3 ðp1 Þ; /½s ðp1 Þ; /½sþ1 ðp1 Þg and C ½sþ1;3 ðp2 Þ ¼ ST½s1;3 ðp2 Þ þ si;3 þ ti;3 þ sj;3 þ tj;3 þ maxfIT½s1;3 ðp2 Þ; /½s ðp2 Þ; /½sþ1 ðp2 Þg: From the last four equations, ½C ½s;3 ðp2 Þ þ C ½sþ1;3 ðp2 Þ ½C ½s;3 ðp1 Þ þ C ½sþ1;3 ðp1 Þ ¼ sj;3 þ tj;3 si;3 ti;3 þ maxfIT½s1;3 ðp2 Þ; /½s ðp2 Þg maxfIT½s1;3 ðp1 Þ; /½s ðp1 Þg; þ maxfIT½s1;3 ðp2 Þ; /½s ðp2 Þ; /½sþ1 ðp2 Þg maxfIT½s1;3 ðp1 Þ; /½s ðp1 Þ; /½sþ1 ðp1 Þg: It follows from Eqs. (20) and Lemma 2 that max{IT[s1],3(p2), /[s](p2)} 6 max{IT[s1],3(p1), /[s](p1)}. It further follows from Eq. (23) that max{IT[s1],3(p2), /[s](p2), /[s+1](p2)} 6 max{IT[s1],3(p1), /[s](p1), /[s+1](p1)}. Moreover, from the hypothesis of (iv) ½C ½s;3 ðp2 Þ þ C ½sþ1;3 ðp2 Þ 6 ½C ½s;3 ðp1 Þ þ C ½sþ1;3 ðp1 Þ: Thus, from Eqs. (23)–(25) and Lemmas 3 and 4, TCT(p2) 6 TCT(p1). This concludes the proof.
ð25Þ h
4. A lower bound Since dominance relations, in general, do not yield optimal schedules, after the establishment of these relations, researchers often use implicit enumeration techniques, such as a branch-and-bound algorithm that incorporates the dominance relations, to get an optimal solution (Yeh, 1999, 2001; Allahverdi, 2000). In this section, a lower bound to be used in a branch-and-bound algorithm is developed. Let a represent the set of jobs already assigned (assume ‘ jobs are assigned) and b represent the set of jobs to be assigned (n ‘). Also let SPi,k = si,k + ti,k, and SP[i],k = s[i],k + t[i],k for i = 1, . . ., n, and k = 1, 2, 3. For each i 2 b, compute SPi,k and let SP[i],k denote the ith smallest SPi,k for each i 2 b and k (k = 1, 2, 3). Theorem 2. A lower bound on C[j],3 for j =‘ + 1, ‘ + 2, . . ., n is given by 9 8 P‘ Pj‘ ½r;1 þ k þ -> > i¼1 SP½i;1 þ r¼1 SP > > = < Pj‘ ½r;2 : LBðC ½j;3 Þ ¼ max C ½‘;2 þ r¼1 SP þ > > > > Pj‘ ½r;3 ; : C ½‘;3 þ r¼1 SP
774
A. Allahverdi, F.S. Al-Anzi / European Journal of Operational Research 169 (2006) 767–780
Proof. It is obvious that there will be no idle time on the first machine. If the minimum values for processing times on the second and third machines are denoted by k and -, respectively, then C ½j;3 P
‘ X
SP½i;1 þ
i¼1
j‘ X
SP½r;1 þ k þ -:
ð26Þ
r¼1
After the job in position ‘ on the second machine is completed (C[‘],2), then even if the remaining jobs are sequenced in non-decreasing order of the sum of setup and processing times on the machine, and if the job in position ‘ has the smallest processing time on the third machine, then C ½j;3 P C ½‘;2
j‘ X
SP½r;2 þ -:
ð27Þ
r¼1
Similarly, after the job in position ‘ on the third machine is completed (C[‘],3), then even if the remaining jobs are sequenced in non-decreasing order of the sum of setup and processing times on the machine, then C ½j;3 P C ½‘;3 þ
j‘ X
SP½r;3 :
ð28Þ
r¼1
The proof follows from the inequalities (26)–(28).
h
Theorem 3. A lower bound on TCT is given by 9 8 P‘ Pn‘ > ðn i þ 1ÞSP½i;1 þ r¼1 ðn ‘ r þ 1ÞSP½r;1 þ ðn ‘Þðk þ -Þ > > > i¼1 > > = < Pn‘ P‘ ½r;2 LBðTCTÞ ¼ max C þ ðn ‘ÞC þ ðn ‘ r þ 1ÞSP þ ðn ‘Þ½‘;2 i¼1 ½i;2 r¼1 > > > > > > Pn‘ ; : P‘ ½r;3 i¼1 C ½i;3 þ ðn ‘ÞC ½‘;3 þ r¼1 ðn ‘ r þ 1ÞSP where denotes the number of jobs that are already assigned. Proof. The proof follows from Eq. (7) and Theorem 2.
h
5. An optimum sequence For the generic problem, it is highly unlikely to find a polynomial solution since the problem is known to be NP-hard even for the case of two machines where the setup times are ignored (Gonzalez and Sahni, 1978). In what follows, it is shown that our problem is solvable for a special case. Theorem 4. If sj,1 + tj,1 6 sj,2 and sj,2 + tj,2 6 sj,3 for all j, then sequencing the jobs in non-decreasing order of sj,3 + tj,3 minimizes TCT. Proof. It follows from Eqs. (1) and (2) that IT[j],2 = 0 since sj,1 + tj,1 6 sj,2. Moreover, since sj,2 + tj,2 6 sj,3 it follows from Eqs. (4) and (5) that IT[j],3 = 0. Therefore, from Eqs. (6) and (7) TCT ¼
n X j¼1
ST½j;3 ¼
j n X n X X ðs½i;3 þ t½i;3 Þ ¼ ðn j þ 1Þðs½j;3 þ t½j;3 Þ: j¼1
i¼1
j¼1
It is evident from this equation that TCT is minimized if jobs are sequenced in non-decreasing order of sj,3 + tj,3. In other words, jobs are ordered according to the shortest processing times in terms of SPi,3. h
A. Allahverdi, F.S. Al-Anzi / European Journal of Operational Research 169 (2006) 767–780
775
6. A hybrid heuristic for an upper bound The hybrid heuristic algorithm consists of three phases; obtaining an initial solution by simulated annealing algorithm, improving the initial solution by an insertion technique, and finally improving the solution further by a local optimization technique. A simulated annealing algorithm is used to obtain the initial solution. The steps of the algorithm are as follows: 1. 2. 3. 4. 5. 6. 7.
Get a random initial sequence p1. Set an initial temperature T. While T>TF do Steps 4–8. Repeat the following k times. Perform a random pair-wise exchange to p1, and call the resulting sequence as p2. Let D = TCT(p2) TCT(p1). If D 6 0, then set p1 = p2, otherwise, 7.1. p = eD/T. 7.2. Set p1 = p2 with the probability p. 8. Set T = rT where r is temperature updating factor. 9. Select the best solution p1 and set it as the current sequence.
A combination of two techniques is used to improve the initial solution. One of them is the Nawaz et al. (1983) insertion technique (called NEH) which is adapted to the objective function of total completion time since Nawaz et al. insertion was developed for makespan minimization. The second technique is a merge algorithm which is an adaptation of the well known computer science Merge Sort algorithm discussed by Knuth (1973). The merge algorithm proposed makes log2 (n) passes on the list of jobs. (Here, we assume that n is a power of 2. If not, we increase n to the closest multiple of 2 and fill the rest of job slots by zero setup and processing time jobs which will be removed from the final job sequence.) In pass number i, the list is evenly divided into subsequences, each of size 2i1. For every two subsequences j and j + 1, we iterate the insertion of every element in the subsequence j + 1 into the subsequence j maintaining the best sequence that has the least total completion time in the produced subsequences. The formal merge algorithm can be stated as follows: Step Step Step Step Step Step Step Step
1. 2. 3. 4. 5. 6. 7a. 7b.
Given an input sequence of n jobs. Set the input sequence as current sequence. For i = 1, . . ., log2 (n). Repeat Steps 4–8. Divide the current sequence into subsequences of size 2i1. For every two subsequences j and j + 1 repeat Steps 6 and 7. For every job x in subsequence j + 1 from left to right. Generate candidate sequences by inserting job x into each possible slot of the j subsequence. Compute TCT by using the earlier proposed lower bound given for each candidate sequence. Among these candidates, select the one with the least TCT. Step 7c. Update the one with the least TCT as the j subsequence. Step 8. Join all subsequences resulting for Step 7, subsequences 1, . . ., 2i1, into one sequence and let it be the current sequence. The last phase of the heuristic is a regular local pair-wise exchange of the solution obtained from the second phase. In this procedure, we scan the sequence for i = 1, . . ., n 1. In a single scan, if the swapping of the two adjacent jobs in positions i with i + 1 improves the objective function, the swap is accepted.
776
A. Allahverdi, F.S. Al-Anzi / European Journal of Operational Research 169 (2006) 767–780
Here is the complete description of the hybrid heuristic. Step 1. Obtain an initial solution by the proposed simulated annealing algorithm. Step 2. Apply NEH-Merge-NEH insertion technique to improve the solution obtained from Step 1. Step 3. Apply the local pair-wise exchange procedure to improve the solution obtained from Step 2. The computational complexities of Steps 1, 2, and 3 of the proposed upper bound heuristic are O(n2), O(n2log n), and O(n2), respectively. Therefore, the total complexity of the proposed heuristic is O(n2log n). Setting the parameters for the proposed heuristic is essential in achieving a good performance. After some experimentations, the parameters for the simulated annealing algorithm are set as follows; T = 0.1, r = 0.98, TF = 0.0001, k = 50. It has been found out that the repetition of Steps 2 and 3 of the above hybrid heuristic algorithm improves the solution. Therefore, different numbers of repetition of Steps 2 and 3 have been tested, and it has been found that repeating beyond five times does not improve significantly. Hence, Steps 2 and 3 are repeated five times each.
7. A branch-and-bound algorithm The branch-and-bound algorithm is carried out by dynamically constructing a search tree. The root of the tree is an empty node at level 0 denoting no job assignment. From this node there are n children nodes at level 1 representing all possible jobs for the first position of the optimal sequence. For every node at level 1 there are n 1 children nodes at level 2. In general, for every node at level j there are n j 1 children nodes at level j + 1. At level j (j > 1), when the next assignment is being considered, the dominance relation is checked for the jobs in positions j and j 1. If the dominance relation is satisfied, the search continues in that branch. On the other hand, if it is not satisfied, the search is aborted at that branch. For a given problem of n jobs in a branch-and-bound search, a total of (n 1)! branches will be eliminated if a single pair satisfies the developed dominance relations. More branches will be eliminated if more than one pair satisfy the relations. In general, dominance relations improve the efficiency of a branch-and-bound algorithm by constraining the search space. The proposed hybrid heuristic is applied to get an initial upper bound. During the branch-and-bound search, this upper bound is updated whenever a feasible schedule is obtained which has a lower total completion time. During the search, any incomplete branch that has a lower bound which is greater than or equal to the current upper bound is fathomed, i.e., eliminated from further consideration. The search follows a depth first strategy. Since the lower bound can be computed exactly at each searched node, it is always achievable. Unpromising branches are aborted by comparing their lower bounds with the current upper bound.
8. Computational experiments In this section, the effectiveness of the lower bound, the upper bound, the branch-and-bound algorithm, and the dominance relation are investigated on randomly generated problem instances. The processing and setup times were randomly generated from uniform distributions with ti,j from [1, 100] and si,j from [0, 100k]. The parameter k is the expected ratio of setup time to processing time (si,j/ti,j). Due to the NP-hardness of the problem and the limitations of computers, the branch-and-bound method can be used to solve problems up to a certain number of jobs. In our experimentation, we consider problems up to 18 jobs. Thirty replicates were generated for each number of jobs and each k value. The k value for each data set was set to 0.3, 0.5, and 0.8.
A. Allahverdi, F.S. Al-Anzi / European Journal of Operational Research 169 (2006) 767–780
777
Table 1 The performance of the lower bound with and without the dominance relation Jobs
% of visited nodes (LB with DR)
% of visited nodes (LB without DR)
5 6 7 8 9 10 11 12
11.0429 5.7391 2.2136 0.7362 0.1693 0.0571 0.0166 0.0060
11.0997 5.8593 2.2494 0.7441 0.1737 0.0597 0.0175 0.0061
It can easily be demonstrated that the lower bound at every node can be computed in time of order O(n). Hence, it is the same time complexity across all nodes in the branch and bound tree, meaning that the count of visited nodes will indicate the efficiency of the lower bound. The numbers given in Table 1 are the average percentage of all possible nodes investigated (visited) in finding the optimal solution. This performance measure is better since it does not depend on the speed of the computer. Table 1 also shows the performance of the lower bound (LB) with and without the dominance relation (DR). It is clear from the table that the dominance relation helps in reducing the number of nodes to be searched. Even though the percentage of nodes with and without the dominance relation seem to be very close to each other, it still has an effect on reducing the number of nodes to be searched. For example, for 15 jobs, the elimination of 0.000001 nodes means the elimination of more than 3 million nodes. Therefore, the dominance relation helps in reducing the search space for the optimal solution. The usefulness of the upper bound (UB) is also investigated. Table 2 shows the number of nodes investigated until the optimal solution is obtained with and without using the upper bound. The table clearly indicates that when the upper bound is used in the branch-and-bound algorithm, the number of investigated nodes is approximately reduced by half. Therefore, the upper bound is very efficient. The branch-and-bound algorithm with the lower and upper bounds, and the dominance relation is also investigated with respect to different k values (for k = 0.3, 0.5, and 0.8). Table 3 and Fig. 1 demonstrate the results for each k value. The table clearly indicates that the performance of the branch-and-bound algorithm is not effected by the choice of k value, i.e., by the choice of setup to processing time ratio. The result that the performance of the algorithm is not affected by the choice of k value is also statistically tested by using ANOVA for a significance level of 0.01. Table 2 The performance of the branch-and-bound algorithm with and without the upper bound Jobs
% of visited nodes without UB
% of visited nodes with UB
Nodes visited without UB
Nodes visited with UB
7 8 9 10 11 12 13 14 15 16 17 18
1.8978 0.6697 0.1964 0.0543 0.0200 0.0054 0.0010 0.0004 0.0001 0.000026 0.000011 0.0000012
0.819 0.2886 0.0978 0.0263 0.0087 0.0029 0.0006 0.0002 0.00005 0.000013 0.000005 0.00000052
260 734 1937 5354 21,661 70,630 174,836 841,142 3,536,161 14,782,801 92,568,162 192,627,430
112 316 965 2593 9457 37,375 99,697 414,596 1,530,577 7,387,707 46,053,812 91,292,621
778
A. Allahverdi, F.S. Al-Anzi / European Journal of Operational Research 169 (2006) 767–780
Table 3 The performance of branch-and-bound algorithm for different k values Jobs
% of visited nodes k = 0.3
% of visited nodes k = 0.5
% of visited nodes k = 0.8
7 8 9 10 11 12 13 14 15 16 17 18
0.5128954 0.2203751 0.0510538 0.0355761 0.0162995 0.0030757 0.0006311 0.0000502 0.0000238 0.0000120 0.0000057 0.00000054
0.4389295 0.2739026 0.0646215 0.0279421 0.0127671 0.0027357 0.0006300 0.0001219 0.0000219 0.0000121 0.0000053 0.00000050
0.5115977 0.2917451 0.0604774 0.0240166 0.0143483 0.0031227 0.0004706 0.0001372 0.0000246 0.0000124 0.0000056 0.00000052
9
Percentage of visited nodes
8 7 6 k=0.3
5
k=0.5
4
k=0.8
3 2 1 0 4
5
6
7
8
9
10 11 12 13 14 15 16 17 18
Number of jobs Fig. 1. Percentage of visited nodes for different k values.
Table 4 The performance of the upper bound Jobs
Ape (%)
Std
7 8 9 10 11 12 13 14 15 16 17 18
0.283 0.273 0.389 0.433 0.655 0.714 0.719 0.742 0.718 0.705 0.732 0.703
0.639 0.576 0.673 0.706 0.981 0.794 0.874 0.864 0.846 0.751 0.811 0.789
Since for large number of jobs the branch-and-bound algorithm cannot be used, there is a need for heuristic solutions. By testing the performance of the hybrid heuristic against the optimal solution for small
A. Allahverdi, F.S. Al-Anzi / European Journal of Operational Research 169 (2006) 767–780
779
sized problems, it can be assessed if it is appropriate to use for larger problems. The performance of the proposed hybrid heuristic is evaluated against the optimal solution by using two measures: average percentage error (Ape) and the standard deviation (Std). The percentage error is defined as 100* (heuristic solution optimal solution)/optimal solution. Table 4 shows that the proposed hybrid heuristic performs very well since the average error is less than 1%. Therefore, for large problems, it is expected that the proposed hybrid heuristic yields a near optimal solution.
9. Conclusions and future research The literature reveals that the flowshop scheduling problem with total completion time criterion and separate setup times has been limited to the two-machine case. This paper extends this problem to the three-machine case. A lower bound and an upper bound are established. A branch-and-bound algorithm, incorporating the lower and upper bounds and the dominance relation is presented to solve the problem. The computational experiments indicate that the upper-bound procedure is efficient in producing near optimal solutions and the proposed lower bound procedures perform well. Furthermore, a dominance relation is also derived to further aid to fathom more unpromising nodes in the branch-and-bound search tree. The efficiency of a branch-and-bound algorithm mainly depends on the efficiency of the bounds and dominance relations used in the algorithm. The tighter the bounds and the stronger the dominance relations are, the more efficient the branch-and-bound algorithm is. The proposed branch-and-bound algorithm can solve problems up to 18 jobs. In order to solve larger sized problems optimally, further research is required to develop stronger dominance relations and tighter bounds. The tight bounds of Della Croce et al. (2002), developed for two-machine flowshop, could be one of the possible future directions to be investigated for this problem. There is also a need for efficient heuristics since there is a limit on the size of the problems that can be solved by a branch-and-bound algorithm no matter how efficient the lower and upper bounds are. The upper bound developed in this paper is shown to perform well, and hence for larger problems it can be used as an efficient heuristic.
Acknowledgement This research was supported by Kuwait University Research Administration project number EE 01/01. The authors are thankful to anonymous referees for their helpful comments which significantly improved the quality of the paper.
References Ahmadi, R.H., Baghci, U., 1990. Improved lower bounds for minimizing the sum of completion times of n jobs over m machines in a flowshop. European Journal of Operational Research 44, 331–336. Al-Anzi, F.S., Allahverdi, A., 2001. The relationship between three-tiered client–server internet database connectivity and two-machine flowshop. International Journal of Parallel and Distributed Systems and Networks 4, 94–101. Allahverdi, A., 1995. Two-stage production scheduling with separated setup times and stochastic breakdowns. Journal of the Operational Research Society 46, 896–904. Allahverdi, A., 2000. Minimizing mean flowtime in a two-machine flowshop with sequence independent setup times. Computers and Operations Research 27, 111–127. Allahverdi, A., Al-Anzi, F.S., 2002. Using two-machine flowshop with maximum lateness objective to model multimedia data objects scheduling problem for WWW applications. Computers and Operations Research 29, 971–994.
780
A. Allahverdi, F.S. Al-Anzi / European Journal of Operational Research 169 (2006) 767–780
Allahverdi, A., Gupta, J.N.D., Aldowaisan, T.A., 1999. A review of scheduling research involving setup considerations. OMEGA The International Journal of Management Sciences 27, 219–239. Bagga, P.C., Khurana, K., 1986. Two-machine flowshop with separated sequence-independent setup times: Mean completion time criterion. Indian Journal of Management and Systems 2, 47–57. Bianco, L., Ricciardelli, S., Rinaldi, G., Sassano, A., 1988. Scheduling tasks with sequence-dependent processing times. Naval Research Logistics 35, 177–184. Bitran, G.R., Gilbert, S.M., 1990. Sequencing production on parallel machines with two magnitudes of sequence-dependent setup cost. Journal of Manufacturing and Operations Management 3, 24–52. Cadambi, B.W., Sathe, Y.S., 1983. Two-machine flowshop scheduling to minimize mean flow time. Opsearch 30, 35–41. Chu, C., 1992. A branch-and-bound algorithm to minimize total tardiness with different release dates. Naval Research Logistics 39, 265–283. Das, S.R., Gupta, J.N.D., Khumawala, B.M., 1995. Savings index heuristic algorithm for flowshop scheduling with sequence dependent set-up times. Journal of the Operational Research Society 46, 1365–1373. DellaCroce, F., Ghirardi, M., Tadei, R., 2002. An improved branch-and-bound algorithm for the two machine total completion time flow shop problem. European Journal of Operational Research 139, 293–301. Dileepan, P., Sen, T., 1991. Job lateness in a two-machine flowshop with setup times separated. Computers and Operations Research 18, 549–556. Elmasri, R., Navathe, S.B., 1999. Fundamentals of Database Systems, third ed. Addison-Wesley, New York. Gonzalez, T., Sahni, S., 1978. Flow shop and job shop schedules. Operations Research 26, 36–52. Kim, S.C., Bobrowski, P.M., 1994. Impact of sequence-dependent setup-times on job shop scheduling performance. International Journal of Production Research 32, 1503–1520. Knuth, D.E., 1973. The Art of Computer Programming: Sorting and Searching. Addison-Wesley, Reading, MA. Nawaz, M., Enscore, E., Ham, I., 1983. A heuristic for the m-machine, n-job flowshop sequencing problem. OMEGA The International Journal of Management Sciences 11, 91–95. Rajendran, C., Ziegler, H., 1997. Heuristics for scheduling in a flowshop with setup, processing and removal times separated. Production Planning and Control 8, 568–576. Rios-Mercado, R., Bard, J.F., 1999. Enhanced TSP-based heuristic for makespan minimization in a flow shop with setup times. Journal of Heuristics 5, 53–70. Rios-Mercado, R., Bard, J.F., 1998. Computational experience with a branch-and-cut algorithm for flowshop scheduling with setups. Computers and Operations Research 25, 351–366. Schaller, J.E., Gupta, J.N.D., Vakharia, A.J., 2000. Scheduling a flowline manufacturing cell with sequence dependent family setup times. European Journal of Operational Research 125, 324–339. Srikar, B.N., Ghosh, S., 1986. A MILP model for the n-job, m-stage flowshop, with sequence-dependent setup times. International Journal of Production Research 24, 1459–1472. Uzsoy, R., Lee, C., Martin-Vega, A., 1992. Scheduling semiconductor test operations: Minimizing maximum lateness and number of tardy jobs on a single machine. Naval Research Logistics 39, 369–388. Yeh, W.C., 1999. A new branch-and-bound approach for the n/2/flowshop/aF + bCmax flowshop scheduling problem. Computers and Operations Research 26, 1293–1310. Yeh, W.C., 2001. An efficient branch-and-bound algorithm for the two-machine bicriteria flowshop scheduling problem. Journal of Manufacturing Systems 20, 113–123. Yoshida, T., Hitomi, K., 1979. Optimal two-stage production scheduling with setup times separated. AIIE Transactions 11, 261–263.