Computers & Operations Research 32 (2005) 327 – 341
www.elsevier.com/locate/dsw
Minimizing total weighted tardiness on a single batch process machine with incompatible job families Imelda C. Pereza , John W. Fowlerb;∗ , W. Matthew Carlylec a
b
Motorola Corp., USA Arizona State University, Tempe, AZ 85287, USA c Arizona State University, USA
Abstract The di0usion step in semiconductor wafer fabrication is very time consuming, compared to other steps in the process, and performance in this area has a signi1cant impact on overall factory performance. Di0usion furnaces are able to process multiple lots of similar wafers at a time, and are therefore appropriately modeled as batch processing machines with incompatible job families. Due to the importance of on-time delivery in semiconductor manufacturing, we focus on minimizing the total weighted tardiness in this environment. The resulting problem is NP-Hard, and we decompose it into two sequential decision problems: assigning lots to batches followed by sequencing the batches. We develop several heuristics for these subproblems and test their performance. ? 2003 Elsevier Ltd. All rights reserved.
1. Introduction The semiconductor wafer fabrication industry has grown tremendously in recent years due to the increasing number of applications where integrated circuits (IC) are used. It is a very challenging task in this industry to meet one of the most important customer expectations: maximizing on-time delivery, or minimizing tardiness. This di=culty is due to several factors: products undergo several hundreds of manufacturing steps, and the process itself has complexities such as re-entrant product >ows, sequence dependent setups, diversity of product mix, and batch processing machines (di0usion furnaces). This paper focuses on issues surrounding batch processing machines, and proposes e0ective heuristic approaches for handling them. Di0usion furnace operations may take up to 10 h, while most other steps in semiconductor manufacturing take an hour or less. Even if several jobs can be processed at the same time, i.e. in ∗
Corresponding author.
0305-0548/$ - see front matter ? 2003 Elsevier Ltd. All rights reserved. doi:10.1016/S0305-0548(03)00239-9
328
I.C. Perez et al. / Computers & Operations Research 32 (2005) 327 – 341
Fig. 1. Di0usion reactor processing jobs of family A. Jobs of other families (including family A) wait outside for future processing.
a batch machine, di0erent product types, or products at di0erent stages of the process, cannot be processed together because of the various chemical requirements. In this case we say that we have incompatible job families. This is illustrated in Fig. 1, where we see a large cylinder representing a di0usion reactor furnace. Four jobs (wafer lots) from family “A” are being processed, while jobs from families “A,” “B,” and “C” wait outside for future processing. Depending on the customer requirements, some jobs have a higher priority than others, and products have to meet internal and/or external due dates. The motivation behind our research is the empirical result that, if these operations are scheduled e0ectively, the overall facility performance can be improved signi1cantly. In this research, we model a di0usion operation as a single batch processing machine with incompatible job families, and the performance measurement to be minimized is total weighted tardiness. Total weighted tardiness is a measure that incurs a penalty for each job that 1nishes processing after its promised delivery date. This penalty increases with the magnitude of the tardiness, and therefore schedules that minimize the weighted (by job priority) sum of penalties provide good on-time delivery performance, whereas higher than necessary values of total weighted tardiness indicate that many important jobs are not being delivered on time. To be more speci1c, let the index j range over the jobs available for processing, and let wj and dj represent the weights and the due dates for each job j, respectively. A processing schedule will provide a completion time, Cj , for each job. The tardiness, Tj , of job j is then de1ned as Tj ≡ max(0; Cj − dj ): Tardiness is clearly nonnegative, and increases linearly in the completion time if a job is late. Total weighted tardiness computes the weighted sum of tardiness values: TWT ≡ w j Tj : j
In general, total weighted tardiness is a di=cult objective function, even in the most straightforward scheduling environments. The problem of minimizing total weighted tardiness on a single batch machine with incompatible job families is NP-Hard, since it is a reduction from the NP-Hard single machine total tardiness problem (see [1] for a proof) when the batch size, or capacity, is a single
I.C. Perez et al. / Computers & Operations Research 32 (2005) 327 – 341
329
job. (We get an equivalent reduction if each job is in a unique family, forcing single-lot processing). To deal with this inherent complexity we decompose the problem into a sequence of two decision problems: assigning individual jobs to batches (of compatible lots), followed by the sequencing of the batches. Obviously, without a proposed sequence, a speci1c batching of jobs cannot be evaluated using the TWT objective. However, we will propose heuristic methods that deal with both decision problems, using metrics that tend to yield 1nal schedules that perform well with respect to TWT. Section 2 reviews relevant previous research done in modeling semiconductor manufacturing batch process machines. The main focus is given to the work in which incompatible job families are studied. Section 3 provides the problem de1nition. Section 4 describes the solution approaches. The experimental design used to test the solution approaches is explained in Section 5 and the results obtained are analyzed in Section 6. Conclusions and future research are presented in Section 7. 2. Previous research The literature on scheduling problems is vast, and we do not attempt to cover it all here. Rather, we have decided to provide a brief review of work on batch processing, favoring research that has a connection (direct or indirect) to semiconductor manufacturing. Our review makes reference to the standard three-1eld scheduling classi1cation scheme (see [2] for a thorough discussion). The representation of our problem in this classi1cation scheme is: 1|batch-incompatible|wj Tj ; the 1rst 1eld indicates a single processor, the second that it is a batch processor, and that the jobs are divided into incompatible families, the third denoting the TWT objective. Table 1 summarizes the documented scheduling research for batch processing. The main classi1cation division is between research done for batch process machines with incompatible job families vs. those with compatible (i.e., no distinction between) job families. For each paper, the machine environment, type of job families, and the performance measurement are speci1ed. The numbers included in Table 1 are the reference numbers of the papers found, the information about authors and journal publications titles can be found in the references section at the end of this paper. While Table 1 contains papers on compatible and incompatible job families, only the research on incompatible job families is discussed herein. Previous research done in the case of incompatible job families has been focused mostly on single batch process machine problems. Fanti et al. [8] focus on makespan (Cmax ) as the performance measurement. Kempf et al. [9] investigated a single batch machine having secondary resources requirements with a goal of minimizing Cmax and Cj . Uzsoy [10] developed deterministic algorithms to minimize Cmax , maximum lateness (Lmax ) and total weighted completion time (wj Cj ). He then considered the Lmax problem with dynamic job arrivals (i.e. ready times). Ikura and Gimple [16] provided an algorithm to determine whether a feasible schedule exists for the case where release times and due dates are agreeable (i.e. ri ¿ rj implies di ¿ dj ). Dobson and Nambimadom [21] considered the problem of minimizing the mean weighted >ow time and provided an integer programming (IP) formulation. Monma and Potts [17] studied the multi-objective problem of minimizing Lmax , wj Cj , and the number of tardy jobs for problems with sequence dependent setups. To solve this problem, they developed an IP model that provided a lower bound on the value of the optimal solution. Hung [22] used the performance objective of minimizing
330
I.C. Perez et al. / Computers & Operations Research 32 (2005) 327 – 341
Table 1 Summary of research found on scheduling of batch process machines
, batch Compatible , machine environment , performance measurement Cmax Cj wj Cj Tj wj Tj Tmax wj Uj Uj Lmax Cost related
1
Incompatible
Pm
others
1
Pm
others
[3–5] [4,12–14] [20]
[3] [12]
[8–10] [9,16] [10,17,21] [22,23]
[10] [17,18] [10,17]
[11] [19,11]
[3]
[3]
[6,7] [6,7,15] [7] [7] [7]
[3] [3]
[3] [3]
Reference number
[7]
[24] [25] [17,24] [10,17] [26]
[17] [10,17]
[22]
[27]
Tj to schedule an E-beam writer. He developed algorithms for the cases of a single machine and also for multiple machines. Mehta and Uzsoy [23] presented a dynamic programming (DP) algorithm as well as heuristics that can provide near optimal solutions when the performance measurement under analysis is total tardiness (Tj ). Li and Yee [24] consider the problems of minimizing the maximum tardiness and minimizing the number of tardy jobs when due dates and processing times are agreeable. Hochbaum and Landy [25] have as an objective minimizing the weighted number of tardy jobs, and they show that this problem is NP-Hard, and that it can be solved in pseudo-polynomial time by a dynamic programming algorithm. Duenyas and Neale [26] developed a heuristic for the case when the objective to be minimized is the long-run average cost per unit time. Table 1 also includes papers for parallel batch machines [10,17,18], a paper dealing with >ow shops [11], a paper dealing with job shops [19], and one with a cost performance measure [27]. As can be seen from Table 1, there has been little reported research on the problem of minimizing the total weighted tardiness for a single batch process machine with incompatible job families.
3. Problem denition In discussing this problem we must distinguish between the di0erent families of jobs to be processed, and therefore each job will be referred to by two indices, specifying both family number and job number within a family. Product families will be indexed by the letter i, jobs by the letter j, and batches by the letter k. Therefore subscripts ij refer to job j of family i, and ik will refer
I.C. Perez et al. / Computers & Operations Research 32 (2005) 327 – 341
331
Fig. 2. Graphical representation of the research problem.
to batch k of family i. The following symbols will be used through the rest of this paper: m ni n pi dij wij B
number of di0erent families of products to be processed number of jobs of family i to be scheduled total number of jobs available to be scheduled: n = mi=1 ni processing time of jobs in family i due date of job j of family i priority weight for job j of family i batch processing machine capacity, (number of jobs)
Given a batching and sequencing of jobs, we can construct the associated (nondelay) processing schedule. For that schedule we can calculate the completion time of job j of family i, Cij , by summing the processing times of the batches in the sequence up to and including the batch containing that job. We can then calculate the weighted tardiness of job i of family j as wij Tij =wij max(Cij −dij ; 0). The di0usion reactor will be modeled as a single batch process machine. Fig. 2 is used to represent the research problem studied herein. There are n jobs of m di0erent families waiting to be processed. Each job has a priority weight wij and a due date dij assigned according to external customer requirements. Since this problem is NP-Hard, the approach taken here is to decompose the problem into two subproblems. First, form batches in each family and then sequence the batches. The goal of this research is to 1nd the schedule that minimizes the total weighted tardiness.
4. Solution approaches Since the 1|batch-incompatible|wj Tj scheduling problem is NP-Hard, we developed heuristics in an attempt to obtain good solutions in reasonable amounts of time. The 1rst step taken was to decompose the problem into two natural subproblems: 1. Batching the jobs within a family. 2. Sequencing the (now 1xed) batches.
332
I.C. Perez et al. / Computers & Operations Research 32 (2005) 327 – 341
Fig. 3. Combined weighted tardiness of three jobs in batch k as a function of batch completion time, Ck . Due dates and weights for individual jobs are indicated as d1 , d2 , and d3 , and w1 , w2 , and w3 , respectively. Dashed line indicates a batch completion time based tardiness function serving as a lower bound for this combined tardiness term.
After step (1), the problem reduces to a nonbatch scheduling problem. However, the objective function ceases to be total weighted tardiness. Instead, each batch, when viewed as a single job, has a convex, piecewise linear function of completion time that indicates its contribution to the overall TWT objective. This function is illustrated in Fig. 3 for a batch, k, with three jobs. It has points of nondi0erentiability at the due date of each job in the batch, and the slope of each linear segment is the sum of the weights of the jobs that are overdue in that segment. The TWT is then the sum over the batches of this combined weighted tardiness term. It is easy to see from this that, as a function of batch completion times (as opposed to individual job completion times), TWT is still a regular measure, and therefore we can focus our attention on 1nding optimal nondelay schedules (see Pinedo [2] for a discussion of the connection between regular measures and the existence of optimal nondelay schedules). Furthermore, for a given batch, this function can be bounded below by a function that resembles a weighted tardiness term, where the weight for the batch is the sum of the individual job weights, and the due-date for the batch is the point at which the steepest segment of the original function would intersect the completion time axis if it were extrapolated backwards (the dashed line in Fig. 3). This surrogate due-date, Dk , ends up to be: j wj dj ; Dk = j wj the weighted average of the due dates of the individual jobs in the batch. This construction suggests that heuristics that perform well for TWT in nonbatching problems will also perform well for our second stage decision problem of sequencing already formed batches. 4.1. Batching the jobs For the 1rst subproblem, batching the jobs, two di0erent approaches were used. Both are based on dispatching rules: the jobs of each family are separated from the rest of the jobs and sequenced based
I.C. Perez et al. / Computers & Operations Research 32 (2005) 327 – 341
333
on their order of selection under a given rule, and then batches are formed using a greedy selection rule applied to the dispatching sequence. The two dispatching rules used were earliest due date (EDD) and apparent tardiness cost (ATC). In the EDD heuristic jobs are sequenced in nondecreasing due date order. This ignores any weights on the jobs. The ATC rule [28] is a composite dispatching rule that tends to schedule jobs with higher priority indices 1rst. The ATC index for job j of family i at time t is given by wij −max(dij − pi − t; 0) Iij (t) = : exp pij k pO The parameter k is referred to as a lookahead parameter, and is usually chosen to be between 0.1 and 5. Larger values of k diminish the impact of large slack values, while small values of k imply that only nearly due jobs will be considered. The parameter pO is the average processing time of all jobs. At any time when the machine becomes idle, the ATC index is calculated for all remaining jobs, and the job with the highest index is the next job chosen for processing. The ATC rule calculates the slack for each job (the time remaining before the job has to be started if it is to 1nish processing on time), discounts this factor exponentially, and weights it by the weight of the job divided by its processing time. 4.2. Sequencing the batches For the second subproblem, sequencing the batches, four approaches were used: 1. EDD. The 1nal sequence is obtained by selecting batches in nondecreasing order of the due date of the 1rst job in a batch. 2. ATC. The 1nal sequence is obtained by iteratively choosing the batch with the highest total index, Iik ≡ j∈Bik Iij (t), to be sequenced, and then advancing t by the processing time of that family and recalculating all of the ATC indices. 3. DP. DP is a dynamic programming algorithm based on an algorithm developed by Mehta and Uzsoy [23] that gives the optimal value of total tardiness for a 1xed set of jobs. Our algorithm simply replaces tardiness with weighted tardiness. This algorithm has polynomial time complexity (that depends on the number of batches) for a 1xed number of families and a 1xed batch machine capacity. Our algorithm searches for the sequence of batches that returns the minimum total weighted tardiness by considering the problem in stages (number of batches scheduled) and builds the schedule forward in time. At each stage the number of batches remaining in each family provides the state. 4. DH (Decomposition heuristic). This heuristic approach is also similar to one used by Mehta and Uzsoy [23]. From an initial sequence obtained by another heuristic (e.g. ATC), the optimal subsequence of size is determined using the DP algorithm from above. The 1rst f batches of this optimal subsequence are 1xed into the 1nal sequence, and the next jobs are considered. The next f batches are then 1xed and so on. After all batches have been 1xed, the process starts over and is repeated until no improvement is made on the total weighted tardiness of the 1nal sequence. As f decreases and increases, DH 1nds better solutions but at increased computational e0ort.
334
I.C. Perez et al. / Computers & Operations Research 32 (2005) 327 – 341
A total of six di0erent combinations of batching the jobs and sequencing the batches were made: 1. EDD–EDD. 3. EDD–DP. 5. ATC–DP.
2. ATC–ATC. 4. EDD–DH. 6. ATC–DH.
4.3. Description of algorithms (a) EDD–EDD 1. Arrange jobs in each family in nondecreasing order of due dates (d1 6 d2 6 d3 : : :). 2. Form batches per family starting with the smallest due date. 3. When a batch is formed, set its due date to be the due date of the 1rst job in the batch. Arrange the batches in nondecreasing order of due dates. 4. Stop when all batches have been included. Otherwise return to 3. (b) ATC–ATC 1. Calculate the ATC index for each unscheduled job of each family. 2. Form a batch per family, by selecting jobs, according to the batch size, with the highest indices 1rst. 3. Obtain a combined index per batch given by the sum of the individual job indices. 4. Select the batch with the highest combined index, out of all the families and schedule it. Advanced t by that family’s processing time. 5. Stop when all jobs have been assigned to batches and all batches have been sequenced. Otherwise return to 1. (c) EDD–DP 1. Arrange jobs in each family in nondecreasing order of due dates (d1 6 d2 6 d3 : : :). 2. Form batches by family starting with the smallest due date. 3. Find a 1nal sequence using the DP algorithm. (d) EDD–DH 1. 2. 3. 4. 5. 6.
Start with an initial sequence obtained by the EDD–EDD algorithm. Select a subproblem containing the 1rst un1xed batches from the initial sequence. Solve the subproblem to an optimal sequence using the DP algorithm. Using the optimal subproblem sequence, 1x the 1rst f batches into the 1nal sequence. If more batches still need to be 1xed, go to 3. Otherwise go to 6. Stop when all batches have been placed into the 1nal sequence and there has not any improvement in the total weighted tardiness since the last full sequence was developed. Otherwise return to 2. (e) ATC–DP
1. Start with an initial sequence obtained by the ATC–ATC algorithm. 2. Find a 1nal sequence using the DP algorithm.
I.C. Perez et al. / Computers & Operations Research 32 (2005) 327 – 341
335
(f) ATC–DH 1. 2. 3. 4. 5. 6.
Start with an initial sequence obtained by the ATC–ATC algorithm. Select a subproblem containing the 1rst un1xed batches from the initial sequence. Solve the subproblem to an optimal sequence using the DP algorithm. Using the optimal subproblem sequence, 1x the 1rst f batches into the 1nal sequence. If more batches still need to be 1xed, go to 3. Otherwise go to 6. Stop when all batches have been placed into the 1nal sequence and there has not any improvement in the total weighted tardiness since the last full sequence was developed. Otherwise return to 2.
5. Experimental design To test our heuristics we generated random instances in a manner similar to that used by Mehta and Uzsoy [23]. The main modi1cation is the addition of a random weight for each job. This weight is generated from a uniform distribution between 0 and 1. The T value represents the percentage of tardy jobs for a speci1c instance (30% or 60%). The R value represents how spread (range) are the job due dates (0.5 or 2.5). Table 2 shows the values used for the experimental design. All algorithms were coded in MATLAB.
Table 2 Experimental design used to generate the random instances Problem parameter
Values used
Total values
Number of jobs/family (nj ) Number of families (m) Batch size (B) Family processing time (pj )
30,40,50,60 3,4,5 4,8 2 with probability of 0.2 4 with probability of 0.2 10 with probability of 0.3 16 with probability of 0.2 20 with probability of 0.1
4 3 2 1
Weight per job (wij )
Uniform (0,1)
1
Job due dates (dij )
dij = Uniform[ − (R=2); + (R=2)] where: = makespan × (1 − T ) makespan = nj × m × E[P]=B E[P] = Expected processing time T = 0:3; 0:6 R = 0:5; 2:5 Total parameters combinations Number of problem instances/combination Total problems
4
96 10 960
336
I.C. Perez et al. / Computers & Operations Research 32 (2005) 327 – 341
6. Results Tables 3–5 summarize the results for 3–5 families, respectively. Some points to help clarify the results are provided below. 1. The parameter on the table under the heading “compare”, is the one 1xed, while all the other parameters vary. For example, “30 jobs/family” means that the result considers all the instances that were run when there were 30 jobs/family, no matter what were the values of all the other parameters. 2. Due to the fact that sometimes the total weighted tardiness can be zero, we added the total weighted tardiness of all the instances for that parameter value and divided by the sum of all the corresponding instances of ATC–DH. 3. The results are reported as the average of the ratios of the TWT of a speci1c heuristic and the TWT of the ATC–DH heuristic. ATC–DH was chosen as the approach to compare because it performs almost as well as the ATC–DP approach, but it requires considerably less computational time. 6.1. Results for three families Table 3 shows the solution quality of the di0erent heuristics compared to the performance of the ATC–DH heuristic. Two di0erent heuristics to form the batches with the EDD rule were used. Table 3 Results obtained when problem instances have three di0erent product families Compare
EDD–EDD/ ATC–DH
ATC–ATC/ ATC–DH
EDD–DP/ ATC–DH
EDD–DH/ ATC–DH
ATC–DP/ ATC–DH
Jobs/family 30 40 50 60
1.5316 1.4178 1.4574 1.4441
1.3142 1.2620 1.3142 1.3241
1.1995 1.1166 1.1127 1.0945
1.2106 1.1250 1.1218 1.1126
0.9953 0.9909 0.9901 0.9876
Batch size B=4 B=8
1.4382 1.4728
1.3310 1.2582
1.0819 1.1777
1.0953 1.1898
0.9861 0.9969
% of Tardy jobs T = 30% T = 60%
1.3913 1.4659
1.1987 1.3380
1.1470 1.1035
1.1522 1.1186
0.9949 0.9881
Due date range R = 0:5 R = 2:5
1.5671 1.3361
1.3700 1.2469
1.1812 1.0474
1.1994 1.0554
0.9897 0.9897
Overall
1.4495
1.3073
1.1131
1.1260
0.9897
I.C. Perez et al. / Computers & Operations Research 32 (2005) 327 – 341
337
Table 4 Results obtained when problem instances have four di0erent product families Compare
EDD–EDD/ ATC–DH
ATC–ATC/ ATC–DH
EDD–DP/ ATC–DH
EDD–DH/ ATC–DH
ATC–DP/ ATC–DH
Jobs/family 30 40 50 60
1.5039 1.5402 1.5169 1.4784
1.3640 1.4332 1.4107 1.3826
1.1101 1.0821 1.0715 1.0565
1.1234 1.1033 1.0923 1.0877
0.9912 0.9945 0.9837 0.9777
Batch size B=4 B=8
1.4995 1.5175
1.4133 1.3681
1.0490 1.1220
1.0805 1.1300
0.9778 0.9976
% of Tardy jobs T = 30% T = 60%
1.4149 1.5359
1.2838 1.4375
1.0817 1.0697
1.0968 1.0965
0.9896 0.9824
Due date range R = 0:5 R = 2:5
1.5520 1.4405
1.4397 1.3416
1.0874 1.0524
1.1275 1.0537
0.9733 0.9994
Overall
1.5053
1.3987
1.0727
1.0966
0.9842
Table 5 Results obtained when problem instances have 1ve di0erent product families (asterisks indicate problem instances not solved due to excessive computational e0ort) Compare
EDD–EDD/ ATC–DH
ATC–ATC/ ATC–DH
EDD–DH/ ATC–DH
ATC–DP/ ATC–DH
Jobs/family 30 40 50 60
1.6128 1.5407 1.5240 1.5734
1.4314 1.4530 1.4418 1.4815
1.1416 1.0787 1.0684 1.0708
∗ ∗ 0.9795 ∗
Batch size B=4 B=8
1.5766 1.5200
1.5081 1.3745
1.0577 1.1141
0.9717 0.9933
% of Tardy jobs T = 30% T = 60%
1.4676 1.5778
1.3084 1.4964
1.0953 1.0746
0.9688 0.9826
Due date range R = 0:5 R = 2:5
1.6525 1.4373
1.5497 1.3470
1.1102 1.0407
0.9666 0.9953
Overall
1.5555
1.4584
1.0788
0.9795
338
I.C. Perez et al. / Computers & Operations Research 32 (2005) 327 – 341
In the case where the batches formed were also sequenced with the EDD approach (EDD–EDD algorithm), the performance is 45% worse than the ATC–DH heuristic. In the case where batches are formed by EDD and the method to sequence the batches is DP (DH), the overall result obtained is just 11% (13%) worse than the ATC–DH heuristic. On the other hand, if the method to form batches is a little more sophisticated than just arranging jobs by due dates, i.e. using the ATC rule, but the 1nal sequence is also obtained by ATC approach, the result is 31% worse than the ATC–DH. The ATC–DH performance is similar to the ATC–DP. In fact, ATC–DP performs only slightly more than 1% better than the ATC–DH on average. In general, the heuristics using the EDD approach to form batches improve (compared to ATC–DH) when the number of jobs per family increases; however the performance decreases as the batch size increases. On the other hand those forming batches with the ATC rule perform about the same when the number of jobs per family increases and have mixed performance when the batch size increases. Increasing the percentage of tardy jobs does not a0ect the results much for any of the heuristics except for ATC–ATC. In general all the algorithms perform better when the due date range is large, but this is not surprising. We also determined in how many of the 320 problem instances did the other heuristics obtain the same solution as the ATC–DH heuristic. The EDD– EDD heuristic obtained the same result as the ATC–DH in 36 cases of the 320 total cases, which is a 11.25%. The ATC–ATC, EDD–DP, and EDD–DH heuristics each obtained the same results as ATC–DH approximately 14% of the time. Lastly, the ATC–DH obtained the same solution as the ATC–DP in 83.12% of the cases. 6.2. Results for four families Table 4 compares the heuristics performance when four families are considered. Overall the EDD–EDD and ATC–ATC heuristics perform a little worse than the problems that only consider three families. In the case of the EDD–DP (EDD–DH) heuristic, the performance improves from 11% (13%) worse than the ATC–DH to 7% (10%) worse. In the case of the ATC–DP, the results are very similar for the cases of three and four families, 1.03% and 1.58%, respectively, which is a performance only slightly better than ATC–DH. The results for batch size, percentage of tardy jobs and the due date range are consistent with the performance found in the three family analysis. 6.3. Results for 9ve families Table 5 compares the performance of heuristics EDD–EDD, ATC–ATC and EDD–DH vs. ATC–DH, and also presents the results of the performance of the ATC–DP vs. ATC–DH in a small case study made with 50 jobs per family, 1ve instances. This was the only case considered using the DP algorithm because the run times become very long as the number of families increases. Table 5 shows that the relative (to ATC–DH) performance of EDD–DH is better for 1ve families than for three and four families. The results for batch size, percentage of tardy jobs and the due date range are consistent with the results found in the three and four family cases. It was mentioned before that a small case study was used to compare the performance of the ATC–DP vs. ATC–DH. In terms of solution quality the overall result shows that ATC–DP is better than ATC–DH by about 2%. In terms of time required to get a solution, ATC–DH only takes 40% of the time of ATC–DP. The run-time percentage will likely go down as the number of families
I.C. Perez et al. / Computers & Operations Research 32 (2005) 327 – 341
339
Fig. 4. Histogram of main-loop iterations necessary for the ATC–DH to converge.
increases. Finally, we were interested in the number of times ATC–DH has to go through the main loop (steps 2–5 in Section 4.3(f)) to 1nd the answer (where no further improvement can be made). Fig. 4 shows the distribution of frequencies for the three families and 40 jobs/family problem instances; note that the median is less than three. Thus, the algorithm generally converges relatively quickly. 7. Conclusions and future research This research focused on the problem of minimizing the total weighted tardiness on a single batch process machine with incompatible job families. This problem is of practical, as well as academic, interest. It is practical because the cases of batch process machines can be found in the semiconductor industry, speci1cally in wafer fabrication facilities in the di0usion operation (furnaces). Due to the fact that these operations typically have longer processing times than other operations, it is reasonable to expect that if this operation can be scheduled in an e0ective method, the overall facility performance may be improved. It is of academic interest because it is a di=cult problem and no previous literature was discovered about this particular topic. It has been shown that in the case where jobs have a priority characteristic besides the due dates, the batching method can have a signi1cant impact. Since the problem is NP-Hard, it is decomposed in two stages: 1. Form the batches and 2. sequence the batches. To form the batches, the EDD rule and the ATC rule are used. To sequence the batches, the EDD rule, ATC rule, DP and DH algorithms are used. Di0erent combinations of these two stages are tested with representative data used before by Mehta and Uzsoy [23] and adding random weights to the problem instances. The results show that between the two rules used to form batches, ATC has better overall performance. For the sequence of batches, the DP seeks to obtain an optimal solution once batches are formed. The results consistently show that the heuristic that uses the ATC rule to form batches, combined with the DH heuristic to sequence batches performs better than the others tested (except, of course, ATC–DP). However, the results of ATC–DH are very close to those obtained by ATC–DP. Since the
340
I.C. Perez et al. / Computers & Operations Research 32 (2005) 327 – 341
DP computational time increases exponentially with the number of families, the ATC–DH algorithm is a good heuristic to use for cases when the number of families is more than three. This is due to the closeness of its performance to the DP performance and the reduced computational time. The application of the ATC–DH heuristic to the actual production environment can be easily implemented. Having some jobs waiting to be processed by the furnace, the heuristic can be applied to determine which batches to form, and in which sequence they should be processed. Later on, as more batches arrive, the heuristic can be applied again, and this trend is similar to the “moving window” pattern that the DH heuristic uses. Directions for future research point to parallel batch process machines, job shops containing batch processors, and taking advantage of known precedence relationships between jobs. This last suggestion for further research seems to promise an aid to the process of forming batches and is motivated by [30]. If it is possible to identify which jobs must come before other jobs in a given family of jobs, the batches can be formed in such a way that the overall optimal will be found more easily. Further comments are available in chapter 3 of the Master’s Thesis of Perez [29]. Acknowledgements This research was partially supported by the National Science Foundation under grant DMII9713750 and by the Semiconductor Research Corporation and International SEMATECH under grant 2001-NJ-880. References [1] Lawler EL. A ‘pseudopolynomial’ time algorithm for sequencing jobs to minimize total tardiness. Annals of Discrete Mathematics 1977;1:331–42. [2] Pinedo M. Scheduling: theory, algorithms and systems. Englewood Cli0s, NJ: Prentice-Hall; 1995. [3] Lee CY, Uzsoy R, Martin-Vega LA. E=cient algorithms for scheduling semiconductor burn-in operations. Operations Research 1992;40(4):764–75. [4] Uzsoy R. Scheduling a single batch processing machine with non-identical job sizes. International Journal of Production Research 1994;32(7):1615–35. [5] Lee CY, Uzsoy R. Minimizing makespan on a single batch processing machine with dynamic job arrivals. International Journal of Production Research 1999;37(1):219–36. [6] Ahmadi JH, Ahmadi RH, Dasu S, Tang CS. Batching and scheduling jobs on batch and discrete processors. Operations Research 1992;39(4):750–63. [7] De S, Lee A. Towards a knowledge-based scheduling system for semiconductor testing. International Journal of Production Research 1998;36(4):1045–73. [8] Fanti MP, Maione B, Piscitelli G, Turchiano B. Heuristic scheduling of jobs on a multi-product batch processing machine. International Journal of Production Research 1996;34(8):2163–86. [9] Kempf KG, Uzsoy R, Wang CS. Scheduling a single batch processing machine with secondary resource constraints. Journal of Manufacturing Systems 1998;17(1):37–51. [10] Uzsoy R. Scheduling batch processing machines with incompatible job families. International Journal of Production Research 1995;33(10):2685–708. [11] Lane DE, Sidney JB. Batching and scheduling in FMS HUBS: >ow time considerations. Operations Research 1993;41(6):1091–103. [12] Chandru V, Lee CY, Uzsoy R. Minimizing total completion time on batch processing machines. International Journal of Production Research 1993;31:2097–121.
I.C. Perez et al. / Computers & Operations Research 32 (2005) 327 – 341
341
[13] Chandru V, Lee CY, Uzsoy R. Minimizing total completion time on a batch processing machine with job families. Operations Research Letters 1993;13(2):61–5. [14] Ghazvini FJ, Dupont L. Minimizing mean >ow times criteria on a single batch processing machine with non-identical jobs sizes. International Journal of Production Economics 1998;55:273–80. [15] Sung CS, Yoon SH. Minimizing maximum completion time in a two batch processing machine >owshop with dynamic arrivals allowed. Engineering Optimization 1997;28:231–43. [16] Ikura Y, Gimple M. E=cient scheduling algorithms for a single batch processing machine. Operations Research Letters 1986;5(2):61–5. [17] Monma CL, Potts CN. On the complexity of scheduling with batch setup times. Operations Research 1989;37(5): 798–804. [18] Tang CS. Scheduling batches on parallel machines with major and minor set-ups. European Journal of Operational Research 1990;46:28–37. [19] Baudet T, Azzaro-Pantel C, Domenech S, Pibouleau L. A discrete event simulation approach for scheduling batch process. Computers Chemical Engineering 1995;19:633–8. [20] Uzsoy R, Yang Y. Minimizing total weighted completion time on a single batch processing machine. Production and Operations Management 1997;6(1):57–73. [21] Dobson G, Nambimadom RS. The batch loading and scheduling problem. Operations Research 2001;49(1):52–65. [22] Hung Y-F. Scheduling of mask shop E-beam writers. IEEE Transactions on Semiconductor Manufacturing 1998;11(1):165–72. [23] Mehta SV, Uzsoy R. Minimizing total tardiness on a batch processing machine with incompatible job families. IIE Transactions 1998;30:165–78. [24] Li, Chung-Lun, Lee Chung-Yee. Scheduling with agreeable release times and due dates on a batch processing machine. European Journal of Operational Research 1997; 96:564 –9. [25] Hochbaum DS, Landy D. Scheduling with batching: minimizing the weighted number of tardy jobs. Operations Research Letters 1994;16:79–86. [26] Duenyas I, Neale JJ. Stochastic scheduling of a batch processing machine with incompatible job families. Annals of Operations Research 1997;70:191–220. [27] Gurnani H, Anupindi R, Akella R. Control of batch processing systems in semiconductor wafer fabrication facilities. IEEE Transactions on Semiconductor Manufacturing 1992;5(4):319–27. [28] Vepsalainen A, Morton T. Priority rules for job shops with weighted tardiness costs. Management Science 1987;33:1035–47. [29] Perez TI. Minimizing total weighted tardiness on a single batch process machine with incompatible job families. Master thesis, Arizona State University, Tempe AZ, 1999. [30] Chambers RJ, Carraway RL, Lowe TJ, Morin TL. Dominance and decomposition heuristics for single machine scheduling. Operations Research 1991;39:639–47.