A New Algorithm for Large-Scale Scheduling Problems - American

Seungkwon Lee, Jin-Kwang Bok, and Sunwon Park* ... the sequence branch algorithm (SBA) that can handle large-scale complex scheduling problems...
0 downloads 0 Views 173KB Size
Ind. Eng. Chem. Res. 1998, 37, 4049-4058

4049

A New Algorithm for Large-Scale Scheduling Problems: Sequence Branch Algorithm Seungkwon Lee, Jin-Kwang Bok, and Sunwon Park* Department of Chemical Engineering, Korea Advanced Institute of Science and Technology, 373-1 Kusong-dong, Yusong-gu, Taejon 305-701, Korea

Mixed integer linear programming based methods have been widely employed but have been limited to problems with simple recipes or small-scale scheduling problems. This paper proposes the sequence branch algorithm (SBA) that can handle large-scale complex scheduling problems for batch processes under unlimited intermediate storage policy. The SBA generates the schedule tree in which all feasible schedules are included. A heuristic function is employed to accelerate the searching speed and it causes the results somewhat deviated from the optimal solution. The efficiency of the proposed algorithm is illustrated through complex and large-scale problems including a case study of a semiconductor fabrication process. Introduction Short-term scheduling of batch processes has been extensively and widely studied since the 1970s. One of the main research areas actively challenged recently is the development of such a rigorous model that it can play a major role as a component of automated and computerized systems. Such a tendency has made the model not only complex and hard to represent but also computationally intractable due to NP hardness. While systematic mathematical modeling and solution methods already have been developed to a great extent for multiproduct plant scheduling problems, not much work has been done for the multipurpose plant due to the computational expense caused by a large number of integer variables as well as modeling difficulties. Integer variables are required to denote the event occurrences (i.e., the start and end of a job at a unit in a scheduling horizon). A typical way to represent them is to discretize the time horizon with a uniform interval and to assume that events happen at the boundaries of the time intervals.1,2 Kondili et al.1 presented a general formulation for scheduling problems that arise in batch plants with the state task network (STN). The uniform discretization of time domain was also applied to parallel flowshop scheduling.2 However, the discrete model is not appropriate for large-scale problems due to unavoidable computational expense. To overcome such a shortcoming of discrete time representation, various continuous time representations have been proposed.3-6 Especially, Bok and Park6 presented a continuous time model for multipurpose batch processes. In continuous time models, the scheduling horizon is divided into the minimally required number of time intervals to represent the events. A mixed integer programming (MIP) problem is generated to determine the exact start and end times. Therefore, the continuous time model has better computational efficiency than the discrete time model, but its application is still limited to small-scale multipurpose processes.6 Another modeling approach for scheduling algorithms that received special attention is Petri net.7-11 The * To whom correspondence should be addressed. E-mail: [email protected]. Tel.: 82-42-869-3920. Fax: 82-42869-3910.

Petri net approaches have two inherent defects: deadlock of the system and excessive memory requirement.12 Such defects make it difficult to apply the Petri net to large-scale problems. As a novel approach to modeling scheduling problems, we present the sequence branch algorithm (SBA). The basic concept is the usage of schedule elements that have information on a stage of a job in a particular unit for the construction of schedule lists (groups of schedule elements). A heuristic function is incorporated to enhance the efficiency for the large-scale problems. Although the SBA has a defect that the solution may not be optimal due to the heuristic function, it can find a near-optimum solution for large-scale complex scheduling problems that are intractable by mathematical programming approaches. This paper is organized as follows: First, the targeted scheduling problem is stated and new concepts (schedule elements and schedule lists) are introduced to represent scheduling problems as sequencing problems of schedule elements. Next, the SBA is proposed by employing the schedule elements and schedule lists. The heuristic function that is used to increase the searching efficiency is presented. Then, the numerical efficiency of the proposed algorithm is illustrated through examples. Especially, the SBA is applied to a large-scale scheduling problem of a semiconductor fabrication process. Problem Statement The scheduling problem that will be addressed in this paper can be stated as follows. Given are Subscripts i: job j: stage k: machine Sets I: set of jobs J: set of stages Ji: set of stages involved in the processing of job i K: set of machines Ki,j: set of machines which belong to stage j of job i

