• 沒有找到結果。

A case study on the wafer probing scheduling problem

N/A
N/A
Protected

Academic year: 2021

Share "A case study on the wafer probing scheduling problem"

Copied!
11
0
0

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

全文

(1)

On: 27 April 2014, At: 22:23 Publisher: Taylor & Francis

Informa Ltd Registered in England and Wales Registered Number: 1072954 Registered office: Mortimer House, 37-41 Mortimer Street, London W1T 3JH, UK

Production Planning & Control: The Management

of Operations

Publication details, including instructions for authors and subscription information:

http://www.tandfonline.com/loi/tppc20

A case study on the wafer probing scheduling

problem

W. L. Pearn , S. H. Chung & M. H. Yang Published online: 15 Nov 2010.

To cite this article: W. L. Pearn , S. H. Chung & M. H. Yang (2002) A case study on the wafer probing scheduling

problem, Production Planning & Control: The Management of Operations, 13:1, 66-75

To link to this article: http://dx.doi.org/10.1080/09537280110061593

PLEASE SCROLL DOWN FOR ARTICLE

Taylor & Francis makes every effort to ensure the accuracy of all the information (the “Content”) contained in the publications on our platform. However, Taylor & Francis, our agents, and our licensors make no representations or warranties whatsoever as to the accuracy, completeness, or suitability for any purpose of the Content. Any opinions and views expressed in this publication are the opinions and views of the authors, and are not the views of or endorsed by Taylor & Francis. The accuracy of the Content should not be relied upon and should be independently verified with primary sources of information. Taylor and Francis shall not be liable for any losses, actions, claims, proceedings, demands, costs, expenses, damages, and other liabilities whatsoever or howsoever caused arising directly or indirectly in connection with, in relation to or arising out of the use of the Content. This article may be used for research, teaching, and private study purposes. Any substantial or systematic reproduction, redistribution, reselling, loan, sub-licensing, systematic supply, or distribution in any form to anyone is expressly forbidden. Terms & Conditions of access and use can be found at http://www.tandfonline.com/page/terms-and-conditions

(2)

PRODUCTION PLANNING & CONTROL, 2002, VOL. 13, NO. 1, 66–75

A case study on the wafer probing scheduling

problem

W. L. PEARN, S. H. CHUNG and M. H. YANG

Keywords wafer probing, parallel-machine scheduling,

sequence-dependent setup time, integer programming, algor-ithm

Abstract. The wafer probing scheduling problem (WPSP) is a

practical generalization of the classical parallel-machine sched-uling problem, which has many real-world applications, par-ticularly, in the integrated circuit (IC) manufacturing industry. In this paper, a case study on the WPSP is presented, which is taken from a wafer probing shop  oor in an IC manufacturing

factory. For the WPSP case investigated, the jobs are clustered by their product types, which are processed on groups of iden-tical parallel machines and must be completed before the due dates. The job processing time depends on the product type, and the machine setup time is sequentially dependent on the orders of jobs processed. The objective in this case is to seek a probing job schedule with minimum total machine workload. Since the WPSP case investigated involves constraints on job clusters, job-cluster dependent processing time, due dates, machine capacity, and sequentially dependent setup time, it is more diµ cult to solve than the classical parallel-machine

sched-Authors: W. L. Pearn, S. H. Chung and M. H. Yang, Department of Industrial Engineering and

Management, National Chiao Tung University, Hsinchu, Taiwan, ROC.

W. L. Pearn is Professor of the Department of Industrial Engineering and Management, National Chiao-Tung University, Taiwan, ROC. He received his PhD degree in operations research from the University of Maryland, College Park, MD, USA. He worked for AT&T Bell Laboratories Switch Network Control and Process Quality Centers. He has published numerous papers in the areas of network optimization, machine scheduling, and process capability analysis.

S. H. Chung is Professor of the Department of Industrial Engineering and Management, National Chiao-Tung University, Taiwan, ROC. She received the PhD degree in industrial engin-eering from Texas A&M University, College Station, TX, USA. Her research interests include production planning, scheduling, system simulation, and production planning of IC manufactur-ing. She has published and presented research papers in the areas of  exible manufacturing system planning, scheduling, and cell formation.

Ming-Hsien Yang is a PhD candidate at the Department of Industrial Engineering and Management, National Chiao-Tung University, Taiwan, ROC. He received his MS degree in industrial engineering and management from National Chiao-Tung University. He is also a Lecturer with Industrial Engineering and Management Department, National Lien Ho Insitute of Technology, Taiwan, ROC. His research interests include production planning and scheduling.

Production Planning & Control ISSN 0953–7287 print/ISSN 1366–5871 online # 2002 Taylor & Francis Ltd http://www.tandf.co.uk/journals

DOI: 10.1080/0953728011006159 3

(3)

uling problem. The WPSP is formulated as an integer program-ming problem and the problem solved using the powerful CPLEX with e¶ ective implementation strategies. An eµ cient solution procedure to solve the WPSP near-optimally is pro-posed.

1. Introduction

