• 沒有找到結果。

Heuristic algorithms to solve the capacity allocation problem in photolithography area (CAPPA)

N/A
N/A
Protected

Academic year: 2021

Share "Heuristic algorithms to solve the capacity allocation problem in photolithography area (CAPPA)"

Copied!
22
0
0

加載中.... (立即查看全文)

全文

(1)

DOI 10.1007/s00291-007-0093-4

R E G U L A R A RT I C L E

Heuristic algorithms to solve the capacity allocation

problem in photolithography area (CAPPA)

Shu-Hsing Chung · Chun-Ying Huang · Amy H. I. Lee

Published online: 1 June 2007 © Springer-Verlag 2007

Abstract Wafer fabrication is one of the most complex and high competence manufacturing. How to fully utilize the machine capacity to meet customer demand is a very important topic. In this paper, we address the capacity allocation problem for photolithography area (CAPPA), which belongs to a capacity requirement planning scheme, with the process window and machine dedication restrictions that arise from an advanced wafer fabrication technology environment. Process window means that a wafer needs to be processed on machines that can satisfy its process capability (process specification). Machine dedication means that once the first critical layer of a wafer lot is processed on a certain machine, the subsequent critical layers of this lot must be processed on the same machine to ensure good quality of final products. We present six modified heuristics and a linear-programming-based heuristic algorithm (LPBHA) to solve the problem efficiently. The performance of the proposed algorithms is tested using real-world CAPPA cases taken from wafer fabrication photolithography area. Computational results show that LPBHA is the most effective one, and with a least

S.-H. Chung (

B

)

Department of Industrial Engineering and Management, National Chiao Tung University, Hsinchu, Taiwan, ROC

e-mail: shchung@mail.nctu.edu.tw C.-Y. Huang

Department of Business Administration, Ching Yun University, Jungli, Taiwan, ROC

e-mail: cyhuang@cyu.edu.tw A. H. I. Lee

Department of Industrial Engineering and System Management, Chung Hua University, Hsinchu, Taiwan, ROC

(2)

average and a least standard deviation of deviation ratio of 0.294 and 0.085% compared to the lower bound of the CAPPA.

Keywords Photolithography area· Process window · Machine dedication · Heuristic· Linear programming

1 Introduction

In this paper, we consider the capacity allocation problem in photolithography (CAPPA), a variation of the capacity allocation problem considered by Leachman and Carmon(1992);Toktay and Uzsoy(1998);Chung and Huang(2001), and Hung and Cheng (2002), which has many real-world applications, particularly, in the semi-conductor manufacturing and thin film transistor-liquid crystal display (TFT-LCD) manufacturing industries. Photolithography process uses stepper, a bottleneck work-station and the most expensive machine in a wafer fabrication factory, and the matched mask/reticle, a piece of glass with predefined circuit patterns, to transfer circuit pat-terns onto a wafer, and then forms tangible circuit patpat-terns onto the wafer through etching operation (see Fig.1). With the required number of processes in the photo-lithography, integrated circuitry products with preset functions are developed on the wafer. In practice, all fabrication steps before the next photolithography processes are classified to form a layer; hence the complexity of a product can be determined by the number of layers it requires.

As wafer fabrication technology advances to a higher precision level, the line width and the space between lines of IC diagrams (Fig.2) copied from masks/reticles onto wafers in the photolithography area becomes smaller, and more stringent machine selection restrictions, the so-called process window control and machine dedication

wafer clean wafer start oxidation diffusion ion implant photo-lithography etching wafer out Raw Wafer Finished Wafer Silicon Wafer Photo Resist Mask Lenses Light Source Photolithography Operation

• Using masksto transfer circuit patternsonto a wafer.

t a e p er wafer clean wafer start oxidation diffusion ion implant etching wafer out Raw Wafer Finished Wafer Silicon Wafer Photo Resist Mask Lenses Light Source Photolithography Operation

• Using to transfer onto a .

t

a

e

p

er

(3)

Space Line width Contact hole Layer l Layer l+2 Layer l+3 Space Line width Contact hole Layer l Layer l+2 Layer l+3

Fig. 2 An example of circuit pattern

control, are imposed on the photolithography area to ensure achieving the highest yield of wafer lots.

Process window constraint, also called equipment constraint or machine capabil-ity, is related to the stringent machine selection criterion to process high-end (higher precision level) fabrication technology so as to meet increasingly narrower line width, distance between lines, and tolerance limit. In other words, wafer lots could only be processed on machines that meet certain process capability (also called process recipe or process specification). Due to the difference among machines regarding to recipe processing, machines with different models in fact have varying functions to a certain extent even though they are grouped in the same workstation. Hence, the situation is that some machines can handle more process capabilities (simultaneously handle higher- and lower-end fabrication technology) while other stepper machines just han-dle less process capabilities (only hanhan-dle lower-end fabrication technology). Figure3 shows whether circuit patterns are properly transferred onto the wafer or not. Some related studies are as follows.Leachman and Carmon(1992) and Hung and Cheng (2002) develop a linear programming model to obtain a production plan for maxi-mizing the profit with the consideration of machines’ capability constraint.Toktay and Uzsoy(1998) transform the capacity allocation problem with machines’ capabil-ity constraint into a maximum flow problem. However, only a single product type is considered in the study. Akçalı and Uzsoy (2000) study a shift scheduling problem arising from the photolithography area of wafer fabrication with the constraints of machines’ capability, mask availability, and number of mask setup operations. They present a sequential procedure that separates the problem into capacity allocation and lot sequencing sub-problems.Chung and Huang(2001) propose a heuristic method, named COLA, to solve the capacity allocation problem by considering the process capability constraint in a single planning period, and the objective function is to bal-ance the loading among machines.Chen et al.(2005) construct a capacity planning system to balance the load among fabs with the consideration of machine capability in a multiple-fabs environment. Their system is based on the pull philosophy and an assumption of infinite equipment capacity. Then, the release time and production fab of each lot can be determined.