S0888-5885(98)00103-1 CCC: $15.00 © 1998 American Chemical Society Published on Web 09/04/1998

4050 Ind. Eng. Chem. Res., Vol. 37, No. 10, 1998 Parameters k : processing time for stage j of job i in machine k Ti,j TOTLEN: total number of stages required to process all jobs

TOTLEN )

|Ji| ∑ i∈I

The following are main assumptions on which the proposed method is based: (1) Processing times, transfer times between the units, and setup times are deterministic. (2) The sequence of stages for each job is deterministic. (3) There is no preemption. (4) There is no resource constraint. (5) There is unlimited intermediate storage (UIS) between stages.13 The objective is to determine start times and end times of all stages of all jobs that can minimize the makespan. The following are the decision variables to be determined: k TSi,j : start time of machine k for stage j of job i k TEi,j : end time of machine k for stage j of job i

Sequence Branch Algorithm Schedule Element and Schedule List. The scheduling problem can be represented as a sequencing of scheduling elements for complete construction of a schedule list. The concepts of the schedule element and schedule list are introduced as follows: (1) Schedule element: a schedule element is denoted k as Si,j , where i ∈I, j ∈Ji, and k ∈Ki,j. It means stage j of job i is performed in machine k. If there are NI jobs in a scheduling problem, NJ stages have to be performed for each job, and NM machines can be used for each k ) can be stage, then NI‚NJ‚NM schedule elements (Si,j generated. Note that, in the case of neglecting the selection of machine, superscript k will be omitted for k ). the convenience of notation (Si,j instead of Si,j (2) s: an instance of the schedule element. (3) Schedule list: a list of schedule elements satisfying the structural constraints of a scheduling problem. In the structural view of the scheduling problem, the schedule list can be thought of as the sequence of schedule elements as shown in Figure 1. As we add a schedule element to the schedule list, the length of it increases by one. Note that there are Ki,j machines that can be used at stage j of job i, but only one machine is selected for stage j of job i. Therefore, in the complete schedule list, the number of schedule elements included is NI‚NJ. The structural constraints for the schedule lists can be stated as follows: (a) The precedence order of stages of a job should not be violated. (b) Only one schedule element has to be included for each stage of each job in the schedule list. One k has to be selected from the set schedule element Si,j k {Si,j|k ∈ Ky}. Figure 1a-c shows the examples of invalid schedule lists. The reasons why they are invalid are as follows: (a) S2,1 has to precede S2,2 to keep the precedence order of stages of job 2. (b) S2,2 is included, but S2,1 is not yet included in the list. (c) S1,1 is included twice in the list. (4) n: an instance of a schedule list.

Figure 1. Invalid schedule lists. Table 1. Machines That Can Be Used in Example 1 stage

job 1

job 2

1 2

1, 2 2, 3

1, 3 1, 2, 3

k Table 2. Processing Times Ti,j in Example 1

operation

time

T11,1 T21,1 T21,2 T31,2 T12,1 T32,1 T12,2 T22,2 T32,2

3 4 3 2 4 2 3 4 4

(5) Complete schedule list: a complete schedule list is a feasible schedule for completing all jobs. The length of a complete schedule list is NI‚NJ. The total number of complete schedule lists is [(∑i|Ji|)!]/[∏i(|Ji|!)]. Example 1. Consider a multipurpose scheduling problem which has two jobs (Each job consists of two stages.) and three machines.10 Table 1 shows machines that can be used at each stage for each job. The processing times are shown in Table 2. In mathematical notations, jobs, stages of each job, machines, and a set of machines that can be used at each stage of each job are as follows:

I ) {1,2}, J1 ) {1,2}, J2 ) {1,2} K ) {1,2,3}, K1,1 ) {1,2}, K1,2 ) {2,3}, K2,1 ) {1,3}, K2,2 ) {1,2,3} In this example, nine schedule elements can be generated: S11,1, S21,1, S21,2, S31,2, S12,1, S32,1, S12,2, S22,2, and S32,2. Table 3 shows schedule lists that can be generated. There are six complete schedule lists; the length of each complete schedule list is four. The optimum schedule can be found by comparing the makespans of the six complete schedule lists.

