a tabu search approach to scheduling an automated wet etch station

15
Journal of Manufacturing Systems Vol. 16/No. 2 1997 A Tabu Search Approach to Scheduling an Automated Wet Etch Station Christopher D. Geiger, Purdue University, West Lafayette, Indiana Karl G. Kempf, Intel Corporation, Chandler, Arizona Reha Uzsoy, Purdue University, West Lafayette, Indiana Abstract This paper addresses a production scheduling problem arising at the wet etching process in a semiconductor wafer fabrication facility. Material handling capacity, material pro- cessing constraints, and mixed storage policies are consid- ered in formulating the problem as a flow shop sequencing problem with the objective of minimizing makespan (Cmax). Efficient heuristics and a tabu search procedure are developed to generate high-quality solutions in reasonable computation- al time. Extensive computational experiments evaluating the performance of the heuristics are reported. Keywords: Scheduling, Semiconductor Manufacturing, Heuristics, Flow Shop, Robotic Workcells I. Introduction The need for effective shop floor control tech- niques is becoming more urgent with increasing competitive pressures. This need is particularly acute in the semiconductor industry, where manu- facturing processes are extremely complex. In addi- tion, the rapid development of new technology has resulted in a lack of effective scheduling procedures for the specialized equipment used in this industry. The semiconductor manufacturing process is comprised of four phases: wafer fabrication, wafer probe, assembly, and final testing. 1 The most capital intensive of the four phases--wafer fabrication-- involves processing wafers of silicon or gallium arsenide to build up the necessary layers and pat- terns of metal and wafer material. Wafer probe involves electrically testing the individual circuits on each wafer to verify functionality. The circuits that pass this test are sent to assembly, where they are placed in protective packages to shield them from the environment in their applications. The last phase--final test--performs a series of functional tests to ensure that customers receive a product free of defects. This study addresses an operation within the wafer fabrication process where the circuitry is built up on the wafer in successive layers. The processing of each layer requires a similar set of unit processes, such as deposition, photolithography, development, ion implantation, diffusion, oxidation, and etching. Hence, wafers may return to a given workstation several times, once for each layer of circuitry, creat- ing reentrant product flows. This makes the effective scheduling of the workstations a significant factor in obtaining effective factory performance. A scheduling problem that arises at the wet etch- ing operation is addressed here. This operation is performed at an automated wet station (AWS) where wafers arrive in lots (batches) consisting of a stan- dard number of wafers of the same product type. The lots are placed in a storage buffer until the operator retrieves them for processing at the AWS. Once selected for processing, the lots are loaded into car- riers that can hold at most two lots. The wafers are then subjected to a series of chemical etchant baths that dissolve away material deposited during previ- ous operations. Following each immersion in a bath of etchant, the lots are placed in a bath containing a neutralizing solution, typically deionized water. This allows the previous etchant to rinse from the wafers before they are placed in the next etchant bath. A material handling robot moves the lots between the various baths in the station. The logic controlling the movement of the robot between baths is fixed and cannot be altered in the short term. This will be explained further in the following section. The prob- lem addressed here is that of sequencing lots through this system to maximize throughput. Although the particular problem discussed is encountered in semiconductor manufacturing, the results are relevant to other industries where cells of machines linked by robotic material handling equip- ment are encountered. This includes printed circuit board fabrication and various automated workcells in the metalworking industries as well as some 102

Upload: christopher-d-geiger

Post on 03-Jul-2016

218 views

Category:

Documents


6 download

TRANSCRIPT

Journal of Manufacturing Systems Vol. 16/No. 2 1997

A Tabu Search Approach to Scheduling an Automated Wet Etch Station Christopher D. Geiger, Purdue University, West Lafayette, Indiana Karl G. Kempf, Intel Corporation, Chandler, Arizona Reha Uzsoy, Purdue University, West Lafayette, Indiana

Abstract This paper addresses a production scheduling problem

arising at the wet etching process in a semiconductor wafer fabrication facility. Material handling capacity, material pro- cessing constraints, and mixed storage policies are consid- ered in formulating the problem as a flow shop sequencing problem with the objective of minimizing makespan (Cmax). Efficient heuristics and a tabu search procedure are developed to generate high-quality solutions in reasonable computation- al time. Extensive computational experiments evaluating the performance of the heuristics are reported.

Keywords: Scheduling, Semiconductor Manufacturing, Heuristics, Flow Shop, Robotic Workcells

I. Introduction The need for effective shop floor control tech-

niques is becoming more urgent with increasing competitive pressures. This need is particularly acute in the semiconductor industry, where manu- facturing processes are extremely complex. In addi- tion, the rapid development of new technology has resulted in a lack of effective scheduling procedures for the specialized equipment used in this industry.

The semiconductor manufacturing process is comprised of four phases: wafer fabrication, wafer probe, assembly, and final testing. 1 The most capital intensive of the four phases--wafer fabrication-- involves processing wafers of silicon or gallium arsenide to build up the necessary layers and pat- terns of metal and wafer material. Wafer probe involves electrically testing the individual circuits on each wafer to verify functionality. The circuits that pass this test are sent to assembly, where they are placed in protective packages to shield them from the environment in their applications. The last phase--final test--performs a series of functional tests to ensure that customers receive a product free of defects.

This study addresses an operation within the wafer fabrication process where the circuitry is built

up on the wafer in successive layers. The processing of each layer requires a similar set of unit processes, such as deposition, photolithography, development, ion implantation, diffusion, oxidation, and etching. Hence, wafers may return to a given workstation several times, once for each layer of circuitry, creat- ing reentrant product flows. This makes the effective scheduling of the workstations a significant factor in obtaining effective factory performance.

A scheduling problem that arises at the wet etch- ing operation is addressed here. This operation is performed at an automated wet station (AWS) where wafers arrive in lots (batches) consisting of a stan- dard number of wafers of the same product type. The lots are placed in a storage buffer until the operator retrieves them for processing at the AWS. Once selected for processing, the lots are loaded into car- riers that can hold at most two lots. The wafers are then subjected to a series of chemical etchant baths that dissolve away material deposited during previ- ous operations. Following each immersion in a bath of etchant, the lots are placed in a bath containing a neutralizing solution, typically deionized water. This allows the previous etchant to rinse from the wafers before they are placed in the next etchant bath. A material handling robot moves the lots between the various baths in the station. The logic controlling the movement of the robot between baths is fixed and cannot be altered in the short term. This will be explained further in the following section. The prob- lem addressed here is that of sequencing lots through this system to maximize throughput. Although the particular problem discussed is encountered in semiconductor manufacturing, the results are relevant to other industries where cells of machines linked by robotic material handling equip- ment are encountered. This includes printed circuit board fabrication and various automated workcells in the metalworking industries as well as some