The machine dedication constraint is set for layer-by-layer process on wafers so that the circuit patterns in such layers (named critical layers) can be correctly con-nected to provide particular functions. In other words, it will cause defective products

(4)

Fig. 3 Cases of process window characteristic

Fig. 4 Cases of machine dedication characteristic

if circuit patterns among these critical layers cannot be aligned and connected. Figure4 shows two machine dedication cases. In Fig.4b, the poorly matched circuit patterns result from the machine dedication problem. The spread of critical layer operations is different depending on product types. Usually, there is one critical layer operation after two to five non-critical layer operations. The alignment precision provided by different machines varies to a certain extent, even for machines of the same model type, which are referred to as machine difference. It has been restricted that when the first critical layer operation of a wafer lot is done on a particular machine, the rest of its subsequent critical processes need to be processed by the same machine to avoid the increase in defective rate due to machine difference. A related study is done by Akçalı et al.(2001), in which an investigation is conducted on the correlation between photolithography process characteristics and production cycle time by using a simula-tion model, and the machine dedicasimula-tion policy is set as one of the experiment factors. Experimental results indicate that the dedicated assignment policy has a remarkable impact on the cycle time.

With the use of advanced fabrication techniques, the impact of process window and machine dedication constraints on wafer fabrication is increasingly evident. Capacity requirement planning (CRP) is very difficult due to the fact that wafer fabrication has a special reentry characteristic and long cycle time, and the fact that the number of layers

(5)

contained in a product, the required process window, the number and distribution of critical layers are different for each product type. As a result, the effectiveness of the production planning and scheduling system is seriously impacted if the constraints of process window and machine dedication are not considered. In this paper, we tackle the capacity allocation problem in the photolithography area (CAPPA), which belongs to the CRP scheme, with considerations of process window and machine dedication that arise from an advanced wafer fabrication technology environment. Solving the CAPPA is to find a job allocation solution so that the process window constraint and machine dedication constraint are satisfied without violating the machine capacity. The objective function of a solution model for the CAPPA is to balance the load of machines in a workstation according toChung et al.(2006). They showed that leveling the load among machines will help to maintain a stable production cycle time and lead to the accomplishment of the master production schedule (MPS) and detailed schedule (DS) on time.

Up to now, the CAPPA problem has not been tackled except byChung et al.(2006), in which a mixed integer-linear programming (MILP) model is devised to solve the CAPPA problem. However, it usually requires a tremendous computational time for a large-scale CAPPA instance and thus loses the applicability in real environments. Therefore, we present six modified heuristics of Sule’s algorithm (MSAs) and a linear-programming-based heuristic algorithm (LPBHA) for solving the CAPPA efficiently, and both new released work orders and in-process work orders in a planning horizon can be assigned to machines in a photolithography workstation. The performance of the proposed algorithms is tested by real-world CAPPA cases taken from the wafer fabrication photolithography area.

The remainder of the paper is organized as follows. Section2describes the CAPPA problem, analyzes its complexity and gives a demonstrative example. In addition, an MILP model is introduced to solve the CAPPA. Section3, we present the proposed algorithms to solve the CAPPA efficiently. Section4uses a set of test problems, which are generated based on real-world cases taken from a wafer fabrication factory, to ver-ify the feasibility and effectiveness of the proposed algorithms. In the last section, the research results are summarized.

2 Problem description and formulation 2.1 Problem description

The capacity allocation problem in wafer fabrication photolithography area (CAPPA) can be stated as follows. Given a wafer fabrication photolithography area with K machines and H types of process capabilities, there are I orders, Li layers for each order, T time buckets in a planning horizon. Machines, the steppers, may have differ-ent types and numbers of process capability to process wafer lots. Solving the CAPPA is to find a job allocation solution so that the process window constraint and machine dedication constraint are satisfied without violating the machine capacity. The com-plexity of the CAPPA is NP-hard according toLow and Fang(2005).Low and Fang (2005) considered a load balanced demand points assignment problem (LBDPAP) in

(6)

Table 1 Process window of machines in the CAPA example Machine no. Process capability

1 2 3 4

1 1a 1 0 0

2 0 1 1 0

3 0 1 1 1

a1 means that the machine has this certain process capability; 0 means that the machine does not have this

certain process capability

a large scale wireless LANs environment. The LBDPAP concentrates on the issue of demand points assignment with the objective of minimizing the maximum load of all access points (APs). A demand point can only be assigned to an AP while the sig-nal-to-noise ratio (SNR) value is greater than a certain threshold. The authors showed that the LBDPAP is NP-hard. When the number of planning period is one and none of the orders has critical layer operations, the CAPPA reduces to a LBDPAP. Thus, the CAPPA is NP-hard too.

Because of the reentry characteristic of wafer fabrication, we cannot merely plan the first or first several layers of process, and ignore the fact that such a machine assignment may have some impact on the future dispersion of the system load. The ignorance may lead to the derived planning results being a local optimum. Therefore, the load allocation of critical layer activities must cover the in-process and planned-to-release orders in a planning horizon that is long enough, i.e. the planning horizon must have at least the same length as the product cycle time. Actually, wafer fabricator usually uses a time horizon of 1 month to decide whether or not the short-term capacity is sufficient to accept an order. In addition,Chou and Hong(2000) consider a product mix planning problem in a wafer foundry factory, and design four types of time bucket sizes, which are 4, 2, 1 week, and daily, to identify the suitable granularity of such a problem. Their result show that using one week as the granularity is the most suitable one. Thus, in this paper, the planning horizon is set to be 4 weeks, and the planning period is set to be 1 week, i.e. the planning horizon comprises four planning periods.

2.1.1 A demonstrative example