Ind. Eng. Chem. Res., Vol. 37, No. 10, 1998 4051 Table 3. Schedule Lists of Example 1 length of schedule list

Figure 2. Complete schedule list. schedule list

(3) The end time should be greater than or equal to the start time plus the processing time:

1

[S1,1], [S2,1]

2

[S1,1, S1,2], [S1,1, S2,1], [S2,1, S1,1], [S2,1, S2,2]

3

[S1,1, S1,2, S2,1], [S1,1, S2,1, S1,2], [S1,1, S2,1, S2,2], [S2,1, S1,1, S1,2], [S2,1, S1,1, S2,2], [S2,1, S2,2, S1,1]

4

[S1,1, S1,2, S2,1, S2,2], [S1,1, S2,1, S1,2, S2,2], [S1,1, S2,1, S2,2,S1,2], [S2,1, S1,1, S1,2, S2,2], [S2,1, S1,1, S2,2, S1,2], [S2,1, S2,2, S1,1, S1,2]

k k k TEi,j g TSi,j + Ti,j ,

Table 4. Shortest Processing Times for Remaining Schedule Elements remaining schedule element

machine

shortest processing time

S1,2 S2,1 S2,2

3 3 1

2 2 3

Functions Defined for Schedule List. For the convenience of representation, we define the following functions for the schedule list: d(n): length of schedule list n (the number of schedule elements in the schedule list n) ord(n,s): relative position of schedule element s in schedule list n TR(n): lower bound estimation of remaining time. Remaining time is defined as the remaining processing time for schedule list n to be a complete schedule list. MS(n): makespan of schedule list n h(n): heuristic function used in SBA, h(n) ) wrTR(n) wdd(n), where wr and wd are the weighting factors. f(n): objective function used in SBA, f(n) ) MS(n) + h(n)

TR(n) is the sum of the shortest processing times of schedule elements that are required for a complete schedule list but are not included in schedule list n. The following is the calculation procedure of TR([S1,1]) for example 1. The remaining schedule elements for the schedule list [S1,1] are S1,2, S2,1, and S2,2. TR([S1,1]) is the sum of the shortest processing time of the remaining schedule elements; therefore, TR([S1,1]) ) 2 + 2 + 3 ) 7 (See Table 4). TR(n) provides us with the lower bound estimation of the remaining time because the true value of the remaining time is always greater than or equal to TR(n). Timing Constraints. The following are timing constraints of schedule lists used for the calculation of the start times, end times, and makespans of schedule lists: (1) The start time of Si,j should be greater or equal to the end time of Si,j-1, regardless of the selection of a machine: k TSi,j g TEk′i,j-1

(2) If selected machine k for Si,j is already occupied by any other schedule element which is prior in the schedule list, then k TSi,j g TEk′i′,j′, when ord(n,Ski ,j) > ord(n,Sk′i′,j′) and k ) k′

k ∀ Si,j ∈n

(4) The makespan of n is the latest end time of the schedule elements in n: k MS(n) g TEi,j ,

k ∀ Si,j ∈n