The wafer probing scheduling problem (WPSP) is a variation of the parallel-machine scheduling problem considered by Centeno and Armacost (1997) and Ovacik and Uzsoy (1995, 1996), which has many real-world applications, particularly, in the integrated circuit (IC) manufacturing industry. The major four stages of process for IC product are wafer fabrication, wafer sort, assembly, and Ž nal testing. Both wafer sort and Ž nal testing are testing related processes, where the testers are critical and expensive resources. Therefore, develop-ing eµ cient scheduldevelop-ing methods to minimize the total workload and enhance the utilization of testers is essential and important. For the WPSP case investigated, the jobs are clustered by their product types, which must be pro-cessed on identical parallel machines and be completed before the due dates. Further, the job processing time may vary, depending on the product type (job cluster) of the job processed on. Setup time for two consecutive jobs of di¶ erent product types (job clusters) on the same machine are sequentially dependent.

In this paper, a general version of WPSP with each job cluster containing multiple jobs is considered, and a case study on the WPSP presented which covers two workload levels: low and high. The case is taken from a wafer probing shop  oor in an IC manufacturing factory located in the Science-based Industrial Park at Hsinchu, Taiwan, where the total machine workload must be minimized. The WPSP is formulated as an inte-ger programming problem to minimize the total machine workload. The programming model considers the due date restrictions, which includes the processing time and the setup time in the capacity constraints, thus re ects the real situations more accurately than those considered by Parker et al. (1977) and Chen et al. (1995). To illustrate the applicability of the linear integer programming model, the integer programming model is implemented using the IP software CPLEX to solve the WPSP. In addition, we propose an eµ cient solution pro-cedure is proposed called the Generalized-Saving algor-ithm to solve the WPSP near-optimally. The model and algorithms developed for WPSP in this paper can be applied to general parallel machine problems covering a wide class of scheduling problems such as the die mounting and wire bonding scheduling problems in IC packaging factories, the knitting machine scheduling problem in textile factories, and so on.

Parker et al. (1977) considered a simple version of the WPSP with each job cluster containing only one job, and presented a heuristic algorithm to solve the problem approximately. Unfortunately, their model does not con-sider the due date restrictions, which only includes the processing time without considering the setup time (changeove r cost) in the machine capacity constraints. Ovacik and Uzsoy (1996) presented another version of WPSP minimizing the maximum lateness for the sched-uling problem arising in the Ž nal test phase of semicon-ductor manufacturing. However, they have simpliŽ ed the complexity of the problem by designing the decomposi-tion procedures to divide the testers into a number of workcentres with each containing a single machine. Chen et al. (1995) discussed an analogous version of WPSP, which covers both stages of wafer sorting (wafer probing) and IC testing. But, Chen et al. (1995) simpli-Ž ed the problem by adding the setup time to the pro-cessing time in their model. Therefore, the models considered by those authors do not re ect the real situa-tions accurately. Since the wafer probing scheduling problem involves constraints on job clusters, job-cluster dependent processing time, due dates, machine capacity, and sequentially dependent setup time, obviously it is considerably more diµ cult to solve than those classical parallel-machine scheduling problems investigated by Ho and Chang (1995), Gabrel (1995), Schutten and Leussink (1996), Cheng and Gen (1997), Lee and Pinedo (1997), Park and Kim (1997), Ruiz-Torres et al. (1997).

2. The wafer probing process

The operations in the wafer probing factory can be separated into four stages: lot queuing, wafer sorting, ink marking, and quality control inspection, as illustrated in Ž gure 1. The wafer lots, shipped from the wafer fab-rication factory, dynamically arrive at the wafer probing factory. To prevent the dynamic arrival of lots from caus-ing frequent setup of testers, certain level of lot inventory is allowed. Equipment including tester, prober, and some hardware (such as load board and probe card) are needed for wafer sorting. Testers are expensive and cri-tical resources, which determine whether the individual dice on wafer is good or bad. This is done by running the test codes on testers. Prober, load board, and probe card are necessary resources for wafer sorting. The prober is on the position where the wafer is Ž xed and tested. The load

Figure 1. Material  ow in wafer probing factories.

(4)

board is the interface board connecting the tester and probe card via pogo pins. The probe card is the interface between the tester and the prober transferring the testing signals. The connections between the tester and the pro-ber, and other related resources are displayed in Ž gure 2. During the testing, the individual dice on wafer is con-tacted with the probes on the probe card and the defec-tive dice is marked, as shown in Ž gure 3.

Since di¶ erent product type wafer must be probed with some speciŽ c type of load board and probe card, setup operations may be required. The steps of setup operations include:

(1) Obtaining a suitable load board and probe card and bringing them to the tester assigned.

(2) Loading the load board and the probe card into the prober and adjusting it to Ž t the wafer. (3) Attaching the prober to the tester head.

(4) Downloading the required test code, which is determined by the product type of the wafer to be tested.

(5) Heating the prober to the required level of tem-perature, which is determined by the product type of the wafer to be tested.

The time required for changing the load board and probe card can be regarded as a Ž xed constant. In the situation where the previous job is tested under high temperature, the next job would have to be put on hold until the temperature falls. On the other hand, if the next job will be tested under high temperature while the current one is tested under room temperature, then the next job would have to be put on hold until the temperature goes up. Thus, the setup time required for switching one product type to another depends on the load board and probe card, and the level of temperature.

3. Case study

Consider the following case with two di¶ erent work-load levels taken from a wafer probing shop  oor in an IC manufacturing factory located on the Science-based Industrial Park at Hsinchu, Taiwan. For the case inves-tigated, there are 12 test codes (with each code represent-ing a speciŽ c product type) to be processed on 9 identical testers (testing machine) arranged in parallel, as shown in Ž gure 4. The jobs are to be completed on the parallel-tester before due dates in the following three days. Therefore, the machine capacity is set to 4320 (min). ‘Minute’ is used here as the time unit of the processing time and due date of jobs, and also as the time unit of the machine capacity. The setup time required for switching one product type to another are shown in table 1. The