Consider the following CAPPA example with three machines, M1, M2, and M3. Each machine possesses different process windows as shown in Table1. Five orders are waiting for capacity allocation. The information of processing time (h), loading occurrence time (week), required process capability, and critical layer operation are shown in Table2. The optimal solution is shown as in Fig.5, where an underlined number represents a critical layer operation. The average load for the first week is 46.33 h, and the required load for M1, M2 and M3 is 48, 46, and 45 h, respectively. In the second week, the average load is 49.67 h, and the required load for M1, M2 and M3 is 50, 49, and 50 h, respectively. In the third week, the average load is 47.33 h, and the required load for M1, M2 and M3 is 47, 48, and 47 h, respectively.

(7)

Table 2 Processing time, loading occurrence time, required process capability and critical layer operation of orders in the CAPPA example

Order no. Layer no .

1 2 3 4 5 6 7 1 12,1,1,0a 15,1,3,1 19,2,2,0 12,2,3,1 14,3,2,0 – – 2 11,1,1,0 16,1,3,1 18,2,2,0 11,2,3,1 9,3,2,0 15,3,3,1 17,3,1,0 3 13,1,2,0 15,1,3,0 10,2,4,1 13,2,2,0 20,3,4,1 12,3,3,0 – 4 12,1,2,0 14,2,4,1 14,2,2,0 13,2,4,1 12,3,3,0 15,3,2,0 – 5 13,1,2,0 13,1,3,0 19,1,4,1 12,2,3,0 13,2,4,1 12,3,4,1 16,3,2,0

aProcessing time (h), load occurrence time (week), required process capability, whether a critical layer

operation is included or not (1: critical layer operation; 0: non-critical layer operation), respectively

1,1 max. 48 hrs M1 M2 M3 M1 M2 M3 Time i,j i: order numbering j: layer numbering 1,2 1,3 1,4 1,5 M1 M2 M3 2,1 2,2 2,3 2,4 2,5 2,6 2,7 3,1 3,2 3,3 3,4 3,5 3,6 4,1 4,2 4,3 4,4 4,5 4,6 5,1 5,2 5,3 5,4 5,5 5,6 5,7 min. 45 hrs max. 50 hrs min. 49 hrs max. 48 hrs min. 47 hrs

Week 1 Week 2 Week 3

Fig. 5 The optimal solution for the CAPPA example

2.2 An mixed integer-linear programming formulation (MILP)

Notations and parameters Indices

i Index of order number, where i = 1, . . ., I .

l Index of layer number, where l= 1, . . ., Li.

k Index of machine number, where k = 1, . . ., K .

h Index of processing capability number, where h = 1, . . ., H.

t Index of planning period, where t = 1, . . ., T .

Parameters

Chk If machine k has processing capability h, then Chk = 1; otherwise, Chk = 0.

ACkt Available capacity of machine k in planning period t.

C Lil If layer l of order i is a critical layer, then C Lil= 1; otherwise,

C Lil = 0.

C Ri h If the critical layer operations of order i require process capability h, then C Ri h = 1; otherwise, C Ri h = 0.

(8)

C Rilh If layer l of order i has a load on processing capability h, then C Rilh= 1; otherwise, C Rilh = 0.

DCht Capacity requirement of process capability h in planning period t(=il(pilC RilhL Tilt)).

D M Li t Loading of critical layer operations of order i in period t(=l(pilC LilL Tilt)).

Li Number of photolithography operations for order i .

L Tilt If layer l of order i has a load in planning period t, then

L Tilt = 1; otherwise, LTilt = 0.

pil Processing time on layer l of order i .

Decision variables

dmi k If the first critical layer of order i is assigned to machine k, then dmi k = 1; otherwise, dmi k = 0.

xilk If layer l of order i is assigned to machine k, then xilk = 1; otherwise, xilk = 0.

L Shkt The loading level of process capability h assigned to machine

k in planning period t.

M Lt The maximum loading level among machines in planning period t.

An MILP model (refer to as MILPOPmodel) is constructed to solve the capacity allocation problem with constraints of process window and machine dedication as follows (Chung et al. 2006):

Minimize  t M Lt (1) Subject to  t  k  h  l

(xilkChkC RilhL Tilt) =  t  h  l

(C RilhL Tilt), for all i (2) 

k

xilk = 1, for all i, l (3)

 t  h  l

(xilkC LilC RilhL Tilt) = dmi k×  t  h  l (C LilC RilhL Tilt), for all i, k (4)  i  l  h

(xilkpilChkC RilhL Tilt) ≤ M Lt, for all t (5)

xilk∈ {0,1} , for all i, l, k (6)

dmi k ∈ {0,1} , for all i, k (7)

M Lt ≥ 0, for all t, k (8)

The objective function (1) is to minimize the sum of MLt, the maximum loading level among machines in planning period t. For a given CAPPA instance, a feasible solution with a smaller value of M Ltimplies a smaller variance of machines’ loading level in planning period t, while another one with a larger value of M Lt implies a larger variance of machines’ loading level in planning period t. By minimizing the

(9)

sum of M Lt, the results will tend to balance the load among machines. Constraint (2) ensures that each layer of an order, including new release orders and WIP orders, must be assigned to a machine k if it has a capacity request in this planning horizon. In the machine assignment, the process window constraint must be considered. Constraint (3) is to make sure that each layer of an order can only be assigned to a single machine. Constraint (4) states the machine dedication control. Note that the orders in a planning horizon can either be orders planned to release or WIP orders that were released to the shop floor in the previous planning horizon. Therefore, dmi kis a decision variable if the order is a planned-to-release order or a WIP order for which its first critical layer has not been assigned to a particular machine in the previous planning horizon; otherwise, dmi k is a known parameter. Constraint (5) ensures that capacity loading of each machine in a period must be smaller than or equal to the maximum loading among machines in that planning period, M Lt.

3 Heuristic algorithms

3.1 Modified Sule’s algorithms (MSAs)