Steps of the Sequence Branch Algorithm (SBA) In short-term scheduling problems, the objective is to find the schedule that gives the minimum makespan, the time required to complete all jobs. From the view of the sequencing problem of the schedule elements, this can be done by comparing the makespans of all complete schedule lists. Generating a complete schedule list can be done according to Figure 2. All complete schedule lists can be generated by permutation of all schedule elements in the complete schedule list. However, evaluating all complete schedule lists is impossible for large problems. Therefore, we need a more efficient method to find the optimal complete schedule list. Figure 3 shows a general schedule tree which consists of schedule lists. The root of the schedule tree is initially empty and the schedule lists grow by adding schedule elements. Finally, a set of complete schedule lists are generated. The SBA is an algorithm to make the schedule tree dynamically and find a nearoptimum complete schedule list. We define a schedule list pool as a group of frontier schedule lists that grow from the root of the schedule tree. From the given information for a scheduling problem the SBA works as follows: (1) Step 1: Generate the initial schedule lists from an empty list by adding a schedule element for each job and save the schedule lists in the schedule list pool. The number of initial schedule lists are the same as the k ] is generated for every number of jobs (i.e., |I|). [Si,1 k , and calcujob i, where k is selected by comparing Ti,1 late f( ) for each schedule list. (2) Step 2: Sort the schedule lists in the schedule list pool in an ascending order of f( ). (3) Step 3: Remove the first schedule list from the schedule list pool. Denote this schedule list as n. (4) Step 4: If d(n) ) TOTLEN, print the results and terminate. (5) Step 5: Generate a new schedule list n′ by adding a schedule element S′i′,j′ to the tail of the schedule list n and insert n′ to the schedule list pool. The schedule list n′ should satisfy all timing constraints and its length is d(n) + 1. Machine k′ for the last schedule element S′i′,j′ in n′ is selected so that f(n′) is minimized: Among the Ki′,j′ machines, the one with the smallest processing time for schedule element S′i′,j′ is selected. The start time and end time of schedule element S′i′,j′ , and f(n′) are calculated subject to the timing constraints (1)-(4). (6) Step 6: If any other schedule lists can be generated by adding a new schedule element to schedule list n, then go to step 5. Otherwise, go to step 2. (7) Step 7: Go to step 2.

4052 Ind. Eng. Chem. Res., Vol. 37, No. 10, 1998

Figure 3. General schedule tree.

Heuristic Search

Figure 4. Timing constraints (a) and (b) applied to step 5 of the SBA.

Figure 4 shows that timing constraints (1) and (2) are applied in step 5 of the SBA. Figure 5 shows the schematic diagram of the steps of the SBA.

In the SBA, a heuristic function is used to improve the searching efficiency. TR(n) is the lower bound of the remaining time that will be necessary to process the schedule elements that are not included in schedule list n. Without considering the remaining time, SBA prefers a schedule list that does not have schedule elements with relatively large processing times to minimize the makespan. Therefore, whenever a schedule list encounters a schedule element with a large processing time, the schedule list is stopped from growing and another schedule list is selected for further growth. As d(n) increases, the value of objective function f(n) decreases because of h(n). Therefore, h(n) makes the SBA prefer schedule lists with larger length. Lee and DiCesare11 developed and tested four different heuristic functions for the scheduling of an AGV (automated guided vehicle) system, and they found that the heuristic function has to account for the length of the partial schedule. If the weighting factors are zero, the SBA algorithm certainly tries to minimize the makespan.

Ind. Eng. Chem. Res., Vol. 37, No. 10, 1998 4053

Figure 5. Schematic diagram of the steps of the SBA.

However, if the problem size is large and its structure is complex, then finding the true minimum makespan is practically impossible due to the enormous calculation requirement. Therefore, even though we have to settle for a near-optimal solution, larger values than zero should be used as the values of wr and wd for the efficiency of the algorithm. Guide for the selection of weighting factors has not been systematically established. We should set the values by trial-and-error, considering a tradeoff between optimality and computation requirements. Generally, we determine them depending on the order of processing times and the length of the complete schedule lists so that the length and remaining time of schedule lists will not be underestimated or overestimated. Single Product Problem. When only a single-type product is produced (e.g., semiconductor fabrication

processes), we can reduce the search space of the SBA using the characteristics of single-product problems as follows: (1) Because all the jobs are the same type, the permutation of a schedule list does not make any difference in the objective function (e.g., f([Sk1,1,Sk2,1]) ) f([Sk2,1,Sk1,1])). (2) In this case, step 1 of the SBA is changed as follows: step 1′: initial schedule list is simply Sk1,1, where k is selected to give the smallest Tk1,1, k ) 1, ..., NM. (3) Step 5 is also changed as follows. Step 5′: n′ is k′ to n; n′ has to satisfy the generated by adding Si′,j′ following constraints: k should already exist in (a) Schedule element Si,j schedule list n, where i ) i′ and j ) j′ - 1.

