European Journal of Operational Research 199 (2009) 375–384
Contents lists available at ScienceDirect
European Journal of Operational Research journal homepage: www.elsevier.com/locate/ejor
Discrete Optimization
Minimizing total tardiness on a two-machine re-entrant flowshop Seong-Woo Choi a, Yeong-Dae Kim b,* a b
Department of Business and Administration, Hoseo University, Cheonan-City, Choongnam 330-713, Korea Department of Industrial Engineering, Korea Advanced Institute of Science and Technology, Yusong-gu, Daejon 305-701, Korea
a r t i c l e
i n f o
Article history: Received 14 August 2007 Accepted 24 November 2008 Available online 6 December 2008 Keywords: Scheduling Re-entrant flowshop Branch and bound Heuristics
a b s t r a c t We present a branch and bound algorithm for a two-machine re-entrant flowshop scheduling problem with the objective of minimizing total tardiness. In the re-entrant flowshop considered here, all jobs must be processed twice on each machine, that is, each job should be processed on machine 1, machine 2 and then machine 1 and machine 2. By regarding a job as a pair of sub-jobs, each of which represents a pass through the two machines, we develop dominance properties, a lower bound and heuristic algorithms for the problem, and use these to develop a branch and bound algorithm. For evaluation of the performance of the algorithms, computational experiments are performed on randomly generated test problems and results are reported. Results of the experiments show that the suggested branch and bound algorithm can solve problems with up to 20 sub-jobs in a reasonable amount of CPU time, and the average percentage gap of the heuristic solutions is about 13%. Ó 2008 Elsevier B.V. All rights reserved.
1. Introduction In this paper, we consider a two-machine re-entrant flowshop scheduling problem with the objective of minimizing total tardiness. In the two-machine re-entrant flowshop considered in this study, jobs are composed of four operations and jobs should be processed twice on each machine. That is, each job must be processed on the machines in the order of machine 1 and machine 2, and then on machine 1 and machine 2 again. Note that the typical two-machine flowshop is a special case of the two-machine reentrant flowshops. As discussed in Choi and Kim (2007, 2008a), two-machine reentrant flowshops can be found in various manufacturing systems. For example, for the dying process in textile fabric manufacturing systems, textile fabrics (jobs) are processed on two machines, a coloring machine and a drying machine, and in general, jobs should be processed on these two machines twice for thick coloring. Also, for the plating process in mirror manufacturing systems, mirrors (jobs) are processed on two machines in four steps, coating the back of a mirror with paint, drying, then coating again and drying. In other words, before a job is completed, it should go through each machine twice. In addition, as noted in Pan and Chen (2003), in printed circuit board (PCB) manufacturing systems, electronic components, such as chips, transistors and resistors, are inserted onto a board at two workstations, an automated component insertion workstation and a manual insertion workstation. Since components should be placed on both sides (top and bottom) of a * Corresponding author. Tel.: +82 42 869 3120; fax: +82 42 869 3110. E-mail address:
[email protected] (Y.-D. Kim). 0377-2217/$ - see front matter Ó 2008 Elsevier B.V. All rights reserved. doi:10.1016/j.ejor.2008.11.037
PCB, PCBs are processed at the automated component insertion station and the manual insertion station for the top side, and then again for the bottom. In the two-machine re-entrant flowshop scheduling problem considered here, there are n jobs to be processed on two machines in the order of machine 1, machine 2 and then machine 1 and machine 2. As discussed in Choi and Kim (2007), if we consider each pass (through the two machines) of each job as a sub-job, we can reduce the two-machine re-entrant fowshop problem considered here into an imaginary non-re-entrant flowshop problem with 2n sub-jobs. In this imaginary flowshop problem, we must take account of the precedence relationship between the first-pass sub-job and the second-pass sub-job of a job, i.e., the first-pass sub-job on machine 2 and the second-pass sub-job (corresponding to the first-pass sub-job) on machine 1. In addition, a job is regarded as completed when its second-pass sub-job is completed on machine 2. In this research, it is assumed that: (1) at the beginning of the scheduling horizon, there is a given set of jobs to be scheduled during the horizon (jobs are available at time zero); (2) no job can be preempted; (3) machines do not fail; and (4) there is no setup time required before jobs are processed on any machine. There have been many studies on flowshop scheduling problems with due date-related measures. Gelders and Sambandam (1978) suggest several simple heuristics for the objective of minimizing
376
S.-W. Choi, Y.-D. Kim / European Journal of Operational Research 199 (2009) 375–384
the sum of weighted tardiness and flow time, and Ow (1985) develops a scheduling procedure to minimize the sum of weighted tardiness for a special case in which processing times are proportionate. Koulamas (1994) shows that the two-machine flowshop scheduling problem with the objective of minimizing total tardiness is NP-hard in the strong sense, and Sen et al. (1989), Kim (1993a), Pan and Fan (1997), Pan and Chen (2002) and Schaller (2005) develop branch and bound algorithms for this problem. For m-machine flowshop problems, Townsend (1977) and Kim (1995) present branch and bound (B&B) algorithms for the objective of minimizing the maximum tardiness and mean tardiness, respectively. Not much progress has been made for re-entrant flowshop scheduling problems. Graves et al. (1983) model a wafer fab as a re-entrant flowshop and give a simple and effective scheduling algorithm for the objective of minimizing average throughput time while meeting a given production rate. Demirkol and Uzsoy (2000) suggest decomposition methods for the objective of minimizing maximum lateness in a re-entrant flowshop with sequence dependent setup times. On the other hand, Pan and Chen (2003) show that the re-entrant permutation flowshop scheduling problem with the objective of minimizing makespan is NP-hard in the strong sense even for the two-machine case, and give mixed integer programming formulations and heuristic algorithms for the problem. In addition, Choi and Kim (2007, 2008a) suggest a branch and bound algorithm and various heuristic algorithms for two-machine and m-machine cases, respectively, for the objective of minimizing makespan, and Yang et al. (2008) present a branch and bound algorithm for scheduling multi-family jobs with setup times between different families in a two-machine reentrant flowshop. There are several research results on more general problems, i.e., re-entrant jobshop scheduling problems with the objective of minimizing makespan (Wang et al., 1997; Hwang and Sun, 1997; Drobouchevitch and Strusevich, 1999; Pan and Chen, 2005) and with the objective of minimizing mean flow time (Kubiak et al., 1996). Also, there are a few research articles on other types of problems, i.e., re-entrant identical parallel machine problems (Ko et al., 2004) and re-entrant hybrid flowshop problems (Choi et al., 2005; Pearn et al., 2004). Note that in a hybrid flowshop there are two or more serial stages, each with one or more identical parallel machines. In this paper, we consider a two-machine re-entrant flowshop scheduling problem with the objective of minimizing total tardiness. This problem can be easily proven to be NP-hard in the strong sense, since the ordinary two-machine flowshop scheduling problem with the objective of minimizing total tardiness is NP-hard in the strong sense (Koulamas, 1994). Note that the latter problem is a special case of the former problem in which the processing times of all second-pass sub-jobs on the machines are equal to 0. We develop dominance properties of the problem considered here and lower bounds on the total tardiness of partial schedules of the problem, and suggest a branch and bound (B&B) algorithm using them. Also, we present a heuristic algorithm, which can be used to find an upper bound in the B&B algorithm as well as to find a good solution quickly.
2. Dominance properties In this section, we develop dominance properties, which are used in the B&B algorithm to be presented in this study. By using these dominance properties, we can identify partial schedules that are dominated by others, and we can delete nodes (in the B&B tree) corresponding to the dominated partial schedules in the B&B algorithm. It is said that a partial schedule is dominated if there is another partial schedule that results in a complete schedule better than the best complete schedule resulting from the former partial schedule.
First, we define a permutation schedule in the two-machine reentrant flowshop problem as a schedule in which sequences of sub-jobs on the two machines are the same if we consider each pass (through the line) of each job as a sub-job. In this paper, the terms ‘‘sequence” and ‘‘schedule” are used interchangeably unless needed, since a schedule of sub-jobs can be easily obtained from a sequence of sub-jobs in scheduling problems with the objective of minimizing total tardiness (and any regular measure of performance). Although permutation schedules are dominant in the ordinary two-machine flowshop scheduling problem with any regular measure of performance (Baker, 1974), it is not the case with the re-entrant flowshop problem considered in this study. That is, there may be cases in which a non-permutation schedule is better than the best permutation schedule. This is shown with the following proposition. In this proposition, we let RF2//T and RF2//Cmax denote the two-machine re-entrant flowshop scheduling problems with the objective of minimizing total tardiness and makespan, respectively. Proposition 1. In RF2//T, permutation schedules are not dominant. That is, there may be a case in which a non-permutation schedule is better than the best permutation schedule. Proof 1. We prove this proposition by presenting a counter example. For the purpose, we use the property of non-dominance of permutation schedules in RF2//Cmax, which is shown in Choi and Kim (2007). We consider an RF2//T in which the makespan of the best (in terms of makespan) permutation schedule, to be denoted as CP, is greater than the makespan of a non-permutation schedule, to be denoted as CNP. Assume that the due dates of all jobs are equal to CNP in this RF2//T. There is a non-permutation schedule with total tardiness of 0 in this RF2//T. However, total tardiness of any permutation schedule is greater than 0, since a lower bound on the completion time of the job completed last is greater than or equal to CP, which is strictly greater than CNP, the due date of the job. h In this study, we consider only permutation schedules, although an optimal solution may not be obtained. Note that schedules in which sequences on the two machines are different may not be implemented in many real systems, since there may not be enough buffer space between the two machines or there may be technical restrictions imposed on material handling systems in real manufacturing systems. First, we give notation used in this paper. ik kth-pass sub-job of job i (for i = 1, 2, . . . , n, and k = 1, 2) a sub-job of job i (this can be either a first-pass sub-job or a i second-pass sub-job) processing time of sub-job ik on machine j (for j = 1, 2) pik j due date of job i (or sub-job i2) di r partial sequence (schedule), which is to be placed at the front of a complete schedule completion time of sub-job ik on machine j in schedule S cik j ðSÞ maximum completion time of sub-jobs in schedule S on Cj(S) machine j, i.e., the time when all sub-jobs in S are completed on machine j T(S) total tardiness of jobs (or second-pass sub-jobs) in schedule S p, x arbitrary (partial) sequences of sub-jobs that are not included in r ri1 ; i2 ; . . . ; il partial sequence (schedule) obtained with r followed by sub-jobs i1 ; i2 ; . . . ; il rp (partial) sequence obtained with r followed by p
Since the completion time of job i can be defined as the completion time of the second-pass sub-job of job i on machine 2, the tardiness of job i in schedule S can be given as maxfci2 2 ðSÞ di ; 0g.
377
S.-W. Choi, Y.-D. Kim / European Journal of Operational Research 199 (2009) 375–384
As stated earlier, certain schedules (sequences) can be pruned if they are dominated by others, and we can check such dominance with the following properties. We can prove these properties by using a basic concept of properties developed by Schaller (2005) for the two-machine flowshop tardiness problems and by Choi and Kim (2007) for RF2//Cmax. First, we give dominance conditions related to adjacent sub-jobs of two different jobs. Proofs of all these propositions are given in the Appendix. Proposition 2. Given a partial schedule r, if three sub-jobs i1, k1 and l such that i1 R r, k1 R r, l R r, l – k2, satisfy C2(ri1k1) 6 C1(ri1k1l ), then schedules that start with r k1i1l are dominated by others.
Proposition 12. Given partial schedules r and x, if three sub-jobs i2, k1 and l such that i1 2 r, i2 R r [ x, k1 R r [ x, l R r [ x, l – k2, satisfy (a) Cj(ri2) 6 Cj(rk1) for j = 1, 2, (b) C1(ri2xk1) 6 C1(rk1xi2) and (c) C2(ri2xk1) 6 C1(ri2xk1l ), then schedules that start with rk1x i2l are dominated by others.
Proposition 13. Given partial schedules r and x, if two sub-jobs i2 and k2 such that i1 2 r, i2 R r [ x, k1 2 r, k2 R r [ x, satisfy (a) Cj (ri2) 6 Cj(rk2) for j = 1, 2, (b) Cj (ri2xk2) 6 Cj(rk2xi2) for j = 1, 2 and (c) C2(ri2xk2) 6 dk, then schedules that start with rk2xi2 are dominated by others.
Proposition 3. Given a partial schedule r, if two sub-jobs i1 and k2 such that i1 R r, k1 2 r, k2 R r, satisfy (a) C2(ri1k2) 6 C2(rk2i1) and (b) C2(ri1k2) 6 dk, then schedules that start with rk2i1 are dominated by others.
Proposition 14. Given partial schedules r and x, if two sub-jobs i2 and k2 such that i1 2 r, i2 R r [ x, k1 2 r, k2 R r [ x, satisfy (a) Cj (ri2) 6 Cj(rk2) for j = 1, 2, (b) C1(ri2xk2) 6 C1(rk2xi2), (c) C2(ri2xk2) 6 C1(ri2xk2l ) and (d) C2(ri2xk2) 6 dk, then schedules that start with rk2xi2l are dominated by others.
Proposition 4. Given a partial schedule r, if three sub-jobs i1, k2 and l such that i1 R r, k1 2 r, k2 R r, l R r, satisfy (a) C2(ri1k2) 6 C1(ri1k2l ) and (b) C2(ri1k2) 6 dk, then schedules that start with rk2i1l are dominated by others.
3. A branch and bound algorithm
Proposition 5. Given a partial schedule r, if three sub-jobs i2, k1 and l such that i1 2 r, i2 R r, k1 R r, l R r, l – k2, satisfy (a) ci1 2 ðrÞ 6 C 1 ðrÞ and (b) C2(ri2k1) 6 C1(ri2k1l ), then schedules that start with rk1i2l are dominated by others.
Proposition 6. Given a partial schedule r, if two sub-jobs i2 and k2 such that i1 2 r, i2 R r, k1 2 r, k2 R r, satisfy (a) Cj(ri2k2) 6 Cj(rk2i2) for j = 1, 2 and (b) C2(ri2k2) 6 dk, then schedules that start with rk2i2 are dominated by others. Proposition 7. Given a partial schedule r, if three sub-jobs i2, k2 and l such that i1 2 r, i2 R r, k1 2 r, k2 R r, l R r, satisfy (a) C1(ri2k2) 6 C1(rk2i2), (b) C2(ri2k2) 6 C1(ri2k2l ) and (c) C2(ri2k2) 6 dk, then schedules that start with r k2i2l are dominated by others.
Proposition 8. Given a partial schedule r, if two sub-jobs i2 and k2 such that i1 2 r, i2 R r, k1 2 r, k2 R r, satisfy (a) T(ri2k2) 6 T(rk2i2) max [C1(ri2k2) C1(rk2i2), and (b) T(rk2i2) T(ri2k2) P n 2 2 2 2 C2(ri k ) C2(rk i )], where n is the number of second-pass sub-jobs not included in ri2k2, then schedules that start with rk2i2 are dominated by others.
In addition, we can obtain the following dominance conditions related to sub-jobs (that are not necessarily adjacent) of two different jobs. Proofs of the following six propositions are also given in the Appendix. Proposition 9. Given partial schedules r and x, if three sub-jobs i1, k1 and l such that i1 R r [ x, k1 R r [ x, l R r [ x, l – k2, satisfy (a) Cj(ri1) 6 Cj(rk1) for j = 1, 2, (b)C1(ri1xk1) 6 C1(rk1xi1) and (c) C2(ri1xk1) 6 C1(ri1xk1l ), then schedules that start with rk1xi1l are dominated by others.
Proposition 10. Given partial schedules r and x, if two sub-jobs i1 and k2 such that i1 R r [ x, k1 2 r, k2 R r [ x, satisfy (a) Cj(ri1) 6 Cj(rk2) for j = 1, 2, (b) Cj(ri1xk2) 6 Cj(rk2xi1) for j = 1, 2 and (c) C2(ri1xk2) 6 dk, then schedules that start with rk2xi1 are dominated by others. Proposition 11. Given partial schedules r and x, if two sub-jobs i1 and k2 such that i1 R r [ x, k1 2 r, k2 R r [ x, satisfy (a) Cj(ri1) 6 Cj(rk2) for j = 1, 2, (b) C1(ri1xk2) 6 C1(rk2xi1), (c) C2(ri1xk2) 6 C1(ri1xk2l ) and (d) C2(ri1xk2) 6 dk, then schedules that start with rk2xi1l are dominated by others.
In this section, we present a branch and bound (B&B) algorithm for the two-machine re-entrant flowshop scheduling problem with the objective of minimizing total tardiness. In this algorithm, the B&B tree is constructed as follows. Each node in the B& B tree corresponds to a partial schedule (and a subproblem), and a node at the kth level corresponds to a partial schedule of k sub-jobs to be placed in the first k positions in a complete schedule. Since we must consider sequences of 2n sub-jobs (n first-pass sub-jobs and n second-pass sub-jobs), the number of levels needed to obtain a complete schedule is 2n in the B&B tree. We develop a B&B algorithm with a typical procedure for B&B algorithms for various scheduling problems (Baker, 1974). However, because of the precedence relationship between a first-pass sub-job and its corresponding second-pass sub-job, a first-pass sub-job must be assigned to an earlier (higher-level) position than its corresponding second-pass sub-job. We obtain an initial upper bound, i.e., an initial incumbent solution, using the best solution from the heuristic algorithms to be presented in the next section. To select a node to generate branches from, the depth-first rule is employed in the B&B algorithm. That is, a node with the most sub-jobs in its corresponding partial sequence is selected for branching. In case of ties, a node that gives the minimum lower bound is selected. When child nodes are generated from a selected parent node, it is checked whether or not schedules associated with the child nodes are dominated using the dominance properties given above, and nodes corresponding to dominated schedules are pruned. In addition, for each child node that is not pruned, a lower bound on the sum of tardiness of all jobs is computed using the method given below, and each node with a lower bound greater than or equal to the current upper bound, i.e., the solution value (total tardiness) of the current incumbent solution, is deleted from further consideration (fathomed). The incumbent solution is updated when a complete schedule gives a solution value that is better than the solution value of the current incumbent solution. In the following, we present a method for computing a lower bound. The lower bound is obtained by relaxing precedence relationships between first-pass and second-pass sub-jobs that are not included in the partial schedule associated with the current node being considered. 3.1. Lower bound
To obtain a lower bound on the total tardiness of complete schedules obtained from a partial schedule, we add lower bounds
378
S.-W. Choi, Y.-D. Kim / European Journal of Operational Research 199 (2009) 375–384
on tardiness of second-pass sub-jobs that are not included in the partial schedule to the total tardiness of second-pass sub-jobs in the partial schedule. First, we present a proposition given in Kim (1993a), which will be used to obtain a lower bound on the total tardiness. Let Ri, i = 1, 2, . . . , n be nonnegative real numbers. Also, let d(i)(S) denote the due date of the job to be completed ith in schedule S. Proposition 15. (Kim, 1993a) If R1 6 R2 6 . . . 6 Rn, then for any 0 schedule S in a typical (non-re-entrant) two-machine flowshop, P P 0 i maxf0; Ri dðiÞ ðS Þg P i maxf0; Ri dðiÞ ðSEDD Þg, where SEDD is an earliest due date sequence, in which jobs with earlier due dates are placed earlier. In this proposition, if we letRi be the completion time of the second-pass sub-job that is placed ith among second-pass sub-jobs in an arbitrary sequence S for the two-machine re-entrant flowshop, R1 6 R2 6 . . . 6 Rn is satisfied (for any sequence). In addition, if we let d[i](S) denote the due date of the second-pass sub-job that is placed ith among second-pass sub-jobs in S, from the above proposition, the total tardiness of sequence S is no less than P i maxf0; Ri d½i ðSEDD Þg. However, since we do not know exact completion times of the second-pass sub-jobs that are not included in a partial schedule, we use lower bounds on the completion times of these sub-jobs, which can be obtained using the following propositions. In addition to the notation given earlier, the following notation is used in the remainder of this paper. r partial schedule corresponding to a node being considered in the B&B algorithm U set of sub-jobs not scheduled yet, i.e., those that are not included in r p{k}j processing time of the operation with the kth shortest processing time among the jth operations of sub-jobs in U sum of processing times (on machine j) of k operations Pkj with the shortest processing times (on machine j) among P operations of all sub-jobs in U, i.e., P kj ¼ kq¼1 pfqgj 00 U set of second-pass sub-jobs in U 00 set of second-pass sub-jobs of jobs whose first-pass subA jobs are in r lbk lower bound on the completion time of the sub-job that is completed kth among sub-jobs included in U (in any complete schedule starting with partial schedule r) 2 lower bound on the completion time of the second-pass lbm sub-job that is completed mth among second-pass subjobs included in U (in any complete schedule that starts with partial schedule r) Using the following proposition, which is based on the idea used in the lower bound suggested by Schaller (2005), we can ob tain a lower bound, lbk , associated with partial schedule r. It is obtained through relaxation of precedence relationships between first-pass sub-jobs and second-pass sub-jobs in U. Proposition 16. In the two-machine re-entrant flowshop, the completion time of the sub-job that is completed kth among sub-jobs included in U in any complete schedule that starts with r is no less than maxfC 1 ðrÞ þ P k1 þ pf1g2 ; C 2 ðrÞ þ P k2 ; C 1 ðrÞ þ pf1g1 þ P k2 g lbk , where k = 1, 2, .. , jUj. Proof 2. Pkj is a lower bound on the time needed to process k subjobs among sub-jobs included in U on machine j. Therefore, the completion time of the sub-job that is completed kth among subjobs included in U is no less than max{C1(r) + Pk1 + p{1}2, C2(r) + Pk2}. In addition, since the completion time of the sub-job that is completed first among sub-jobs included in U on machine 1 is no less than C1(r) + p{1}1, the completion time of the sub-job is no less than C1(r) + p{1}1 + Pk2. This completes the proof. h
From proposition 16, we can obtain a lower bound on the completion time of the sub-job that is completed kth. However, to obtain a lower bound on the total tardiness, we need lower bounds on the completion times of the second-pass sub-jobs in U, and these lower bounds can be obtained using the following proposition. Proposition 17. In the two-machine re-entrant flowshop, the completion time of the second-pass sub-job that is completed mth among second-pass sub-jobs included in U in any complete schedule that 0 2 starts with r is no less than lbk0 , i.e., lbm ¼ lbk0 , where k = m if m = 1, 00 0 00 00 00 00 2, . . . , j A j and k = 2 m jA j if m = jA j + 1, jA j + 2, . . . , jU j. 00
Proof 3. A second-pass sub-job in A can be scheduled at the end of partial schedule r since its corresponding first-pass sub-job is already included in r. However, a second-pass sub-job included 00 00 in U -A can be scheduled only after its first-pass sub-job is included in r. 00 For m = 1, 2, . . . , jA j, the completion of the second-pass sub-job 00 that is completed mth among second-pass sub-jobs in U cannot be less than that of any (first-pass or second-pass) sub-job that is completed mth among sub-jobs included in U, i.e., lbm . 00 00 On the other hand, for m = jA j + 1, . . . , jU j, the second-pass sub00 job that is completed mth among second-pass sub-jobs in U can be 00 scheduled only after at least m jA j first-pass sub-jobs in U are 00 additionally included in r. Note that there are at least m jA j second-pass sub-jobs (whose corresponding first-pass sub-jobs are not scheduled yet). Therefore, the second-pass sub-job that is 00 completed mth among second-pass sub-jobs in U cannot be 00 scheduled before at least 2 m jA j 1 sub-jobs in U are sched00 00 00 uled. That is, for m = jA j + 1, jA j + 2, . . . , jU j, the completion time of the second-pass sub-job that is completed mth among second-pass 00 sub-jobs in U is no less than (a lower bound on) the completion 00 time of the sub-job that is completed (2 m jA j)th among sub jobs in U, i.e., lbk0 . h Using the above three propositions, we can compute a lower bound on the total tardiness of any complete schedule that can be obtained from partial schedule r as
X
00
maxf0; ci2 2 ðrÞ di g þ
i2 2 r
jU j X
n o 2 max 0; lbm d½m S00EDD ;
m¼1
where d½m ðS00EDD Þ denotes the due date of the job completed mth in an earliest due date sequence of jobs whose second-pass sub-jobs 00 are in U .
4. Heuristic algorithms In this section, we develop several heuristic algorithms, which are based on algorithms suggested in Kim (1993b) and Choi and Kim (2008a). 4.1. Modified list scheduling algorithms (MLS) In a typical list scheduling algorithm, when a machine becomes available, an operation with the highest priority is selected among those that can be processed at the time and scheduled on the machine. Since only permutation schedules are considered in our problem, we only need to find a sequence of sub-jobs on the first machine. The modified list scheduling algorithms suggested in this paper are developed based on concepts used in the heuristic algorithm of Kim (1993b) for the m-machine permutation flowshop scheduling problem. In this method, starting from a null schedule, a complete schedule is constructed by adding a sub-job one by one
S.-W. Choi, Y.-D. Kim / European Journal of Operational Research 199 (2009) 375–384
to the current partial schedule. A priority rule is used for the selection of a sub-job to be added to the current partial schedule. We use four different priority rules, of which the priority functions are given below. Each function gives the priority of sub-job k and a sub-job with the smallest priority function value is selected for addition. 0 earliest due date rule (EDD): dk 0 slack rule (SLACK): dk Cðrk Þ 0 slack per remaining work rule (S/RMWK): ðdk Cðrk ÞÞ=ðpk 1 þ pk 2 Þ 0 modified due date rule (MDD): maxfdk ; Cðrk Þg
In the above priority functions, C(rk ) denotes the completion time of sub-job k if it were scheduled just after the current partial 0 0 schedule r, and dk denotes the due date of sub-job k . Here, dk is set to dk ðpk2 1 þ pk2 2 Þ if it is the first-pass sub-job of job k, and it is set to dk if it is the second-pass sub-job of job k. When we select a new sub-job to be scheduled or added to the current partial schedule, we should consider the precedence relationship between the first-pass sub-job and its corresponding second-pass sub-job. In other words, a second-pass sub-job is not considered as a candidate if its corresponding first-pass sub-job is not scheduled yet. We can obtain a complete schedule using each of the four priority rules.
4.2. Modified NEH algorithm (MN) of Choi and Kim (2008a) This algorithm is slightly modified for our objective from the algorithm of Choi and Kim (2008a) for m-machine re-entrant flowshop scheduling problem with the objective of minimizing makespan. Choi and Kim’s algorithm is based on the algorithm of Nawaz et al. (1983), called NEH, which is developed for m-machine permutation flowshop scheduling problems with the objective of minimizing makespan. In the original NEH algorithm, jobs are sorted in a non-increasing order of the sum of processing times on the machines, then a final solution (sequence) is obtained in a constructive way, adding at each step a new job in that order by inserting it in the best position, i.e., the one that results in the best partial solution. In the algorithm of Choi and Kim (2008a), to select the best position for a sub-job at an iteration of the construction procedure, we check the feasibility of alternatives for the position considering precedence relationships between first-pass and second-pass subjobs. In addition, for the evaluation of candidate positions for a sub-job to be inserted, we schedule not only sub-jobs in the partial sequence but also those that are not in the partial sequence and compute total tardiness of resulting schedules. Here, sub-jobs that are not in the partial sequence are scheduled after the partial sequence in their order in the seed sequence. The above procedure of constructing a complete schedule is executed iteratively in two directions, forward and backward. That is, we first obtain a complete sequence by selecting a sub-job and inserting it in the best position one by one starting from the first sub-job in the initial seed sequence to the last sub-job. After this forward construction is completed, a backward construction procedure is executed using the sequence resulting from the forward construction as the seed sequence. We obtain a new complete sequence by selecting a sub-job and inserting it in the best position one by one starting from the last sub-job in the seed sequence to the first sub-job. The sequence obtained from this backward construction is used as the seed sequence of another forward construction. These forward and backward schedule construction procedures are repeated until the solution cannot be improved any more. In this algorithm, as the initial seed sequence, we use the best solution among those obtained from the four modified list scheduling algorithms given above.
379
The procedure for this algorithm can be summarized as follows: Procedure 2. (MN) Step 1. Obtain a (seed) sequence by using the best solution among those from the MLS algorithms. Let S0 be the seed sequence, and let r = ;. Step 2. For u = 1 to 2n do: (2.1) select the uth sub-job in S0; (2.2) for k = 1 to jrj + 1 do: insert the selected sub-job into the position between the (k 1)st sub-job and the kth sub-job in r, and if the resulting partial schedule is feasible, compute the total tardiness of the schedule, S, composed of the schedule of these jrj + 1 sub-jobs followed by the sequence of sub-jobs that are placed in the (u + 1)st position through the 2nth position in S0; (2.3) select a sub-job that results in the minimum total tardiness in step 2.2, and reset r to the resulting (partial) schedule. Step 3. If the total tardiness of the resulting full sequence of 2n sub-jobs is not less than the total tardiness of S0, stop. Otherwise, reset S0 to this new full sequence and go to step 4. Step 4. For u = 2n down to 1 do: (4.1-4.3) The same as steps (2.1)–(2.3), respectively. Step 5. If the total tardiness of the resulting full sequence of 2n sub-jobs is not less than the total tardiness of S0, stop. Otherwise, reset S0 to this new full sequence and go back to step 2.
4.3. Greedy local search algorithm (GLS) This algorithm starts with an initial feasible sequence, which is obtained by using the modified NEH algorithm. The initial sequence is then improved by interchanging a pair of jobs in the sequence. All pairs of jobs are considered for interchanges at each attempt for improvement, but interchanges that result in infeasible sequences are not considered. This algorithm is terminated when the current solution cannot be improved any more. 5. Computational experiments To evaluate performance of the algorithms suggested in this paper, we performed computational tests on a number of problem instances. In the problems, processing times of the operations were generated randomly from a discrete uniform distribution with a range of [1, 100]. Then, due dates of the jobs are generated using two parameters, T (tardiness factor) and R (due date range). The due dates of the jobs are generated randomly from a discrete uniform distribution with range [X (1 T R/2), X (1 T + R/2)], where X is a lower bound on the makespan, which is obtained by scheduling the sub-jobs with Johnson’s rule (Johnson, 1954) for two-machine flowshop problems without considering the precedence relationships between the sub-jobs. All the suggested algorithms were coded in the C programming language, and computational experiments were done on a personal computer with a Pentium 4 processor operating at 3.2 GHz clock speed. In this study, we first evaluate performance of the heuristic algorithms and then that of the branch and bound (B&B) algorithm. 5.1. Test of the heuristic algorithms For this series of tests, we generated 240 problems randomly, 10 problems for each of all combinations of four levels
380
S.-W. Choi, Y.-D. Kim / European Journal of Operational Research 199 (2009) 375–384
(20, 50, 100 and 200) for the number of sub-jobs, and six pairs of values for the parameters used to generate due dates of jobs. Selected pairs for (T, R) were (0.3, 1.4), (0.3, 1.2), (0.4, 1.2), (0.4, 1.0), (0.5, 1.0) and (0.5, 0.8). Since optimal solutions cannot be obtained in a reasonable amount of time for large-sized problems, performance of the algorithms was shown with a relative measure called the relative deviation index (RDI) and with the number of cases each algorithm found a best solution. For each problem, RDI is defined as (Za Zb)/ (Zw Zb) for algorithm a, where Za is the objective function value obtained from algorithm a, and Zb and Zw are the best objective function value and the worst objective function value, respectively, among those obtained from all of the tested algorithms. Results of the tests are given in Table 1, which gives the average and standard deviation of RDIs as well as the number of cases each algorithm found a best solution. Regardless of the problem sizes and parameter values used in problem generation, MN and GLS worked much better than the four MLS algorithms. Note that MN uses the best solution among those from the MLS algorithms as the seed solutions, and GLS uses solutions of MN as the initial solution. MN worked relatively well, but GLS outperformed all the other algorithms. Table 2 shows computation times required for MN and GLS for different problem sizes. Computation times required for MLS are not shown in this table, because they were very short. As can be seen, GLS required slightly longer computation time than MN. However, GLS did not require an excessively long time even for the largest-size problems (with 200 sub-jobs), and hence GLS will be used to find an initial feasible solution (upper bound) in the B&B algorithm to be tested next. Note that other search heuristics such as tabu search, simulated annealing, and genetic algorithms are not used in this paper, since it may take a much longer time to obtain better solutions with these search heuristics, and in general, it is
not desirable to spend too much time to find an initial incumbent solution in a B&B algorithm. 5.2. Test of the branch and bound algorithm First, we evaluate the effectiveness of the lower bound used in the B&B algorithm by comparing two B&B algorithms, with the lower bound and without the lower bound. For this comparison, we generated 180 problems randomly, 5 problems for each of all combinations of six levels (10, 12, 14, 16, 18 and 20) for the number of sub-jobs and the six pairs of values used earlier for parameters (T, R). To avoid excessive computation time for the test, the B&B algorithm was terminated after 3600 seconds of CPU time for each problem. Results of this test is given in Table 3, which shows the ratio of the computation times for the two algorithms as well as the ratio of the numbers of subproblems considered in the two algorithms. In the table, BB and BB–LB denote the B&B algorithms with the lower bound and without the lower bound, respectively. All the dominance properties given in this paper (Propositions 2–5) are implemented in both algorithms. As shown in Table 3, using the lower bound helps to reduce computation time significantly, which shows the effectiveness of the lower bound in fathoming domi-
Table 2 Computation time required for a problem. Number of sub-jobs
MN
20 50 100 200
0.01 0.06 0.60 7.51
a
GLS (0.01) (0.01) (0.10) (1.09)
0.01 0.06 0.60 7.56
(0.01) (0.01) (0.10) (1.10)
Average (standard deviation in parenthesis) of CPU times required for a problem.
Table 1 Performance of the heuristic algorithms. Number of sub-jobs
(T, R)
MLSs
MN
EDD
SLACK
S/RMWK
MDD
GLS
20
(0.3, (0.3, (0.4, (0.4, (0.5, (0.5,
1.4) 1.2) 1.2) 1.0) 1.0) 0.8)
0.392 0.495 0.478 0.445 0.493 0.409
(0.257)a (0.258) (0.192) (0.187) (0.174) (0.212)
0.626 0.748 0.658 0.743 0.753 0.752
(0.282) (0.232) (0.220) (0.196) (0.174) (0.238)
0.940 0.935 0.986 0.973 1.000 0.944
(0.189) (0.145) (0.043) (0.085) (0.000) (0.107)
0.165 0.307 0.355 0.302 0.370 0.372
(0.122) (0.207) (0.191) (0.090) (0.160) (0.160)
0.002 0.000 0.012 0.008 0.013 0.007
(0.007) (0.000) (0.016) (0.011) (0.029) (0.012)
0 0 0 0 0 0
(0) (0) (0) (0) (0) (0)
50
(0.3, (0.3, (0.4, (0.4, (0.5, (0.5,
1.4) 1.2) 1.2) 1.0) 1.0) 0.8)
0.203 0.239 0.362 0.381 0.396 0.436
(0.140) (0.160) (0.104) (0.173) (0.101) (0.108)
0.539 0.817 0.819 0.752 0.690 0.711
(0.257) (0.202) (0.202) (0.237) (0.155) (0.171)
0.922 0.822 0.989 0.963 1.000 1.000
(0.248) (0.303) (0.023) (0.116) (0.000) (0.000)
0.110 0.221 0.246 0.294 0.274 0.326
(0.085) (0.175) (0.090) (0.098) (0.101) (0.107)
0.000 0.000 0.003 0.005 0.004 0.001
(0.000) (0.001) (0.005) (0.013) (0.004) (0.001)
0 0 0 0 0 0
(0) (0) (0) (0) (0) (0)
100
(0.3, (0.3, (0.4, (0.4, (0.5, (0.5,
1.4) 1.2) 1.2) 1.0) 1.0) 0.8)
0.139 0.350 0.371 0.474 0.402 0.500
(0.136) (0.249) (0.135) (0.179) (0.099) (0.122)
0.552 0.837 0.606 0.770 0.603 0.714
(0.281) (0.196) (0.124) (0.098) (0.099) (0.138)
0.929 0.948 1.000 1.000 1.000 1.000
(0.224) (0.099) (0.000) (0.000) (0.000) (0.000)
0.057 0.257 0.242 0.374 0.298 0.408
(0.059) (0.202) (0.093) (0.112) (0.058) (0.106)
0.000 0.000 0.002 0.000 0.002 0.001
(0.000) (0.000) (0.002) (0.000) (0.001) (0.001)
0 0 0 0 0 0
(0) (0) (0) (0) (0) (0)
200
(0.3, (0.3, (0.4, (0.4, (0.5, (0.5,
1.4) 1.2) 1.2) 1.0) 1.0) 0.8)
0.220 0.306 0.390 0.445 0.404 0.474 0.383 6
(0.150) (0.135) (0.088) (0.106) (0.050) (0.068) (0.149)
0.457 0.808 0.606 0.763 0.588 0.747 0.694 0
(0.256) (0.220) (0.132) (0.097) (0.046) (0.118) (0.182)
0.994 0.941 1.000 1.000 1.000 1.000 0.970 0
(0.018) (0.106) (0.000) (0.000) (0.000) (0.000) (0.071)
0.124 0.195 0.207 0.308 0.274 0.376 0.269 8
(0.084) (0.088) (0.092) (0.074) (0.035) (0.100) (0.112)
0.000 0.000 0.001 0.000 0.001 0.001 0.003 129
(0.000) (0.000) (0.001) (0.000) (0.001) (0.001) (0.005)
0 (0) 0 (0) 0 (0) 0 (0) 0 (0) 0 (0) 0 (0) 240
Overall NBSb a b
Average (standard deviation in parenthesis) of relative deviation indexes (RDIs). Number of problems (out of 240 problems) for which the algorithm found the best solutions.
381
S.-W. Choi, Y.-D. Kim / European Journal of Operational Research 199 (2009) 375–384 Table 3 Effectiveness of the lower bound. Number of sub-jobs
10 12 14 16 18 20
ACPUTa
ARCPUTb
ARSCc
BB
BB–LB
(BB)/(BB–LB)
(BB)/(BB–LB)
0.01 0.03 0.26 3.23 63.57 742.80
0.19 9.69 526.61 3361.17 3600 3600
1.2 102 4.3 103 6.1 104 9.0 104 – –
1.3 102 3.9 103 1.7 104 6.7 104 – –
a Average CPU time, or a lower bound on the CPU time (obtained by using 3600 seconds as the CPU time for the problems which were not solved to the optimality in 3600 seconds). b Average ratio of CPU times. c Average ratio of the numbers of subproblems considered in the algorithms.
nated partial schedules. Actually, when the numbers of sub-jobs were 18 and 20, BB–LB could solve none of the problems to the optimality within the CPU time limit, 3600 seconds, while BB solved all problems. Next, to see the effectiveness of the dominance properties, we compare fourteen B&B algorithms: BB, the B&B algorithm with all the dominance properties; and BB-k, for k = 2, 3, . . . , 14, each
representing the B&B algorithm that uses all the dominance properties except for the one given in Proposition k. For example, BB-5 is the B&B algorithm without the dominance property of Proposition 5. In all of these algorithms, the lower bound developed in this study was used. For this comparison, we generated 150 problems randomly, 5 problems for each of all combinations of five levels (12, 14, 16, 18 and 20) for the number of sub-jobs and the six pairs of values for (T, R). Results of this test are shown in Table 4. As can be seen from the table, by using the dominance properties except for those given in Propositions 8, 9, 12 and 13, we could reduce the computation time, since a large portion of the subproblems could be fathomed. BB-8, BB-9, BB-12 and BB-13 needed longer computation time than BB, possibly because the computation for checking the dominance conditions given in Propositions 8, 9, 12 and 13 required a significant amount of time but could not fathom a large portion of the subproblems. Therefore, we tested an additional B&B algorithm without those four dominance properties, which is denoted with BB*. The results of this test are also given in Table 4. As expected, BB* needed the shortest computation time among all B&B algorithms tested in this study. Since BB* worked best, we further evaluate the performance of this algorithm over a wider range of test problems. For this main
Table 4 Effectiveness of the dominance properties. Number of sub-jobs
12
14
16
18
20
ACPUTa
BB BB-2 BB-3 BB-4 BB-5 BB-6 BB-7 BB-8 BB-9 BB-10 BB-11 BB-12 BB-13 BB-14 BB*
0.03 0.04 0.03 0.03 0.02 0.02 0.02 0.02 0.02 0.04 0.02 0.02 0.02 0.02 0.02
0.26 0.36 0.31 0.27 0.26 0.27 0.26 0.25 0.25 0.29 0.26 0.25 0.25 0.27 0.23
3.16 4.87 4.44 3.31 3.26 3.45 3.16 2.94 3.12 4.15 3.07 3.08 2.98 3.19 2.65
62.86 114.48 92.26 64.98 68.03 72.10 62.99 58.52 61.44 87.64 61.88 60.28 61.32 63.32 52.12
749.24 1159.67 1039.08 768.59 831.47 870.03 748.48 710.42 743.05 999.27 750.82 731.67 724.15 768.60 627.85
ARCPUTb
(BB)/(BB-2) (BB)/(BB-3) (BB)/(BB-4) (BB)/(BB-5) (BB)/(BB-6) (BB)/(BB-7) (BB)/(BB-8) (BB)/(BB-9) (BB)/(BB-10) (BB)/(BB-11) (BB)/(BB-12) (BB)/(BB-13) (BB)/(BB-14) (BB)/(BB*)
0.79 0.87 0.99 0.89 0.93 1.01 1.01 1.02 0.99 1.02 1.03 1.04 0.99 1.05
0.79 0.94 0.98 0.95 0.93 0.99 1.07 1.08 0.93 0.99 1.01 1.01 0.93 1.02
0.76 0.87 0.97 0.92 0.92 1.00 1.12 1.04 0.89 1.00 1.04 1.05 0.95 1.06
0.73 0.82 0.99 0.90 0.89 0.97 1.03 1.01 0.78 0.99 1.01 1.02 0.97 1.03
0.70 0.71 0.96 0.91 0.87 0.97 1.02 1.03 0.76 0.98 1.00 1.00 0.96 1.05
ARSCc
(BB)/(BB-2) (BB)/(BB-3) (BB)/(BB-4) (BB)/(BB-5) (BB)/(BB-6) (BB)/(BB-7) (BB)/(BB-8) (BB)/(BB-9) (BB)/(BB-10) (BB)/(BB-11) (BB)/(BB-12) (BB)/(BB-13) (BB)/(BB-14) (BB)/(BB*)
0.80 0.92 0.99 0.98 0.98 1.00 1.00 1.00 0.92 1.00 1.00 1.00 0.99 0.98
0.76 0.91 0.99 0.97 0.97 1.00 0.98 0.99 0.91 1.00 1.00 1.00 0.98 0.96
0.73 0.84 0.98 0.96 0.95 1.00 0.99 0.99 0.84 1.00 0.98 1.00 0.99 0.95
0.64 0.77 0.98 0.92 0.90 0.99 0.99 0.98 0.77 0.99 0.99 1.00 0.98 0.96
0.67 0.73 0.99 0.92 0.88 1.00 0.99 0.98 0.73 0.99 0.99 1.00 0.98 0.96
a,b,c
See the footnotes of Table 3.
382
S.-W. Choi, Y.-D. Kim / European Journal of Operational Research 199 (2009) 375–384
test, we generated 1200 problems, 10 problems for each of all combinations of eight levels for the number of sub-jobs (16, 18, 20, 22, 24, 26, 28 and 30) and the 15 pairs of values for (T, R). To avoid excessive computation time for the test, the B&B algorithm was terminated after 3600 seconds of CPU time for each problem. Results of the test are given in Table 5, which shows the average and median of CPU times required to solve a problem
and the number of problems that were not solved within the time limit. As can be seen in the table, the B&B algorithm could solve over 40% of problems with 22 sub-jobs within the time limit. Although it is not shown in the table, the percentage ratio of the number of subproblems considered in this B&B algorithm to that of all subproblems that would have been generated if no node had been
Table 5 Performance of the suggested B&B algorithm (BB*). ACPUTa
MCPUTb
NPNSc
Number of sub-jobs
(T, R)
ACPUTa
MCPUTb
NPNSc
(0.3, 1.4) (0.3, 1.2) (0.3, 1.0) (0.3, 0.8) (0.3, 0.6) (0.3, 0.4) (0.4, 1.2) (0.4, 1.0) (0.4, 0.8) (0.4, 0.6) (0.4, 0.4) (0.5, 1.0) (0.5, 0.8) (0.5, 0.6) (0.5, 0.4)
2.04 5.99 8.97 0.67 5.24 3.02 3.73 5.54 3.85 2.37 2.63 2.95 24.33 10.00 52.57
1.77 6.08 9.60 0.45 1.56 2.25 4.02 5.51 1.59 2.22 2.83 2.04 7.29 2.78 29.66
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
24
(0.3, 1.4) (0.3, 1.2) (0.3, 1.0) (0.3, 0.8) (0.3, 0.6) (0.3, 0.4) (0.4, 1.2) (0.4, 1.0) (0.4, 0.8) (0.4, 0.6) (0.4, 0.4) (0.5, 1.0) (0.5, 0.8) (0.5, 0.6) (0.5, 0.4)
647.41 946.42 1575.49 3600 3600 3600 1564.47 2300.94 2629.15 3600 3600 2785.84 2650.15 3600 3600
64.30 93.90 1473.16 3600 3600 3600 1658.48 3600 3600 3600 3600 3600 3600 3600 3600
2 3 4 10 10 10 5 7 9 10 10 9 9 10 10
18
(0.3, 1.4) (0.3, 1.2) (0.3, 1.0) (0.3, 0.8) (0.3, 0.6) (0.3, 0.4) (0.4, 1.2) (0.4, 1.0) (0.4, 0.8) (0.4, 0.6) (0.4, 0.4) (0.5, 1.0) (0.5, 0.8) (0.5, 0.6) (0.5, 0.4)
68.20 92.95 195.82 16.11 62.38 49.20 57.01 85.08 73.60 43.99 26.51 15.08 85.51 469.37 187.63
12.61 49.60 154.90 11.37 23.94 27.12 45.72 76.91 68.46 25.49 16.01 11.71 7.51 233.89 152.71
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
26
(0.3, 1.4) (0.3, 1.2) (0.3, 1.0) (0.3, 0.8) (0.3, 0.6) (0.3, 0.4) (0.4, 1.2) (0.4, 1.0) (0.4, 0.8) (0.4, 0.6) (0.4, 0.4) (0.5, 1.0) (0.5, 0.8) (0.5, 0.6) (0.5, 0.4)
1432.89 2201.63 2578.26 3046.01 3600 3600 2873.31 2262.11 3600 3600 3600 3600 3600 3600 3600
153.43 2616.09 3600 3600 3600 3600 3600 3600 3600 3600 3600 3600 3600 3600 3600
4 5 7 8 10 10 7 6 10 10 10 10 10 10 10
20
(0.3, 1.4) (0.3, 1.2) (0.3, 1.0) (0.3, 0.8) (0.3, 0.6) (0.3, 0.4) (0.4, 1.2) (0.4, 1.0) (0.4, 0.8) (0.4, 0.6) (0.4, 0.4) (0.5, 1.0) (0.5, 0.8) (0.5, 0.6) (0.5, 0.4)
929.62 1459.92 1811.21 373.64 422.35 831.14 1156.81 1579.52 401.26 671.43 709.31 540.93 2.04 5.99 8.97
633.00 1213.08 1663.24 238.58 171.27 682.84 1000.57 1238.03 369.38 531.48 300.70 383.78 1.77 6.08 9.60
0 0 0 0 2 3 0 0 1 0 4 0 0 0 0
28
(0.3, 1.4) (0.3, 1.2) (0.3, 1.0) (0.3, 0.8) (0.3, 0.6) (0.3, 0.4) (0.4, 1.2) (0.4, 1.0) (0.4, 0.8) (0.4, 0.6) (0.4, 0.4) (0.5, 1.0) (0.5, 0.8) (0.5, 0.6) (0.5, 0.4)
3113.71 2512.94 2455.72 3255.73 3600 3600 2185.03 3600 3600 3600 3600 3600 3600 3600 3600
3600 3600 3600 3600 3600 3600 3600 3600 3600 3600 3600 3600 3600 3600 3600
8 7 6 9 10 10 6 10 10 10 10 10 10 10 10
22
(0.3, 1.4) (0.3, 1.2) (0.3, 1.0) (0.3, 0.8) (0.3, 0.6) (0.3, 0.4) (0.4, 1.2) (0.4, 1.0) (0.4, 0.8) (0.4, 0.6) (0.4, 0.4) (0.5, 1.0) (0.5, 0.8) (0.5, 0.6) (0.5, 0.4)
1328.43 518.61 1768.72 1488.08 2549.46 3600 578.89 1697.81 2580.72 3600 3600 1986.89 2450.66 2366.96 3600
774.41 65.80 1996.24 1514.19 3600 3600 278.79 1950.19 3600 3600 3600 3600 3600 3600 3600
4 1 4 5 8 10 1 5 9 10 10 6 7 9 10
30
(0.3, 1.4) (0.3, 1.2) (0.3, 1.0) (0.3, 0.8) (0.3, 0.6) (0.3, 0.4) (0.4, 1.2) (0.4, 1.0) (0.4, 0.8) (0.4, 0.6) (0.4, 0.4) (0.5, 1.0) (0.5, 0.8) (0.5, 0.6) (0.5, 0.4)
2490.11 2267.37 2940.11 3240.02 3241.72 3600 2067.26 3123.19 3600 3600 3600 3600 3600 3600 3600
3600 3600 3600 3600 3600 3600 3600 3600 3600 3600 3600 3600 3600 3600 3600
7 6 8 9 9 10 6 9 10 10 10 10 10 10 10
Number of sub-jobs
(T, R)
16
a b c
See the footnote of Table 3. Median of CPU time Number of problems (among 10 problems) that were not solved to the optimality in 3600 seconds.
383
S.-W. Choi, Y.-D. Kim / European Journal of Operational Research 199 (2009) 375–384 Table 6 Effectiveness/performance of the heuristic algorithm. Number of sub-jobs
BB*
12 14 16 18 20 22 24 26 28 30 Total
0.02 0.23 2.65 52.12 627.85 2002.55 2387.50 3014.56 3336.82 2968.53 –
ACPUT
BB*-H a
b
GLS
NOPT
ACPUT
NOPT
PGc
NOOBd
30 30 30 30 30 17 12 7 5 7 198
0.02 0.28 2.84 57.72 659.21 2018.66 2392.86 3022.52 3342.95 2969.16 –
30 30 30 30 30 17 12 7 5 7 198
8.32 11.92 10.44 11.22 19.01 18.56 16.75 12.72 7.21 8.50 13.14
10 4 3 2 0 2 6 10 15 16 68
a
See the footnote of Table 3. b Number of problems (among 30 problems) that were solved to the optimality in 3600 seconds. c Average percentage gap between heuristic solutions and optimal solutions (or best incumbent solutions for the problems that has not been solved in 3600 seconds). d Number of problems (out of 30 problems) for which the heuristic algorithm found an optimal or a best incumbent solution.
manufacturing stages. Also, one can consider more general cases such as those in which setup times are required between processings of different jobs and in which there are jobs that require more than two passes through the system before they are completed. Such cases can be found in manufacturing systems producing multi-layered printed circuit boards and semiconductor wafers.
Appendix. Proofs for Propositions 2-14 We give abridged versions of the proofs here. More detailed and complete proofs are given in Choi and Kim (2008b). Proof for Proposition 2. We prove the proposition by showing Cj(ri1k1l ) 6 Cj(rk1i1l ) for j = 1, 2 and T(ri1k1l ) 6 T(rk1i1l ), 1 1 1 1 ck2 2 ðri k l pÞ 6 ck2 2 ðrk i l pÞ for any sequence p that makes rk1i1l p and ri1k1l p complete sequences. Note that if the second inequality is satisfied, all second-pass sub-jobs except for sub-jobs k2 can be started and completed in a schedule starting with ri1k1l no later than in schedules starting with rk1i1l . We know 1 1 C 1 ðri1 k Þ ¼ C 1 ðrk i1 Þ ¼ C 1 ðrÞ þ pi1 1 þ pk1 1 . Since l – k2 (l may be i2), we have
6. Concluding remarks
1 1
fathomed was very small (less than 1012% in most of larger-size problems). This means the dominance conditions and the lower bound used in the B&B algorithm are very effective. In general, when due dates were tighter, i.e., when the value of T was larger and R was smaller, it was more difficult to solve the problems with the B&B algorithm. This may be because the lower bound used in the B&B algorithm is less tight and the dominance properties are less effective when the due dates are tighter. Finally, we performed another test to show the effectiveness of the heuristic algorithm, GLS, used in the B&B algorithm. In this test, we compare two B&B algorithms with and without GLS, BB* and BB*-H, using 300 problems, 5 problems for each combination of ten levels for the number of sub-jobs (12, 14, 16, 18, 20, 22, 24, 26, 28 and 30) and the six pairs of values for (T, R), i.e., (0.3, 1.4), (0.3, 1.2), (0.4, 1.2), (0.4, 1.0), (0.5, 1.0) and (0.5, 0.8). Table 6 shows the CPU times required to solve a problem with the B&B algorithms and the number of problems that were solved to the optimality by the B&B algorithms as well as the percentage gaps of the heuristic solutions from optimal solutions or best incumbent solutions (for the problems that were not solved in 3600 seconds) and the number of problems for which GLS found optimal solutions or best incumbent solutions. As can be seen from the table, CPU time was reduced when the heuristic algorithm is embedded in the B&B algorithm. In addition, the heuristic algorithm found optimal solutions in a few problems, although the average percentage gap of the heuristic solutions from optimal solutions was not very small.
1 1
C 1 ðri k l Þ 6 C 1 ðrk i l Þ:
ðA1Þ
Also, from A1and the condition C2(ri1k1) 6 C1(ri1k1l ), we have
of
the
proposition,
1 1
1 1
C 2 ðri k l Þ ¼ C 1 ðri k l Þ þ pl 2 1 1
1 1
6 maxfC 1 ðrk i l Þ; C 2 ðrk i Þg þ pl 2 1 1
¼ C 2 ðrk i l Þ:
ðA2Þ
From (A1)and (A2), completion times of all sub-jobs except for subjob k1 in rk1i1l cannot be less than those in ri1k1l , and hence T(ri1k1l ) 6 T(rk1i1l ). Note that tardiness of job k is defined as maxfck2 2 ðSÞ dk ; 0g. Also, ready times of all second-pass sub-jobs except for sub-job k2 in a schedule starting with rk1i1l are not less than those in a schedule starting with ri1k1l . In addition, from (A1), (A2) and the 1 1 condition of the proposition, we have ck2 2 ðri k l pÞ 6 1 1 ck2 2 ðrk i l pÞ for any sequence p. This completes the proof. h
Proof for Proposition 3. We show that T(ri1k2) 6 T(rk2i1) and Cj(ri1k2) 6 Cj(rk2i1) for j = 1, 2. Note that T(ri1k2p) 6 T(rk2i1p) for any sequence p, if these two inequalities hold. 2 and Since C 1 ðri1 k Þ ¼ maxfC 1 ðrÞ þ pi1 1 ; ck1 2 ðrÞg þ pk2 1 2 1 C 1 ðrk i Þ ¼ maxfC 1 ðrÞ; ck1 2 ðrÞgþ pk2 1 þ pi1 1 ¼ maxfC 1 ðrÞ þ pi1 1 ; ck1 2 ðrÞ þ pi1 1 g þ pk2 1 , we have C1(ri1k2) 6 C1(rk2i1). From this and conditions (a) and (b) of the proposition, we have T(ri1k2) 6 T(rk2i1). h Proof for Proposition 4. We show that T(ri1k2l ) 6 T(rk2i1l ) and Cj(ri1k2l ) 6 Cj(rk2i1l ) for j = 1, 2. We can show C1(ri1k2) 6 C1(rk2i1), as in the proof of Proposition 3. In addition, since l may be i2, we have C1(ri1k2l ) 6 C1(rk2i1l ). Also, from condition (a) of the proposition, we have C2(ri1k2l ) 6 C2(rk2i1l ). From these two inequalities and condition (b) of the proposition, tardiness of job k is 0 in ri1k2, and hence T(ri1k2l ) 6 T(rk2i1l ). h
We considered a two-machine re-entrant flowshop scheduling problem with the objective of minimizing total tardiness. We developed dominance properties and a lower bound as well as heuristic algorithms, and used these to develop a branch and bound (B&B) algorithm for problems in which each job visits the machines twice. Results of computational experiments showed that the suggested B&B algorithm could find optimal solutions for problems with up to 30 sub-jobs in a reasonable amount of CPU time. This research can be (or needs to be) extended in several directions. For example, it may be necessary to develop efficient and effective dominance properties and lower bounds for the m-machine re-entrant flowshop problem, since most manufacturing systems with re-entrant flows are composed of multiple
i.e.,
Proof for Proposition 5. We prove the proposition by showing Cj(ri2k1l ) 6 Cj(rk1i2l ) for j = 1, 2, and T(ri2k1l ) 6 T(rk1i2l ), 1 2 2 1 ck2 2 ðri k l pÞ 6 ck2 2 ðrk i l pÞ for any sequence p that makes rk1i2l p and ri2k1l p complete sequences. From condition (a) of the proposition, we have C1(ri2k1) = C1(rk1i2). Since l – k2, we have C1(ri2k1l ) = C1(rk1i2l ). Also,
384
S.-W. Choi, Y.-D. Kim / European Journal of Operational Research 199 (2009) 375–384
from condition (b), we have C2(ri2k1l ) 6 C2(rk1i2l ). From these, we have T(ri2k1l ) 6 T(rk1i2l ). In addition, from condition (b), we have 1 1 ck2 2 ðri2 k l pÞ 6 ck2 2 ðrk i2 l pÞ for any sequence p. h
Proof for Proposition 6. From conditions (a) and (b), we easily show T(ri2k2) 6 T(rk2i2). h Proof for Proposition 7. From condition (a) of the proposition, we have C1(ri2k2l ) 6 C1(rk2i2l ). Also, from condition (b), we haveC2(ri2k2l ) 6 C2(rk2i2l ). From these two inequalities and condition (c), we have T(ri2k2l ) 6 T(rk2i2l ). Since T(ri2k2l ) 6 T(rk2i2l ) and Cj(ri2k2l ) 6 Cj(rk2i2l ) for j = 1, 2, the proposition holds. h
Proof for Proposition 14. From condition (b), we have C1(ri2xk2l ) 6 C1(rk2xi2l ). Also, from this and condition (c), we have C2(ri2xk2l ) 6 C2(rk2xi2l ). From these inequalities and conditions (a) and (d), we have T(ri2xk2l ) 6 T(rk2xi2l ). Since Cj(ri2xk2l ) 6 Cj(rk2xi2l ) for j = 1, 2, and T(ri2xk2l ) 6 T(rk2xi2l ), the proposition holds. h
References
Proof for Proposition 8. We prove the proposition by showing that T(ri2k2p) 6 T(rk2i2p) for an arbitrary sequence, p, which rk2i2p complete sequences. Since makes rk2i2p and 2 2 2 2 max[C1(ri k ) C1(rk i ), C2(ri2k2) C2(rk2i2)] is an upper bound on the increase in the completion time for each second-pass sub-job in p by the interchange of sub-jobs k2 and i2, n max[C1(ri2k2) C1(rk2i2), C2(ri2k2) C2(rk2i2)] is an upper bound on the increase in the total tardiness of the second-pass sub-jobs in p by the interchange. On the other hand, as a result of the interchange, the total tardiness of second-pass sub-jobs for partial sequence rk2i2 decreases by T(rk2i2) T(ri2k2). Therefore, if condition (b) is satisfied, i.e., C2(ri2k2) if T(rk2i2) T(ri2k2) P n max[C1(ri2k2) C1(rk2i2), C2(rk2i2)], we have T(ri2k2p) 6 T(rk2i2p). h
Proof for Proposition 9. We prove the proposition by showing T(ri1xk1l ) 6 T(rk1xi1l ), Cj(ri1xk1l ) 6 Cj(rk1xi1l ) for j = 1, 2 1 1 1 1 and ck2 2 ðri xk l pÞ 6 ck2 2 ðrk xi l pÞ for any sequence p that makes rk1xi1l p and ri1xk1l p complete sequences. Since l – k2 (l may be i2) and C1(ri1xk1) 6 C1(rk1xi1), which is condition (b), we have C1(ri1xk1l ) 6 C1(rk1xi1l ). Also, from this and condition (c), we can show C2(ri1xk1l ) 6 C2(rk1xi1l ). These two inequalities and condition (a) result in T(ri1xk1l ) 6 T(rk1xi1l ). Also, those two inequalities and condition (c) result in 1 1 ck2 2 ðri1 xk l pÞ 6 ck2 2 ðrk xi1 l pÞ for any sequence p. h
Proof for Proposition 10. Since T(ri1xk2) 6 T(rk2xi1) from conditions (a), (b) and (c), the proposition holds. h Proof for Proposition 11. We show Cj(ri1xk2l ) 6 Cj(rk2xi1l ) for j = 1, 2, and T(ri1xk2l ) 6 T(rk2xi1l ).From condition (b), we have C1(ri1xk2l ) 6 C1(rk2xi1l ). Also, from this and condition (c), we have C2(ri1xk2l ) 6 C2(rk2xi1l ). In addition, from these two inequalities and conditions (a) and (d), we have T(ri1xk2l ) 6 T(rk2xi1l ). h
Proof for Proposition 12. We prove the proposition by showing T(ri2xk1l ) 6 T(rk1xi2l ), Cj(ri2xk1l ) 6 Cj(rk1xi2l ) for j = 1, 2 1 1 2 2 and ck2 2 ðri xk l pÞ 6 ck2 2 ðrk xi l pÞ for any sequence p that makes rk1xi2l p and ri2xk1l pcomplete sequences. Since l – k2 and condition (b), we have C1(ri2xk1l ) 6 C1(rk1xi2l ). Also, from this and condition (c), we can showC2(ri2xk1l ) 6 C2(rk1xi2l ). These two inequalities and condition (a) result in T(ri2xk1l ) 6 T(rk1xi2l ). Also, those two inequal1 1 ities and condition (c) result in ck2 2 ðri2 xk l pÞ 6 ck2 2 ðrk xi2 l pÞ for any sequence p. h
Proof for Proposition 13. Since T(ri2xk2) 6 T(rk2xi2) from conditions (a), (b) and (c), the proposition holds. h
Baker, K.R., 1974. Introduction to Sequencing and Scheduling. John Wiley & Sons, New York. Choi, S.-W., Kim, Y.-D., 2007. Minimizing makespan on a two-machine re-entrant flowshop. Journal of the Operational Research Society 58, 972–981. Choi, S.-W., Kim, Y.-D., 2008a. Minimizing makespan on an m-machine re-entrant flowshop. Computers and Operations Research 35, 1684–1696. Choi, S.-W., Kim, Y.-D., 2008b. Proofs of propositions for a two-machine re-entrant flowshop scheduling problem. Technical Report 2008-07, Department of Industrial Engineering, Korea Advanced Institute of Science and Technology, Yusong-gu, Daejon, Korea. Choi, S.-W., Kim, Y.-D., Lee, G.-C., 2005. Minimizing total tardiness of orders with reentrant lots in a hybrid flowshop. International Journal of Production Research 43, 2149–2167. Demirkol, E., Uzsoy, R., 2000. Decomposition methods for reentrant flow shops with sequence dependent setup times. Journal of Scheduling 3, 115–177. Drobouchevitch, I.G., Strusevich, V.A., 1999. A heuristic algorithm for two-machine re-entrant shop scheduling. Annals of Operations Research 86, 417–439. Gelders, L.F., Sambandam, N., 1978. Four simple heuristics for scheduling a flowshop. International Journal of Production Research 16, 221–231. Graves, S.C., Meal, H.C., Stefek, D., Zeghmi, A.H., 1983. Scheduling of re-entrant flow shops. Journal of Operations Management 3, 197–207. Hwang, H., Sun, J.U., 1997. Production sequencing problem with reentrant work flows and sequence dependent setup times. Computers and Industrial Engineering 33, 773–776. Johnson, S.M., 1954. Optimal two- and three-stage production schedules with setup times included. Naval Research Logistics Quarterly 1, 61–68. Kim, Y.-D., 1993a. A new branch and bound algorithm for minimizing mean tardiness in two-machine flowshops. Computers and Operations Research 20, 391–401. Kim, Y.-D., 1993b. Heuristics for flowshop scheduling problems minimizing mean tardiness. Journal of Operational Research Society 44, 19–28. Kim, Y.-D., 1995. Minimizing total tardiness in permutation flowshops. European Journal of Operational Research 85, 541–555. Ko, H.H., Baek, J.K., Kang, Y.H., Kim, S.S., 2004. A scheduling scheme for restricted parallel machines cycling process. Journal of the Korean Institute of Industrial Engineers 30, 107–119. Koulamas, C., 1994. The total tardiness problem: Review and extensions. Operations Research 42, 1025–1041. Kubiak, W., Lou, S.X.C., Wang, Y., 1996. Mean flow time minimization in reentrant job shops with a hub. Operations Research 44, 764–776. Nawaz, M., Enscore, E.E., Ham, I., 1983. A heuristic algorithm for the m-machine, njob flow-shop scheduling problem. Omega 11, 91–95. Ow, P.S., 1985. Focused scheduling in proportionate flowshops. International Journal of Production Research 31, 852–869. Pan, J.C., Chen, J.S., 2002. Minimizing tardiness in a two-machine flow-shop. Computers and Operations Research 29, 869–885. Pan, J.C.H., Chen, J.S., 2003. Minimizing makespan in re-entrant permutation flowshops. Journal of Operational Research Society 54, 642–653. Pan, J.C.H., Chen, J.S., 2005. Mixed binary integer programming formulations for the reentrant job shop scheduling problem. Computers and Operations Research 32, 1197–1212. Pan, J.C.H., Fan, E.T., 1997. Two-machine flow-shop scheduling to minimize total tardiness. International Journal of Systems Science 28, 405–414. Pearn, W.L., Chung, S.H., Chen, A.Y., Yang, M.H., 2004. A case study on the multistage IC final testing scheduling problem with reentry. International Journal of Production Economics 88, 257–267. Schaller, J., 2005. Note on minimizing total tardiness in a two-machine flowshop. Computers and Operations Research 32, 3273–3281. Sen, T., Dileepan, P., Gupta, J.N.D., 1989. The two-machine flowshop scheduling problem with total tardiness. Computers and Operations Research 16, 333–340. Townsend, W., 1977. Sequencing n jobs on m machines to minimize maximum tardiness: A branch-and-bound solution. Management Science 23, 1016–1019. Wang, M.Y., Sethi, S.P., Van De Velde, S.L., 1997. Minimizing makespan in a class of reentrant shops. Operations Research 45, 702–712. Yang, D.-L., Kuo, W.-H., Chern, M.-S., 2008. Multi-family scheduling in a twomachine reentrant flow shop with setups. European Journal of Operational Research 187, 1160–1170.