Consider a variation of parallel machine scheduling problem in which n jobs must be scheduled on K parallel machines when some job j can be processed only on p machines(p ≤ K ). The objective is to assign jobs evenly among machines so that the numbers of operations processed on each machine are as evenly as possible. Hence, Sule(1997) proposes a heuristic method, called Sule’s algorithm (SA), for solving such a scheduling problem with process capability restrictions. Following are the detailed procedures of SA, and an illustrative example is given in Table3. The results are as shown in Table4and Fig.6.

Step 1. Develop a job-machine relationship matrix, and calculate the job

flexibil-ity index (JFI) of each job and the machine flexibilflexibil-ity index (MFI) of each machine, as shown in Table3. JFI represents the number of machines that a job can be assigned without violating the process capability restriction, and MFI is the number of jobs that a machine can process without violating the process capability restriction.

Step 2. A candidate job is selected in the ascending order of JFI. If there is a tie, select

the job with the smallest MFI of the corresponding suitable machines. Then, the candidate job is assigned to the machine for which the load balance could be achieved. The results are shown in Table4.

In Table3, job 1, 2, 4, 5 with the smallest JFI, i.e., 2, and the MFI of these jobs are 4, 4, 6, and 6, respectively. Thus, we will assign job 1 and 2 first. Here, we choose job 1 as the candidate and assign it to machine 1, the result is shown in row 3 of Table4.

Step 3. Update the MFI for all machines according to the job assignment result. Repeat

Step 2 until all jobs have been assigned.

The idea of Sule’s algorithm is that a job with a smaller JFI implies having fewer suitable machines that can be processed. If a lower priority is given to the job, after higher priority jobs are assigned, the job may end up with only a few or even only

(10)

Table 3 Job-machine relationship matrix

Job no. M1 M2 M3 M4 JFI

1 1a 1 0 0 2 2 1 1 0 0 2 3 1 1 1 0 3 4 0 1 1 0 2 5 0 1 1 0 2 6 0 1 1 1 3 7 0 1 1 1 3 8 1 1 1 1 4 MFI 4 8 6 3 21

a1 means that the job can be processed on this machine; 0 means that the job can not be processed on this

machine

Table 4 Result of job assignment by SA

Iteration no. Job no. Adjusted machine flexibility Cumulative job assignment

M1 M2 M3 M4 M1 M2 M3 M4 0 – 4 8 6 3 0 0 0 0 1 1 3 7 6 3 1 0 0 0 2 2 2 6 6 3 1 1 0 0 3 4 2 5 5 3 1 1 1 0 4 5 2 4 4 3 1 2 1 0 5 6 2 3 3 2 1 2 1 1 6 7 2 2 2 1 1 2 2 1 7 3 1 1 1 1 2 2 2 1 8 8 0 0 0 0 2 2 2 2 1 2 4 6 8 7 5 3 M1 M2 M3 M4 Job number 1 2 3

Fig. 6 Assignment solution by SA

one machine that can eventually be used. An unbalanced assignment of jobs among machines is resulted. Therefore, such a job should be given a higher priority in select-ing a suitable machine in order to avoid load unbalance. In other words, a job with a larger JFI implies having more suitable machines, and there is a higher probability to achieve a balanced load among machines even if the job is assigned in the end.

(11)

Because the CAPPA not only has process capability restrictions but also faces multiple planning periods and machine dedication characteristics, it is obvious that the SA can not be directly applied to solve such a complicated problem, i.e., a modi-fication of SA is required. Thus, we present six modified heuristics based on the SA by considering the characteristics of different loading levels among planning periods, process window and machine dedication, for solving the CAPPA in an efficient way. In a planning period, jobs can be categorized into three types according to their oper-ations: (1a) having a critical layer operation which has been dedicated to a specific machine, (1b) having a critical layer operation which has not been dedicated to a spe-cific machine, and (2) having a non-critical layer operation without machine dedication restriction. For jobs that are machine-dedicated (i.e., critical layer operations), the JFI are smaller than those of non machine-dedicated jobs (i.e., non-critical layer opera-tions), and these jobs may have a huge impact on the scheduling performance because the assignment of machine-dedicated jobs will influence the assignment results of other planning periods. As a result, in the assignment decision of jobs, we must first consider jobs in (1a) and (1b). In addition, critical layer operations of jobs in (1a) have been dedicated to specific machines; therefore, the JFI must be revised to 1, which is relatively lower than those of jobs in (1b). In consequence, the priority for assigning these three types of jobs in descending order is (1a), (1b) and (2). Thus, for a planning period, we design two kinds of assignment criteria of jobs:

3.1.1 Assignment criterion

C1. Select a candidate job according to the JFI and MFI (same as the SA). Jobs with smaller JFI are assigned first. If two or more jobs have the same JFI, the job with the smaller MFI is assigned first.

C2. Select a candidate job according to the job category [job type (1a) takes prece-dence over job type (1b), and job type (1b) takes preceprece-dence over job type (2)], JFI, and MFI. For jobs which belong to the same category, the candidate job is determined according to the assignment criterion C1 (same as the SA). In addition, consider the CAPPA problem with multiple planning period character-istic, and the ratios of loading type (1a), (1b), and (2) to the overall loading in different periods are not the same. If we simply start the assignment from planning period 1 or in an arbitrary order of different planning periods, then we will lack an overall view to solve the CAPPA, and the solution quality may not be good. In other words, the objective of load balance among machines in every planning period is not achievable. Therefore, we design the following three types of period selection strategies; that is, the strategies for setting the priority order of planning periods, in an attempt to increase the solving quality of the proposed heuristic methods.

3.1.2 Period selection strategy

S1. Calculate the ratios of the load of job category (1a), (1b), and (2) to capacity sup-ply(k ACkt) for each planning period, and then rank the ratios in descending order. Assign a higher priority to the planning period with a higher ratio.

(12)

Table 5 Assignment criterion and period selection strategy for MSA-1 to MSA-6 Methods Assignment criterion Period selection strategy