4054 Ind. Eng. Chem. Res., Vol. 37, No. 10, 1998 Table 5. Iterations of SBA in Example 1 iteration

schedule list pool

MS

h(n)

f(n)

1

[ S1,1 ] [ S2,1 ]

3 2

7 8

10 10

2

[ S1,1, S1,2 ] [ S1,1, S2,1 ] [ S2,1 ]

5 3 2

5 5 8

10 8 10

3

[ S1,1, S1,2 ] [ S1,1, S2,1, S2,2 ] [ S1,1, S2,1, S1,2 ] [ S2,1 ]

5 6 6 2

5 2 3 8

10 8 9 10

4

[ S1,1, S1,2 ] [ S1,1, S2,1, S2,2, S1,2 ] [ S1,1, S2,1, S1,2 ] [ S2,1 ]

5 6 6 2

5 0 3 8

10 6 9 10

k (b) Schedule element Si,j should already exist in schedule list n, where i ) i′ - 1 and j ) j′.

Example 1 Revisited For this problem, the values of wd and wr are 0 and 1, respectively. Table 5 shows how the optimal schedule

Figure 6. Schedule tree searched by SBA for example 1.

is obtained by the SBA. At first iteration, schedule lists [S1,1] and [S2,1] are made and [S1,1] is selected for the generation of [S1,1, S1,2] and [S1,1, S2,1]. With continued growth, a complete list [S1,1, S2,1, S2,2, S1,2] is obtained. Figure 6 illustrates the growth of the schedule lists with the value of makespan and remaining time. The shaded schedule lists that contain minimum objective values are selected for the next generation of schedule elements to find the complete schedule list. The Gantt chart of the solution is shown in Figure 7. The makespan obtained is 6 which is the optimal solution. Example 2. This example is taken from Moon.14 This scheduling problem actually has a single product, but the production has to be repeated multiple times. Table 6 shows the processing steps and processing times of the problem. There are 4 stations and 13 processing stages. As each station has one machine, the station number is actually the same as the machine number. To complete the job, the raw material should be processed sequentially from stage 1 to stage 13 (Figure 8).

Ind. Eng. Chem. Res., Vol. 37, No. 10, 1998 4055

Figure 7. Gantt chart of the solution of example 1. Table 6. Stages and Processing Times of Example 2 stage station

1

1 2 3 4

10

2

3

4

5

6

7

15 20

8

8 5

9

10

11

12

13

20 7

7

12 30

17 5

10

Moon14 showed that this problem has many re-entrant flows because the installation cost of machines are very expensive (9 re-entrant flows at stages 5-13). He formulated the problem as a mixed integer linear programming (MILP) problem with the special treatment of re-entrant flows, but the MILP solvers cannot solve the problem when the number of scheduling jobs are large. Table 7 shows the comparison between the MILPbased method and the SBA. The MILP problems are

Figure 8. Single job path for example 2.

solved by GAMS15 and SBA is implemented by C++. Both methods are performed on a SUN SPARC 10 workstation computer. The differences of makespans between the MILP-based method and SBA are about 10% when the MILP-based solution can be found. The MILP-based method cannot solve problems with the number of products being more than 7. Table 7 shows that the SBA gets a near-optimum solution rather than the optimum solution, but it can efficiently solve the large-scale problems that the MILP-based method cannot solve. Example 3. A Wafer Fabrication Process with Reentrant Flows. Wafer fabrication starts with a silicon wafer, 8 or 12 in. in diameter. The production process consists of imprinting several layers of chemical patterns on the wafer, and the final end product can be regarded as a multilayered sandwich. The processing is done layer-by-layer. Each layer in turn requires

4056 Ind. Eng. Chem. Res., Vol. 37, No. 10, 1998 Table 7. Computation Results for Example 2 MILP-based method

sequence branch algorithm

products

constraints

continuous variables

binary variables

CPU (s)

MS

iterations

CPU (s)

MS

wd, wr

2 3 4 5 6 7 10

228 375 682 749 1076 1463 2232 2232 4079 8984 17625 17625

27 40 53 66 79 92 141 141 209 404 664 664

