Ind. Eng. Chem. Res. 2003, 42, 1391-1399
1391
An MILP Approach to Automated Wet-Etch Station Scheduling Swarnendu Bhushan and I. A. Karimi* Department of Chemical and Environmental Engineering, National University of Singapore, 4 Engineering Drive 4, Singapore 117576
Wet-etching in wafer fabrication is an automated process involving a complex interplay of mixed intermediate policies and material-handling constraints. Its operation poses a challenging resource-constrained flowshop scheduling problem that is crucial for enhancing productivity, improving yield, and minimizing wafer contamination. A novel continuous-time mixed-integer linear programming (MILP) formulation is presented for sequencing and scheduling wafer lots in an automated wet-etch station (AWS). Several reformulations and constraints are numerically evaluated to identify the best formulation. On the basis of this formulation, a near-optimum two-step strategy that is robust with respect to lot transfer times is developed for solving moderately sized problems. Introduction Batch/semicontinuous physicochemical operations abound in semiconductor manufacturing. A semiconductor plant typically involves1 four sections: wafer fabrication, wafer probing, assembly, and final testing. The wafer fabrication process,2 where integrated circuits are imprinted on the wafers, is the heart of a semiconductor manufacturing facility. During the first step of wafer fabrication, called thermal deposition, a uniform film of SiO2 is formed on the surface of the wafer. In the next step, photolithography or photomasking, selected areas of the wafer are masked to create a circuit pattern. The exposed or unmasked areas are then removed in a series of chemical and deionizing baths. This step is called etching. Etching is a complex operation involving automated transfers of wafer lots between baths and strict requirements on their exposure times in various baths. This paper aims to study the scheduling problem arising in such an etching facility, normally referred to as an AWS or automated wet-etch station. After etching, the wafers are cut into single chips, and the defective ones are removed during probing. The individual chips are then assembled into packages, which provide the contact leads for the chips. The chips are tested again prior to delivery to customers. A typical wafer fab can have 20 000-30 000 wafers in WIP (work in process). The wafers can require 200500 operations and a lead time3 of 3-10 weeks. Because of the similar nature of processing and high equipment costs, a wafer might revisit a processing unit numerous times during its production cycle, leading to a re-entrant process where the wafers compete with each other for various equipment. This makes scheduling in the semiconductor industry, involving multiproduct, multistage, multipurpose, complex, re-entrant processes, a great challenge. In a wafer fab, inventory costs can be high. Furthermore, high inventory increases the chances of wafer contamination. Decreasing the total time required for the production of all wafers (or the makespan) decreases the inventory and contamination and results in greater profits. Because of the high cost of wafers and the need * Corresponding author. E-mail:
[email protected].
for strict contamination controls3 (class 1), the emphasis in the production technologies has shifted to automatic movements of wafers inside the plant. By avoiding the delays due to human factors, this approach improves not only the productivity but also the yield by reducing the lots contaminated due to long residence times in the process or damaged due to overexposure in baths. Efficient scheduling has a tremendous impact on product yields and manufacturing costs. Improvements in mean waiting times of as high as 20% and in cycle time standard deviations of about 50% have been reported for the use of new scheduling policies in the testing4 of pilot plants. Sivakumar5 reported one-time savings of $5 million (U.S.) in addition to reduced daily management time of 12 man-h/day and increased equipment utilization. These statistics highlight the effects of good scheduling on overall profits. The problem of scheduling in an AWS facility, addressed in this paper, involves a unique interplay of mixed storage policies coupled with material-handling constraints arising from automated transfers. Considerable work has been done on the effects of storage policies6 on the design and operation of noncontinuous processes. In an early work,7 Ku and Karimi, while considering storage as a shared and constrained resource, studied the effect of mixed storage policies on the makespan for a given sequence of production but did not address the sequencing aspects. Moreover, they did not report any guaranteed optimal schedules even for a given sequence. In this paper, we consider the material-handling equipment, namely, a robot, as a shared and constrained resource and address optimal sequencing and scheduling in the presence of this shared resource. The scheduling problem arising in a wet-etch station is similar to the well-known hoist scheduling problem8 (HSP) in PCB (printed circuit board) manufacturing. Unlike the PCB industry, where the goal is to identify an optimal cyclic schedule, the aim here is to improve the productivity by minimizing the makespan. Phillips and Unger9 presented a mixed-integer programming (MIP) solution to hoist scheduling in the manufacture of electronic circuitry boards. They studied a oneproduct, three-carrier, re-entrant system with variable, but bounded, processing times at all baths and treated
10.1021/ie020296c CCC: $25.00 © 2003 American Chemical Society Published on Web 02/28/2003
1392
Ind. Eng. Chem. Res., Vol. 42, No. 7, 2003
Figure 1. Schematic of an automated wet-etch station (AWS).
transfer times separately. In the HSP, a carrier holding a fixed number of lots is transferred from bath to bath for processing of the lots, and the objective is to minimize the time between the successive departures of carriers from a fixed station. Shapiro and Nuttle8 developed a branch-and-bound algorithm for obtaining an optimum cyclic schedule for a single-hoist system with parallel baths in PCB manufacturing. For the same system, Zhou and Zu10 presented a heuristic solution. For the AWS, Geiger et al.11 developed a heuristic scheduling algorithm based on a tabu search for minimizing the makespan. They first developed an algorithm for scheduling transfers and processing for a given sequence of jobs on baths. Then, using this robot control logic, they developed a tabu search to obtain a good sequence of jobs on baths. They did not present any exact or optimal algorithm and did not treat transfer times separately from processing times. In this paper, we present an MILP formulation for the AWS scheduling problem, which later forms the basis for an excellent two-step heuristic procedure. We begin with the MILP formulation. We first identify several forms and types of constraints and then evaluate them to select the best model. Next, we study the effect of relaxing the material-handling constraints. This leads us naturally to a two-step heuristic algorithm that we evaluate using several simulated problems. Problem Description The AWS (Figure 1) employs a series of M single baths (j ) 1, 2, ..., M) of two alternating types: chemical and water. The first bath is always chemical, and every immersion of wafers in a chemical bath is followed by an immersion in a water bath. Usually, no interbath buffers exist to hold the wafers. The different chemicals in the chemical baths etch away the exposed photoresist from the wafer layers, and the water in the following deionizing or water baths terminates the etching action by washing the chemicals away. Overexposure to the chemicals can damage the wafers, so the contact time of each wafer with the chemicals must be controlled strictly. As soon as the required contact time is attained, the wafer must be removed from the chemical bath and dipped into the succeeding water bath. On the contrary, overexposure to water does not damage a wafer, so a wafer can stay in a water bath beyond its required processing time. These operational constraints are known as the zero-wait (ZW) policy7 and the no intermediate storage (NIS) policy (with local storage on units), respectively, in scheduling parlance. Thus, the
chemical and water baths in the AWS follow the ZW and NIS policies, respectively, and the AWS becomes a serial flowshop with mixed intermediate storage policies. Wafers are not processed singly in the AWS, but in lots of a fixed number of wafers of the same type. These lots can enter the inlet buffer at various times from the upstream process, or they might have already arrived. Each lot has its own recipe, i.e., the sequence of baths that it must follow. Lots with identical recipes are loaded onto carriers with a maximum capacity of two lots. These carriers are then processed in the AWS. To move the carriers from bath to bath, the AWS uses a single material-handling robot. After processing in the last bath, the carriers are transferred to the outlet buffer. In this paper, we use the term “job” to describe each carrier and make the following additional assumptions regarding the AWS: (1) All jobs follow the bath sequence 1-2-3-...-M. Under the ZW/NIS policies, this forces the jobs to enter each bath in the same sequence. This is known as a “permutation schedule” in scheduling parlance. (2) A bath can process only one job at a time. (3) The processing/transfer of jobs is nonpreemptive. (4) The robot can move only one job at a time and cannot “hold” a job temporarily. (5) The robot and baths are failure-free. (6) Bath-to-bath transfer times depend on the origin and destination only and not on the current position of the robot. This simplifies the problem slightly and is justifed by the fact that the transfer time is much smaller than the processing times. (7) No setup is required for the baths or robot. As stated by Geiger et al.,11 the desired scheduling goal is to maximize the throughput in the AWS. Thus, we assume that N jobs (i ) 1, 2, ..., N) with known recipes are to be processed, and the goal is to find (1) a permutation sequence of jobs that gives the minimum makespan (the total time to complete all jobs), (2) the start and finish times of jobs in each bath, and (3) a detailed schedule of the pickups and deliveries by the robot. With this objective, the problem addressed in this paper can be described as the scheduling of N jobs on an M-machine, multiproduct, serial flowshop with ZW/ NIS policies and a shared material-handling resource (the single robot) with finite carrying capacity (one job). We now develop a mixed-integer linear programming (MILP) formulation for the above scheduling problem. Mathematical Formulation A permutation schedule of N jobs can be described simply by a sequence q ) {q1, q2, ..., qN} with N slots or positions (k ) 1, 2, ..., N), where qk is the kth job processed in all baths of the AWS. To model such a sequence, we define binary variables Xik to assign the N jobs to the slots in q as follows
Xik )
{
1 if qk ) i or job i occupies slot k in q 0 otherwise
(1)
We develop the constraints for modeling the operation of the AWS in two parts. The first part deals with the sequencing of jobs and their start times on various baths, while the second part deals with the limitations imposed by the single robot. Unless otherwise stated, each constraint is written for all valid values of its constituent indices. Sequencing and Timing. A slot in the permutation sequence q can hold only one job, and a single job must
Ind. Eng. Chem. Res., Vol. 42, No. 7, 2003 1393
be in only one slot. These rules can be enforced by the conditions N
∑ Xik ) 1
(2a)
k)1 N
Xik ) 1 ∑ i)1
(2b)
Note that Xik ) 1 means that job i is the kth job processed on all baths. Then, the residence time ttkj of job qk on bath j is given by N
ttkj )
Xiktij ∑ i)1
Figure 2. Diagram for understanding Ykjk′j′.
j ) 1, 3, 5, ..., M - 1 (chemical baths) (3a)
Using eq 5a, eq 7b can be written as
N
ttkj g
Xiktij ∑ i)1
TFkj g TS(k-1)(j+2)
j ) 2, 4, 6, ..., M (water baths) (3b)
where tij denotes the processing time required for job i on bath j. Because baths alternate in the AWS, odd baths have chemicals and even baths have water. If we define TSkj (k e N, j e M + 1) as the time when qk enters bath j (with j ) M + 1 being the outlet buffer) and TFkj (k e N, j e M + 1 with TFk(M+1) ) ∞) as the time when qk leaves bath j, then
TFkj ) TSkj + ttkj
j e M, TS11 ) π1
(4)
Because the robot cannot hold a job temporarily, once it takes qk from bath j and reaches bath j + 1, bath j + 1 must begin processing qk. If πj (j e M + 1) denotes the time required by the robot to transfer a job from bath j - 1 to bath j, then
TSk(j+1) ) TFkj + π(j+1)
jeM
(5a)
Using eq 4, the above expression can also be written as
TSk(j+1) ) TSkj + ttkj + π(j+1)
j e M, TS11 ) π1 (5b)
Now, qk cannot enter bath j, until (1) q(k-1) leaves bath j, (2) the robot moves q(k-1) to bath j + 1, and (3) the robot moves qk to bath j. In other words
TSkj g TF(k-1)j + πj + πj+1
k > 1, j e M (6a)
Using eq 5, the above expression can also be written as
TSkj g TS(k-1)(j+1) + πj
k > 1, j e M
(6b)
Similarly, qk cannot leave bath j until q(k-1) leaves bath j + 1 and the robot moves q(k-1) to bath j + 2. Therefore
TFkj g TF(k-1)(j+1) + πj+2
k > 1, j < M
(7a)
Note that the above equation does not apply to j ) M, as we assume that the outlet buffer has an unlimited capacity and that TFk(M+1) ) ∞. Using eqs 4 and 5a, eq 7a can be written as
TSkj + ttkj g TS(k-1)(j+2)
k > 1, j < M
(7b)
k > 1, j < M
(7c)
Although eqs 5-7 do consider the fact that there is only one robot, they do not guarantee that the robot will move only one job at a time. Therefore, we need constraints to ensure that the robot never moves multiple jobs simultaneously. We call these job-transfer constraints. Job Transfers. Define the binary variable Ykjk′j′ as follows
Ykjk′j′ )
{
1 if TSk′j′ < TSkj < TSk′(j′+1) 0 otherwise k > 1, j e M, k′ < k, j < j′ e M + 1 (8)
As can be seen in Figure 2, Ykjk′j′ locates the position of TSkj relative to the start times of jobs preceding qk on baths (j + 1)-M and the outlet buffer (j′ ) M + 1). We chose the index ranges in eq 8 to avoid permutations of index values. Although this does decrease the number of binary variables in our formulation substantially, we can further fix and eliminate more Ykjk′j′ values in eq 8 using eqs 5-7 as follows: Consider k, j, k′, j′ such that k′ < k, j < j′, and k′ + j′ < k + j. Because k′ < k, let k′ ) k - p, where p ) 1, 2, .... Now, eq 6b gives TSkj > TS(k-1)(j+1), and recursion on the same gives TSkj > TS(k-p)(j+p) for p ) 1, 2, .... Setting k′ ) k - p in this expression, we obtain
TSkj > TSk′(j+k-k′)
(9)
The above expression suggests that Ykjk′j′ ) 0 for j′ < j + k - k′ from eq 8, and we drop these zero binary variables from our formulation. Then, the domain for free Ykjk′j′ becomes k > 1, j e M, k′ < k, k + j - k′ e j′ e M + 1. The bounds on j′ suggest that k′ g j + k - M - 1. As for k′ ) j + k - M - 1, eq 9 gives TSkj > TS(k+j-M-1)(M+1), which implies Ykj(k+j-M-1)j′ ) 1 from eq 8. Thus, we drop Ykjk′j′ with k′ ) j + k - M - 1 from our formulation. The range for k′ then becomes k + j - M e k′ < k, which suggests that k + j - M < k or j < M, which eliminates j ) M from consideration. In brief, the domain for free Ykjk′j′ in our formulation becomes k >1, j < M, k + j - M e k′ < k and j + k - k′ ej′ eM + 1. We now use the free Ykjk′j′ values to ensure that the robot carries only one job at a time. From eq 8, if Ykjk′j′ ) 1, then TSkj (i.e., the time at which qk enters bath j) falls between TSk′j′ (i.e., the time at which qk′ enters bath
1394
Ind. Eng. Chem. Res., Vol. 42, No. 7, 2003
j′) and TSk′(j′+1) (i.e., the time at which qk′ enters bath j′ + 1). Because all three entries require the robot, there must be enough time between them for the robot to make the transfers. Specifically, after TSk′j′, the robot will need πj amount of time to move qk to bath j. Therefore, TSkj - TSk′j′ must exceed πj if Ykjk′j′ ) 1. We enforce this condition by using a so-called big-M constraint
TSkj - TSk′j′ + H(1 - Ykjk′j′) g πj k >1, j < M, k + j - M e k′ < k, j + k - k′ e j′ e M + 1 (10a) where H is some large number. In the same way, there must be π(j′+1) amount of time between TSkj and TSk′(j′+1) for the robot to move qk′ to bath j′ + 1, i.e.
TSk′(j′+1) - TSkj + H(1 - Ykjk′j′) g π(j′+1) k >1, j < M, k + j - M e k′ < k, j + k - k′ e j′ e M (10b) In addition to the above constraints, the Ykjk′j′ values must obey some relations. For instance, eq 6a implies ∞ > TSk′(M+1) > TSk′M > ... > TSk′(j+k-k′+1) > TSk′(j+k-k′). Because ∞ > TSkj > TSk′(j+k-k′) from eq 9, TSkj must fall in exactly one of the following intervals: (TSk′j′, TSk′(j′+1)), with j + k - k′ e j′ e M, or (TSk′(M+1), ∞). We model this fact as M+1
∑
Ykjk′j′ ) 1
k > 1, j < M, k + j - M e k′ < k
j′)j+k-k′
(11)
Further analysis gives the two additional constraints k-1
∑
Ykjk′j′ e 1
k >1, j < M, j < j′ e M
k′gj+k-min(M,j′)
(12) M+1
Ykjk′j′ +
∑
Yk′′jk′j′′ e 1
(13)
j′′gk′′+j-k′
for k > 1, k′′> 1, k > k′′ > k′, j < M, k′ g k′′ + j - M, j + k - k′ e j′ e M + 1. For the sake of readability, we defer the derivation of the above two constraints to the Appendix. This completes our MILP formulation (eqs 2-7 and 10-13), whose objective is to minimize the makespan or TSN(M+1). Remarks. It is tempting to use slots either on the robot or on both baths and the robot to avoid conflicts of robot usage. This would entail N(M + 1) slots on the robot and N slots on each bath, because the robot performs M + 1 transfers per job. Because we are dealing with permutation sequences of jobs, one set of slots suffices for all baths. Use of Ykjk′j′ allows us to avoid using slots on the robot and uses far fewer binary variables than a formulation that uses slots on the robot. Furthermore, by fully exploiting the recurrence relations for completion times, we have reduced the binary variables even further. We also explored other nonessential constraints similar to eqs 11 and 12. For instance, we tried summing Ykjk′j′ over j and k, but found that those sums could exceed 1 and cannot be bounded. H in eq 10 should be large enough to relax the constraints when Ykjk′j′ ) 1. Although we can take any
Table 1. Job-Transfer Times for All Test Problems and Examples π1
π2
π3
π4
π5
π6
π7
π8
π9
0.1
0.2
0.15
0.175
0.25
0.15
0.12
0.13
0.14
upper bound on the makespan as H, a conservative estimate of H is the maximum time difference between two transfers that might lead to a conflict in the demands of the robot. In other words, the transfers should be in the domain of Ykjk′j′. In this paper, we used the following value of H, which was satisfactory in all of our computations M
∑
H ) max[ tij] i j)1 Finally, note that eqs 5-7 have two distinct forms, and we need not use both forms in the formulation. One option is to use eqs 4, 5a, 6a, and 7a. Because eqs 6a and 7a can alternatively be written as eqs 6b and 7c, respectively, another option is to use eqs 4, 5a, 6b, and 7c. Both of these options use TSkj and TFkj as variables and have one equality constraint in eq 4. If we eliminate TFkj using eq 4, then we obtain a formulation that uses eqs 5b, 6b, and 7b only. This formulation uses only TSkj instead of both TSkj and TFkj and thus has fewer variables and nonzeros. Because the various options described above use different numbers of variables, constraints, and nonzeros, which can affect the solution time, we must first identify the constraint set that gives the most efficient formulation. Even after we identify the best constraint set, one more issue demands attention. Observe that eqs 12 and 13 are nonessential to this problem, whereas the rest of the equations are essential. Essential constraints are those that are necessary to obtain a valid solution. Discarding eqs 12 and 13 does not compromise the schedule feasibility. Then, should we include one or both of eqs 12 and 13 in our formulation? Would such an inclusion decrease solution time? Although we can state plausible answers based on conventional wisdom for the above two issues, given the notoriously unpredictable performance of MILP formulations, we decided to do a thorough numerical evaluation to obtain reliable answers. Model Evaluation To identify the best model, we used simulated test problems with M × N ) 4 × 8, 4 × 10, 4 × 12, and 4 × 14. Following Geiger et al.,11 we generated processing times for each test problem from uniform distributions with a mean of 6.67 units. We took 0.549 as the coefficient of variation for the processing times in chemical baths, and 0.042 as the corresponding value for water baths. We used one set of transfer times (Table 1) for all of the test problems. We implemented our models in GAMS 2.50 v19.6 and used CPLEX 6.6 (default options) on an HP Unix 11.0 9000/800 workstation to solve them. As expected, the model performance depended on the problem, and no model was a clear, outright winner for any set of problems. Selecting the best model was not easy, because it was difficult to judge the overall performance of a model for test problems with different sizes and different data. Because the solution times for even the test problems with the same values of M × N
Ind. Eng. Chem. Res., Vol. 42, No. 7, 2003 1395 Table 2. Definitions of Models, Their Constraints, and Ranking Scores common distinguishing model model constraints constraints score
evaluation goal identify the best form of eqs 4-7 while using essential constraints only identify the best form of eqs 4-7 while using both essential and nonessential constraints identify the best set of nonessential constraints
M1 M2 M3
2a,b; 3a,b; 11; 15a,b
4, 5a, 6a, 7a 4, 5a, 6b, 7c 5b, 6b, 7b
9028 6240 9416
M1-1 M2-1 M3-1
2a,b; 3a,b; 11; 15a,b; 13; 14
4, 5a, 6a, 7a 4, 5a, 6b, 7c 5b, 6b, 7b
8384 9884 9924
M3 M3-1 M3-2 M3-3
2a,b; 3a,b; 11; 15a,b; 5b; 6b; 7b
13, 14 13 14
8864 10 836 6864 6812
varied by an order of magnitude, we could not rank models simply on the basis of their average solution times for a given problem size. Similarly, it made no sense to differentiate between models with negligibly different solution times. At the same time, it did make sense to prefer a model that did well on larger problems, as most models performed equally well on small problems. After pondering long over these crucial issues, we developed a novel scheme that awards points to a model for every test problem based on the following empirical formula
{
5 4 2 3 points ) N 2 1 0
if CPUt e 1.2CPUtmin if 1.2CPUtmin < CPUt e 1.4CPUtmin if 1.4CPUtmin < CPUt e 1.6CPUtmin if 1.6CPUtmin < CPUt e 1.8CPUtmin if 1.8CPUtmin < CPUt e 2.0CPUtmin if 2.0CPUtmin < CPUt
where CPUt is the time taken by the model to solve a test problem and CPUtmin is the solution time required by the model that took the least CPU time to solve the same problem. We included N2 as a weight, because the number of binary variables for sequencing jobs in our model is N2, which conveys the problem size. Because all test problems had the same value of M, we did not include M in the above formula. Thus, we computed points for each test problem that a model solved and summed all points to get a total score for ranking that model. With this set of scores, we are ready to evaluate models M1-M3 and M1-1-M3-1 to identify the best form of eqs 4-7. Best Form of Timing Equations. Because the various forms of timing eqs 4-7 should be judged with
both essential and nonessential constraints, we defined (Table 2) models M1-M3 to use only the essential constraints in common, whereas we defined models M11-M3-1 to include even the nonessential constraints in common. For the former, we employed five test problems each for M × N ∈ [4 × 8, 4 × 10, 4 × 12, 4 × 14], whereas for the latter, we used a different set of five problems each for M × N ∈ [4 × 10, 4 × 12] and 10 problems for M × N ) 4 × 14. As seen in Table 3, all six models have the same number of binary variables for a given problem but different numbers of continuous variables, nonzeros (because of the different forms of constraints), and constraints. Models M3 and M3-1 have the fewest continuous variables. Model M3 has the fewest nonzeros and constraints, whereas model M3-1 has the most. Intuitively, we expect model M3 to be the best among models M1-M3 and model M3-1 to be the best overall. Using the proposed point scheme, we find that, for the 20 test problems in set 1, models M1-M3 scored 9028, 6240, and 9416 points, respectively (Table 2). As expected, model M3 appears to be the best model among models M1-M3. For the 20 test problems in set 2, models M1-1-M3-1 scored 8384, 9884, and 9924 points, respectively (Table 2). Note that the scores in the latter case are less discriminating than those for models M1M3. However, as expected, model M3-1 appears to be the best among the six models. From the above discussion, we conclude that the combination of eqs 5b, 6b, and 7b, namely, model M3, is indeed the best. Now, we study the effects of various nonessential constraints on the performance of model M3. Selection of Nonessential Constraints. The possible combinations of nonessential constraints (eqs 13 and 14) lead to four models, namely, models M3, M3-1, M3-2, and M3-3, as defined in Table 2. Table 3 presents the model statistics for these three models. Note that the numbers of variables (continuous and binary) are the same for all three models, but the numbers of constraints and nonzeros differ, as model M3 has no nonessential constraint, models M3-2 and M3-3 have only one, and model M3-1 has both. For this evaluation, we used five test problems each for M × N ∈ [4 × 8, 4 × 10, 4 × 12, 4 × 14]. In solving the 20 test problems, models M3, M3-1, M3-2, and M3-3 scored 8864, 10, 6864, and 6812 points, respectively. This suggests that model M3-1, as expected, is the best model overall, i.e., the inclusion of both nonessential constraints improves the formulation despite the increase in the numbers of
Table 3. Statistics for Models M1-M3 and M1-1, M2-1, and M3-1-M3-3 M×N
statistic
M1
M2
M3
4×8
continuous variables binary variables constraints nonzeros continuous variables binary variables constraints nonzeros continuous variables binary variables constraints nonzeros continuous variables binary variables constraints nonzeros
105 167 368 1283 131 235 474 1763 157 311 580 2291 183 395 686 2867
105 167 368 1283 131 235 474 1763 157 311 580 2291 183 395 686 2867
73 167 336 1240 91 235 434 1710 109 311 532 2228 127 395 630 2794
4 × 10
4 × 12
4 × 14
M1-1
131 235 596 1962 157 311 732 2540 183 395 868 3166
M2-1
131 235 596 1962 157 311 732 2540 183 395 868 3166
M3-1
M3-2
M3-3
91 235 556 1909 109 311 684 2477 127 395 812 3093
73 167 378 1305 91 235 488 1795 109 311 598 2333 127 395 708 2919
73 167 386 1324 91 235 502 1824 109 311 618 2372 127 395 734 2968
1396
Ind. Eng. Chem. Res., Vol. 42, No. 7, 2003
Table 4. Analysis of Job Sequences and Makespans Obtained from the ORM, URM, and RCURM on the Simulated Test Problems percentage of problems in which test model and BM give identical results N
M
8 10 12 14 8 10 8 10 12
4
6
job sequences 70 65 45 0 95 65
8
makespans 100 100 95 100 100 75 80 100 50
100
(
maximum relative difference (%) between makespans from various modelsa
MSBM -1 MSURM
)
100
(
)
MSRCURM -1 MSORM
0 0 0.31 0 0 0.42 0.22 0 0.24
0 0 0 0 0 0.07
ranges of actual and relative CPU times of RCURM algorithm
CPUORM CPURCURM
CPU times (s)
2.84-8.74 1.03-10.96 1.05-23.26 3.1-19.5 7.27-29.41 8.53-1666.7
0.9-7.8 4.1-660 1.5-8163 153.2-21 698 10.9-59 23.1-32 516 4.0-13 8.6-305 66.3-2382
a MS BM is the makespan obtained from the basis model BM. The BM for problems with M ) 4 and 6 is the ORM, and that for problems with M ) 8 is the URM.
constraints and nonzeros. Thus, we use model M3-1 as the best formulation for the subsequent work in this paper. As noted earlier, our formulation has two groups of constraints: one ensures ZW/NIS operation, while the other eliminates robot conflicts. If the system had unlimited robots, then the latter would not be required, which would significantly reduce the combinatorial complexity. On the other hand, it is natural to ask what the effect of the single robot is. Alternately, can we analyze a single-robot system as an unlimited-robot system? We address this issue in the next section. Effect of Robot We define two models to study the extent to which the details (makespan, job sequence, start/end times of jobs in various baths) of the optimal schedule change when unlimited robots are used in place of the single robot. We define ORM, or the one-robot model, as model M3-1 presented earlier and URM, or the unlimited robot model, as model M3-1 without the robot constraints. Thus, URM comprises eqs 2a, 2b, 3a, 3b, 5b, 6b, and 7b. Note that URM uses N2 binary variables, which is fewer than used by ORM. Using URM and ORM, we solved 20 simulated test problems each for M × N ∈ [4 × 8, 4 × 10, 4 × 12, 6 × 8, 6 × 10] and five test problems for M × N ) 4 × 14. For all problems, we used the jobtransfer times from Table 1. Table 4 summarizes the results, with MSM denoting the makespan obtained from model M. As one can see, the makespans from the URM and the ORM are most often identical, even though the optimal sequences might be different. Furthermore, the average difference between the two makespans is negligible. This means that the AWS with unlimited robots is a reasonable approximation for the AWS with one robot or that the URM is a good approximation for the ORM. Only for large N, M, and transfer times can significant differences between the makespans of the two models be discerned. However, one should not get the impression that the constraints related to robot movement are not important. As the following example shows, even though the makespans and job sequences from the URM and ORM might be identical, the actual schedules, i.e., the start/end times of jobs in baths, are not the same. Example. Consider an eight-job, four-bath example with the processing times listed in Table 5 and the
Table 5. Processing Times of Jobs on Baths for the Example job
bath 1
bath 2
bath 3
bath 4
1 2 3 4 5 6 7 8
11.10 8.47 9.19 10.8 7.40 10.80 3.48 2.51
6.68 6.35 6.35 7.12 7.05 6.76 6.67 6.23
5.24 10.10 4.60 10.20 4.07 1.01 1.41 8.00
6.92 7.02 6.71 6.83 6.58 6.37 6.46 6.23
transfer times listed in Table 1. Both the URM and ORM yield the same permutation sequence, namely, 4-2-6-3-5-8-7-1. This means that q1 ) 4, q2 ) 2, q3 ) 6, q4 ) 3, q5 ) 5, q6 ) 8, q7 ) 7, and q8 ) 1. The makespans from the URM and the ORM are also the same () 84.37 units). However, as shown in Table 6, the start times of the jobs are not the same. The URM gives TS54 ) 54.925 units and TS71 ) 54.875 units. Thus, q5 requires a robot during [54.75, 54.925], while q7 requires one during [54.775, 54.875]. Implementation of this solution, as shown in the URM schedule of Figure 3, clearly requires at least two robots, and the URM schedule is thus infeasible for the one-robot system. As seen in Table 6, the ORM adjusts the start times of jobs to produce a schedule that is feasible for the one-robot system. However, the final makespan is unaffected primarily because of the flexibility of local storage in the water baths in the system. In other words, it is easy to adjust the local storage times in the water baths to compensate for the absence of unlimited robots without affecting the final makespan. Of course, we can also attribute this result regarding the negligible effect of the number of robots on the makespan to the fact that the transfer times are negligible. We examine the effect of transfer times later in this paper. The above discussion suggests that we can treat one robot as unlimited robots, as far as the makespan is concerned. In other words, we can solve the URM rather than ORM to obtain a job sequence and then impose the single-robot restriction on that sequence to obtain a feasible schedule. The local storage times in the water baths would adjust themselves to produce a feasible schedule for the one-robot system. Because our results indicate that the makespans from the URM and the ORM are nearly the same, the following two-step heuristic should work well.
Ind. Eng. Chem. Res., Vol. 42, No. 7, 2003 1397 Table 6. Start Times of Jobs in Baths from the URM and ORM for the Example bath 1
bath 2
bath 3
bath 4
exit
job
URM
ORM
URM
ORM
URM
ORM
URM
ORM
URM
ORM
1 2 3 4 5 6 7 8
0.1 2.91 11.68 22.78 34.765 42.465 54.875 58.655
Sa Sa Sa Sa Sa Sa Sa Sa
2.81 11.58 22.68 34.08 42.365 51.855 58.555 69.655
Sa Sa Sa Sa Sa Sa Sa Sa
9.19 18.08 29.95 42.165 50.68 58.355 68.68 76.565
Sa Sa Sa Sa 51.055 Sa 69.28 Sa
17.365 28.355 40.325 47.58 54.925 63.13 70.265 77.75
Sa Sa Sa Sa 55.3 Sa 70.865 Sa
23.845 35.625 47.405 54.75 61.755 70.09 76.975 84.37
Sa Sa Sa 55.125 62.13 70.69 77.575 84.37
a
S refers to the start time of the same job in the URM.
Figure 3. Gantt chart showing a portion of a schedule that depicts potential conflict in robot usage if there were one robot instead of two.
RCURM Heuristic The heuristic has two steps: (1) solve the URM to obtain the best job sequence and (2) fix this sequence in the ORM and solve the ORM to obtain a feasible schedule for the sequence. Because we are imposing the constraint of one robot on the sequence obtained from the URM, we call this the RCURM (robot-constrained unlimited-robot model) heuristic. To illustrate its application, we revisit the example considered in the last section. As stated earlier, both the URM and the ORM give the same sequence of jobs (4-2-6-3-5-8-7-1) and the same makespan of 84.37 units. Hence, the schedule given by the RCURM is the same as that given by the ORM in Table 6. Although the RCURM does generate the optimum solution in this example, we chose to confirm the effectiveness and efficiency of the RCURM via a thorough numerical evaluation. Performance Evaluation. We solved 20 simulated test problems each for M × N ∈ [4 × 8, 4 × 10, 4 × 12, 6 × 8, 6 × 10], five test problems for M × N ) 4 × 14, and 10 problems each for M × N ∈ [8 × 8, 8 × 10, 8 × 12]. For all problems, we used the transfer times from Table 1. Because we could solve the smaller problems (M × N ) 4 × 8, 4 × 10, 4 × 12, 6 × 8, 6 × 10, 4 × 14) using the ORM, we used the ORM as the basis model for evaluating the RCURM in these problems. For the remaining problems, we used the URM as the basis model, as the ORM required excessive CPU times. Table
3 also shows the results for this evaluation, where BM refers to the basis model. Table 3 shows that the RCURM gives minimum or near-minimum makespans for all problems. The maximum deviation from the ORM (M ) 4 and 6) or the URM (M ) 8) is only 0.42%. Because the URM gives a lower bound on the makespan, we can safely claim that the RCURM gives near-optimal solutions even for the larger problems (M ) 8) that the ORM cannot solve in a reasonable time. Moreover, the RCURM requires an order of magnitude less CPU time than the ORM. Table 3 does not show the percentages of identical job sequences and relative computation times for M ) 8, because the RCURM uses the sequence from the URM (the basis model in this case) and its second step (solving the ORM using that sequence) requires negligible CPU time as compared to the URM. We would expect the performance of the RCURM to depend on the magnitude of the transfer times. The transfer times in Table 1 are based on the work of Geiger et al.11 Apparently, even for a real AWS, Geiger et al.11 assumed negligible transfer times, did not treat them separately, and included them in the processing times. That suggests that the transfer times in real AWSs are indeed not high. Nevertheless, for the sake of completeness, we studied the effect of doubling the transfer times on the performance of the RCURM. Effect of Transfer Times. We first studied the effect of doubling the transfer times on the makespans by
1398
Ind. Eng. Chem. Res., Vol. 42, No. 7, 2003
solving five simulated test problems each for M × N ∈ [8 × 8, 8 × 10, 8 × 12]. We solved each problem using two sets of transfer times, first using the transfer times from Table 1 and then using transfer times with twice those values. Comparing the makespans obtained from the RCURM for both sets, we observed that MSRCURM increased, on average, by 3.3% for 8 × 8 problems, 3.88% for 8 × 10, and 3.71% for 8 × 12. This confirms that even doubling the transfer times has a negligible effect on the makespan. Then, to study the effect of transfer times on the performance of the RCURM, we solved 10 simulated test problems for M × N ) 10 × 6 using both the RCURM and the ORM. Again, we used the transfer times from Table 1 in one case and used twice those values in the other. For the former, the RCURM gave 0.23% greater makespans on average (2.24% maximum) than the ORM. Interestingly, even for the latter, the RCURM gave makespans greater by only 0.06% on average (0.36% maximum) than the ORM. Thus, we conclude that the excellent performance of the RCURM is not restricted to the smaller transfer times of Table 1, and that the RCURM is robust even for larger transfer times. Conclusion An exact MILP model and an excellent two-step heuristic based on this model were developed for an important scheduling problem arising in automated wetetch stations in wafer fabrication. This work is the first attempt at obtaining an exact solution for this problem. Of the proposed forms of timing constraints, the one with the fewest constraints, variables, and nonzeros appears to be the best, but the two nonessential constraints do enhance the solution efficiency. Thus, the best model overall has the fewest variables but the most constraints. Our two-step heuristic gives near optimal schedules and reduces the computing time by a huge factor as compared to the exact model. It is also quite robust for a substantial range of job-transfer times. Although the heuristic enables us to solve medium-sized problems, a need for a better, more efficient algorithm that can address several real industrial features such as larger numbers of jobs and baths, jobs with distinct recipes, multiple parallel baths for a task, and revisits of jobs to baths does exist. We hope to report results on these issues in future communications. Acknowledgment We are grateful to the Chemical and Process Engineering Center of the National University of Singapore for providing financial support for this research work. Notation CPUt ) computing time H ) large number used to relax eq 10 M ) number of baths in the AWS MSORM ) makespan from the ORM MSURM ) makespan from the URM MSRCURM ) makespan from the RCURM N ) number of jobs q ) permutation sequence of jobs in baths qk ) job in slot k tij ) minimum required processing time of job i in bath j ttkj ) residence time of job qk in bath j TFkj ) time when job qk leaves bath j TSkj ) start time of job qk in bath j
Xik ) 1 if job i occupies slot k in the permutation sequence and 0 otherwise Ykjk′j′ ) 1 if TSk′j′ < TSkj < TSk′(j′+1) and 0 otherwise πj ) time required to transfer a job from bath j - 1 to bath j Indices i, i′ ) job k, k′, k′′ ) slot in the permutation sequence j, j′ ) bath Abbreviations AWS ) automated wet-etch station HSP ) hoist scheduling problem MILP ) mixed-integer linear program NIS ) no intermediate storage ZW ) zero wait ORM ) one-robot model URM ) unlimited-robot model RCURM ) robot-constrained unlimited-robot model
Appendix To derive eq 11, let Ykjk′j′ ) 1 or TSkj < TSk′(j′+1) (from eq 8) for some k, j, k′, and j′ and consider a k′′ such that k > k′′ > k′. Because k′′ > k′ w k′′ g k′ + 1, eq 5b gives TSk′′j′ > TS(k′+1)j′, and eq 6b gives TS(k′+1)j′ > TSk′(j′+1). Therefore, we conclude that TSkj < TSk′(j′+1) < TSk′′j′ or Ykjk′′j′ ) 0 for k′′ > k′. Using a similar argument, we can show that TSkj > TSk′j′ > TSk′′(j′+1) or Ykjk′′j′ ) 0 for k′′ < k′. Hence, Ykjk′j′ ) 1 w Ykjk′′j′ ) 0 for all k′′ * k′. This gives us eq 11. Note that j′ e M instead of j′ e M + 1, because eqs 5b and 6b used here hold for j′ e M only. To derive eq 12, let Ykjk′j′ ) 1 or TSkj < TSk′(j′+1) (from eq 8) for some k, j, k′, and j′. Consider a k′′such that k > k′′ > k′. Because TSkj > TSk′′j from eq 5b, we get TSk′(j′+1) > TSk′′j or Yk′′jk′j′′ ) 0 for j′ < j′′ e M + 1. Now, let Yk′′jk′j′′ ) 1 or TSk′′j > TSk′j′′ (from eq 8) for some k > k′′ > k′ and j′′ > j′. From k > k′′ and eq 6b, we have TSkj > TSk′′j. Therefore, we have TSkj > TSk′j′′ for j′′ > j′ and, hence, TSkj > TSk′(j′+1) or Ykjk′j′ ) 0 from eq 8. This completes the proof of eq 12. Literature Cited (1) Uzsoy, R.; Lee, C. Y.; Marti-Vega, L. A. A review of production planning and scheduling models in the semiconductor industry. Part 1: System characteristics, performance evaluation and production planning. IIE Trans. 1992, 24 (4), 47. (2) Lamba, N.; Karimi, I. A.; Bhalla, A. Scheduling a singleproduct reentrant process with uniform processing times. Ind. Eng. Chem. Res. 2000, 39 (11), 4203. (3) Fowler, J. W.; Mason, S. J. Planning and scheduling in wafer fab. Presented at the workshop on Planning and Scheduling in the Semiconductor Industry held at Gintic, Singapore, 2001. (4) Kumar, P. R. Scheduling semiconductor manufacturing plants. IEEE Control Syst. 1994, 14 (6), 33. (5) Sivakumar, A. I. Optimization of cycle time and utilization in semiconductor test manufacturing using simulation based, online, near-real-time scheduling system. In Proceedings of the Winter Simulation Conference; IEEE Computer Society Press, Los Alamitos, CA, 1999; p 727. (6) Ku, H. M.; Karimi, I. A. Scheduling in serial multiproduct batch processes with finite interstage storage: A mixed integer linear program formulation. Ind. Eng. Chem. Res. 1988, 27, 1840. (7) Ku, H. M.; Karimi, I. A. Completion time algorithms for serial multiproduct batch processes with shared storage. Comput. Chem. Eng. 1990, 14 (1), 49. (8) Shapiro, G. W.; Nuttle, H. L. W. Hoist scheduling for a PCB electroplating facility. IIE Trans. 1988, 20 (2), 157. (9) Phillips, L. W.; Unger, P. S. Mathematical programming solution of a hoist-scheduling program. AIIE Trans. 1976, 8 (2), 219.
Ind. Eng. Chem. Res., Vol. 42, No. 7, 2003 1399 (10) Zhou, Z. L.; Zu, L. H. A heuristic method for single hoist cyclic scheduling. J. Syst. Simul. 2000, 12 (4), 389. (11) Geiger D. C.; Kempf K. G.; Uzsoy R. A tabu search approach to scheduling an automated wet etch station. J. Manuf. Systems. 1997, 16 (2), 102.
Received for review April 19, 2002 Revised manuscript received December 10, 2002 Accepted January 20, 2003 IE020296C