C1 C2 S1 S2 S3 MSA-1 * * MSA-2 * * MSA-3 * * MSA-4 * * MSA-5 * * MSA-6 * *

S2. Calculate the ratios of the load of job categories (1b) to the load of job categories (1b) and (2) for each planning period, and then rank the ratios in descending order. Assign a higher priority to the planning period with a higher ratio.

S3. Calculate the ratios of the load of job categories (1a) and (1b) to the load of job categories (1a), (1b) and (2) for each planning period, and then rank the ratios in descending order. Assign a higher priority to the planning period with a higher ratio.

The detailed calculations of loading type (1a), (1b), and (2) are given by Eqs. (9), (10) and (11), respectively.

Loading of type (1a) in planning period t:  i  l  k(pilC LilL Tiltdmi k) (9) Loading of type (1b) in planning period t:

 i  l  k[pilC LilL Tilt(1−dmi k)] (10)

Loading of type (2) in planning period t: 

i 

l[pil(1-C Lil)LTilt] (11) With the combination of two assignment criteria and three period selection strat-egies, we generate six heuristic methods, namely, MSA-1, MSA-2, MSA-3, MSA-4, MSA-5 and MSA-6, as shown in Table5. Note that the process window and machine dedication restrictions must hold in the job assignment step under each heuristic algo-rithm.

3.2 Linear-programming-based heuristic algorithm (LPBHA)

The idea of the linear-programming-based heuristic algorithm (LPBHA), in a system-atic view, is to avoid allocating a higher loading of process capability h on machine k than its ideal value and, instead, allocating a lower loading of process capability hon machine k than its ideal value, due to the fact that different machines might not have the same process capabilities. LPBHA employs an MILP model (refer to as MILPH model, see Eqs. (12)–(19) for details) to obtain the ideal loading level of process

(13)

capability h on machine k in planning period t(LShkt), and then uses the LShktvalue as a parameter for job assignment since the decision variables xilkare not obtained in the MILPHmodel. We note that the decision making of critical layer operations of a wafer lot will impact the loading level on machines for several periods. Therefore, the machine dedication characteristic must be considered in the MILPHmodel to obtain the ideal loading level of each process capability on each machine in each planning period.

Considering the characteristic of CAPPA in handling the capacity allocation for multiple periods, we may need to decide the sequencing of planning periods to start the job assignment due to the machine dedication restriction. However, since the MILPHmodel has derived the ideal loading level of each process capability on each machine in each planning period and has assigned critical layer operations of each job to a dedicated machine, the sequencing of planning periods in the LPBHA thus can be selected in an arbitrary manner. The jobs, which belong to the same planning period, are firstly ranked according to their C Lil value in descending order; and in case of ties, the tied jobs are ranked according to their processing time in descending order. A candidate job is picked from the top of the list. For a candidate job with process capability h, if after it is assigned to machine k (without violating the process capability restriction), the cumulative loading of process capability h for machine k in planning period t is lower than or equal to the L Shkt value, then assign the job to machine k directly. Otherwise, assign the candidate job to a machine with the smallest positive difference from the L Shkt value. Such a job assignment is considered since the ideal loading level of each process capability on each machine in each planning period(LShkt) obtained from the MILPHmodel did not consider the indivisibility of jobs’ loading, i.e., the L Shkt value may be a fraction. Figure7depicts a flowchart of LPBHA.

The MILPHmodel is as follows:

Minimize t M Lt (12) Subject to  k (ChkL Shkt) ≥ DCht, for all h, t (13)  h (ChkL Shkt) ≤ M Lt, for all k, t (14)  i (dmi kD M Li tC Ri hChk) ≤ (ChkL Shkt), for all h, k, t (15)  k dmi k = 1 for all i, k (16) dmi k ∈ {0, 1} , for all i, k (17) L Shkt ≥ 0, for all h, k, t (18) M Lt ≥ 0, for all t (19)

(14)

Fig. 7 Flowchart of LPBHA

Calculate the DCht value.

Solve the MILPH model and obtain the LShkt value.

Set t = 1

Sort the jobs that belong to period t according to their CLil value, and in case

of ties, rank them according to their processing time.

Pick a candidate job from the top of the list that requires process capability h.

Assign the job to the machine with the cumulative loading smaller than the LShkt

value. If none of these machines is suitable, then assign the job to a machine with the smallest positive

difference from the LShkt value.

Is the sort list empty ?

Check if t = T ? End t = t + 1 yes yes no no where DCht =  i  l

(pilC Rilh L Tilt), for each h, each t

The objective function of the MILPHmodel, represented by Eq. (12), is to balance the load among machines. Decision variable M Lt is the maximum loading among machines in planning period t. By minimizing the sum of M Lt over the periods, the result will tend to level the capacity loading among machines. Constraint (13) states the relationship between capacity supply of each machine and capacity demand of each process capability. It is to ensure that the total capacity supply of a specific process capability of all machines must be greater than the capacity demand of that process capability. Constraint (14) ensures that capacity loading of each machine in a period must be smaller than or equal to the maximum loading among machines in that planning period, M Lt. Constraint (15) ensures that the capacity supply of process capability h in machine k in planning period t must be greater than or equal to the sum

(15)

of capacity demand of process capability h for critical layer operations in machine k in planning period t. Constraint (16) ensures that critical layer operations of job i can only be assigned to one specific machine. Constraint (17) indicates that the dmi k are binary variables. Constraint (18) and (19) indicate that the values of L Shkt and M Lt respectively, are greater than or equal to zero.

4 Computational experiment

In this section, we design a comprehensive experiment of MSAs and LPBHA to eval-uate its efficiency for solving large-scale CAPPA instances. The performances of the proposed algorithms are tested by real-world CAPPA cases taken from the wafer fab-rication photolithography area. In addition, we show the performance comparisons between MILPOPmodel and LPBHA, the most effective heuristic.

4.1 Test problem design