30 90 180 300 450 630 1650 1650 3600 13950 38250 38250

1.8 7.1 30.0 66.2 186.8 604.5

196 231 266 301 336 381

37 61 77 70 78 110 333 169 196 396 693 652

0.1 0.4 1.5 2.3 3.2 8.5 76.8 32.1 78.1 703.0 3722.4 3371.0

196 244 281 309 364 397 559 565 797 1531 2430 2472

1.0, 0.5 1.0, 0.5 1.0, 0.5 1.0, 0.5 1.0, 0.5 1.0, 0.5 1.8, 0.5 3.0, 0.5 3.0, 0.5 3.0, 0.5 3.0, 0.5 4.0, 0.5

15 30 50

Figure 9. An aggregated model of the production line by Lu et al.16

several steps of individual processing, such as deposition, photolithography, etching, and so forth. Moreover, many of the steps are repeated at several of the layers. The machines that perform these individual processing steps are very expensive. Currently, a state-of-the-art plant costs about a billion dollars, and this cost is

expected to increase dramatically as feature sizes decrease. The machines are not replicated but revisited by wafers for processing at different layers. A station is a set of machines which can do the same process operations, so there may be one or more than one machine in the stations. The distinguishing character-

Ind. Eng. Chem. Res., Vol. 37, No. 10, 1998 4057

Figure 10. Process flow of example 3. Table 8. Plant Data for Example 3 station

no. of machines

no. of visits

processing time (h)

1 2 3 4 5 6 7 8 9 10 11 12

4 3 10 1 1 2 1 4 1 9 2 2

14 12 7 1 2 3 1 8 3 5 3 1

0.5 0.375 2.5 1.8 0.9 1.2 1.8 0.8 0.6 3.0 1.2 2.5

Table 9. Computation Results for Example 3 no. of lots

iteration

CPU time (s)

MS

wd

wr

5 6 8 10

300 360 480 600

298.1 779.5 1629.5 3750

73.9 77.9 83.8 90.5

4 4 4 4

0.6 0.6 0.6 0.6

istic of the wafer fabrication process is that lots re-visit several stations at several stages of their lives. This type of manufacturing system is called a re-entrant line. The main consequence of the re-entrant nature is that wafers at different stages of their lives have to compete with each other for the same machinessreminiscent of cars at a traffic light. Thus, wafers can and do spend a considerable portion of their time simply waiting for machines, rather than actually being processed. Lu et al.16 presented an aggregated model of the fullscale semiconductor fabrication line (Figure 9) consisting of 12 stations having one or more identical machines. The total number of stages is 60 and process flows are complicated with re-entrant flows as Figures 9 and 10 show. Table 8 shows the number of machines

Figure 11. Gantt chart for example 3 where |I| ) 8.

at each station, the number of visits to each station, and the processing times at each station. The prevailed approach that can handle such a largesized problem was simulation analysis for the purpose of minimizing the mean cycle time and the variation of cycle time.16,17 Though the simulation analysis may indirectly minimize the makespan, it cannot directly minimize the makespan of semiconductor scheduling problems. Even though minimizing the makespan is an important objective of manufacturing scheduling, it has rarely been challenged because the mathematical models can be made but they cannot be solved due to expensive computational requirements. The scheduling results from the SBA are shown in Table 9. The numbers of jobs are from 5 to 10. Figure 11 gives the Gantt chart of the generated schedule with |I| ) 8. The required number of binary variables in the mathematical formulation for MILP-based methods3 should amount to at least several 100 000, for example, |I|‚|J|‚|K|‚(no. of time slots) ) 10‚60‚40‚10 ) 240 000. Therefore, this example is computationally very expensive to solve with MILP-based methods. Even though the computation time increases as the number of repeating jobs grows, the results show the potential of providing the scheduling results for real production lines. Conclusions The SBA algorithm presented in this paper treats a scheduling problem as a sequencing problem of stages of all jobs. New concepts of the schedule element and the schedule list are introduced to describe the SBA algorithm. Once the model is constructed by the given information (jobs, stages, machines, etc.), the SBA dynamically generates the schedule tree to search for a near-optimal schedule. The SBA easily handles the characteristics of complex scheduling systems, such as job shop scheduling and re-entrant flows. Minimum remaining time and length of the schedule list are considered for the heuristic function to improve the efficiency of the SBA. The SBA is illustrated through