68 W. L. Pearn et al.

Figure 2. The hardware connections in the wafer probing process.

Figure 3. The probed wafer with several defective dies.

Figure 4. The relationships between the twelve test codes, eight probe cards, nine probers and testers.

(5)

time required for changing the probe card is 40 minutes. The time required to increase the temperature is 30 min-utes and the time required to decrease the temperature is 40 minutes.

On the shop  oor, the workloads might vary. Two workload levels are considered: the lower level with 20 jobs (wafer lot) and the higher level with 35 jobs (wafer lot), which is shown in table 2 and table 3. Each job is associated with a due date and a processing time, which must be tested at a certain level of temperature with a speciŽ c test code and probe card. The jobs listed in table 2 include 11 product types and the jobs listed in table 3 include 12 product types.

Table 1. Setup time required for switching one product type to another for the twelve product types.

To 00 01 02 03 04 05 06 07 08 09 10 11 12 From 00 0 70 70 70 40 40 40 40 70 70 70 70 70 01 80 0 0 110 80 80 80 80 110 110 110 110 110 02 80 0 0 110 80 80 80 80 110 110 110 110 110 03 80 110 110 0 80 80 80 80 110 110 110 110 110 04 40 70 70 70 0 0 40 40 70 70 70 70 70 05 40 70 70 70 0 0 40 40 70 70 70 70 70 06 40 70 70 70 40 40 0 40 70 70 70 70 70 07 40 70 70 70 40 40 40 0 70 70 70 70 70 08 80 110 110 110 80 80 80 80 0 110 110 110 110 09 80 110 110 110 80 80 80 80 110 0 0 110 110 10 80 110 110 110 80 80 80 80 110 0 0 110 110 11 80 110 110 110 80 80 80 80 110 110 110 0 0 12 80 110 110 110 80 80 80 80 110 110 110 0 0

Table 2. The product types, probe card, testing temperatures, processing time, and due dates for the 20 jobs in the case.

Job Product Probe Testing Processing Due

I.D. type card temperature time date

1 01 1 High 1200 4320 2 01 1 High 1200 4320 3 02 1 High 1108 1440 4 02 1 High 1108 1440 5 03 2 High 511 4320 6 03 2 High 511 4320 7 04 3 Room 262 1440 8 05 3 Room 277 1440 9 05 3 Room 277 1440 10 06 4 Room 410 2880 11 06 4 Room 410 2880 12 07 5 Room 2215 4320 13 08 6 High 300 4320 14 09 7 High 343 2880 15 09 7 High 343 4320 16 09 7 High 343 4320 17 10 7 High 351 2880 18 10 7 High 351 2880 19 11 8 High 585 4320 20 11 8 High 585 4320

Table 3. The product types, probe card, testing temperatures, processing time, and due dates for the 35 jobs in the case.

Job Product Probe Testing Processing Due

I.D. type card temperature time date

1 01 1 High 1200 2880 2 01 1 High 1200 2880 3 01 1 High 1200 4320 4 01 1 High 1200 4320 5 02 1 High 1108 1440 6 02 1 High 1108 1440 7 02 1 High 1108 1440 8 02 1 High 1108 2880 9 02 1 High 1108 2880 10 03 2 High 511 4320 11 03 2 High 511 4320 12 04 3 Room 262 1440 13 04 3 Room 262 1440 14 04 3 Room 262 1440 15 05 3 Room 277 1440 16 05 3 Room 277 1440 17 06 4 Room 410 2880 18 06 4 Room 410 2880 19 06 4 Room 410 2880 20 07 5 Room 2215 4320 21 07 5 Room 2215 4320 22 07 5 Room 2215 4320 23 08 6 High 300 4320 24 09 7 High 343 2880 25 09 7 High 343 4320 26 09 7 High 343 4320 27 10 7 High 351 2880 28 10 7 High 351 2880 29 11 8 High 585 1440 30 11 8 High 585 4320 31 11 8 High 585 4320 32 11 8 High 585 4320 33 12 8 High 497 2880 34 12 8 High 497 2880 35 12 8 High 497 2880

(6)

The objective in the case is to Ž nd a schedule for the jobs, which satisŽ es the due date restrictions without violating the machine capacity constraints, while the total machine workload must be minimized. Reducing the total setup time is essential to the minimization of the total machine workload.

4. An integer programming formulation

DeŽ ne Rˆ fR0; R1; R2; . . . ; RIg as the I ‡ 1 clusters of jobs to be processed with each job cluster Riˆ frijj j ˆ 1; 2; . . . ; Jig containing Ji jobs. Thus, job cluster R0ˆ fr01; r02; . . . ; r0J0g contains J0 jobs, job

clus-ter R1ˆ fr11; r12; . . . r1J1g contains J1 jobs, job cluster

Riˆ ri1; r12; . . . riJ1g contains Ji jobs, and job cluster

RI ˆ frI1; . . . rI2; . . . rIJIg contains JI jobs. DeŽ ne

Mˆ fm1; m2; . . . ; mKg as the group of machines contain-ing a set of K identical machines. Note that job cluster R0 including J0ˆ K jobs is a pseudo cluster, which is used to indicate the K machines are in idle status. Let W be the predetermined machine capacity (set to a constant in this case) expressed in terms of processing time units. Further, let nij be the lot size (number of wafers) of job rij, and pi be the job processing time of job rijin cluster Ri…rij2 Ri). Therefore, the job processing time for job rijis nijpi. Let sii0