In order to analyze and compare the performance of MSAs and LPBHA on various capacity allocation problems, we generate 180 problems based on the data taken from the wafer fabrication photolithography area at the Science-Based Industrial Park in Taiwan. There are ten steppers with five different process capabilities. Five types of products: A, B, C, D, and E, are manufactured, and each product requires 17, 19, 16, 20, and 19 photolithography operations, respectively. The total photolithography oper-ation time required for a product is in the range of 597–723 minutes. Product A and B require process technology of 0.17µm, while Product C, D, and E adopt 0.14 µm process technology. Additionally, the design of these test problems highlight the key factors of the CAPPA, including product mix, loading level, and distribution of critical layer operations.

4.1.1 Product mix

Product mix has a major impact on the production system due to the different demand on process capabilities and different loading on critical layer operations. Ten kinds of product mix are considered here, as listed in Table6.

4.1.2 Loading level

Under different system loading level situations, different numbers of orders need to be processed, and this has various impacts on the loading allocation among machines. Here, we consider three system loading levels: 95% (H), 85% (M) and 75% (L).

4.1.3 Distribution of critical layer operations

Critical layer operations require a stringent use of machines, that is, all critical layer operations of a job must be processed by the same machine. It is obvious that the num-ber of critical layer operations has a major impact on the result of a CAPPA instance.

(16)

Table 6 Product mix level used in test problem

Product mix no. Product mix level Proportion

A B C D E A B C D E 1 La L L H H 2 3 3 6 6 2 L L H H L 3 3 6 5 3 3 L H L H L 3 7 1 6 3 4 L L H L H 4 3 5 2 6 5 L H L L H 4 6 2 2 6 6 L H H L L 4 6 5 3 2 7 H L L H L 6 3 3 5 3 8 H H L L L 6 7 2 2 3 9 H L L L H 7 3 3 2 5 10 H L H L L 7 3 5 3 2

aL means that the product has a low product mix level to other products; H means that the product has a

high product mix level to other products

Table 7 Summarized information for the nine problem sets

Problem sets Loading level Dist. of critical layer Number of orders New release WIP

1 H 1–3 328∼706a 194∼223 2 3–5 3 5–7 4 M 1–3 226∼548 161∼188 5 3–5 6 5–7 7 L 1–3 227∼389 140∼164 8 3–5 9 5–7

aEach order belongs to one of the five product types

We design three types of distributions of critical layer operations (the critical layer operations are present after every 1–3, 3–5 or 5–7 non-critical layer operations) and two instances for each type of distribution of critical layer operations.

With the factors considered, nine problem sets are designed, and each problem set has 20 sub-problems (two instances for one kind of distribution of critical layer oper-ations and ten kinds of product mix for each instance). The difference among the nine problem sets is the loading level and distribution of critical layer activities. Summary for the nine problem sets is shown in Table7.

4.2 Performance comparisons

The ILOG OPL 3.5 (2001) is used to implement the MILPHmodel. Microsoft Excel 2000 Visual Basic Application (VBA) is used to implement the MSAs and LPBHA because it is the most common development software used in companies and its

(17)

programming language is the same as the Visual Basic which is very easy to use. In addition, we adopt a Pentium IV 3.2 GHZ PC as our test environment.

We note that the M Ltvalue obtained from the MILPHmodel is a lower bound for the M Lt value obtained from the MILPOPmodel, i.e., the optimal solution(M LO P

t ) will be greater than or equal to the lower bound (M LtL B). The reason is that the MILPOPmodel obtains decision variables xilk directly to determine the assignment of each layer of each order, while the MILPHmodel only concerns the assignment of critical layer of each order. Besides, the M Ltvalue obtained from the MILPOPmodel is computationally inefficient. Therefore, the deviation ratio between the maximum loading level among machines from a proposed algorithm and that from the MILPH model is employed to evaluate the performance of each algorithm (see Eq.20).

Deviation ratio=  t M LH t −  t M LL B t  t M LL Bt × 100% (20) where

M LtH The maximum loading level among machines in planning period t obtained from heuristic.

M LtL B The maximum loading level among machines in planning period t obtained from MILPHmodel.

Tables8 and9 show the average and the standard deviation of deviation ratio, respectively, among algorithms in problem sets 1–9. LPBHA has the best performance among algorithms with a least average and a least standard deviation of deviation ratio of 0.294 and 0.085%, respectively. The reason for its good performance is that ideal loading for each process capability of each machine is estimated first and is used as an assignment reference. In Table10, we can see that the average computational time of LPBHA (i.e., 71.91 s) is longer than others. The reason is that the LPBHA needs extra time to solve the MILPH model in obtaining the ideal loading for each process capability of each machine. In fact, the computation time of the MILPHmodel used in LPBHA is in the range of 0.13– 9.98 s. Overall, the LPBHA shows a better perfor-mance than other myopic algorithms (MSAs) and can be used in large-scale CAPPA instances in a real-world situation (see Fig.8).

From Table11, the average deviation ratio of the assignment criterion C2 in prob-lem sets 1–9 is calculated as 0.977%, compared to 1.364% of the assignment criterion C1. Table12shows that the assignment criterion C2 has a better performance with respect to the average deviation ratio than the assignment criterion C1. However, the discrepancy between the two assignment criteria decreases as the number of criti-cal layer operations decreases. Additionally, Tables11and12show that both period selection strategies S2 and S3 outperform the period selection strategy S1 because they consider the loading profile of each planning period and select a planning period with the highest loading level of critical layer operations to start the job assignment.

(18)

Table 8 Average deviation ratio of MSAs and LPBHA algorithms in problem sets 1–9 (%) Problem sets Methods

MSA-1 MSA-2 MSA-3 MSA-4 MSA-5 MSA-6 LPBHA