102

Journal of Manufacturing Systems Vol. 16/No. 2

1997

cleaning processes requiring heavy workpieces (for example, washing machine bodies) to be dipped into several tanks containing different chemical solutions.

While a number of scheduling problems arising in semiconductor wafer fabrication have been exam- ined in the literature,/,2 this research presents a new scheduling model of considerable theoretical and practical interest. Past work has addressed similar problems in the context of printed circuit board (PCB) fabrication. However, there does not appear to have been an effort to formulate this problem as a flow shop scheduling problem constrained by the control logic of the material handling device. The presence of the material handling robot, whose con- trol logic is proprietary to the manufacturer of the AWS, requires the development of a solution proce- dure independent of the robot control logic, leading to the use of a tabu search approach.

II. Problem Description The AWS studied is comprised of a product stag-

ing area, a collection of m baths, two spin rinse dry- ers, and an output buffer (Figure 1). There are m/2 acid baths and m/2 neutralizing baths, which are referred to as chemical baths and water baths, respectively. Associated with each lot is a recipe specifying the sequence of baths that must be visit- ed by that lot. Lots always begin their etching sequence at a chemical bath and travel through the chemical baths sequentially from left to right, visit- ing the adjacent water bath after each chemical bath. There is no backtracking, although lots may skip

baths depending on the process recipe. This materi- al flow through the system gives rise to a flow shop environment.

Lots requiring the same recipe arriving at the AWS are loaded onto carriers by the AWS operator and then placed in the staging area. These carriers, which hold at most two lots, will be referred to as "jobs." The material handling robot picks up a job from the staging area and places it in the first bath specified by the process recipe. The robot then removes it after the specified time and places it in the next bath required by the recipe. The robot trans- ports the carrier sequentially through the baths, which can hold exactly one carrier, until it has visit- ed all chemical baths prescribed by the recipe. The carriers are then placed in the spin rinse dryer to remove excess moisture and particulate matter, after which the robot removes them from the system. The robot can move only one job at a time and once it removes a job from a bath, it must transport the job directly to the next bath in its recipe. The robot con- trol software keeps track of the location of all jobs in the system and the times at which they need to be moved. It also determines the order in which the robot moves the jobs through the baths. In the indus- trial application motivating this study, the control software is proprietary to the manufacturer of the AWS; therefore, its programming cannot be modi- fied on the shop floor.

The processing time constraints of a job in a bath differ depending on the type of bath in which it resides. Let Po denote the processing time of job i in bathj. The processing times for jobs in the chemical

ITI ITi ITI I-I-i ITI ITI F-I I-q

Chemical baths

Water baths

i-c-i

Staging area

I Material handling robot