be the sequentially dependent setup time between any two consecutive jobs rij…2 Ri† and ri0j0…2 Ri† from di¶

er-ent job clusters (i6ˆ i0):

Let xijk be the variable indicating whether the job rijis scheduled on machine mk, with xijkˆ 1 if job rijis sched-uled to be processed on machine mk, and xijkˆ 0 other-wise. Let bijbe the ready time of job rijand dijbe the due date of job rij. DeŽ ne the variable tijkas the starting time for job rij to be processed on machine mk. The starting processing time tijk should not be less than the earliest starting processing time bij, which depends on the ready time of job rij, and not be greater than the latest starting processing time eij, which relates to the due date dij and can be computed as eijˆ Dij¡ nijpi. If job rijis ready to be processed initially, then bijmay be set to 0. It is noted that the processing time and due dates for the jobs in R0 should be set to 0 so that these pseudo jobs can be sched-uled as the Ž rst jobs on each machine, which indicates that each machine is initially in idle status. Let yiji0j0kbe

the precedence variable, where yiji0j0kshould be set to 1 if

the two jobs rijand ri0j0are scheduled on machine mkand

job rij precedes job ri0j0 (not necessarily directly), and

where yiji0j0kˆ 0 otherwise. Further, let ziji0j0k be the

direct-precedence variable, where ziji0j0k should be set to

1 if the two jobs rijand ri0j0 scheduled on machine mkand

job rij precedes job ri0j0 directly, and where ziji0j0kˆ 0

otherwise.

To Ž nd a schedule for those jobs which minimizes the total machine workload without violating the machine capacity and the service time window constraints, the following integer programming model is considered. Objective function:

The objective function seeks to minimize the sum of the total processing time PIiˆ0PJi

jˆ1xijknijpi and the total setup timePIiˆ0 PJi

jˆ1… PI

i0ˆ0

PJi 0

j0ˆ1ziji0j0ksii0) over the K

machines XK kˆ1 XI iˆ0 XJi jˆ1 xijknippi‡ XI iˆ0 XJi jˆ1 XI i0ˆ0 XJ j0ˆ1 ziji0j0ksii0 0 @ 1 A 8 < : 9 = ; Job constraints:

The constraint s in equation (1) guarantees that job rij is processed by one machine exactly once.

XK kˆ1

xijkˆ 1; for all i; j …1†

Schedule initialization constraints:

The constraints in equation (2) guarantee that only one pseudo job r0j is scheduled on a machine.

XJ0

jˆ1

x0jkˆ 1 for all k …2†

Machine capacity constraints:

The constraints in equation (3) state that each machine workload does not exceed the machine capacity W. XI iˆ0 XJi jˆ1 xijknijpi‡ XI iˆ0 XJi jˆ1 XI i0ˆ0 XJi 0 j0ˆ1 Ji0; ziji0j0ksii0 0 @ 1 A µ W for all k …3† Starting processing time constraints:

The constraints in equations (4) and (5) ensure that tijk‡ nijpi‡ sii0 ˆ ti0j0k if job rij precedes job ri0j0 directly

(yiji0j0kˆ 1 and ziji0j0kˆ 1†. The constraints in equation

(4) ensure the satisfaction of the inequality tijk‡ nijpi

sii0µ ti0j0k, if the jobs rij proceeding job

ri0j0…yiji0j0k¡ 1 ˆ 0). The number Q is a constant, which

is chosen to be suµ ciently large so that the constraints in equation (4) are satisŽ ed for yiji0j0kˆ 0 or 1. For example,

one can choose Q ˆPIiˆ1 PJi

jˆ1…nijpi‡ maxi0fsii0g). The

constraints in equation (5) ensure the satisfaction of the inequality tijk‡ nijpi‡ sii0 ti0j0k the jobs rij proceeding

job ri0j0 directly…yiji0j0k‡ ziji0j0k¡ 2 ˆ 0†.

70 W. L. Pearn et al.

(7)

tijk‡ nijpi‡ sii0¡ ti0j0k‡ Q …yiji0j0k¡ 1† µ 0

for all i; j; k …4† tijk‡ nijpi‡ sii0¡ ti0j0k¡ Q …yiji0j‡ ziji0j0k¡ 2† 0

for all i; j; k …5† Due date constraints:

The constraints in equations (6) and (7) state that the starting processing time tij for each job rij scheduled on machine mk…xijkˆ 1) should not be less than the earliest starting processing time bij and not be greater than the latest starting processing time eij.

tijk bijxijk for all i; j; k …6†

tijkµ eijxijk for all i; j; k …7†

Precedence constraints:

The constraints in equations (8) and (9) ensure that one job should precede another (yiji0j0k‡ yi0j0ijkˆ 1) if

two jobs are scheduled on the same machine …xijk‡ xi0j0k¡ 2 ˆ 0†. The number Q is a constant,

which is chosen to be suµ ciently large so that the con-straints in equations (8) and (9) are satisŽ ed for xijk‡ xi0j0k¡ 2 < 0. The constraints in equation (10)

ensure that the precedence variables yiji0j0k and yi0j0ijk

should be set to zero …yiji0j0k‡ yi0j0ijk µ 0) if any two jobs