1 1.879a 1.829 1.817 0.974 0.941 0.933 0.292 2 1.268 1.204 1.224 1.048 0.965 0.987 0.276 3 1.345 1.305 1.301 1.247 1.205 1.197 0.280 4 1.519 1.451 1.563 0.818 0.774 0.759 0.274 5 1.017 0.967 0.963 0.856 0.824 0.814 0.276 6 1.055 1.026 1.030 1.004 0.953 0.945 0.251 7 1.975 2.019 1.992 1.053 1.006 1.014 0.344 8 1.197 1.155 1.159 0.974 0.918 0.932 0.327 9 1.218 1.175 1.166 1.111 1.064 1.072 0.322 Avg. 1.386 1.348 1.357 1.009 0.961 0.962 0.294

aAverage deviation ratios of 20 sub-problems

Table 9 Standard deviation of deviation ratio of MSAs and LPBHA algorithms in problem sets 1–9 (%) Problem sets Methods

MSA-1 MSA-2 MSA-3 MSA-4 MSA-5 MSA-6 LPBHA

1 1.739a 1.725 1.725 0.775 0.768 0.760 0.134 2 1.542 1.558 1.542 1.100 1.102 1.104 0.116 3 1.752 1.773 1.782 1.532 1.539 1.530 0.124 4 1.420 1.423 1.483 0.546 0.540 0.549 0.031 5 0.940 0.960 0.959 0.664 0.674 0.659 0.032 6 1.128 1.111 1.124 0.994 0.981 0.990 0.028 7 1.485 1.596 1.493 0.561 0.554 0.558 0.062 8 1.046 1.037 1.024 0.715 0.704 0.703 0.055 9 1.185 1.166 1.189 1.011 1.020 1.005 0.062 Avg. 1.395 1.413 1.408 0.914 0.913 0.911 0.085

aStandard deviation of deviation ratios of 20 sub-problems

Table 10 Computational time of MSAs and LPBHA algorithms in problem sets 1–9 (s.) Problem sets Methods

MSA-1 MSA-2 MSA-3 MSA-4 MSA-5 MSA-6 LPBHA

1 88.69a 88.93 89.61 70.63 70.59 71.03 85.12 2 83.97 84.04 83.91 73.88 72.24 74.28 86.64 3 84.14 83.75 83.46 75.40 76.24 77.61 90.67 4 75.07 74.85 75.69 58.98 59.14 59.60 72.93 5 70.57 70.77 70.64 61.49 60.44 61.96 73.08 6 70.58 70.46 70.16 63.04 63.77 64.06 76.09 7 52.07 52.05 52.84 41.75 41.68 42.02 53.29 8 49.42 49.49 49.26 43.39 42.66 44.27 53.54 9 49.38 49.43 49.11 44.56 45.11 45.43 55.84 Avg. 69.32 69.31 69.41 59.33 59.10 59.93 71.91

(19)

0.00 0.50 1.00 1.50 2.00 2.50 1 2 3 4 5 6 7 8 9 Problem sets Deviation (%) MSA-1 MSA-2 MSA-3 MSA-4 MSA-5 MSA-6 LPBHA

Fig. 8 Performance comparison among MSAs and LPBHA

Table 11 Average deviation ratio of assignment criteria and period selection strategies in problem sets 1–9 (%)

Problem sets Assignment criterion Period selection strategy

C1 C2 S1 S2 S3 1 1.842 0.949 1.048 1.021 1.014 2 1.232 1.000 0.864 0.815 0.829 3 1.317 1.217 0.957 0.930 0.926 4 1.511 0.784 0.871 0.833 0.865 5 0.982 0.831 0.716 0.689 0.685 6 1.037 0.967 0.770 0.743 0.742 7 1.995 1.025 1.124 1.123 1.117 8 1.170 0.942 0.833 0.800 0.806 9 1.186 1.082 0.884 0.854 0.853 Avg. 1.364 0.977 0.896 0.868 0.871

Table 12 Average deviation ratio of assignment criteria and period selection strategies in different types of distribution of critical layer operations (%)

Dist. of critical layer operations Assignment criterion Period selection strategy

C1 C2 S1 S2 S3

1-3 1.783 0.919 1.014 0.992 0.999

3-5 1.128 0.924 0.804 0.768 0.773

5-7 1.180 1.089 0.870 0.842 0.840

Avg. 1.364 0.977 0.896 0.868 0.871

4.3 Comparisons between MILPOPmodel and LPBHA

In this section, we compare the extent of achieving optimality of the LPBHA on five small-sized problems of the CAPPA, and the optimal solutions can be derived by MILPOP model that is described in Sect.2.2. These problems, as shown in the

(20)

Table 13 Performance comparisons between MILPOPmodel and LPBHA

Problems MILPOP LPBHA

(1) Objective Time (s.) (2) Objective Time (s.) Deviation (%)

function function M3J5a 146 0.28 146 0.06 0.00b M3J10 291 71.56 297 0.12 2.06 M3J15 436 368.31 442 0.14 1.38 M4J5 114 17.25 119 0.06 4.39 M4J10 216 6, 757.39 226 0.11 4.63

aThe notation denotes the number of machines and the number of jobs in the system. For example, M3J5

means that the system has three machines and five jobs. Note that the M3J5 is the CAPPA example described in Sect.2.1

bThe deviation is calculated as[(2) − (1)]/(1) × 100%

“problems” column in Table13, are generated based on the system configuration of the CAPPA example described in Sect.2.1. We did not consider the system config-uration of M3J20, M4J15, M5J5, and M5J10 since M3J20 is infeasible, M4J15 and M5J15 can not be solved by MILPOPmodel within 86,400 s (i.e. one day long), and M5J5 is a too small problem case.

Table13shows that the MILPOPmodel generates optimal solutions in these test problems. LPBHA could generate a good feasible solution, due to the fact that the deviation ratio is in the range of 0.00–4.63%. Notice that the computational time of the MILPOPmodel reveals an exponential growth when the number of jobs and/or the number of machines increase, whereas that of the LPBHA is polynomial.

4.3.1 LPBHA for the CAPPA case