4058 Ind. Eng. Chem. Res., Vol. 37, No. 10, 1998

scheduling of complex and large-scale semiconductor fabrication processes, and the results show that the SBA can handle large-scale problems efficiently. Acknowledgment The authors acknowledge partial financial support from the Korea Science Engineering Foundation through the Automation Research Center at POSTECH. Literature Cited (1) Kondili, E.; Pantelides, C. C.; Sargent, R. W. H. A general algorithm for scheduling batch operations. Comput. Chem. Eng. 1993, 17, 211. (2) Gooding, W. B.; Pekny, J. F.; McCroskey, P. S. Enumerative approaches to parallel flowshop scheduling via problem transformation. Comput. Chem. Eng. 1994, 18, 909. (3) Pinto, J. M.; Grossmann, I. E. A Continuous Time Mixed Integer Linear Programming Model for Short-Term Scheduling of Multistage Batch Plants. Ind. Eng. Chem. Res. 1995, 34, 3037. (4) Pinto, J. M.; Grossmann, I. E. A Logic-Based Approach to Scheduling Problems with Resource Constraints. Comput. Chem. Eng. 1997, 21 (8), 801. (5) Schilling, G.; Pantelides, C. C. Optimal Periodic Scheduling of Multipurpose Plants in the Continuous Time Domain. Comput. Chem. Eng. 1997, 21 (Suppl.), S1191. (6) Bok, J.-K.; Park, S. Continuous Time Modeling for ShortTerm Scheduling of Multipurpose Pipeless Plants. Ind. Eng. Chem. Res. in press. (7) Al-Jaar, R.; Desrochers, A. A. Performance Evaluation of Automated Manufacturing Systems Using Generalized Stochastic Petrinets. IEEE Trans. Robotics Autom. 1990 6 (6), 621.

(8) Hillion, H. P.; Proth, J. Performance Evaluation of Job-Shop Systems Using Timed Event-Graphs. IEEE Trans. Autom. Control 1989, 34 (1), 3. (9) Viswanadham, N.; Narahari, Y. Stochastic Petri Net Models for Performance Evaluation of Automated Manufacturing Systems. Inf. Decision Technol. 1988, 14, 125. (10) Lee, D. Y.; DiCesare, F. Scheduling Flexible Manufacturing Systems Using Petri Nets and Heuristic Search. IEEE Trans. Robotics Autom. 1994a, 10 (2), 123. (11) Lee, D. Y.; DiCesare, F. Integrated Scheduling of Flexible Manufacturing Systems Employing Automated Guided Vehicles. IEEE Trans. Ind. Electron. 1994, 41 (6), 602. (12) Peterson, J. L. Petri Net Theory and the Modeling of Systems; Prentice Hall Inc.: Englewood Cliffs, NJ, 1981. (13) Ku, H.; Rajagopalan, D.; Karimi, I. A. Scheduling in Batch Processes. Chem. Eng. Prog. 1987, 83 (8), 35. (14) Moon, S. Optimization Algorithms for Design and Scheduling of Batch Processes. Ph.D. Dissertation, KAIST, Taejon, Korea, 1997. (15) Brooke, A.; Kendrix, D.; Meeraus, A. GAMS: User’s Manual; Scientific Press: Redwood City, CA, 1992. (16) Lu, S. C.; Ramaswamy, D.; Kumar, P. R. Efficient Scheduling Policies to Reduce Mean and Variance of Cycle-Time in Semiconductor Manufacturing Plants. IEEE Trans. Semicond. Manuf. 1994, 7 (3), 374. (17) Wein, L. Scheduling Semiconductor Wafer Fabrication. IEEE Trans. Semicond. Manuf. 1988, 1, 115.

Received for review February 19, 1998 Revised manuscript received July 7, 1998 Accepted July 8, 1998 IE980103E