rij and ri0j0 are not scheduled on the machine

mk…xijk‡ xi0j0kˆ 0†. The constraints in equations (11)

and (12) ensure that the precedence variables yiji0j0k and

yipj0ijk should be set to zero (yiji0j0k‡ yi0j0ijkµ 0) if any two

jobs rijand ri0j0 are not scheduled on the machine mk. The

constraints in equation (11) indicate the case that job rij is scheduled on machine mkand the job ri0j0 is scheduled

on another machine (xi0j0k¡ xijk‡ 1 ˆ 0) and the

con-straints in equation (12) indicate the case that job ri0j0

is scheduled on machine mkand the job rijis scheduled on another machine (xijk¡ xi0j0k‡ 1 ˆ 0†.

…yiji0j0k‡ yi0j0ijk† ¡ Q …xijk‡ xi0j0k¡ 2† 1 for all i; j; k …8†

…yiji0j0k‡ yi0j0ijk† ‡ Q …xijk‡ xi0j0k¡ 2† µ 1 for all i; j; k …9†

…yiji0j0k‡ yi0j0ijk† ¡ Q …xijk‡ xi0j0k† µ 0 for all i; j; k…10†

…yiji0j0k‡ yi0j0ijk† ¡ Q …xi0j0k¡ xijk‡ 1† µ 0 for all i; j; k …11†

…yiji0j0k‡ yi0j0ijk† ¡ Q …xijk¡ xi0j0k‡ 1† µ 0 for all i; j; k …12†

Directly precedence constraints:

The constraint s in equation (13) ensure that job rij could precede job ri0j0 directly (ziji0j0kˆ 1† only when

yiji0j0kˆ 1 and job rij could not precede job ri0j0 directly

(ziji0j0kˆ 0) if job rijis scheduled after job ri0j0…yiji0j0kˆ 0).

The constraint s in equation (14) state that there should exist n¡ 1 directly precedence variables, which are set to

1, on the schedule with n jobs. The constraints in equa-tion (15) state: when the job rij proceeds job ri0j0 but not

consecutively (yiji0j0kˆ 1 and ziji0j0kˆ 0), then there must

exist another job ri j scheduled after job rij directly (yiji jk ˆ 1 and ziji j kˆ 1) and ensuring the satisfaction

of the inequality yiji j k‡ ziji j k 2.

yiji0j0k ziji0j0k for all i; j; k …13†

XI iˆ0 XJi jˆ1 xijk¡ X rij6ˆri 0 j 0

ziji0j0kˆ 1; for all k …14†

yiji j k‡ ziji j k¡ Q …yiji j k‡ ziji j k¡ 2†

¡ Q …yiji0j0k¡ ziji0j0k¡ 1† 2 for all i; j; k …15†

Binary variables:

xijk2 f0; 1g for all i; j; k …16†

yiji0j0k2 f0; 1g for all i; j; k …17†

ziji0j0k2 f0; 1g for all i; j; k …18†

For a WPSP with I job clusters and K machines, con-taining a total of NI ˆ J0‡ J1‡ J2‡ ‡ JI jobs, the integer programming model contains NIK variables of

xijk, NIK variables of tijk, NIK…NI¡ 1† variables of

yiji0j0k, and NIK…NI¡ 1† variables of ziji0j0k (including

ziji j k). Further, the constraint set in equation (1) con-tains NI equations, the constraint set in equation (2) contains K equations, the constraint sets in equations (3) and (14) each contains K equations, constraint sets in equations (8)–(12) each contains NIK (NI¡ 1†=2 equations, the constraint sets in equations (4), (5), and (13) each contains NIK…NI¡ 1† equations, the con-straints in equation (15) contains NIK…NI¡ 1†…NI¡ 2† equations, and the constraint sets in equations (6) and (7) each contains NIK equations. Thus, the total number of variables is 2NI2K, and the total number of equations is

K3IK‡ …5=2†NI2K¡ …3=2†NIK‡ NI‡ 3K.

5. Solutions for the WPSP

The integer programming model is implemented using the software CPLEX to solve the WPSP case with 20 jobs described in section 3. The constraints and variables in the model are generated using a C‡‡ programming code. For the WPSP case with 4 machines, 11 job clus-ters, and 20 jobs, the model contains 4576 variables and 249784 equations. In solving the integer programming problem, the depth-search strategy is implemented by choosing the most recently created node, incorporating with the strong branching rule causing variable selection based on partially solving a number of subproblems with tentative branches to Ž nd the most promising branch.

(8)

The implementation thus allows various limits on the number of memory nodes to be set so that feasible sol-utions may be obtained eµ ciently within reasonable amount of computer time. Table 4 shows the two feasible

solutions, the corresponding memory node limits and run times on a Pentium-II 350 PC. The Ž rst feasible solution of the integer programming model requires a total work-load of 13940 minutes, where run time is 25.42 minutes with node limits setting to 2.03E02. The second feasible solution of the integer programming model requires a total workload of 13830 minutes, where run time is 5066.40 minutes with node limits setting to 1.08E05.

Table 5 displays the output of all variables in the Ž rst feasible solution of the integer programming model,

72 W. L. Pearn et al.

Table 4. The run times and workloads for the WPSP with various node limits.

Node limit Run time Workload

2.03E02 25.42 13940

1.08E05 5066.40 13830

Table 5. The feasible solution for the 20-job WPSP solved by CPLEX

The objective value and the solution time

Node limit, integer feasible: Objectiveˆ 1:3940000000e ‡ 002 Solution timeˆ 1525:17 sec. Iterations ˆ 8107 Nodes ˆ 210

The statistics of the model

Constraints: 63160 [Less: 8932, Greater: 54192, Equal: 36] Variables: 4576 [Nneg: 96, Binary: 4480]

Constraint nonzeros: 249784 Objective nonzeros: 2048

RHS nonzeros: 59656

The values for all variables

Name Value Name Value Name Value Name Value

X0011 1.00 X0924 1.00 Y0220113 1.00 Y0810912 1.00 X0311 1.00 X0934 1.00 Y0610113 1.00 Y0930924 1.00 X0411 1.00 X1024 1.00 Y1010113 1.00 Y1020924 1.00 X0511 1.00 X1114 1.00 Y0120324 1.00 Y0921114 1.00 X0521 1.00 X1124 1.00 Y0120924 1.00 Y0921124 1.00 X0711 1.00 Z0040124 1.00 Y0120934 1.00 Y0931024 1.00 Z0010411 1.00 Z0120324 1.00 Y0121024 1.00 Y0931114 1.00 Z0310711 1.00 Z0320934 1.00 Y0121114 1.00 Y0931124 1.00 Z0410511 1.00 Z0921114 1.00 Y0121124 1.00 Y1021114 1.00 Z0510521 1.00 Z0931024 1.00 Y0210622 1.00 Y1021124 1.00 Z0520311 1.00 Z1020924 1.00 Y0210812 1.00 Y1111124 1.00 X0022 1.00 Z1111124 1.00 Y0210912 1.00 T0311 9.26 X0212 1.00 Y0010311 1.00 Y0220613 1.00 T0411 0.40 X0622 1.00 Y0010411 1.00 Y0221013 1.00 T0511 3.02 X0812 1.00 Y0010511 1.00 Y0410311 1.00 T0521 5.79 X0912 1.00 Y0010521 1.00 Y0510311 1.00 T0711 15.17 Z0020212 1.00 Y0010711 1.00 Y0520311 1.00 T0212 0.70 Z0210622 1.00 Y0020212 1.00 Y0310711 1.00 T0622 12.58 Z0620812 1.00 Y0020622 1.00 Y0320924 1.00 T0812 17.38 Z0810912 1.00 Y0020812 1.00 Y0320934 1.00 T0912 21.48 X0033 1.00 Y0020912 1.00 Y0321024 1.00 T0113 21.99 X0113 1.00 Y0030113 1.00 Y0321114 1.00 T0223 0.70 X0223 1.00 Y0030223 1.00 Y0321124 1.00 T0613 12.58 X0613 1.00 Y0030613 1.00 Y0410511 1.00 T1013 17.38 X1013 1.00 Y0031013 1.00 Y0410521 1.00 T0124 0.70 Z0030223 1.00 Y0040124 1.00 Y0410711 1.00 T0324 13.80 Z0220613 1.00 Y0040324 1.00 Y0510521 1.00 T0924 26.95 Z0611013 1.00 Y0040924 1.00 Y0510711 1.00 T0934 20.01 Z1010113 1.00 Y0040934 1.00 Y0520711 1.00 T1024 23.44 X0044 1.00 Y0041024 1.00 Y0611013 1.00 T1114 31.48 X0124 1.00 Y0041114 1.00 Y0620812 1.00 T1124 37.33 X0324 1.00 Y0041124 1.00 Y0620912 1.00

All other variables in the range 1–4576 are zero.

(9)

which is reformed to the corresponding machine schedules, as shown in Ž gure 5.

The variables X0011ˆ 1, X0411 ˆ 1, X0511 ˆ 1, X0521 ˆ 1, X0311 ˆ 1, and X0711 ˆ 1 indicate that the jobs r001, r041, r051, r052, r031, and r071 are scheduled on machine m1. The variables Z0010411ˆ 1, Z0410511 ˆ 1, Z0510521ˆ 1, Z0520311 ˆ 1, and Z0310711 ˆ 1 imply that job r001 proceeds job r041 directly, job r041 proceeds job r051 directly, job r051 pro-ceeds job r052 directly, job r052 proceeds job r031 directly, and job r031 proceeds job r071 directly. Thus, there are three product type changes, Ž rst from R00 …r001† to

R04 …r041†, secondly from R05 …r052† to R03 …r031†, and Ž nally from R03 …r031† to R07 …r071†. The starting processing time …tijk† for the 20 jobs are tabulated in table 6.

6. An algorithm for the WPSP

For small and moderate size of WPSP, the integer programming model provides optimal or near-optimal solutions within reasonable amount of computer time. For large size of WPSP, solving the integer programming

model is computationally ineµ cient. Therefore, in the following, a Weighted-Saving algorithm is presented to generate feasible solutions for the WPSP eµ ciently. The algorithm takes the merits of the well-known savings function deŽ ned by Clark and Wright (1964) with some modiŽ cations, which considers the setup time sav-ing when combsav-ing two ssav-ingle-job schedules. However, only considering a combination with larger setup time saving may cause too much advancing in job starting time. Therefore, the Weighted-Saving algorithm consid-ers both the setup time savings and starting time slackness savings when combing two single-job schedules, to achieve the beneŽ ts of setup time and job slackness reduc-tion.

The Weighted-Saving algorithm, initially, calculates the weighted savings of all pairs of jobs and creates a list by sorting the weighted savings in descending order of their magnitudes. The algorithm then selects the Ž rst feasible pair of jobs from the top of the list to start a new schedule (initialization of the Ž rst schedule). Note that a selected pair of jobs is feasible and will be added to the machine schedule if it does not violate the machine capacity constraints and the job due date restrictions. Starting from the top of the savings list, the

Weighted-Figure 5. A feasible schedule for the 20-job WPSP obtained by solving the integer programming model.

Table 6. The starting times set for the 20 jobs in the WPSP solution.

The starting times Values The starting times Values

t0011 0 t0223 70…t0223ˆ t0033‡ s0002† t0411 40…t0411ˆ t0011‡ s0004† t0613 1258…t0613ˆ t0223‡ n022p02‡ s0206† t0511 302…t0511ˆ t0411‡ n041p04† t1013 1738…t1013ˆ t0613‡ n061p06‡ s0610† t0521 579…t0521ˆ t0511‡ n051p05† t0113 2199…t0113ˆ t1013‡ n101p10‡ s1001† t0311 926…t0311ˆ t0521‡ n052p05‡ s0503† t0044 0 t0711 1517…t0711ˆ t0311‡ n031p03‡ s0307† t0124 70…t0124ˆ t0044‡ s0001† t0022 0 t0324 1380…t0324ˆ t0124‡ n012p01‡ s0103† t0212 70…t0212ˆ t0022‡ s0002† t0934 2001…t0934ˆ t0324‡ n032p03‡ s0309† t0622 1258…t0622ˆ t0212‡ n021p02‡ s0206† t1024 2344…t1024ˆ t0934‡ n093p09‡ s0910† t0812 1738…t0812ˆ t0622‡ n062p06‡ s0608† t0924 2695…t0924ˆ t1024‡ n102p10‡ s1009† t0912 2148…t0912ˆ t0812‡ n081p08‡ s0809† t1114 3148…t1114ˆ t0924‡ n092p09‡ s0911† t0033 0 t1124 3733…t1124ˆ t1114‡ n111p11†

(10)

Saving algorithm expands the schedule by Ž nding the Ž rst feasible pair of jobs on the list then adding it to either one of the two ends of the schedule. If the current sche-dule cannot be expanded, choose the Ž rst feasible pair of jobs from the top of the list to start another new schedule. Repeat such steps until all jobs are scheduled.

The weighted saving WSAiji0j0 considered in the

algor-ithm is deŽ ned as WSAiji0j0 ˆ ¬…si0U‡ si0U¡ sii0† ‡

…1 ¡ ¬†…ei0j0¡ sUi¡ nijpi¡ sii0†, for all pairs of jobs rij

and ri0j0, where ¬ represents the weight of setup time

savings, sii0 represents the setup time between any two

consecutive jobs rij and ri0j0, ei0j0, represents the latest

starting time of job ri0j0, and nijpirepresents the processing

time of job rij on machine mi.

The Weighted-Saving s algorithm is implemented in Visual Basic programming language. The Weighted-Saving algorithm runs quite eµ ciently. In fact, for the WPSP case investigated with 35 jobs, the algorithm takes less than 2 CPU seconds to obtain a feasible solution, where the total machine workload is 27949. The machine schedules of the feasible solution are depicted in Ž gure 6. The starting processing time (tijk) for the 35 jobs are tabulated in table 7.

7. Conclusion

In this paper, a case study on the WPSP has been presented, which is taken from a wafer probing shop  oor in an IC manufacturing factory. For the WPSP case investigated, the jobs are clustered by their product types, which are processed on groups of identical parallel machines and must be completed before the due dates. The job processing time depends on the product type, and the machine setup time is sequentially dependent on the orders of jobs processed. The WPSP is formulated as an integer programming model to minimize the total machine workload. To demonstrate the applicability of the integer programming model, a real-world WPSP was applied using the powerful CPLEX with e¶ ective imple-mentation strategies, so that solutions may be obtained within reasonable amount of time. In addition, an eµ -cient solution procedure was proposed called the Weighted-Saving algorithm to solve the WPSP near-optimally. The model and algorithms developed for WPSP in this paper can be applied to a wide class of scheduling problems such as the die mounting and wire bonding scheduling problems in IC packaging factories,

74 W. L. Pearn et al.

Figure 6. A feasible schedule for the 35-jobWPSP solved by the Weighted-Savings algorithm.

(11)

the knitting machine scheduling problem in textile fac-tories, which include critical process containing parallel machines.

Acknowledgements

This paper was supported in part by the National Science Council, Taiwan, R. O. C., under the contract NSC 89-2213-E-009-034 .

References

Centeno, G., and Armacost, R. L., 1997, Parallel machine scheduling with release time and machine eligibility restric-tions. Computers and Industrial Engineering, 33(1–2), 273–276. Chen, T. R., Chang, T. S., Chen, C. W., and Kao, J., 1995,

Scheduling for IC sort and test with preemptiveness via Lagrangian relaxation. Transactions on Systems, Man, and

Cybernetics, 25(8), 1249–1256.

Cheng, R., and Gen, M., 1997, Parallel machine scheduling problem using memetic algorithms. Computers and Industrial

Engineering, 33(3–4), 761–764.

Clark, G., and Wright, J., 1964, Scheduling vehicles from a central depot to a number of delivery points. Operations

Research, 12, 568.

Gabrel, V., 1995, Scheduling jobs within time windows on identical parallel machines: new model and algorithms.

European Journal of Operational Research, 83, 320–329.

Ho, J. C., and Chang, Y. L., 1995, Minimizing the number of tardy jobs for m parallel machines. European Journal of

Operational Research, 84, 343–355.

Lee, Y. H., and Pinedo, M., 1997, Scheduling jobs on parallel machines with sequence-dependent setup times. European

Journal of Operational Research, 100, 464–474.

Ovacik, I. M., and Uzsoy, R., 1995, Rolling horizon pro-cedures for dynamic parallel machine scheduling with sequence-dependent setup time. International Journal of

Production Research, 33(11), 3173–3192.

Ovacik, I. M., and Uzsoy, R., 1996, Decomposition methods for scheduling semiconductor testing facilities. The International Journal of Flexible Manufacturing Systems, 8, 357–

388.

Park, M. W., and Kim, Y. D., 1997, Search heuristics for a parallel machine scheduling problem with ready time and due dates. Computers and Industrial Engineering, 33(3–4), 793– 796.

Parker, R. G., Deane, R. H., and Holmes, R. A., 1977, On the use of a vehicle routing algorithm for the parallel proces-sor problem with sequence dependent changeover costs. AIIE

Transactions, 9(2), 155–160.

Ruiz-Torres, A. J., Enscore, E. E., and Barton, R. R., 1997, Simulated annealing heuristics for the average  ow-time and the number of tardy jobs bi-criteria identical parallel machine problem. Computers and Industrial Engineering, 33(1– 2), 257–260.

Schutten, J. M. J., and Leussink, R. A. M., 1996, Parallel machine scheduling with release dates, due dates and family setup times. International Journal of Production Economics, 46–47, 119–125.

Table 7. The starting times set for the 35 jobs in the WPSP solution.

The starting times Values The starting times Values

t0111 70…t0111ˆ s0001† t1224 2322…t1224ˆ t1144‡ n114p11† t0121 1270…t0121ˆ t0111‡ n011p01† t0235 70 (t0235ˆ s0002† t0131 2470…t0131ˆ t0121‡ n012p01† t1235 1288…t1235ˆ t0235‡ n023p02‡ s0212) t0811 3780…t0811ˆ t0131‡ n013p01‡ s0108† t0226 70…t0226ˆ s0002† t0142 70…t0142ˆ s0001† t1016 1288…t1016ˆ t0226‡ n022p02‡ s0210† t0252 1270…t0252ˆ t0142‡ n014p01† t1026 1639…t1026ˆ t1016‡ n101p10† t0312 2488…t0312ˆ t0252‡ n025p02‡ s0203† t0616 2070…t0616ˆ t1026‡ n102p10‡ s1006† t0322 2999…t0322ˆ t0312‡ n031p03† t0737 40…t0737ˆ s0007† t0922 3620…t0922ˆ t0322‡ n032p03‡ s0309† t0627 2295…t0627ˆ t0737‡ n072p07‡ s0706† t0213 70…t0213ˆ s0002† t0728 40…t0728ˆ s0007† t0243 1178…t0243ˆ t0213‡ n021p02) t0638 2295…t0638ˆ t0728‡ n072p07‡ s0706† t0913 2396…t0913ˆ t0243‡ n024p02‡ s0209† t0529 40…t0529ˆ s0005) t0933 2739…t0933ˆ t0913‡ n091p09† t0519 317…t0519ˆ t0529‡ n052p05† t1123 3192…t1123ˆ t0933‡ n093p09‡ s0911† t0419 594…t0419ˆ t0519‡ n051p05† t1214 70…t1214ˆ s0012† t0429 856…t0429ˆ t0419‡ n041p04† t1114 567…t1114ˆt1214‡n121p12† t0439 1118…t0439ˆ t0429‡ n042p04† t1134 1152…t1134ˆ t1114‡ n111p11† t0719 1420…t0719ˆ t0439‡ n043p04‡ s0407† t1144 1737…t1144ˆ t1134‡ n113p11†