Table14is the summarization of the MILPOPmodel and LPBHA for solving the CAP-PA case described inChung et al.(2006). For the CAPPA case, the system configuration (the product type, the number of machines, the number of process capabilities) is the same as the test problem designed in Sect4.1. The production planning and control department sets the planning horizon as 28 days, the planning period as 7 days, and the product mix ratio as 4:6:3:3:5 for Product A, B, C, D, and E, respectively. In the plan-ning horizon, 474 lots are planned-to-release. Manufacturing execution system (MES) reveals that there are currently 204 lots of WIP on floor. In addition, the performance of both MILPOPmodel and LPBHA is evaluated with the objective function obtained from the MILPHmodel (a lower bound for the CAPPA) because of the optimal solution obtained from MILPOPmodel is computationally inefficient.

When LPBHA is applied to solve the CAPPA case, the deviation ratio is 0.14%, and the required solving time in such a large-scale CAPPA instance takes only 74.81 s. In contrast, the MILPOPmodel, by implementing depth-first search strategy incorporating strong branch rule, tends to obtain a feasible solution within a reasonable computa-tional time, and, in this case, it results in a deviation ratio of 0.15% and a required computational time of 19,396.08 s.

(21)

Table 14 Comparisons between MILPOPmodel and LPBHA in the CAPPA case

MILPH MILPOP LPBHA

(1) Objective (2) Objective Time Deviation (3) Objective Time Deviation

function function (s.) (%) function (s.) (%)

24,246 24,283a 19,396.08b 0.15c 24,281 74.81 0.14d

a,bThe MILPOPmodel used here did not give an optimal solution, it tends to obtain a feasbile solution within a reasonable computational time by implementing depth-first search strategy incorporating strong branch rule

cThe deviation is calculated as[(2) − (1)]/(1) × 100% dThe deviation is calculated as[(3) − (1)]/(1) × 100%

5 Conclusion and future research

Wafer fabrication is both capital intensive and technology competent manufacturing. In this paper, we tackle the capacity allocation problem in CAPPA, which belongs to a CRP scheme, with the process window and machine dedication restrictions that arise from an advanced wafer fabrication technology environment. The process window constraint is caused by different process capabilities demanded on machines due to different existing fabrication technologies, while the machine dedication constraint is a control mechanism to improve the yield rate of wafer products. In order to effectively utilize the machine capacity to meet customer demand, we present six modified heuris-tics of Sule’s algorithm (MSAs) and a linear programming based heuristic algorithm (LPBHA) to solve the problem efficiently. The performance comparison shows that LPBHA is the most robust one, due to the use of ideal loading level of each process capability in each machine in each planning period generated by MILPHmodel as a baseline for job assignment.

Acknowledgments This paper was supported in part by the National Science Council, Taiwan, R.O.C., for support under contract no. NSC94-2213-E-009-086. We thank the guest editor and the anonymous referees for their helpful comments, which improved the paper.

References

Akçalı E, Nemoto K, Uzsoy R (2001) Cycle-time improvements for photolithography process in semicon-ductor manufacturing. IEEE Trans Semicond Manuf 14(1):48–56

Akçalı E, Uzsoy R (2000) A sequential solution methodology for capacity allocation and lot schedul-ing problems for photolithography. In: 2000 IEEE/CPMT International Symposium on Electronics Manufacturing Technology, pp 374–381

Chen JC, Chen CW, Lin CJ, Rau H (2005) Capacity planning with capability for multiple semiconductor manufacturing fabs. Comput Indust Eng 48(4):709–732

Chou YC, Hong IH (2000) A methodology for product mix semiconductor foundry manufacturing. IEEE Trans Semicond Manuf 13(3):278–285

Chung SH, Huang CY, Lee AHI (2006) Capacity allocation model for photolithography workstation with the constraints of process window and machine dedication. Prod Plan Control 17(7):678–688 Chung SH, Huang HW (2001) Loading allocation algorithm with machine capability restriction for wafer

(22)

Hung YF, Cheng GJ (2002) Hybrid capacity modeling for alternative machine types in linear programming production planning. IIE Trans 34(2):157–165

ILOG Inc. (2001) ILOG OPL Studio 3.5. ILOG Inc., France

Leachman RC, Carmon TF (1992) On capacity modeling for production planning with alternative machine types. IIE Trans 24(4):62–72

Low CP, Fang C (2005) On the load-balanced demand points assignment problem in large-scale wireless LANs. Lect Notes Comput Sci 3391:21–30

Sule DR (1997) Industrial scheduling. PWS Publishing Company, Boston, pp 124–126

Toktay LB, Uzsoy R (1998) A capacity allocation problem with integer side constraints. Eur J Operat Res 109(1):170–182

數據

Fig. 1 The photolithography process
Fig. 2 An example of circuit pattern
Fig. 4 Cases of machine dedication characteristic
Table 1 Process window of machines in the CAPA example Machine no. Process capability
+7

參考文獻

相關文件

Output : For each test case, output the maximum distance increment caused by the detour-critical edge of the given shortest path in one line.... We use A[i] to denote the ith element

For periodic sequence (with period n) that has exactly one of each 1 ∼ n in any group, we can find the least upper bound of the number of converged-routes... Elementary number

• The solution to Schrödinger’s equation for the hydrogen atom yields a set of wave functions called orbitals..  Each orbital has a characteristic shape

Note: Each department of a tertiary institution and each SSB may submit one application under the New Project Scheme in each application cycle. Try HKECL’s matching

As each school has its unique school context, including its organisation of the JS and SS curriculum, experience in conducting PL, self-directed learning atmosphere,

In addition, based on the information available, to meet the demand for school places in Central Allocation of POA 2022, the provisional number of students allocated to each class

O.K., let’s study chiral phase transition. Quark

A clever and simplifying strategy: pairing up all the rays coming through the slit and then finding what conditions cause the waves of the rays in each pair to cancel each other.