Computers & Operations Research 29 (2002) 995}1007
Minimizing makespan on a single burn-in oven with job families and dynamic job arrivals C.S. Sung *, Y.I. Choung, J.M. Hong , Y.H. Kim Department of Industrial Engineering, Korea Advanced Institute of Science and Technology, 373-1 Kusong-dong, Yusong-gu, Taejon 305-701, South Korea System Engineering Group, Kiheung Plant, Samsung Electronics, Yongin 449-900, South Korea Received 1 August 1999; received in revised form 1 August 2000
Abstract This paper considers a scheduling problem for a single burn-in oven in the semiconductor manufacturing industry where the oven is a batch processing machine and each batch processing time is represented by the largest processing time among those of all the jobs contained in the batch. Each job belongs to one of the given number of families. Moreover, the release times of the jobs are di!erent from one another. The objective measure of the problem is the maximum completion time (makespan) of all jobs. A dynamic programming algorithm is proposed in the order of polynomial time complexity for a situation where the number of job families is given ("xed). A computational experiment is performed to compare the time complexity of the proposed algorithm with that of another exact algorithm evaluating all possible job sequences based on batching-dynamic programming (BDP). The results of the experiment show that the proposed algorithm is superior to the other. Scope and purpose This paper considers a scheduling problem on the burn-in operation in a semiconductor manufacturing process. The burn-in operation is a bottleneck process in the "nal testing process which is one of four major steps including wafer fabrication, wafer probe, assembly, and "nal testing steps. Thus, its scheduling is very important to improve the productivity of the whole manufacturing line. The objective of this paper is to "nd a solution technique that will "nd the optimal schedule that minimizes makespan for problems which are found in the semiconductor manufacturing industry. 2002 Elsevier Science Ltd. All rights reserved. Keywords: Batch scheduling; Makespan; Job family; Dynamic arrival
* Corresponding author. Tel.: #82-42-869-3131; fax: #82-42-869-3110. E-mail address:
[email protected] (C.S. Sung). 0305-0548/02/$ - see front matter 2002 Elsevier Science Ltd. All rights reserved. PII: S 0 3 0 5 - 0 5 4 8 ( 0 0 ) 0 0 0 9 8 - 8
996
C.S. Sung et al. / Computers & Operations Research 29 (2002) 995}1007
1. Introduction The manufacturing process of integrated circuit (IC) chips is generally composed of four major steps including wafer fabrication, wafer probe, assembly, and "nal testing. The authors are interested in the scheduling problem of a single burn-in oven which is included in the "nal testing step. They are motivated by the situation where the processing times of burn-in operations are generally extremely long compared to those of other testing operations. Thus, the burn-in operation is generally considered the bottleneck process in the "nal testing step, so that the optimal scheduling of the burn-in operation is very important to improve the productivity of the whole chip manufacturing process. In the burn-in operation, IC chips are loaded onto boards which are to be placed in an oven and exposed to high temperature so as to get any failed IC chips screened out. Each IC chip has a pre-speci"ed burn-in time, which may depend on its type and the customer's requirements. The burn-in oven has a limited capacity, which requires the boards loaded with the chips to be sub-grouped into batches. It is possible for di!erent IC chips to be processed in the oven simultaneously, while the processing time of each batch is represented by the longest burn-in time among those of all the IC chips (jobs) grouped together in the batch. Thus, scheduling problems for such an oven can be modeled as those for a general type of batch processing machine where each batch loaded fully with jobs up to the oven capacity can be processed simultaneously, so that the processing time of a batch is represented by the longest processing time among those of all the jobs in the batch. Most semiconductor manufacturing companies commonly employ the above-mentioned four major process steps and produce many di!erent types of IC chips including 16M DRAM, 64M DRAM, SRAM, and ASIC, etc. In the production, several types of IC chips are often grouped together for production in the same burn-in time. Accordingly, the authors will de"ne one job family as a set of IC chips having the same burn-in time. It is also known that the number of job families is not large in most steady-state manufacturing processes of memory chips. This provides the authors with the motivation for an optimal solution algorithm. The performance measure used to evaluate a schedule is the maximum completion time (makespan) which can represent the throughput measure attracting practical interest from the semiconductor manufacturing industry (especially, memory chip manufacturing industry). Moreover, since the burn-in operation is a bottleneck operation in the "nal testing step, the issue of minimizing makespan on the burn-in oven is important for productivity enhancement in the entire IC chip manufacturing process. In the analysis of the problem, the optimal solution (schedule) properties are characterized and used to develop a dynamic programming algorithm for the situation where the release times of all jobs are di!erent from one another and the set of all jobs is allowed to be partitioned into a number of subsets (families).
2. Related works In recent days, many researches have been reported on scheduling problems concerned with batch processing machines. They can be divided into two categories according to batch processing-time pattern. In the "rst one, the processing time of each batch is "xed and independent of the
C.S. Sung et al. / Computers & Operations Research 29 (2002) 995}1007
997
jobs grouped together in the batch, while in the second one, the processing time is dependent of the jobs grouped in each batch. In the semiconductor industry, such independent processing-time scheduling models are mainly applicable to batch processing machines in the wafer fabrication process (for example, di!usion, oxidation, and cleaning machines), but the dependent processingtime models (i.e., the processing time of each batch being represented by the maximum processing time among those of all the jobs grouped together in the batch) are applicable to the burn-in oven process with which this paper is concerned. Some scheduling research on burn-in ovens has been reported in the literature. For example, Lee et al. [1] have proposed an exact algorithm to minimize the number of tardy jobs and maximum tardiness. They have also proposed a heuristic algorithm for a problem of minimizing makespan on parallel identical burn-in ovens. Chandru et al. [2] have proposed a branch-and-bound algorithm and several heuristic algorithms for a problem of minimizing total completion time on a burn-in oven, and also a heuristic algorithm for a parallel oven system. Chandru et al. [3] have also proposed an optimal dynamic programming procedure for a problem to minimize total completion time on a burn-in oven with a "xed number of job families. Uzsoy [4] has examined a problem of scheduling jobs with non-identical size (volume or capacity) speci"cations on a single burn-in oven to minimize total completion time and makespan. Li and Lee [5] have examined two scheduling problems to minimize maximum tardiness and the number of tardy jobs, respectively, on a single burn-in oven in a situation where job release times and due dates are not agreeable. They have proved that both the problems are NP-hard, and proposed e$cient algorithms for the case when the job release times, due dates, and processing times are all agreeable. Hochbaum and Landy [6] have proposed a polynomial heuristic algorithm and also an optimal pseudo-polynomial heuristic algorithm for scheduling on a single burn-in oven, and a polynomial heuristic algorithm for scheduling on a parallel burn-in oven system, for the problem considered by Chandru et al. [2]. They have also proposed an exact algorithm for the problem considered by Chandru et al. [3]. DuPont and Ghazvini [7] have characterized a dominance property so as to develop a branchand-bound algorithm for the problem considered by Chandru et al. [2]. Sung and Choung [8] have proposed a branch-and-bound algorithm and several heuristic algorithms, and derived the worstcase error bounds of their heuristic algorithms to minimize makespan on a single burn-in oven with dynamic job arrivals allowed. In an extension, this paper considers the burn-in oven scheduling problem with job families additionally allowed. Some other research concerned with batch processing machines each having a "xed-batch processing time can be found in Ikura and Gimple [9], Ahmadi et al. [10], Uzsoy [11], and Sung and Yoon [12] who all have considered deterministic cases. However, in Neuts [13], Deb and Serfozo [14], Glassey and Weng [15], Fowler et al. [16], Weng and Leachman [17], Robinson et al. [18], Duenyas and Neale [19], and Sung and Choung [20], they all have considered stochastic cases. These researches have also been summarized with some additional ones in Uzsoy et al. [21] and Webster and Baker [22].
3. Problem description Consider a job index set J"1, 2,2, n for n jobs to be processed on a single burn-in oven where each job belongs to one of F families. The number of jobs belonging to family f is denoted by G
998
C.S. Sung et al. / Computers & Operations Research 29 (2002) 995}1007
n such that $ n "n. The processing time of a job belonging to family f is denoted by pG, which G G G G represents the processing time of each of the jobs belonging to the same family. In other words, all the jobs having the same processing time belong to the same family. The release time (arrival time) of job j is denoted by r , j3J. The available jobs are grouped into some batches and each batch of H the jobs is processed simultaneously. All the jobs are considered to have the same size and the oven has a capacity of c jobs per batch. The processing time of a batch is represented by the longest job processing time among those of all the jobs contained in the batch. Accordingly, the processing pG. No preemption is allowed during time of the kth batch b is de"ned as t "max I
I
I
HZ@ HZDG each batch process and all the jobs belonging to the same batch are completed at the same time. A complete schedule S describes the job composition of each batch as well as the processing sequence of all the job-assigned batches. Thus, the problem is speci"ed as to "nd an optimal schedule SH such that M(SH))M(S) for every feasible (complete) S, where M(S) denotes the makespan of S. Now, the makespan of a given schedule S can be computed as follows; suppose that a feasible schedule S"b , b ,2, b is given, where m is the number of batches composing the schedule
K
S. Then, it is noted that Un/c V )m)n, where U V z denotes the smallest integer greater than or equal to z. Each batch can start its processing only if its latest job is ready (arrived) and its immediately preceding batch is completed. Therefore, the completion time of the kth batch b is derived as C "maxC , R #t , where R "max I r . The makespan of S H I
I
I\ I
I
I
HZ@ can be simply expressed as M(S)"C " K (I #t ), where I "R and I " K
I I
I
I
max[R !C , 0 for k"2, 3,2, m, and I denotes the machine idle time immediately I
I\
I
before the kth batch starts.
4. Analysis and dynamic programming If the machine (oven) has unit capacity (c"1), then the earliest release time (ERT) sequence is optimal. This can be easily proved by a pairwise job-interchange procedure for comparison, referring to Kan [23]. Moreover, in the case that pG"p (a "xed real value) for every family i and r *0 for every j3J, the solution satisfying the "rst only empty (FOE) batching rule for the H ERT-ordered jobs is optimal, referring to Ikura and Gimple [9], where the FOE batching rule is de"ned as the batching rule in which the "rst batch contains [n!(U n/c V !1)c] jobs but the next (U n/cV !1) batches are all of full capacity (i.e., containing c jobs). However, if c'1, then the ERT sequence does not always provide the optimal schedule. It is stated in Proposition 1 that given the batches the ERT sequence of the batches minimizes the makespan. Proposition 1. For a single-batch processing machine, given the batches a batch schedule (batch sequence) S"b , b ,2, b that achieves a minimal makespan is found by sorting them in the
K
ERT order such as R )R )2)R .
K
Proof. By viewing each batch as a job (equivalent to the situation of having c"1) with processing time t and release time R , the given scheduling problem turns out to be a problem of minimizing I I makespan on a single machine with m jobs each corresponding to a batch. It is well known that
C.S. Sung et al. / Computers & Operations Research 29 (2002) 995}1007
999
for the problem, the ERT job sequencing gives the optimal schedule. This completes the proof. 䊐 Proposition 2 proves that the ERT sequence of jobs belonging to the same family is optimal. Proposition 2. There exists an optimal solution in which any jobs of same family are sequenced in the ERT order. Proof. Consider an optimal schedule S having a job pair (i, j), r (r , that belongs to the same G H family but is not sequenced in the ERT order. That is, there are two batches, b and b , such that N
O
i3b , j3b and p(q. Then, a new schedule formed by interchanging the two jobs into the two O
N
batches and squeezing out any possible idle time immediately before b does increase neither the N
completion times of the original two batches b and b nor the completion time of any other N
O
batches. This implies that if the interchange process is repeated for any other job pair that belongs to the same family but is not sequenced in the ERT order, then it will end up with generating an ERT-schedule (jobs in the ERT order) in the same family which is not worse than the given schedule S. This completes the proof. 䊐 Proposition 3 shows that there exists an optimal solution such that every given family f of jobs is S assigned to either one batch or several batches, where in the case of several batches, only the "rst batch may not be in full capacity. Proposition 3. There exists an optimal schedule such that either the relation of bS )c and bS "0 for k'1 or the relations of bS )c and bS "c for k'1 hold for
I
I
every given family f (u"1,2, F), where bS and bS denote the kth one among the batches S I
I
containing some jobs of family f and the size of bS , respectively. S I
Proof. Note that bS is the size of the entire batch including not only family f but also some other I
S family members. It is required in the given problem that any optimal schedule satisfy the relations bS )c for every given family f and every associated batch i (i*1). This implies that there exists G
S an optimal schedule such that either the relation of bS )c and bS "0 for k'1 or the
I
relations of bS )c and bS )c for k'1 hold for every given family f . Then, it is easy to see
I
S that the relations of bS )c and bS )c for k'1 can be transformed into the relations of
I
either bS )c and bS "0 for k'1 or bS )c and bS "c for k'1 without increasing
I
I
any completion times of the associated batches by transferring some jobs of family f out of the S batch bS into any batch bS . This completes the proof. 䊐
I
Corollary 1. If b is composed of jobs selected out of all families, then the optimal schedule satisxes
the relation b "c for k"2,2, m, where m denotes the number of batches in the schedule. I
Proof. According to Proposition 3, every batch except the "rst batch is desired to be of full capacity. This completes the proof. 䊐
1000
C.S. Sung et al. / Computers & Operations Research 29 (2002) 995}1007
The above solution properties characterize how each family of jobs have to be sequenced. However, it is further necessary to determine both the size and components of each batch. This is because those solution properties do not characterize yet how to compose each batch with the given F di!erent job families. Recall that each batch can be composed of some jobs out of the F families. Thus, the problem of determining both the size and components of each batch is itself combinatorial. For this combinatorial problem, we now present a dynamic programming algorithm using the results of Propositions 2 and 3. For the algorithm, the jobs belonging to a same family will "rst be sequenced in the ERT order by Proposition 2. For the algorithm, some notations are introduced. Denote by f (a , a ,2, a , s , s ,2, s ) the best (minimal) completion time of the job set $ $ a , a ,2, a , given the last batch (among the batches constructed by the job set) composed of the $ subset s , s ,2, s , where s (i"1, 2,2, F) denotes the number of the family f jobs selected out $ G G of the "rst a jobs (in the ERT sequence of all the f jobs) to compose the associated last batch, and G G so s )a , ∀i, and the size of the last batch, $ s , is limited to the batch capacity, $ s )c. G G G G G G Denote by g(a , a ,2, a ) the minimal completion time of the job set a , a ,2, a . $ $ The associated functional relation is derived in recurrence form as f (a , a ,2, a , s , s ,2, s ) $ $ "maxg(a !s ,2, a !s ), (a ,2, a , s ,2, s )#(a ,2, a , s ,2, s ), $ $ $ $ $ $ where (a , a ,2, a , s , s ,2, s )"max G rG G denotes the release time of the last batch being G Q ? $ $ composed of s , s ,2, s , given the job set a , a ,2, a , and (a , a ,2, a , s , s ,2, s )" $ $ $ $ max G pG denotes the processing time of the last batch composed of s , s ,2, s , and G Q $ rG denotes the release time of the wth job in the ERT sequence of n jobs for family f . Thus, U G G f (a , a ,2, a , s , s ,2, s ), and g(n , n ,2, n ) is the g(a , a ,2, a )"min 2 $ $ $ $ WQ WA WQ$ WA optimal completion time ("nal solution) of the whole job set n , n ,2, n , given each family $ f (i"1, 2,2, F) has n jobs in total. Note that g(0, 0,2,0)"0 and G G R if s 'minc, a , G G
$ $ f (a , a ,2, a , s , s ,2, s )" R if s 'min c, a , G $ $ G G G $ R if 0(s (a and s (c (by Proposition 3). G G G G For illustration, Example 1 is now solved. Example 1. Consider a 5-jobs problem with the following processing time and release time data; c"2 and F"2. j r H p H
1 8 6
2 1 3
3 4 6
4 9 3
5 2 6
C.S. Sung et al. / Computers & Operations Research 29 (2002) 995}1007
1001
If the jobs belonging to the same family are indexed in the ERT order, then the given problem data can be tabulated as follows: j(w) rG U i pG
2(1) 1
4(2) 9 1 3
5(1) 2
3(2) 4 2 6
1(3) 8
Now, by following the procedure of the proposed dynamic programming algorithm, the optimal completion time of the "rst a jobs for each family f is calculated: G G f (0, 1, 0, 1)"maxg(0, 0), r #p"8, g(0, 1)"8, f (1, 0, 1, 0)"maxg(0, 0), r #p"4, g(1, 0)"4, f (2, 0, 2, 0)"maxg(0, 0), r #p"12, g(2, 0)"12, f (0, 2, 0, 2)"maxg(0, 0), r #p"10, g(0, 2)"10, f (1, 1, 1, 0)"maxg(0, 1), r #p"11, f (1, 1, 0, 1)"maxg(1, 0), r #p"10, f (1, 1, 1, 1)"maxg(0, 0), r #p"8, g(1, 1)"8, f (2, 1, 0, 1)"maxg(2, 0), r #p"18, f (2, 1, 2, 0)"maxg(0, 1), r #p"14, f (2, 1, 1, 1)"maxg(1, 0), r #p"15, g(2, 1)"14, f (1, 2, 1, 0)"maxg(0, 2), r #p"13, f (1, 2, 0, 2)"maxg(1, 0), r #p"10, f (1, 2, 1, 1)"maxg(0, 1), r #p"14, g(1, 2)"10, f (0, 3, 0, 2)"maxg(0, 1), r #p"14, g(0, 3)"14, f (2, 2, 1, 1)"maxg(1, 1), r #p"15, f (2, 2, 2, 0)"maxg(0, 2), r #p"13, f (2, 2, 0, 2)"maxg(2, 0), r #p"18, g(2, 2)"13, f (1, 3, 1, 0)"maxg(0, 3), r #p"17, f (1, 3, 1, 1)"maxg(0, 2), r #p"16, f (1, 3, 0, 2)"maxg(1, 1), r #p"14, g(1, 3)"14, f (2, 3, 2, 0)"maxg(0, 3), r #p"17, f (2, 3, 0, 2)"maxg(2, 1), r #p"20, f (2, 3, 1, 1)"maxg(1, 2), r #p"16, g(2, 3)"16. The optimal schedule of this example is "nally found as S"23, 51, 4 with the optimal makespan of 16. The running time of the proposed dynamic programming algorithm is measured in the order of O($ n c$). This is a product of a polynomial term of n and an exponential term of F, so that the G G G proposed dynamic programming algorithm seems to be practical for applications with small F. It is known that such an F value is commonly considered to be small in most steady-state manufacturing processes of memory chips, which provides the authors with the motivation of deriving the algorithm.
1002
C.S. Sung et al. / Computers & Operations Research 29 (2002) 995}1007
The proposed dynamic programming algorithm may be improved by use of Proposition 1. For example, if the batches are not sequenced in the ERT order, we may let f (a , a ,2, a , s , s ,2, s )"R or g(a , a ,2, a )"R. The following propositions specify the $ $ $ cases that f (a , a ,2, a , s , s ,2, s )"R or g(a , a ,2, a )"R should be considered. $ $ $ Proposition 4. If n! $ a 'c, then we can consider g(a , a ,2, a )"R in the dynamic G G $ programming algorithm, where denotes the number of non-processed jobs each having its release time greater than or equal to the maximum release time among those of the processed jobs. Proof. The term, n! $ a , denotes the number of non-processed jobs, and c denotes the G G maximum possible number of the non-processed jobs to satisfy the ERT order of the associated batches. Thus, the relation, n! $ a 'c, implies that the ERT order requirement can not be G G satis"ed. This completes the proof. 䊐 Proposition 5. If (a , a ,2, a , s , s ,2, s )(maxr , r ,2, r$$ $ , then we can con? \Q $ $ ? \Q ? \Q sider f (a , a ,2, a , s , s ,2, s )"R in the dynamic programming algorithm. $ $ Proof. The relation, (a , a ,2, a , s , s ,2, s )(maxr , r ,2, r$$ $ , implies that the ? \Q $ $ ? \Q ? \Q processed last batch has the earlier release time than its preceding batch, so that the ERT order of the batches is violated. This completes the proof. 䊐 In Example 1, it can be seen that the values of g(2, 0), g(2, 1), and g(2, 2) are to be R by the results of Proposition 4, and that the values of f (1, 1, 1, 0), f (1, 2, 1, 0), f (1, 3, 1, 0), and f (2, 3, 0, 2) are to be R by the results of Proposition 5.
5. Performance comparison between the proposed algorithm and batching-dynamic-programming approach This section considers another optimal solution approach which is derived based on the batching-dynamic-programming (BDP) procedure of Sung and Choung [8], where BDP denotes the batching rule to minimize makespan, given that the processing sequence of the jobs is known. The notation x(a, b) and y(a) are now introduced for BDP, referring to [8]. x(a, b) denotes the optimal completion time of the "rst a jobs under the condition that the size of their last batch is b, satisfying the relation b)minc, a, so that the (a!b#1)th, (a!b#2)th,2, ath jobs are to be processed together in the last batch, and y(a) denotes the optimal completion time of the "rst a jobs, and x(0, 0)"0. Then, it holds that x(a, b)"maxy(a!b), (a, b)# (a, b), where x(a, b). This (a, b)"max r , (a, b)"max p , and y(a)"min ?\@>WHW? H ?\@>WHW? H W@W ?A recursive relation can then be used to solve any partial problem of "rst a jobs, which is the basic idea of the BDP procedure requiring the time-complexity of the order O(nc), given any job sequence. Moreover, the procedure implies that if all the possible job sequences are considered, then it can "nd the optimal solution. Thus, the complexity of the procedure is in the order of O(n!nc). However, by recalling from Proposition 2 that it is optimal to sequence the jobs belonging
C.S. Sung et al. / Computers & Operations Research 29 (2002) 995}1007
1003
Table 1 Performance comparison between the proposed DP and ABDP (n"10, unit: s) procedures F
2
5
c
Mean
Max
Mean
(a) n"10 and "0.5 3 Proposed DP ABDP 5 Proposed DP ABDP
0.005 0.138 0.000 0.121
0.05 0.17 0.000 0.17
0.077 33.219 0.078 36.403
(b) n"10 and "1.0 3 Proposed DP ABDP 5 Proposed DP ABDP
0.000 0.115 0.016 0.105
0.000 0.22 0.110 0.170
(c) n"10 and "2.0 3 Proposed DP ABDP 5 Proposed DP ABDP
0.011 0.098 0.006 0.126
0.06 0.17 0.06 0.17
8 Max
Mean
Max
0.11 47.51 0.11 42.68
0.254 491.308 0.313 546.668
0.28 629.06 0.33 900 (9)
0.067 34.228 0.241 74.425
0.11 42.79 0.38 109.91
0.33 516.162 0.307 482.917
0.93 834.270 0.33 540.09
0.077 35.185 0.066 37.355
0.11 40.04 0.11 62.56
0.273 456.361 0.298 470.062
0.33 517.51 0.33 486.42
Each number in parenthesis shows the number of solved instances within 900 s.
to the same family in the ERT order, it is easily seen that the number of all the possible job sequences is reduced to n!/$ n !. This algorithm will be called the exact algorithm (ABDP) G G evaluating all possible job sequences based on the BDP procedure, which has the time complexity of the order O((n!/$ n !)nc). G G For evaluating the time e$ciency of the proposed DP and the ABDP procedures, a series of computational experiments are performed. The associated experimental design is made as follows. The processing times are generated from the ;(1, 20) distribution in every case, while the release times are generated from the ;(1, 20 ) ) distribution. Three di!erent sets of problem instances are generated with having values 0.5, 1, and 2, respectively. Two di!erent sizes of the problem are considered such as the number, n, of jobs taking each of the values 10 and 20. The number of job families F has values selected from among three di!erent values, 2, 5, and 8. And the machine capacity c has values selected from 3 and 5. The performances of the proposed DP and ABDP procedures are evaluated in terms of computational time e!ort. Both the algorithms are coded in &C' and run on an IBM Pentium 200 MHz PC. The computational time requirements are shown in Tables 1 and 2 where mean and max represent the average and maximum values of CPU time (in second) required to solve 10 instances of each problem class, respectively. In the computation, we set the algorithm run-time restricted to a reasonable amount of time, say 15 min (900 s). Each value in parenthesis represents the number
1004
C.S. Sung et al. / Computers & Operations Research 29 (2002) 995}1007
Table 2 Performance comparison between the proposed DP and ABDP (n"20, unit: s) procedures F c
Proposed DP ABDP
(b) n"20 and "1.0 3 Proposed DP ABDP 5
Proposed DP ABDP
(c) n"20 and "2.0 3 Proposed DP ABDP 5
5
Mean
(a) n"20 and "0.5 3 Proposed DP ABDP 5
2
Proposed DP ABDP
8
Max
Mean
Max
Mean
Max
0.006 49.284
0.06 132.76
0.62 900
7.701 900
0.031 93.106
0.06 153.52
1.006 900
1.04 900 (0) 1.49 900 (0)
9.89 900 (0) 28.4 900 (0)
0.011 61.951
0.06 135.23
0.78 900
8.321 900
0.016 100.997
0.06 145.67
1.319 900
1.24 900 (0) 1.76 900 (0)
0.028 50.607
0.06 140.33
0.788 900
9.344 900
0.017 57.44
0.06 136.54
1.155 900
1.04 900 (0) 1.76 900 (0)
22.194 900
18.197 900
18.905 900
11.09 900 (0) 22.96 900 (0) 11.59 900 (0) 27.74 900 (0)
of the instances (from among 10 instances) whose optimal solutions are found within 15 min. For the case where the optimal solution for all the 10 instances of a problem class are found within 15 min, there is no parenthesis. All the test results indicate that the performance of the proposed DP procedure is better than that of the ABDP procedure in terms of computational time e!ort. Moreover, in the case that the number of job families is small, the test results show that the proposed DP procedure "nds the optimal solution in very short time. Thus, it may be stated that the proposed DP procedure works very e$ciently and e!ectively for small problems, and also it may be practical for various applications with a small number of job families. The results in Table 3 show only the performance of the proposed DP procedure. The associated experimental design is similar to the preceding design except that the F value is selected from 2, 5, 8, and 10, and the n value is selected from 30 to 40. The test results are similar to those of Tables 1 and 2. In the case of n"40 and F"10, no instance is solved within 15 min. The test results of all the problem classes show that both the batch capacity c and the parameter
considered in the proposed DP procedure are not important factors in the computation time measurement, as shown in the time complexity derivation.
C.S. Sung et al. / Computers & Operations Research 29 (2002) 995}1007
1005
Table 3 Performance comparison between the proposed DP and ABDP (unit: s) procedures F
2
Mean
Max
Mean
Max
0.043 0.044 0.049 0.055
0.06 0.06 0.06 0.06
3.707 3.828 2.96 6.998
1.0
0.05
0.11
2.0
0.055
0.06
(b) n"40 3 0.5
0.071
0.11
1.0
0.083
2.0
c
8
10
Mean
Max
Mean
Max
5.22 5.72 6.05 9.67
85.859 88.141 98.466 314.151
140.55 130.01 151.38 450.55
566.969 504.244 503.914 897.993
6.954
11.65
289.69
350.98
891.563
7.777
10.44
321.001
442.04
900
719.03 694.91 689.32 900 (1) 900 (1) 900 (0)
12.91
19.61
604.632
900
0.11
11.144
20.27
628.171
0.083
0.11
11.046
17.63
645.412
900 (9) 900 (9) 841.34
0.5
0.085
0.11
23.784
43.73
900
1.0
0.083
0.11
26.837
44.49
852.168
2.0
0.088
0.11
31.675
46.69
825.31
(a) n"30 3 0.5 1.0 2.0 5 0.5
5
5
900 (0) 900 (1) 900 (0)
900 900 900 900 900
900 (0) 900 (0) 900 (0) 900 (0) 900 (0) 900 (0)
6. Concluding remarks This paper considers the problem of scheduling a single burn-in oven in the "nal test of the semiconductor manufacturing process to minimize maximum completion time, where each job belongs to one of a "xed number of families and the release times of the jobs are di!erent from one another. For the problem, the solution properties are characterized, based upon which a dynamic programming (DP) algorithm is constructed. The running time of the dynamic programming algorithm is in the order of O($ n c$). Another algorithm (ABDP), derived to evaluate all G G possible job sequences based on the batching-dynamic-programming (BDP) of Sung and Choung [8], is considered to compare its time e$ciency with that of the proposed DP algorithm. The ABDP algorithm has the time complexity in the order of O((n!/$ n !)nc). The performance G G comparison made in the computational experiment shows that the proposed DP algorithm is superior to the ABDP algorithm for all the problem instances. Especially, for the instances where the number of job families is small, the proposed DP algorithm spends a very small amount of
1006
C.S. Sung et al. / Computers & Operations Research 29 (2002) 995}1007
computation time. Thus, the authors suggest that the proposed DP algorithm may practically be used in any situation where the number of job families is not so large. In the real world of memory chip manufacturing, it has been reported that 350 lots of chips (jobs) are scheduled in average for daily processing on 20 parallel machines but they are classi"ed into "ve di!erent types (families) of jobs. This implies that the proposed solution procedure can immediately be applied to practical problems. As the number of job families increases, the computational burden on the proposed algorithm becomes excessive. Therefore, the development of an e$cient heuristic algorithm for large job families may be an interesting future research issue. The results of this paper are sure to provide some insights into solving larger versions of this problem.
Acknowledgements The authors are greatly indebted to anonymous referees for their invaluable comments and suggestions.
References [1] Lee CY, Uzsoy R, Martin-Vega LA. E$cient algorithms for scheduling semiconductor burn-in operations. Operations Research 1992;40:764}75. [2] Chandru V, Lee CY, Uzsoy R. Minimizing total completion time on batch processing machines. International Journal of Production Research 1993;31:2097}121. [3] Chandru V, Lee CY, Uzsoy R. Minimizing total completion time on a batch processing machine with job families. Operations Research Letters 1993;13:61}5. [4] Uzsoy R. Scheduling a single batch processing machine with non-identical job sizes. International Journal of Production Research 1994;32:1615}35. [5] Li CL, Lee CY. Scheduling with agreeable release times and due dates on a batch processing machine. European Journal of Operational Research 1997;96:564}9. [6] Hochbaum DS, Landy D. Scheduling semiconductor burn-in operations to minimize total #owtime. Operations Research 1997;45:874}85. [7] DuPont L, Ghazvini FJ. A branch and bound algorithm for minimizing mean #ow time on a single batch processing machine. International Journal of Industrial Engineering 1997;4:197}203. [8] Sung CS, Choung YI. Minimizing makespan on a single burn-in oven in semiconductor manufacturing. European Journal of Operational Research 2000;120:559}74. [9] Ikura Y, Gimple M. Scheduling algorithms for a single batch processing machine. Operations Research Letters 1986;5:61}5. [10] Ahmadi JH, Ahmadi RH, Dasu S, Tang CS. Batching and scheduling jobs on batch and discrete processors. Operations Research 1992;39:750}63. [11] Uzsoy R. Scheduling batch processing machines with incompatible job families. International Journal of Production Research 1995;33:2685}708. [12] 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. [13] Neuts MF. A General Class of Bulk Queues with Poisson Input. Annals of Mathematical Statistics 1967;38:759}70. [14] Deb RK, Serfozo RF. Optimal control of batch service queues. Advances in Applied Probability 1973;5:340}61. [15] Glassey CR, Weng WW. Dynamic batching heuristic for simultaneous processing. IEEE Transactions on Semiconductor Manufacturing 1991;4:77}82.
C.S. Sung et al. / Computers & Operations Research 29 (2002) 995}1007
1007
[16] Fowler JW, Hogg GL, Phillips DT. Control of multiproduct bulk service di!usion/oxidation process. IIE Transactions 1992;24:84}92. [17] Weng W, Leachman RC. An improved methodology for real-time production decisions at batch-process work stations. IEEE Transaction on Semiconductor Manufacturing 1993;6:219}25. [18] Robinson JK, Fowler JW, Bard JF. The use of upstream and downstream information in scheduling semiconductor batch operations. International Journal of Production Research 1995;33:1849}69. [19] Duenyas I, Neale JJ. Stochastic scheduling of a batch processing machine with incompatible job families. Annals of Operations Research 1997;70:191}220. [20] Sung CS, Choung YI. A Neural network approach for batching decisions in wafer fabrication. International Journal of Production Research 1999;37:3101}14. [21] Uzsoy R, Lee C-Y, Martin-Vega LA. A review of production planning and scheduling models in the semiconductor industry. Part II: shop #oor control. IIE Transaction on Scheduling and Logistics 1994;26:44}55. [22] Webster S, Baker KR. Scheduling groups of jobs on a single machine. Operations Research 1995;43:692}703. [23] Rinnoy Kan AHG. Machine scheduling problems: classi"cation, complexity and computations. Nijho!, The Hangue, 1976.
Chang Sup Sung is a Professor in Department of Industrial Engineering at Korea Advanced Institute of Science and Technology (KAIST). He received his BS degree in Chemical Engineering from Hanyang University, in Korea, and the MS and Ph.D. degrees in Industrial Engineering from Iowa State University. His current research interests include production planning and scheduling, telecommunication network modeling and analysis, combinatorial optimization, and network theory. He has published articles mainly in Computers and Operations Research, Naval Research Logistics, European Journal of Operational Research, and NETWORKS. You In Choung received the Ph.D. degree in Industrial Engineering from KAIST. He has been working on production planning and scheduling for semiconductor manufacturing in Samsung Electronics. His current research interests include production planning and scheduling, and simulation. He has published articles in European Journal of Operational Research and International Journal of Production Research. Jung Man Hong and Young Hwan Kim are Ph.D. students in Department of Industrial Engineering at KAIST. They received their BS degrees in Industrial Engineering from Korea University, in Korea, and MS degrees from KAIST. Mr. Hong has current research interests including communication network modeling and analysis, network theory and information system design and analysis. Mr. Kim has current research interests including logistics and scheduling theory.