數據

Figure 4. The relationships between the twelve test codes, eight probe cards, nine probers and testers.
Table 2. The product types, probe card, testing temperatures, processing time, and due dates for the 20 jobs in the case.
Table 4. The run times and workloads for the WPSP with various node limits.
Table 6. The starting times set for the 20 jobs in the WPSP solution.
+3

參考文獻

相關文件

專案執 行團隊

ƒ Preemptive scheduling – CPU scheduling is invoked whenever a process arrives at the ready queue, or the running process relinquishes the CPU.. ƒ Non-preemptive scheduling – CPU

ƒ Preemptive scheduling – CPU scheduling is invoked whenever a process arrives at the ready queue, or the running process relinquishes the CPU.. ƒ Non-preemptive scheduling – CPU

Therefore, this study proposes a Reverse Logistics recovery scheduling optimization problem, and the pallet rental industry, for example.. The least cost path, the maximum amount

This study conducted DBR to the production scheduling system, and utilized eM-Plant to simulate the scheduling process.. While comparing the original scheduling process

Capacity determination model with time constraints and batch processing in semiconductor wafer fabrication.. Approximations For The

Li, The application of Bayesian optimization and classifier systems in nurse scheduling, in: Proceedings of the 8th International Conference on Parallel Problem Solving

This study is aimed to investigate the current status and correlative between job characteristics and job satisfaction for employees in the Irrigation Associations, by