O[D[D f Spin Output

rinse buffer dryers

Figure 1 AWS Configuration

103

Journal of Manufacturing Systems Vol. 16/No. 2 1997

baths are fixed and must not be exceeded to prevent damage to the wafers from overexposure to the chemical etchant. Hence, after processing in a chemical bath, a job must pass immediately to the adjacent water bath, creating a no-wait condition at the chemical baths. On the other hand, jobs must spend a certain minimum amount of time in a water bath, but can remain in the water bath indefinitely once this minimum requirement has been met. Extra exposure to water does not cause any damage to the wafers.

An important characteristic of this system is that there are no intermediate buffers between successive baths to store partially processed jobs. Because a bath can hold only one carrier, the movement of a job from one bath to another requires the destination bath to be empty, creating the possibility of blocking between baths. The requirement that jobs be removed from the chemical baths as soon as their processing is complete requires that the adjacent water bath be empty at that time. This mixed storage policy, combining a no-wait condition at the chemi- cal baths with the possibility of blocking at all baths, places this problem in a family of scheduling prob- lems not extensively examined to date.

Given the description of the system presented above, the scheduling problem addressed in this paper is how to schedule a given set of jobs through the AWS to minimize makespan (Cmax) subject to no-wait and blocking constraints on the baths and the fixed control logic of the material handling robot. The choice of Cmax as the performance mea- sure to be optimized is based on management's desire to improve the throughput of the AWSs because they can become a constraint on factory output. In addition, management wishes to minimize the number of such machines needed because they take up a great deal of clean room floor space.

III. Modeling and Analysis There are two approaches to improve the through-

put of the AWS. The first is to improve the schedul- ing of the robot's movements given a sequence of jobs to be introduced. If the robot can transport jobs through the system more efficiently, an increase in throughput can be achieved. The second approach is the sequencing of jobs prior to introduction to the system given a fixed robot control logic. An inte- grated approach to these two issues would clearly

provide the best solution; however, recalling the fixed, proprietary nature of the robot control logic, the only degree of freedom to approach this problem is the sequencing of jobs prior to their introduction into the system.

For flow shops with infinite buffers where the number of machines m < 3, the optimal schedule is a permutation schedule where all machines process the jobs in the same order? However, permutation schedules are not necessarily optimal for m > 3. In the rest of this paper, it is assumed that all jobs must visit all baths in the system, and only permutation schedules are considered. Although in reality jobs may not be required to visit all baths, the algorithms can easily be adapted to this situation.

It is assumed that all information defining a prob- lem instance is known with certainty a priori. This information includes the number of jobs n, the num- ber of baths m, job processing times p# in all m baths, and the robot transport times tj~j2 from bath j l to bath j2. It also includes the routings of the jobs through the AWS. The jobs are assumed to be avail- able simultaneously at the start of the schedule. In practice, this corresponds to the AWS operator determining the set of jobs waiting for processing at the station at the start of a shift using the shop floor information system.

A number of assumptions are made about the material handling robot, such as that robot speed is constant. Hence, robot travel time is directly propor- tional to travel distance. The time to raise a job from a bath, pause over the bath to allow drip-off, accel- erate, decelerate, allow robot oscillation to diminish, and lower the job into the buffer or bath is included in travel time. The robot control logic cannot be modified. Lastly, it is assumed that the robot and other components of the wet station are not subject to failure over the scheduling horizon.

Thus, based on the problem characteristics described above, the problem can be formulated as that of minimizing Cmax in an m-machine flow shop with blocking at all machines and a no-wait constraint at the machines corresponding to chemi- cal baths, that is, machines 1, 3 ..... m-1. An addi- tional complication is that the Cmax of a schedule is determined not only by the positions and processing times of the jobs in the system but by the location and availability of the material handling robot. Hence, the evaluation of Cmax for a given job

104

Journal of Mam4facturing Systems Vol. 16/No. 2

1997

sequence requires a robot control logic to be speci- fied. Because in the industrial problem motivating this study the robot logic is proprietary to the manu- facturer of the AWS and thus not available, the solu- tion procedures are designed to be independent of the robot control logic. This is done by isolating the robot control logic in a separate subroutine that can be modified as desired by the AWS user without affect- ing the rest of the solution procedure. In the compu- tational experiments, a robot control logic is used that approximates the actual behavior of the AWS.

IV, Previous Related Work There are two main bodies of research related to

the problem studied in this paper. The first address- es the problem of optimally scheduling the move- ments of a material handling robot that transports jobs through a series of processors, mostly motivat- ed by problems in printed circuit board manufactur- ing. Phillips and Unger 4 and Shapiro and Nuttle 5 present mathematical programming approaches to scheduling a single hoist. Lei and Wang 6 describe a minimum common-cycle algorithm for scheduling two material handling hoists with time-window con- straints. Yih and Yin 7 use a tolerance-based heuristic approach to schedule a single material handling robot. However, as mentioned above, the AWS robot control logic cannot be altered. Therefore, this body of research cannot be directly applied to the problem in this paper. The only degree of freedom is the sequence in which jobs are introduced into the sys- tem, which can be modeled as a flow shop with lim- ited buffers, blocking, and no-wait constraints.

Many algorithms have been proposed to provide exact or approximate solutions to the flow shop sequencing problem. Early flow shop sequencing research began with the work of Johnson 8 on mini- mizing Cmax in a two-machine flow shop with infi- nite intermediate storage. Because the problem of minimizing Cmax in flow shops with more than two machines is NP-hard even with infinite intermediate storage, 3'9 researchers have proposed heuristic approaches that generate approximate solutions for this class of problems. 1° Nawaz, Enscore, and Ham H propose a successful heuristic, which is used with modifications in this work. A number of authors, such as Ignall and Schrage 12 and Potts, ~3 propose exact branch-and-bound algorithms with exponen- tial worst-case time complexity.

All of the above approaches assume unlimited storage capacity between machines. If intrasystem queues are limited in size, scheduling techniques that permit unlimited queues are not directly applic- able. Sahni and Cho, 14 Papadimitriou and Kanellakis, ~s and R6ck 16 present complexity results for minimizing Cmax in a no-wait flow shop when m > 2 and prove that this family of flow shop prob- lems is NP-hard. Wismer ~7 and Reddi and Ramamoorthy 18 show that the no-wait flow shop scheduling problem can be formulated as a traveling salesman problem (TSP), a well-known NP-hard problemJ 9 Kamoun and Sriskandarajah 2° prove that minimizing Cmax in a three-machine flow shop with blocking is NP-hard in the strong sense. McCormick et al) 1 propose a heuristic for minimiz- ing Cmax in an m-machine flow shop with blocking. Pekny and Miller 2~ present a branch-and-bound algorithm based on a multiple TSP to solve the no- wait flow shop scheduling problem with parallel machines. Rajendran 23 proposes a heuristic for min- imizing Cmax in a no-wait flow shop using a job- insertion technique similar to the city-insertion tech- nique used for the TSP. A review of scheduling mod- els of flow shops with limited intermediate storage is given by Hall and Sriskandarajah. 24

As can be seen, little work has been done on flow shop scheduling problems where blocking can occur at all machines while a no-wait condition exists on alternating machines, such as that arising in the AWS environment. The need to explicitly consider the movement of the material handling robot adds further complexity to this problem. Hence the struc- ture of the problem considered in this paper differs significantly from those addressed in past work.

To appropriately address the problem considered in this paper, its computational complexity is first determined. Consider a two-bath system with a chemical bath followed by a water bath. Assuming that job transport time is negligible and material handling capacity is infinite, this yields the problem of minimizing Cmax in a two-machine flow shop with no-wait or, equivalently, with blocking? Gilmore and Gomory ~s show that this problem can be solved in polynomial time as a special case of the TSP. Considering the problem with three machines, the possible bath sequences are chemical-water- chemical and water-chemical-water. Thus, the first special case of the problem considered is that of

105

Journal of Manufacturing Systems Vol, 16/No. 2 1997

minimizing Cmax in a three-machine flow shop where a no-wait condition exists between machines 1 and 2 and a blocking condition exists between machines 2 and 3. The second case is that where blocking can occur between machines 1 and 2 and where a no-wait condition exists between machines 2 and 3. Kamoun and Sriskandarajah ~° prove that both these problems are NP-hard in the strong sense. These results imply that for m > 3, the problem in this paper is strongly NP-hard even if the material handling robot is not a constraint. Hence, the focus is on heuristic procedures to generate near-optimal solutions, as opposed to exact solution procedures that may have high computational burden.

V. Constructive Heuristics for Feasible Solutions

This section presents two heuristic approaches to generating feasible solutions to the flow shop sched- uling problem. These feasible solutions are then improved using the tabu search procedure presented in the following section.

Considered are two separate heuristics to con- struct an initial feasible solution to the problem. The first of these is based on the Profile Fitting heuristic of McCormick et al) 1 for minimizing Cmax in an m- machine flow shop with blocking. The second is a modification of the Nawaz-Enscore-Ham heuristic developed to minimize Cmax in a flow shop with infinite intermediate storage. H

Profile Fitting with Inserted Job Delay The idea of this algorithm is that a job being

processed at a machine subject to blocking possess- es a departure time from that machine. This depar- ture time from the machine is greater than or equal to its completion time at the machine because the job may be delayed due to blocking. Based on this departure time, the completion times of other jobs on that machine and subsequent machines, including the idle time due to blocking, can be calculated. The Profile Fitting (PF) algorithm tries to schedule jobs in a sequence that yields the least total time lost over all machines so that Cmax is minimized.

This paper modifies PF to account for no-wait constraints at alternate machines. The proposed heuristic, Profile Fitting with Inserted Job Delay (PFIJD), schedules jobs in a fashion similar to PF but considers a no-wait condition between baths

[j,j+l], where j = 1, 3, ..., m-1 and a blocking con- dition between all bath pairs. Because jobs in baths 1, 3, ..., m-1 must depart immediately upon comple- tion but can remain in baths 2, 4, ..., m indefinitely, the job departure epochs of interest are at baths 2, 4, ..., m. Both PF and PFIJD assume that material han- dling is not a constraint, that is, a job will never be delayed by having to wait for the arrival of the mate- rial handling robot. However, job travel time from bathj to bathj+l is included in the processing time of the job in bath j+ l . Hence in the problem, the sequence obtained from PFIJD must be passed through the robot control logic to obtain a feasible schedule. The proposed heuristic is as follows:

Algorithm PFIJD Step 1: Let dik(jd'+l) denote the amount of time

by which job k must be delayed at bath j if it is processed immediately after job i and must proceed to bath j+ l to ensure that the no-wait condition at bath j is satisfied. This yields an n × n matrix DQ) (where n is the number of jobs to be sequenced) whose entries are dik(jd'+l) for eachj = 1, 3, ..., m-1. Calculate the overall delay matrix D = ]~jDO) forj = 1, 3, ..., m-1. The pq-th entry dpq of D denotes the total idle time that will be incurred over all machines if job p is processed after job q. Refer to Wismer 17 for the details of this procedure.

Step 2: Schedule the job with the minimum total processing time over all m baths in the first position of the partial sequence. Construct its profile by cal- culating its departure time from each machine, assuming no delays due to the material handling robot.

Step 3: Generate the profile of each remaining unscheduled job given the profile (that is, set of departure times of the job from the machines) of the job k currently in the last position of the partial sequence.

Step 4: Compute the total time lost to blocking, TLi, for each job i at baths 2, 4, ..., m.

Step 5: Select the job j with the minimum value of dkj + TLj and append it to the partial sequence. Schedule this job, inserting the delay computed in Step 1.

Step 6: Repeat Steps 3 through 5 until all jobs have been scheduled.

While this heuristic provides a job sequence, it does not utilize the robot control logic to build the

106

Journal of Manufacturing Systems Vol. 16/No. 2

1997

sequence. This is because the control logic of the robot may cause the departure times of jobs already inserted in the partial sequence to change as new jobs are inserted, invalidating the work of the algo- rithm up to that point. Hence, including the robot logic explicitly in PFIJD would lead to additional computational effort. The sequence obtained from PFIJD must be processed through the robot control logic to evaluate the Cmax of the corresponding schedule. In the experiments, PFIJD is used to gen- erate an initial job sequence, and then the tabu search technique described in Section VI is applied to generate an improved solution.

Nawaz-Enscore-Ham (NEH) Heuristic Nawaz, Enscore, and Ham n address the flow shop

scheduling problem of minimizing Cmax where material handling capacity is infinite and job travel time is negligible. Their heuristic builds a sequence one job at a time, adding a new job to the current partial solution at each step in such a way as to yield the lowest possible Cmax. The algorithm begins by listing the jobs in descending order of total process- ing time. It schedules the first two jobs in the list in the best possible sequence. The third job in the list is then placed in all available positions of the partial sequence to find the best possible sequence while keeping the relative positions of the previously assigned jobs fixed. This process is repeated until all jobs in the list have been scheduled. A modified ver- sion of the original procedure is used here. Instead of scheduling the next job in the list, all unscheduled jobs in the list are placed in each available position of the partial sequence to find the best possible sequence. The nature of this algorithm allows use of the robot control logic to evaluate the Cmax of the partial sequences. The NEH heuristic with this mod- ification is as follows.

Step 1: Compute the total processing time for each job i as

Pi = ~ Pij j = l

where Pij is the processing time of job i in bathj. Step 2: List the jobs in descending order of Pi. Set

v = n, where v is the number of remaining jobs to be scheduled.

Step 3: Select the job at the head of the list to be the first job in the partial sequence. Set i = 2 and v = v-1.

Step 4: Insert each unscheduled job in the list into all possible i positions in the partial sequence found in the previous step. Do not change the relative posi- tions of the jobs already assigned. Evaluate the Cmax of each partial schedule using the robot con- trol logic and select the partial schedule that yields the minimum Cmax value.

Step 5: I fn = i, stop; otherwise, set i = i+1 and v = v-1 and go to Step 4.

This heuristic differs from PFIJD in that it uses the robot logic to evaluate each partial sequence. This is possible in this case because the algorithm depends on the Cmax values of the partial schedules to make choices, rather than on the specific depar- ture times of jobs from individual machines. Next is described the tabu search procedure used to obtain improved solutions and how it is applied to this problem.

Vl. Tabu Search Tabu search (TS) is a local search technique

aimed at improving a feasible solution to a combi- natorial optimization problem introduced by Glover. zn'z7 The search begins with an initial feasible solution. A move is defined to be a modification of a given solution to obtain another feasible solution. For example, an adjacent pairwise interchange of jobs in a sequence defines a move for the problem. The set N(x) of all solutions x' that can be obtained from a solution x by a single move is called the neighborhood ofx. At each iteration of the search, a move from the current solution to a neighboring solution is performed. The move is chosen such that it provides the best objective function value of all neighboring solutions. As a result, a move to the best neighbor x' may produce a worse solution than the current solution x, which distinguishes TS from typ- ical greedy local improvement methods. The feature that distinguishes TS from other neighborhood search techniques is the tabu list T. This list is com- prised of moves that are not allowed to be made at the present iteration. The purpose of this list is to prevent a return to a previously visited solution, eliminating the possibility of cycling.

The size s of the tabu list Trepresents the number of iterations that a move remains tabu-active. When a move is selected, it is classified as tabu-active, placed in the tabu list, and its tabu tenure is set to s. At the same time, the tenure of each of the moves

107

Journal of Manufacturing Systems Vol. 16/No. 2 1997

currently in T decreases by 1, with the oldest move being removed from the list and assuming tabu-inac- tive status. As a result of this procedure, the list T consists of s tabu-active moves. Occasionally, a tabu-active move may yield an objective function value superior to any previously obtained. If this occurs, TS uses an aspiration criterion to override the tabu classification of the move and select it as the best on the current iteration. This preserves the aggressiveness of the TS to execute the best move possible.

In this AWS scheduling problem, a feasible solu- tion corresponds to any permutation of the jobs to be scheduled. N(x) is defined as the set of all permuta- tions that can be generated from the current solution x by exchanging two jobs. The objective is to find the sequence of jobs that minimizes Cmax. To apply TS to this problem, the following components of the procedure must be specified:

Initial Feasible Solution A good initial solution can reduce the execution

time of the TS procedure considerably. In the exper- iments, the PFIJD and NEH algorithms described in the previous section are used to provide the initial solution for the tabu search.

Search Neighborhood N(x) Recall that the neighborhood N(x) is the set of all

solutions x' that can be reached from a given solu- tion x in a single move. A move is defined as fol- lows: Exchange the job in position il, where i, = 1, ..., n - l , with the job in each position i2, where i2 -- i~+1, ..., i~+k (see Figure 2). The size of the neigh- borhood depends on the value of k, which remains fixed throughout the search, and is given by IN(x)l = (n-k)k + k(k-1)/2. When k = 1, IN(x)l consists of n-1 adjacent pairwise exchanges. On the other hand, when k = n, all sequence positions are exchanged and IN(x) l = n(n- 1)/2.

. . . . . . I n _ , l n l

IllUl l Figure 2

Tabu Search Neighborhood Construction Method

Neighborhood Search Strategy The neighborhood search strategy specifies

which move in N(x) is chosen at each iteration. The following two methods are used:

Select the best non-tabu move in N(x) (BEST): Generate and evaluate all solutions in N(x). Choose the move yielding the solution with the best Cmax value as the next move. Note that if no improving move exists, the best non-tabu move is selected.

Select the first improving non-tabu move found (FI): Generate sequentially the set of solu- tions in N(x). Choose the first move identified as yielding a solution with improved Cmax value. If no improving move exists, select the best non-tabu move.

An iteration of BEST has higher computation time than that of FI. However, the moves selected by BEST will usually yield more improvement in the objective function at each iteration. Both approach- es are used in the computational experiments. In either of the two methods, the aspiration criterion may be used to override the tabu status of a move if it gives a better solution than the best found to date.

Tabu List Size (s) The tabu list size represents the number of itera-

tions that a move remains tabu, preventing the search from cycling. In the experiments, the tabu list size is defined in two different ways. In the first, s is set to a constant value of 7 for all problem instances. Prior work by Glover z6 has shown that this value per- forms well over a wide range of problems. In the second approach, s is chosen to be a function of the neighborhood size. Note that the value of s remains fixed throughout the execution of the search.

Termination Criterion Many termination criteria can be developed

depending on the nature of the problem being stud- ied. The most common criterion, which is employed in this paper, is a maximum number of iterations without improvement in the best solution found.

Solution Evaluation Unlike the flow shop problem with infinite mate-

rial handling capacity, the Cmax value of a given job sequence for the AWS scheduling problem is deter- mined not only by the sequence and location of the jobs in the baths but also by the logic controlling the

108

Journal of Manufacturing Systems Vol. 16/No. 2

1997

movements of the material handling robot. Thus, once a move has been made by the TS and a new permutation of the jobs generated, the resulting sequence must be passed through the robot logic to evaluate the Cmax value. While this adds a signifi- cant computational burden to the search procedure, it is necessary because the solution procedure devel- oped must be independent of any specific robot con- trol logic. In addition, this information guides the search to improved solutions.

While the robot control logic in use at the plant motivating this study is not available due to its pro- prietary nature, a feasible robot control logic has been developed for use in the computational experi- ments and is listed in the Appendix. This logic emphasizes the need to avoid scrapping jobs due to overexposure in chemical baths. This is a reasonable approach because the jobs processed at the AWS are very costly to scrap. While this logic may not be exactly what is used in the actual operation, man- agement has verified that it is quite similar.

Having described the heuristics used to obtain ini- tial feasible solutions and the tabu search procedure, the computational experiments used to evaluate the performance of these heuristics are detailed in the following section.

VII. Computational Experiments The performance of the heuristic approaches pre-

sented in the previous section is evaluated through extensive computational experimentation. By testing the algorithms across a wide range of problem instances, an idea can be gained of how well they perform relative to benchmarks and under what cir- cumstances they will do well or poorly. To accom- plish this, an experimental design on different levels of various problem parameters is used.

At the company for which this research was car- ried out, the total number of baths in a given AWS ranges from 6 to 12 baths and the maximum number of jobs to sequence at any given time does not exceed 50. Therefore, problems with 6 and 12 baths are considered. Problems with 10 to 50 jobs are con- sidered in increments of 10.

To analyze the effect of processing time structure on the performance of the heuristic, the performance of the algorithm is evaluated at two different levels of variability of the chemical bath processing times, with coefficient of variation values of 0.549 and

0.102. The chemical batch processing times are gen- erated from a uniform distribution with a mean of 6.67 and these coefficients of variation. The coeffi- cient of variation of the water bath processing time is kept constant at 0.042. These values were based on information from the facility motivating this study. The goal of observing the effects of variabili- ty in processing times is to provide insight into how the process recipes may be redesigned to facilitate the scheduling of the AWS. The different factors related to the problem instances are summarized in Table 1. For each of the 20 combinations of factor levels, 10 randomly generated instances were used, yielding a total of 200 instances. Recall that each job visits all baths in the system in the same order.

The effects on performance of different compo- nents of the TS procedure (initial solution, neigh- borhood size, neighborhood search strategy, tabu list size, and termination criterion) are examined; per- formance is evaluated based on the tradeoff between solution quality and time. Initial solutions are gener- ated using the PFIJD and NEH heuristics. TS proce- dures using these two methods for obtaining initial solutions are referred to as PFIJD-TS and NEH-TS, respectively. Recall that the neighborhood size is defined by the parameter k described in the previous section. Because IN(x)l increases rapidly with k, the values of k used are 1, 3, and 5. As the computation- al burden of the TS is directly proportional to [N(x)I and is a major concern in this study, these values yield an acceptable compromise between solution quality and time. The two neighborhood examina- tion strategies, BEST and FI, described above are used, as well as two levels of the tabu list size s, s = 7 and s = IN(x)l t/2. Lastly, two different termination criteria were used, both based on the number of iter- ations without improvement after which the TS

Table 1 Experimental Design for Problem Instances

Problem Instance Parameter Values Used Total

Number o f jobs , n 10, 20, 30, 40, 50 5

Number o f baths, m 6, 12 2

Chemical bath process ing Uni form 2 t ime variability, c.v. distribution

with mean = 6.67 c.v. = 0.549 (high) c.v. = 0.102 (low)

Number o f combinat ions 20

109

Journal of Manufacturing Systems Vol. 16/No. 2 1997

should terminate. This was set at two levels, 10 and n iterations, where n is the number of jobs. These stopping conditions are referred to as "stop = 10" and "stop = n", respectively. The different levels of the components of the TS are summarized in Table 2, yielding 48 different TS procedures. Each TS pro- cedure was run on each of the 200 randomly gener- ated problem instances for a total of 9600 runs.

Because the problem considered here is strongly NP-hard, obtaining optimal solutions is extremely time-consuming. Therefore, the heuristic solution for each problem instance is compared to the aver- age of 500 randomly generated solutions for that instance, a benchmark suggested by management. Recall that an operator sequences jobs arriving at the AWS prior to introducing them into the system. This benchmark represents the situation when the opera- tor has no prior knowledge of job processing times and, therefore, arbitrarily sequences jobs through the station. Using the average of the randomly generat- ed solutions provides a reasonable benchmark for the heuristics suggested in this paper because it compensates for the possibilities of finding very good or very bad solutions by coincidence. Thus, the performance of the heuristics is evaluated by the average percent improvement (API) over the bench- mark, which is computed as

where AR is the average Cmax value of the 500 ran- domly generated solutions and H is the Cmax value of the solution generated by the algorithm.

All algorithms were coded in FORTRAN and run on a Sun SparcServer 1000 with four 50-MHz CPUs and 256 MB of memory in a multitasking environment.

Vllh Results of Computational Experiments

Results of the computational experiments are summarized in Figures 3-8. In all these figures, the vertical axis represents the API over the benchmark as described above. The horizontal axis shows aver- age CPU time in seconds plotted on a logarithmic scale. Each set of connected data points corresponds to the performance of a given set of TS procedures (that is, with specific values of initial solution heuristic, list size, neighborhood search strategy, and

Table 2 Experimental Design for Tabu Search Procedure

Tabu Search Strategy Parameter Values Used Total

Initial heuristic solution

Neighborhood size parameter, k

Neighborhood examination method

Tabu list size, s

Tabu search termination criterion, number of iterations

Number of combinations

PFIJD, NEH 2

1,3,5 3

BEST, FI 2

7, a / ~ 2

"stop = 10," 2 "stop = n"

48

termination criterion) for problems with n = 10, 20, 30, 40, and 50 jobs from left to right. To obtain the plots, the API and CPU times obtained by each TS procedure were averaged over all instances having the specified characteristic (such as, c.v. = 0.102). To examine the effects of the components of the TS on solution time and quality, these averages were in turn averaged over the set of all TS procedures hav- ing the same component level. Thus, for example, to obtain the leftrnost data point for PFIJD-TS in Figure 3, the average API and CPU times were cal- culated for all 24 TS procedures using PFIJD to obtain the initial feasible solution. These averages were in turn averaged to yield the values indicated by the data point. The effects of problem instance characteristics on algorithm performance are dis- cussed first, followed by those of the different TS components.

Figure 3 shows the effect of the c.v. of chemical bath processing times on the performance of the algorithms. In general, the effect of increasing c.v. is slight. NEH-TS performs slightly better with high c.v. than with low c.v. No conclusive statement can be made for PFIJD-TS. As the number of jobs increases, the performance of NEH-TS improves, while that of PFIJD-TS degrades. This is due to the fact that the initial solutions provided by the NEH heuristic (which explicitly considers the robot con- trol logic) are superior to those obtained by PFIJD (which does not). Once a poor starting solution has been obtained, the TS must run longer to obtain sig- nificant improvement. The degradation in the per- formance of PFIJD-TS as n increases indicates that the termination criterion is forcing the search to stop while further improvement is still possible. The improvement in performance of NEH-TS as n increases is explained by the fact that as the number

110

Journal of Mam4facturing Systems' Vol. 16/No. 2

1997

26.00 -

g t~

o g E

o

E

24.00 -

22.

18.00 -

16.00 -

12.00 -

10.00 -

8.00 -

= = ~ " ~ r - i

I . . . . . . . I . . . . l ~ . n n . . . . . . . . I 0.010 0.100 1.000 10.000

CPU time (min.}

J @ PFIJD-TS [c.v.=0.1021 - - ( ~ ~UD-TS [c.v.=0.54g] ~ NEH-TS [c.v.=0.1021 ~ O ~ NEH-TS [c.v.=0.5491 I I I

Figure 3 Average Performance of PFIJD-TS and N E H - T S wi th Chemical Processing Time Variabi l i ty c.v. = 0.102 and c.v. = 0.549

of jobs to sequence increases, the number of job per- mutations increases. Therefore, the average of the randomly generated schedules worsens, creating an opportunity for greater improvement over the bench- mark. This is, however, reflective of the situation where a human operator faced with a larger number of possibilities will have more trouble selecting a good schedule.

Figure 4 shows that the neighborhood search strategy has a significant effect on the performance of the TS procedures, particularly those based on PFIJD. PFIJD-TS using FI yields solutions that are considerably worse than those obtained by the other methods. This is again due to the fact that PFIJD does not take the robot control logic into account while constructing the initial solution, leading to poor initial solutions. In addition, F! does not neces- sarily make the most improving move at each itera- tion, leading to less improvement in Cmax in a given number of iterations. The fact that the NEH-TS pro- cedures are relatively ~af fec ted again testifies to the high quality of the initial solutions obtained by the NEH heuristic.

Figure 5 shows the effect of the neighborhood size parameter k on algorithm performance. For all algorithms, the API increases as k increases. This is due to the fact that as k increases, the neighborhood size increases, creating more candidate moves that may improve the current solution during the TS. However, more CPU time is required to evaluate the longer list of candidate moves. An increase in k pro- duces a greater increase in both API and average CPU time for PFIJD-TS than for NEH-TS. This can again be attributed to the poor initial solutions obtained by PFIJD. The increase in API and CPU time as k increases for NEH-TS is not nearly as sig- nificant.

The effects of tabu list size s and termination cri- terion on algorithm performance are examined, as well as the performance of the NEH heuristic with- out the TS. Because the evidence of Figure 4 shows that TS procedures using the FI neighborhood search strategy are dominated by those using BEST, only the procedures using BEST are consid- ered for the rest of this section. Figure 6 shows that s = 7 and s = JN(x)J 1/~ produce similar results. The

111

Journal of Manufacturing Systems Vol. 16/No. 2 1997

o

o

0= E o a.

o~

26.00 T

= 16.00 - -

14.00 -

12.00 -

10.00 -

A 8.oo -

I . . . . . . . I . . . . .~ .nn, 0.010 0.100 1.000

CPU time (rain.)

I . - D - - PFIJD-TS [BEST] ~ PFIJD-TS ~ NEH-TS [BEST] [FI]

, 1 , . , , , [

10.000

• - - 0 - - NEH-TS [FI] I

Figure 4 Average Performance of PFIJD-TS and NEH-TS with Neighborhood Examination Procedures BEST and FI

26.00

24.00

g

o ]1(

E 14.00

12.00 _E

10.00

8.00

I 0.010

I ~ PFIJD-TS [k=l]

. . ~ 0 o

. . . . . . . I . . . . F.nn . . . . . . . . I 0.100 1.000 10.000

CPU time (rain.)

PFIJD-TS [k=3] ~ PFIJD-TS [k=5] - - x - - NEH-TS [k=l] - - ~ - - NEH-TS [k=3] ' - -0- ' - NEH-TS [k=5] I I

Figure 5 Average Performance of PFIJD-TS [BEST] and NEH-TS [BEST] with Neighborhood Size Parameter k = 1, k = 3, and k = 5

112

Journal of Manufacturing Systems Vol. 16/'No. 2

1997

m

E ==

m:

o

E o

E

I 0.010

26.00 T

14.00 J -

12.00 -

10.00 -

8.00

. . . . . . . I . . . . t~ .nn . . . . . . . . I 0.100 1.000 10.000

CPU time (rain.)

PFUD-TS [s=-7] ~ PFIJD-TS Is=- NV~] ~ NEH-TS Is=7] --O'-- NEH-TS [s= NV~] I I

Figure 6 Average Performance of PFIJD-TS [BEST] and NEH-TS [BEST] with Tabu List Size s = 7 and s = ~ / N ( ~

E

&

g

E

E_

28.00 T

14.00 -

12.00 -

10.00 -

8.00 -

I . . . . . . . I . . . . .~.nn . . . . . . . . I 0.010 0.1 O0 1.000 10,000

CPU time (rain.)

I @ PFUD-TS[stOp=IO] ~ PFIJD-TS[stop=n] @ NEH-TS[stop=IO] @ NEH-TS[stop=n] ] I I

Figure 7 Average Performance of PFIJD-TS [BEST] and NEH-TS [BEST] with Termination Criterion "stop = 10" and "stop = n"

113

Journal of Manufacturing Systems Vol. 16/No, 2 1997

26.00 -

24.00 -

~ -

E 20.00 -

&

>= e~

/ ~ o ' ~ 16.0o -

14.00 • E o

E 12.00 -

10,00 -

8.00 -

I . . . . . . . I . . . . ," ."°. 0.010 0.100 1.000

CPU time (min.)

I . - -0- - . PFIJD-TS [BEST] ~ NEH-TS [BEST] . - ~ - - N E H only l

' ' • ' • ' " l

10.000

Figure 8 Average Performance of PFIJD-TS [BEST], NEH-TS [BEST], and NEH Only

differences in API and average CPU time are neg- ligible. Figure 7 shows that the termination criteri- on has a more significant effect on average CPU time than on API. As n increases, algorithms using "stop = n" generate solutions with a slightly better API than those solutions generated by algorithms using "stop = 10." The average CPU time required to produce this improvement also increases, although more significantly. Note that the search could be prolonged to produce higher levels of improvement simply by increasing the number of iterations in the stopping condition. However, the CPU time would reach levels undesirable in the application.

Because it is concluded that the NEH-TS proce- dures generate higher quality solutions than PFIJD- TS in comparable CPU time, the NEH heuristic without TS is also compared to PFIJD-TS and NEH-TS using the BEST neighborhood search strategy. Figure 8 shows that as the number of jobs increases, the results of NEH alone, without TS, are comparable to those of NEH-TS. However, the CPU time requirements for NEH alone are significantly less, and NEH clearly surpasses PFIJD-TS in solu- tion quality. Thus, NEH on its own appears to pro-

vide an excellent solution time/quality tradeoff for the problems in this experimentation.

In summary, none of the TS parameters varied in the experimentation had as significant an effect on solution quality as did the initial solution. NEH with- out TS would certainly be a viable choice for this problem. NEH-TS performs significantly better than PFIJD-TS because PFIJD does not start the TS at a good initial solution. This is mainly because PFIJD cannot use the robot control logic to construct the ini- tial job sequence. Therefore, the best approach to solving the problem would be NEH-TS. Depending on the relative importance of solution quality and computation time, TS components can be varied to obtain the desired results. However, NEH-TS is capa- ble of obtaining significantly better solutions than the benchmark in CPU times of the order of 10 min- utes for problem instances representative of the largest ones encountered in practice, rendering this approach practical in the environment considered.

VIII. Conclusions and Future Directions

This paper is motivated by a scheduling problem arising in the etching process in a semiconductor man-

114

Journal of Manufacturing Systems Vol. 16/No. 2

1997

ufacturing facility. The automated wet station (AWS) at which this process is performed consists of an alternat- ing series of chemical and water baths without buffers between successive baths. A material handling robot transports jobs through the station. The control logic of the robot is proprietary to the manufacturer of the equipment. Hence any solution technique developed must be independent of the robot control logic, allowing it to be integrated into the procedure as a separate, self-contained subroutine. The issue of maximizing throughput at this station is addressed.

This problem is formulated as a flow shop sequencing problem with a no-wait constraint for jobs traveling from a chemical bath to the adjacent water bath and blocking at all baths. Based on the formulation, it is concluded that the problem is NP- hard. This and the fact that solutions are needed in reasonably short computational time motivates development of heuristic solution procedures. The performance of these heuristics is evaluated on the basis of CPU time and improvement over a bench- mark solution procedure representative of current practice. The experimentation shows that the NEH heuristic with TS is the most effective in providing high-quality solutions.

This research suggests a number of interesting directions for future research. Although this work has focused on permutation schedules, it is easy to adapt the algorithms to situations where jobs need not visit all baths. The consideration of dynamic job arrivals, as well as more complex performance mea- sures such as maximum lateness and average time in system, are also important. Finally, the ability to consider explicitly the robot control logic in devel- oping heuristics would allow for considerable sav- ings in CPU time for any algorithm developed.

A c k n o w l e d g m e n t s

This research was partially supported by Intel Corp. and the National Science Foundation under grant DDM-9302099.

AppendixmRobot Control Logic Algorithm

1. Initialize all variables. Number of jobs to be scheduled (n), processing of job i in bath j (Po), system clock (TNOW), number of baths (m), travel time between bath j , and bath j2 (tj,j2), start time of job i in bathj (sto),

.

3.

4.

.

6.

end time of job i in bath j (eta), status of each bath (IDLE). Record the state of the system PRIOR TO the introduction of the next job. Introduce the next job and place it in the first bath in its process routing. Find the bath with the shortest remaining pro- cessing time (SRPT). If there is no job in a chemical bath,

SRPT = min{remaining water bath processing times}

else SRPT = min{remaining chemical bath processing times}

Identify the next bath in the unoccupied bath. Move each job to the next bath in its routing until the job with the SRPT is moved to its next location while considering the following cases: Case I: Robot is LATE to job to be moved. (i) If the job is in a CHEMICAL BATH, - - reset the system state PRIOR TO last job

introduction, - - go to Step 4. (ii) If the job is in a WATER BATH, - - move the job to the next location in its

process routing, - - update all relevant system variables. Case II: Robot is EARLY/ON TIME to job to be moved. - - wait for the remaining job processing time to

expire, - - move the job to the next location in its

process routing, - - update all relevant system variables. If the first CHEMICAL BATH of the next job to be introduced is BUSY,

go to Step 4 else

go to Step 2.

R e f e r e n c e s

1. R. Uzsoy, C.-Y. Lee, and L.A. Martin-Vega, "A Review of Production Planning and Scheduling Models in the Semiconductor Industry. Part 1: System Characteristics, Performance Evaluation and Production Planning," liE Transactions (v24, n4, 1992), pp47-59.

2. R. Uzsoy, C.-Y. Lee, and L.A. Martin-Vega, "A Review of Production Planning and Scheduling Models in the Semiconductor Industry. Part II: Shop-Floor Control," liE Transactions (v26, n5, 1994), pp44-55.

3. M. Pinedo, Scheduling: Theory, Algorithms and Systems (Englewood Cliffs, NJ: Prentice-Hall, 1995).

115

Journal of Manufacturing Systems Vol. 16/No. 2 1997

4. L.W. Phillips and ES. Unger, "Mathematical Programming Solution of a Hoist Scheduling Program," AIIE Transactions (v8, n2, 1976), pp219- 225.

5. G.W. Shapiro and H.L.W. Nuttle, "Hoist Scheduling for a PCB Electroplating Facility," liE Transactions (v20, n2, 1988), pp157-167.

6. L. Lei and T.-J. Wang, "The Minimum Common-Cycle Algorithm for Cyclic Scheduling of Two Material Handling Hoists with Time Window Constraints," Management Science (v37, 1991), pp1629-1639.

7. Y. Yih and N.-C. Yin, "Crane Scheduling in a Flexible Electroplating Line: A Tolerance-Based Approach," Journal of Electronics Manufacturing (v2, 1992), pp137-144. 8. S.M. Johnson, "Optimal Two- and Three-Stage Production Schedules

with Setup Times Included," Naval Research Logistics Quarterly (vl, 1954), pp61-68. 9. M.R. Garey, D.S. Johnson, and R. Sethi, "The Complexity of

Flowshop and Jobshop Scheduling," Mathematics of Operations Research (vl, 1976), pp117-129. 10. D.G. Dannenbring, "An Evaluation of Flowshop Sequencing Heuristics," Management Science (v23, 1977), pp1174-1182. 11. M. Nawaz; E.E. Enscore, Jr.; and I. Ham, "A Heuristic Algorithm for the m-Machine, n-Job Flow Shop Sequencing Problem," Omega (vll , 1983), pp91-95. 12. E. Ignall and L. Schrage, "Application of the Branch and Bound Technique to Some Flowshop Scheduling Problems," Operations Research (v13, 1965), pp400-412. 13. C.N. Potts, "An Adaptive Branching Rule for the Permutation Flowshop Problem," European Journal of Operational Research (v5, 1980), pp19-25. 14. S. Sahni and Y. Cho, "Complexity of Scheduling Jobs with No Wait in Process," Mathematics of Operations Research (v4, 1979), pp448-457. 15. C.H. Papadimitriou and P.C. Kanellakis, "Flowshop Scheduling with Limited Temporary Storage," Journal of the Association for Computing Machinery (v27, 1980), pp533-549. 16. H. Rrck, "The Three-Machine No-Wait Flow Shop Problem is NP- Complete," Journal of the Association for Computing Machinery (v31, 1984), pp336-345. 17. D.A. Wismer, "Solution of the Flowshop Scheduling Problem with No Intermediate Queues," Operations Research (v20, 1972), pp689-697. 18. S.S. Reddi and C.V. Ramamoorthy, "On the Flowshop Sequencing Problem with No Wait in Process," Operational Research Quarterly (v23, 1972), pp323-331. 19. E.L. Lawler, J.K. Lenstra, A.H.G. Rinnooy Kan, and D.B. Shmoys, eds., The Traveling Salesman Problem: A Guided Tour of Combinatorial Optimization (Chichester: John Wiley & Sons, 1990). 20. H. Kamoun and C. Sriskandarajah, "The Complexity of Scheduling Jobs in Repetitive Manufacturing Systems," European Journal of Operational Research (v70, 1993), pp350-364. 21. S.T. McCormick, M.L. Pinedo, S. Shenker, and B. Wolf, "Sequencing in an Assembly Line with Blocking to Minimize Cycle Time," Operations Research (v37, 1989), pp925-935. 22. J.E Pekny and D.L. Miller, "Exact Solution of the No-Wait Flowshop Scheduling Problem with a Comparison to Heuristic Methods," Computers and Chemical Engineering (v15, 1991), pp741-748. 23. C. Rajendran, "A No-Wait Flowshop Scheduling Heuristic to Minimize Makespan," Journal of the Operational Research Society (v45, 1994), pp472-478.

24. N.G. Hall and C. Sriskandarajah, "A Survey of Machine Scheduling Problems with Blocking and No-Wait in Process," Operations Research (v44, 1996), pp510-525. 25. P.C. Gilmore and R.E. Gomory, "Sequencing a One State Variable Machine: A Solvable Case of the Traveling Salesman Problem" Operations Research (v12, 1964), pp655-679. 26. E Glover, "Future Paths for Integer Programming and Links to Artificial Intelligence," Computers and Operations Research (v13, n5, 1986), pp533-549. 27. E Glover, "Tabu Search--Part I," ORSA Journal on Computing (vl, n3, 1989), pp190-206.

Authors' Biographies Christopher Geiger is a doctoral student in the School of Industrial

Engineering at Purdue University. He received his BS in industrial engi- neering in 1992 from North Carolina A&T University and his MS in indus- trial engineering in 1995 from Purdue. His work experience includes capac- ity analysis of manufacturing lines at Delco Electronics in Kokomo, IN, and implementation and improvement of inventory management policies at Intel Corp. (Chandler, AZ). His interests are in production planning and operations management.

Karl Kempf is principal scientist in the Knowledge Application Laboratory at Intel Corp. in Phoenix, Arizona. He was the founding co- chairman of the AAAI Special Interest Group in Manufacturing (SIGMAN) and serves on the editorial board of IEEE Expert. He received a BS in chemistry and a BA in physics from Otterbein College and did graduate work at Stanford University and the University of Akron while earning his PhD in computer science. His research interests center on spatial and tem- poral reasoning systems applied to robots specifically and to manufactur- ing systems in general. He has published widely in these areas, in addition to presenting tutorials and workshops on these subjects at conferences and in invited presentations at universities and corporations. He has pursued these interests by designing, developing, and deploying artificially intelli- gent systems in the fields of Grand Prix motor racing with Team Ferrari (intelligent suspension design programs and trackside data interpretation systems), cinematic special effects with the "Superman" series of movies (intelligent robots to create the "flying" scenes), at McDonnell Douglas Corp. (intelligent robot programming systems), and at Intel Corp. (intelli- gent manufacturing scheduling systems).

Reha Uzsoy is an associate professor in the School of Industrial Engineering at Purdue University. He holds BS degrees in industrial engi- neering and mathematics and an MS in industrial engineering from Bogazici University (Istanbul, Turkey). He received his PhD in 1990 from the University of Florida and joined the faculty of Purdue University the same year. His teaching and research interests are in production planning and scheduling, facility design, and economic analysis, with particular application to semiconductor manufacturing. Before coming to the US, he worked as a production engineer with Arcelik AS, a major appliance man- ufacturer in Istanbul. He has also worked as a visiting researcher at Intel Corp. His research in production planning and scheduling for the semicon- ductor industry focuses on developing improved shop-floor control and maintenance management mechanisms and has been supported by the National Science Foundation, Intel Corp., and Harris Corp.

116