Você está na página 1de 18

Computers & Industrial Engineering 49 (2005) 363380

www.elsevier.com/locate/dsw

A distributed shifting bottleneck heuristic for complex job shops*


Lars Moncha,*, Rene Drieelb
a

Institute of Information Systems, Technical University of Ilmenau, Helmholtzplatz 3, 98684 Ilmenau, Germany b X-CASE GmbH, Albert Einstein Str. 3, 98684 Ilmenau, Germany Received 20 October 2004; revised 13 May 2005; accepted 6 June 2005 Available online 12 September 2005

Abstract In this paper, we consider distributed versions of a modied shifting bottleneck heuristic for complex job shops. The considered job shop environment contains parallel batching machines, machines with sequence-dependent setup times and reentrant process ows. Semiconductor wafer fabrication facilities are typical examples for manufacturing systems with these characteristics. The used performance measure is total weighted tardiness (TWT). We suggest a two-layer hierarchical approach in order to decompose the overall scheduling problem. The upper (or top) layer works on an aggregated model. Based on appropriately aggregated routes it determines start dates and planned due dates for the jobs within each single work area, where a work area is dened as a set of parallel machine groups. The lower (or base) layer uses the start dates and planned due dates in order to apply shifting bottleneck heuristic type solution approaches for the jobs in each single work area. We conduct simulation experiments in a dynamic job shop environment in order to assess the performance of the heuristic. It turns out that the suggested approach outperforms a pure First In First Out (FIFO) dispatching scheme and provides a similar solution quality as the original modied shifting bottleneck heuristic. q 2005 Elsevier Ltd. All rights reserved.
Keywords: Hierarchical production control; Complex job shops; Shifting bottleneck heuristic; Distributed scheduling; Computational experiments

1. Introduction The manufacturing of integrated circuits (IC) on silicon wafers is a production process of huge complexity (Schomig & Fowler, 2000; Uzsoy, Lee, & Martin-Vega, 1992). Up to 600 process steps on
*

This Manuscript was processed by Area Editor Maged Dessouky. * Corresponding author E-mail addresses: lars.moench@tu-ilmenau.de (L. Monch), rene.driessel@x-case.de (R. Drieel).

0360-8352/$ - see front matter q 2005 Elsevier Ltd. All rights reserved. doi:10.1016/j.cie.2005.06.004

364

L. Monch, R. Drieel / Computers & Industrial Engineering 49 (2005) 363380

50120 di1fferent types of equipment are required to produce a chip of average complexity. A mix of different process types, i.e. batch processes and single wafer processes, sequence-dependent setup times, very expensive equipment and reentrant ows are typical for this type of manufacturing. Today, semiconductor manufacturing processes are additionally characterized by a wide and over time changing range of product types and the demand to achieve good delivery performance. Semiconductor wafer fabrication facilities (wafer fabs) are examples for complex job shops as introduced by Mason et al. (2002). A single product moves through the wafer fab in lots (jobs). Each lot consists of several (usually 24) wafers. The circuits are made up of layers. The recursive nature of the process ows is one of the main sources of difculty in planning, scheduling and controlling wafer fabs. As indicated by Schomig and Fowler (2000), today it seems that better operational strategies are the main key in order to reduce costs and improve overall efciency. New planning, scheduling and dispatching methods are required in order to reach the goal of better operational performance. The improved software and hardware capabilities have to be taken into account during the development of more sophisticated algorithms. It is now possible to solve large scale scheduling problems via decomposition methods. The power of distributed computation can be applied to solve the resulting subproblems of the decomposition process in a simultaneous manner. The shifting bottleneck heuristic may serve as the prominent example for job shop decomposition approaches. However, centralized implementations of the shifting bottleneck heuristic are still very time consuming from a runtime point of view even in the case of moderate scheduling horizons (Monch & Rose, 2004). In the situation of a larger scheduling horizon, for example of 2 days, the number of nodes of the scheduling graph grows tremendously, hence the solution of the scheduling problem requires large computational efforts in terms of memory and computation time. On the other hand, considering a small scheduling horizon leads to the problem of proper internal due date setting that is very often difcult. Based on a proper physical decomposition of the manufacturing system into subsystems, called work areas, we use a rather simple job planning approach in order to assign internal ready times and internal due dates to each job with respect to the decomposition of the job shop into work areas. Based on the internal ready times and due dates, we apply a modied shifting bottleneck heuristic to each single work area in order to come up with detailed schedules for each single work area. The paper is organized as follows. We describe the problem and introduce notations in Section 2. We discuss related work in Section 3. A modied shifting bottleneck heuristic is very briey discussed in Section 4. Then we describe distributed versions of the shifting bottleneck heuristic. In Section 5, we describe the simulation framework used for assessing the performance of the distributed shifting bottleneck heuristic. We continue with presenting the experimental design and the results of computational experiments in Section 5.

2. Problem setting and notation In this paper, we consider complex job shops that can be decomposed into a set of work areas. Each work area consists of several groups of parallel machines that are located in the same area of the manufacturing system. In wafer fabs, the photolithography area, the diffusion area, and the etching area may serve as examples for work areas (Atherton & Atherton, 1995; Uzsoy et al., 1992). We call this type of job shops decomposable exible job shops.

L. Monch, R. Drieel / Computers & Industrial Engineering 49 (2005) 363380

365

We will use the following notations throughout the rest of the paper: j job index, n number of jobs that are completed within the scheduling horizon, sij sequence-dependent setup time that appears if job j is processed after job i on the same machine (tool), rj ready time of job j on the shop oor, dj due date of job j, rjk ready time of job j for work area k, djk due date of job j for work area k, wj weight of job j, cj completion date of job j on the shop oor, ck completion time of job j for work area k. j We denote the tardiness of job j on the shop oor by Tj:Zmax(cjKdj,0). The tardiness of job j with respect to the work area is dened by Tjk : Zmaxck P jk ; 0. We are interested in minimizing the j Kd performance measure total weighted tardiness TWT : Z n wj Tj . The corresponding measure for work jZ1 P area k is dened by TWTk : Z n wj Tjk . We use throughout the rest of the paper the ajbjg notation jZ1 of Graham et al. (1979) for deterministic scheduling problems. The a eld describes the machine environment; the b eld is used for specication of the process restrictions. Finally, the g eld denotes the used performance measure. The scheduling problem under consideration can be expressed in the following way FJm jbatch; incompatible; rj ; sij ; recrcjTWT; where we denote by FJm a decomposable exible job shop. By batch and incompatible we denote batching tools that can process several jobs at the same time on the same machine. A collection of these jobs is called a batch. Due to the different chemical nature of the batching processes incompatible job families may occur. An incompatible job family is dened as a set of jobs that can be used to form batches on a certain machine. Jobs with ready times rj and sequence-dependent setup times sij are involved in the scheduling problem of interest. We consider reentrant job shops denoted by recrc. Wafer fabs are reentrant manufacturing systems (Uzsoy et al., 1992). The scheduling problem under consideration is NP hard by reduction to the single machine problem 1kTWT that is NP hard by a result of Lawler (1977). Hence we have to look for heuristic approaches.

3. Previous related work The original shifting bottleneck heuristic was developed for the JmkCmax problem (Adams et al., 1988). Later, the shifting bottleneck heuristic of Adams et al. (1988) was extended to other performance measures like total weighted tardiness (TWT) (Pinedo & Singer, 1999) and maximum lateness (Lmax) (Demirkol et al., 1997; Demirkol & Uzsoy, 2000; Ovacik & Uzsoy, 1997). Mason et al. (2002) present a modied shifting bottleneck for complex job shops. A simulation framework that allows for the performance assessment of the heuristic in a dynamic environment via a rolling horizon approach was developed by Monch et al. (2003a). The results presented by Monch and Rose (2004) demonstrate that

366

L. Monch, R. Drieel / Computers & Industrial Engineering 49 (2005) 363380

the modied shifting bottleneck heuristic with dispatching-based subproblem solution procedures clearly outperforms pure dispatching approaches for complex job shops in a dynamic environment. Hierarchical production control approaches (Mesarovic & Takahara, 1989; Schneeweiss, 2003) are widely used to solve large real-world scheduling problems. Beside the pure decomposition effects it seems to be worth to explore the distributed character of hierarchies for efcient software implementation (Schneeweiss, 2003). Hierarchical production control approaches for wafer fabs are discussed in Srivatsan et al. (1994), Vargas-Villamil and Rivera 2001; Vargas-Villamil et al., 2003). Srivatsan et al. (1994) describe a hierarchical framework for real-time decision-making. The authors suggest levels that correspond to events that occur at different frequencies. Buffers are used to decouple the different tool groups. Based on control theory and capacity considerations, appropriate buffer sizes are selected. A straightforward distribution of this hierarchical approach seems to be impossible. Furthermore, the approach is not intended to take individual lots into account. It seems to be difcult to incorporate the minimization of the total weighted tardiness of the lots into the framework of Srivatsan et al. (1994). Vargas-Villamil and Rivera (2001) consider a two-layer and Vargas-Villamil et al. (2003) a threelayer hierarchy, respectively. The upper layer is formed by a uid model optimization approach that balances between throughput maximization, keeping the inventory at some level and limiting the rate of change (measured as number of moves). A third additional level is described by Vargas-Villamil et al. (2003) that is used to parameterize the optimization approach of Vargas-Villamil and Rivera (2001) in a situation dependent manner. Dispatching rules are used for the immediate control tasks. However, tardiness related performance measures are not considered and a more mass production type of wafer fabs is investigated that allows for the uid model. A distribution of the used approach is not described. Brandimarte et al. (2000) describe a conceptual framework for solving scheduling problems via decomposition into subproblems that are larger than the tool groups in the original shifting bottleneck approach. However, a concrete decomposition and solution scheme and results of computational experiments are not presented.

4. Distributed shifting bottleneck heuristic In this section, we briey explain a modied shifting bottleneck heuristic. In a next step, we describe a rather simple production control algorithm for the top layer. Then we suggest several strategies for the distribution of the shifting bottleneck approach based on information provided by the top layer. Finally, we briey discuss (software) implementation issues. 4.1. Modied shifting bottleneck heuristic A modied shifting bottleneck heuristic for the scheduling problem discussed in this paper is described by Mason et al. (2002). The main ingredient of the shifting bottleneck heuristic is a disjunctive graph that is used to capture the relations and dependencies between jobs on different tool groups. The nodes of the disjunctive graph represent the processing of process steps of the jobs on certain tools or tool groups. Conjunctive arcs between the nodes are used to model the routes of a job and scheduling decisions. Disjunctive arcs are required in order to represent pending scheduling decisions among the jobs on a given tool group. The weights of the arcs are given by the processing time of the jobs

L. Monch, R. Drieel / Computers & Industrial Engineering 49 (2005) 363380

367

represented by a node that contains the arc as an outgoing arc. If batching tools occur, the graph has to be modied by including articial batch nodes (Mason et al., 2002). Arcs between the nodes representing jobs that form the batch and the batch node are added to the scheduling graph. Mason et al. (2002) consider furthermore additional conjunctive arcs between nodes that represent processing steps of jobs that have to be performed on the same machine group. This situation very often appears because of the reentrant ows. In contrast to the original shifting bottleneck formulation additional end nodes are necessary in order to model that each job has an individual due date (Mason et al., 2002; Pinedo & Singer, 1999). The main steps of the shifting bottleneck heuristic can be described as follows (Adams et al., 1988): 1. Denote the set of all tool groups by M. We use the notation Mo for the set of tool groups that have already been sequenced or scheduled. Initially, set M0:Z:. 2. Identify and solve the subproblems for each tool group i2MKM0. 3. Identify a critical tool group k2MKM0. 4. Sequence the critical tool group using the subproblem solution obtained by Step 2 by incorporating the related conjunctive arcs into the scheduling graph. Set M0:ZM0g{k} for update purposes. 5. (Optionally) re-optimize the schedule for each tool group m2MoKk by exploiting the information provided by the newly added disjunctive arcs for tool group k. 6. If MZM0, terminate the heuristic. Otherwise, go to Step 2. Scheduling methods for the resulting subproblems have to be developed in Step 2. In the case of complex job shops, various process restrictions like batching tools, parallel machines, machine dedication and sequence-dependent setup times have to be taken into account during the development of subproblem solution procedures. Specic criticality measures (cf. Aytuk et al. (2002) for such measures) have to be chosen in Step 3 of the shifting bottleneck heuristic. 4.2. Production control algorithm based on an aggregated model For describing a distributed shifting bottleneck approach, we rst have to deal with the top layer. This layer is based on an aggregated model. As described by Habenicht and Monch (2002), we aggregate consecutive process steps in macro operations. We denote the macro operation l of job j by ojl. Assume, that ojl is formed by consecutive process steps fpjk1 ; .; pjkl g. In an analogous way to the processing time for a process step, we dene the processing time of the macro operation ojl by pojl :Z pjk1 C/C pjkl : Each macro operation is related to a specic work area. We assume that we can determine a unique process step among the macro operation forming process steps that has to be performed on a tool group with a high utilization. Hence, the behavior of a macro operation is basically inuenced by the tool group of this process step. We consider aggregated capacities for the tools of a certain tool group that take batching characteristic and machine breakdowns into account. As described in more detail in Habenicht and Monch (2002), we assign start dates and end dates to each single macro operation based on an innite capacity approach (ICA). The main idea of ICA consists

368

L. Monch, R. Drieel / Computers & Industrial Engineering 49 (2005) 363380

in considering the quantity dj Kt hj :Z P pojl at time t if dj KtR relation P pojl and then calculate start dates for operation ojl in a recursive manner via the

rojl :Z rojlK1 C pojlK1 C hj K1pojlK1 Z rojlK1 C hj pojlK1 : The quantity hj basically distributes the remaining time until the due date equally among the remaining macro operations of job j. Note that the planned end date dojlK1 of macro operation ojlK1 is given by rojl . The due date has rst to be adjusted and then the previous scheme has to be applied in order P to calculate start dates and end dates of the operations when dj Kt% pojl holds. We apply the ICA approach in a rolling horizon manner every tD time units taking the current state of the jobs on the shop oor into account. We call tD the scheduling interval. ICA provides the internal ready time rjk and internal due date djk with respect to work area k. 4.3. Naive distributed shifting bottleneck heuristic The naive distributed shifting bottleneck heuristic (called NDSBH for abbreviation) uses the start dates and end dates of ICA in order to determine detailed schedules for the jobs that have to be processed on the tool groups of a single work area within a certain scheduling horizon. The heuristic can be summarized as follows: 1. Determine start dates and end dates of the jobs with respect to the xed work area k. 2. Determine schedules for each single work area by using the modied shifting bottleneck heuristic of Mason et al. (2002) and the start dates and end dates from Step 1 for a scheduling horizon of length tDCtah. Here, we denote by tah the additional scheduling horizon. In the case that more than one consecutive macro operation is expected to be performed within the scheduling horizon we have to consider the end date of the last macro operation as end date for the calculation of the total weighted tardiness. Furthermore, we have to modify the scheduling graph in order to make sure that the reentrant behavior of the routes is correctly modeled. Therefore, as in the case of the modied shifting bottleneck heuristic, we add additional articial arcs between nodes that represent process steps of the same job belonging to consecutive macro operations. The approach is similar to the treatment of reentrant ows in the modied shifting bottleneck heuristic. The main differences are the multiple (internal) ready times and multiple (internal) due dates with respect to work area k. We show the resulting graph for two jobs in Fig. 1. Job 1 contains one macro operation, represented by the nodes h1,1i h2,1i h3,1i. The notation hmachine,jobi is used to mimic the situation that a process step of a job has to be performed on a specic machine. Job 2 has two macro operations; one is formed by nodes h1,2ai h2,2ai h3,2ai, whereas the second one is given by h2,2bi h2,2bi h3, 2bi. Additional conjunctive arcs are included between node h2,2ai and h2,2bi, and between h3,2ai

L. Monch, R. Drieel / Computers & Industrial Engineering 49 (2005) 363380

369

1,1

2,1

3,1

e1

1,2a

2,2a

3,2a

e2a

1,2b

2,2b

3,2b

e2b

Fig. 1. Modied scheduling graph for jobs 1 and 2.

and h3,2bi. Note that the articial end nodes ei contain the due dates dik of the related macro operations. The ready times of the start nodes are also derived from the top layer of the hierarchy via the ICA approach. NDSBH has the drawback that a complete decoupling of the work areas take place that may result in suboptimal or even infeasible schedules with respect to the overall scheduling problem for the entire job shop. On the other hand, if the aggregated production scheduling approach of the top layer produces accurate (with respect to available capacity) start dates and end dates it may be enough to consider NDSBH. 4.4. Distributed shifting bottleneck heuristic for a planned bottleneck work area Our second approach uses the fact that in many manufacturing systems a planned bottleneck work area exists because, for example, a tool group of this work area is extraordinary expensive. We denote this approach DSBH-I. In this situation, we suggest the following scheme: 1. Determine start dates and end dates of the jobs with respect to the xed work area k. 2. Determine a schedule for the bottleneck work area by using the modied shifting bottleneck heuristic and the start dates and end dates obtained by Step 1. Denote the bottleneck work area by k. Usually, this work area produces the largest total weighted tardiness and is called critical work area similar to the notation used for the original shifting bottleneck heuristic. 3. Use the schedule for k in order to determine modied start dates and end dates for the remaining work areas, i.e. for macro operations of jobs in work areas msk. Send the modied start dates and end dates to the remaining work areas. 4. Determine schedules for the work areas msk based on the information provided by Step 3. A variant of DSBH-I may calculate schedules for each work area in Step 1 and then it determines the most critical work area based on a certain criticality measure.

370

L. Monch, R. Drieel / Computers & Industrial Engineering 49 (2005) 363380

4.5. Distributed shifting bottleneck heuristic for dynamic bottleneck work areas The third approach repeats the consideration of modied start dates and end dates in an iterated fashion similar to the original shifting bottleneck heuristic. By using this method we obtain better schedules for the overall scheduling problem in a step-by-step manner. The suggested procedure is called DSBH-II. The basic steps can be summarized as follows: 1. Determine start dates and end dates of the jobs with respect to the xed work area k. 2. Let MB denote the set of all work areas. Denote by MB0 the set of work areas for that a schedule is already calculated. Initially, set MB0Z:. Determine a schedule for all work areas by using the modied shifting bottleneck heuristic and the start dates and end dates given by Step 1. 3. Based on the schedules of Step 2 or Step 5, determine the most critical work area from MBKMB0 by calculating the total weighted tardiness of the jobs with respect to the corresponding work area. Denote the most critical work area by k. Update MB0:ZMB0g{k}. 4. Use the schedule for k in order to determine modied start dates and end dates for the remaining work areas, i.e. for macro operations of jobs in work areas m2MBKMB0. Send the modied start dates and end dates to the remaining work areas. 5. Determine schedules for each work area m2MBKMB0 based on the information provided by Step 4. 6. If MBKMB0 holds, Stop. Otherwise, go to Step 3. DSBH-II eliminates most of the drawbacks of NDSBH. However, if the scheduling horizon is too large, scheduling decisions based on modied start dates and end dates may affect the previous scheduling decisions for critical work areas, especially because of multiple macro operations of jobs within one work area. Hence some sort of adaptation of the schedules, similar to the reoptimization cycles of the shifting bottleneck heuristic, is necessary that tends to be computationally expensive. A truncated variant of DSBH-II may perform only a certain number of iterations instead of doing all iterations in order to reduce the computational burden.

4.6. Implementation issues We implement a rst system prototype of a distributed shifting bottleneck scheduler in the CCC programming language that runs on a single PC. Here, we do not take any advantage from the distributed design of the scheduling algorithm, i.e. we solve the scheduling problems for the single work areas in a sequential manner. The computational experiments described in this paper are based on this implementation. A second implementation is based on the multi-agent-system FABMAS (Monch et al., 2003b) and is performed by using the C# programming language. In the FABMAS system, we distinguish between decision-making agents and staff agents that support the decision-making agents in course of their decisions. Here, the shifting bottleneck heuristic for each single work area is implemented by a single work area scheduling agent. Work area scheduling agents are special staff agents. Hence, we can run the different work area schedulers concurrently and have a fully distributed version of the suggested algorithms.

L. Monch, R. Drieel / Computers & Industrial Engineering 49 (2005) 363380

371

5. Performance assessment of the distributed shifting bottleneck heuristic In this section, we describe briey the simulation frameworks used for experimentation. Then we introduce the used design of experiments. Finally, we present the results of computational experiments with simulation models of different complexity. 5.1. Framework for experimentation We use the software architecture described by Monch et al. (2003a) to carry out the experiments. The center point of this architecture is a data layer that contains all the information to construct the scheduling graphs and make the scheduling decisions. The data layer is between a simulation model that emulates the manufacturing process of interest and the scheduling application for the shifting bottleneck heuristic. The objects of the data layer are updated in an event driven manner by appropriate simulation events. Calculated schedules are submitted to the simulation engine in order to use the information of the schedules in a dispatching-based manner. The architecture allows for rolling horizon type scheduling as well as for event-driven rescheduling activities. We consider three different simulation models. The rst one is a small complexity model, called MiniFab model, suggested by researchers from INTEL Corporation and described by El Adl et al. (1996). In its original form it contains only three tool groups and two product routes with seven steps. The process ow is organized into two layers. Among the tool groups, there is a batch processing one and a tool group with sequence-dependent setup times. The model mimics some important features of wafer fabs. We derive a new model that contains three work areas. Each of them contains the machinery of the MiniFab model. The process ows are organized into two layers. We denote this model by Model A. The process ow of Model A is presented in Fig. 2. Here, the notation TKiKjKk is used, where i denotes the work area, j the tool group, and k a specic tool of the tool group. The second model is a reduced variant of the MIMAC Testbed Data Set 1 (Fowler et al., 1995). It contains two routes with 100 and 103 steps, respectively. The process ow is highly reentrant. The lots are processed on 146 machines that are organized into 37 tool groups. Among the tools are batching tools. The model contains four work areas. We denote the second model by Model B. The third model is the full MIMAC Testbed Data Set 1. It contains over 200 machines that are organized into over 80 tool groups. The tool groups form ve work areas. The model contains two routes with 210 and 245 steps, respectively. The third model is called Model C. 5.2. Design of experiments Based on previous experiments with the modied shifting bottleneck heuristic (Monch & Rose, 2004) we expect an inuence of the scheduling interval, the additional scheduling horizon, the method of determination of internal ready times and internal due dates (for each node of the disjunctive graph) on the TWT value. Internal due dates are calculated either on a simple backward calculation from the external due dates or based on a backward calculation that takes the slack of the job into account. Furthermore, beside the parameters of the shifting bottleneck approach, we expect a dependency of the results on the external due dates of the jobs, the weights of the lots, and the load of the complex job shop. The (external or customer) due dates of the jobs are calculated by using the ow factor concept.

372

L. Monch, R. Drieel / Computers & Industrial Engineering 49 (2005) 363380

T-1-1-1 T- -1- 1 1 T- -1- 1 1 T-1-1-2 T- -1- 2 1 T- -1- 2 1 T-1-1-3 T- -1- 3 1 T- -1- 3 1 T-1-1-4 T- -1- 4 1 T- -1- 4 1

T-1-2-1 T- -2- 1 1 T- -2- 1 1 T-1-2-2 T- -2- 2 1 T- -2- 2 1 T-1-2-3 T- -2- 3 1 T- -2- 3 1 T-1-2-4 T- -2- 4 1 T- -2- 4 1

T-1-3-1 T- -3- 1 1 T- -3- 1 1 T-1-3-2 T- -3- 2 1 T- -3- 2 1 T-1-3-3 T- -3- 3 1 T- -3- 3 1 T-1-3-4 T- -3- 4 1 T- -3- 4 1

T-2-1-1 T- -1- 1 2 T- -1- 1 2 T-2-1-2 T- -1- 2 2 T- -1- 2 2

T-2-2-1 T- -2- 1 2 T- -2- 1 2 T-2-2-2 T- -2- 2 2 T- -2- 2 2

T-3-3-1 T- -3- 1 3 T- -3- 1 3 T-3-3-2 T- -3- 2 3 T- -3- 2 3

T-3-1-1 T- -1- 1 3 T- -1- 1 3 T-3-1-2 T- -1- 2 3 T- -1- 2 3

T-3-2-1 T- -2- 1 3 T- -2- 1 3 T-3-2-2 T- -2- 2 3 T- -2- 2 3

T-3-3-1 T- -3- 1 3 T- -3- 1 3 T-3-3-2 T- -3- 2 3 T- -3- 2 3

Fig. 2. Process ow represented by Model A.

The ow factor FF is dened as the ratio of the cycle time and the raw process time. We set uj X dj :Z FF pjk C rj ;
kZ1

where we denote by pjk the processing time of processing step k that is required to produce job j and uj denotes the number of processing steps of j. We use two different weighting schemes for the jobs. The discrete distribution D1 is used to mimic a situation where a large amount of jobs has small or medium weight. D1 is given by: 8 with p1 Z 0:5; > wj Z 1 < with p2 Z 0:35; D1 :Z wj Z 5 > : wj Z 10 with p3 Z 0:15: The distribution D2 describes situations where only a very small portion of jobs has an extremely large weight. It is dened as follows: 8 with p1 Z 0:5; > wj Z 1 < with p2 Z 0:45; D2 :Z wj Z 2 > : wj Z 10 with p3 Z 0:05:

L. Monch, R. Drieel / Computers & Industrial Engineering 49 (2005) 363380 Table 1 Factorial design for Models A and B Factor Algorithm dependent Scheduling horizon Level Count Model A Scheduling interval (upper layer): {4, 8} Scheduling interval (DSBH): {2,4,5,6,8} Additional scheduling time: {0,2,4} Bottleneck: ATC, non-bottleneck: FIFO, ATC 2 5 3 2 2 2 2 480 Model B 2 5 3 2 2 2 2 480

373

SSP-Mix

Manufacturing system dependent Due date setting Tight (FFZ1.6) wide (FFZ2.0) Weighting scheme D1,D2 Load of the system Moderate, high Total

We use these two distributions in order to assign xed weights according to the proportion given by the distributions. We summarize the used factorial design for Model A and B in Table 1. We run only a limited number of experiments for Model C in order to reduce computational efforts. Note that we turn off all stochastic effects in our simulations, therefore no replication of simulation runs are necessary. Hence, we can use a relatively small simulation horizon that reduces the computational burden. Furthermore, we avoid the consideration of rescheduling schemes that is another major research effort. 5.3. Results of computational experiments 5.3.1. Overview of the results We use an efcient implementation of the shifting bottleneck heuristic that is similar to the implementation described by Monch and Rose (2004). The implementation especially applies the cycle avoidance technique for the scheduling graph developed by Pabst (2003). We use subproblem solution procedures (SSP) for scheduling jobs on tool groups that are based on the First in First out (FIFO) dispatching rule and the Apparent Tardiness Cost (ATC) dispatching rule of Vepsalainen and Morton (1987). For scheduling batching tool groups we rst introduce an appropriate time window that is usually smaller than the sum of the scheduling interval and the additional scheduling horizon. Then, in a second step, we consider batch combinations, i.e. we form batches from the jobs that arrive within the time window. We evaluate each batch combination by a modication of the ATC rule suggested by Mason et al. (2002). We choose the batch combination with the highest ATC evaluation. This approach is too sophisticated for non-bottleneck tool groups. Therefore, we consider a FIFO-type approach in this situation. A rst job from the queuing jobs is selected based on the FIFO rule. Then the batch is formed considering other queuing jobs from the same family according to certain criteria (like weight or due date) until the maximum batch size (capacity of the batch tool) is reached. During the forward and backward calculations of the shifting bottleneck graph we update the due dates with the earliest completion time. A single scheduling graph for one work area of Model C contains

374

L. Monch, R. Drieel / Computers & Industrial Engineering 49 (2005) 363380

usually 4000 up to 19,000 nodes. If we use a full shifting bottleneck heuristic as described for example by Monch and Rose (2004) there are more than 50,000 nodes required. We use a simulation time of 50 days after an appropriate warm up time. All experiments are performed on Intel Pentium-III PCs with 1.5 GHz and 256 MB RAM. The results are organized in the following way. First, we present results that highlight the dependency of the results on the used scheduling interval and additional scheduling horizon. Then in a second series of experiments, we study the impact of the used variant of the shifting bottleneck heuristic on the quality of the results. In a last set of experiments, we change certain characteristic properties of the manufacturing system to be controlled and assess the performance of our heuristics under these circumstances. We measure the total weighted tardiness of the jobs (TWT), the cycle time (CT) of the jobs and the throughput (TP), i.e. the number of completed jobs within the scheduling horizon. All results are presented as relative values to the related values obtained from a manufacturing system that is controlled by a pure FIFO dispatching policy. 5.3.2. Impact of the scheduling horizon on the results In a rst series of experiments we consider DSBH-II for Model A and Model B with a high load and tight due dates. We perform simulation experiments with different values for the scheduler-calling interval tD and for the additional horizon tah. Furthermore, we use ATC-type SSPs for the shifting bottleneck heuristic and the weight distribution D1. We show the results in Table 2. It seems that DSBH-II performs well with a scheduling interval of 4 h and an additional horizon of 2 h for both Model A and Model B. In this case the throughput is slightly smaller, but the cycle time is also slightly decreased. If the scheduling interval is smaller or larger then we obtain not so good results. It is interesting to note that in case of the full (or central) shifting bottleneck heuristic a scheduling interval of two up to 4 h leads to the best results with respect to TWT (cf. Monch and Rose (2004) for computational
Table 2 Results for DSBH-II, Model A and B for different scheduling horizons Measure Model TWT A B 0.3733 0.5155 1.0928 0.3732 0.3836 1.5591 0.5027 0.4339 1.5943 0.6589 0.7430 2.2628 TP A 0.9243 0.9505 0.9536 0.9536 0.9598 0.9196 0.9645 0.9784 0.9567 0.9521 0.9691 0.9629 B 1.0077 0.9949 0.9783 0.9987 0.9974 0.9693 0.9949 1.0077 0.9617 1.0102 1.0051 0.9579 CT A 0.8851 0.8868 0.8997 0.9233 0.9005 0.8965 0.9735 0.9353 0.9333 1.0564 0.9918 0.9516 B 0.8873 0.9351 1.0121 0.9206 0.9385 1.0547 0.9478 0.9548 1.0417 0.9797 0.9960 1.0745

Scheduling horizon (h) 2C0 0.5800 2C2 0.5481 2C4 0.5882 4C0 4C2 4C4 6C0 6C2 6C4 8C0 8C2 8C4 0.6359 0.5271 0.5623 0.8738 0.6580 0.6561 1.2217 0.9199 0.7220

L. Monch, R. Drieel / Computers & Industrial Engineering 49 (2005) 363380 Table 3 Results for Model C and DSBH-II for different scheduling horizons Measure Scheduling horizon (h) 2C0 4C0 5C0 6C0 8C0 TWT 0.1419 0.2263 0.2912 0.3277 0.4296 TP 1.0435 1.0435 1.0275 1.0137 1.0160 CT 0.9300 0.9588 0.9778 0.9817 1.0107

375

results in this situation). The different behavior of DSBH-II is mainly caused by the more accurate due date and ready date estimates from the top layer of the hierarchy. We also perform experiments for Model C. In contrast to the procedure for Model A and Model B, tah is chosen equal to zero. We show the results in Table 3. It turns out that tDZ2 h outperforms the other settings for Model C. The ready time and due date accurateness obtained from the scheduling graph and the top layer is higher for tDZ2 h than in case of a larger scheduling horizon. 5.3.3. Impact of the used variant of the distributed shifting bottleneck heuristic on the results We compare the performance of the three algorithm variants for the same parameter setting as in the previous section. The results are presented in Table 4. From Table 4 it turns out that DSBH-II leads to the best results for TWT. DSBH-I is only slightly outperformed by DSBH-II. But even NDSBH provides acceptable results. We visualize the obtained results in Fig. 3 as a level curve diagram. In Fig. 3, the x-axis is used to show the scheduling interval and the additional scheduling horizon. The y-axis shows the different DSBH-type algorithms for Model A and Model B. We use different shadings
Table 4 TWT values for different variants of the distributed shifting bottleneck heuristic Scheme Model NDSBH A B 0.3620 0.4518 1.2406 0.4549 0.4685 1.1084 0.5045 0.5144 1.0226 0.5892 0.4452 1.3268 DSBH-I A 0.6420 0.6809 0.6149 0.5915 0.5068 0.5639 0.8521 0.6437 0.6543 1.2687 0.8886 0.7391 B 0.3677 0.4108 1.3295 0.4261 0.4462 1.5133 0.4636 0.4677 1.5081 0.6972 0.6172 2.0676 DSBH-II A 0.5800 0.5481 0.5882 0.6359 0.5271 0.5623 0.8738 0.6580 0.6561 1.2217 0.9199 0.7220 B 0.3733 0.5155 1.0928 0.3732 0.3836 1.5591 0.5027 0.4339 1.5943 0.6589 0.7430 2.2628

Scheduling horizon (h) 2C0 0.6534 2C2 0.7540 2C4 0.6846 4C0 4C2 4C4 6C0 6C2 6C4 8C0 8C2 8C4 0.6033 0.4751 0.6136 0.8364 0.6488 0.5489 1.1687 0.9164 0.7979

376

L. Monch, R. Drieel / Computers & Industrial Engineering 49 (2005) 363380

Fig. 3. Level curve diagram for the relative TWT values of Table 4.

in order to represent the relative TWT values. The white regions are used to identify scheduling intervals and additional scheduling horizons where the DSBH-type algorithms perform very well. 5.3.4. Impact of the used SSPs on the solution quality The performance of the DSBH-type algorithms is inuenced by the used SSPs. The experiments show that the usage of a FIFO dispatching rule for non-bottleneck tools does not give poor results. On the other hand, the usage of the ATC dispatching rule increases the performance of the algorithm tremendously in the case of a manufacturing system with moderate load. Table 5 provides an overview of the solution quality of different SSP types. 5.3.5. Impact of the manufacturing system properties on the results In the last series of experiments we study the inuence of manufacturing system properties on the scheduling results. Therefore, we consider only DSBH-I. This makes sense, because we know from

Table 5 Results for different SSPs for DSBH-I with a scheduling interval of 4 h SSP Measure Load H wj D1 D2 M D1 D2 dj Tigh Wide Tight Wide Tight Wide Tight Wide Non-bottleneck tools: ATC CT 0.9199 0.9321 0.9331 0.9463 0.9654 0.9701 0.9723 0.9715 TWT 0.4261 32.9425 0.5520 18.2665 0.7824 1.0000 0.9531 1.0000 TP 1.0064 1.0089 1.0026 1.0166 1.0025 1.0025 1.0000 0.9937 Non-bottleneck tools: FIFO CT 0.9186 0.9282 0.9311 0.9485 0.9647 0.9714 0.9749 0.9773 TWT 0.4023 65.4129 0.4621 6.4870 1.2789 1.0000 1.1391 1.0000 TP 1.0038 1.0064 1.0102 1.0166 0.9899 0.9962 0.9912 0.9887

L. Monch, R. Drieel / Computers & Industrial Engineering 49 (2005) 363380 Table 6 TWT values for DSBH-I and Model B under different system conditions dj wj Load Tight D1 H M 0.8114 1.3001 4.4652 0.7824 1.0078 5.7433 1.1360 1.5071 7.7435 1.6040 1.0374 7.9444 D2 H 0.5086 0.8482 1.8639 0.5520 0.5135 1.7606 0.5069 0.6826 2.2500 0.7887 0.6876 2.3579 M 0.7818 1.0861 5.2177 0.9531 1.3143 7.2782 1.5456 1.2330 7.7015 1.9862 1.6465 10.3494 Wide D1 H 19.6037 15.6616 52.7194 32.9425 46.8161 63.1971 24.6032 33.7240 62.7599 31.6486 17.4543 23.6154 M 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 D2 H 35.3030 24.0158 33.9488 18.2665 6.6493 146.0760 13.6112 30.6390 41.2783 25.0387 5.4700 3.8207 M 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000

377

Scheduling horizon (h) 2C0 0.3677 2C2 0.4108 2C4 1.3295 4C0 4C2 4C4 6C0 6C2 6C4 8C0 8C2 8C4 0.4261 0.4462 1.5133 0.4636 0.4677 1.5081 0.6972 0.6172 2.0676

the previous section that DSBH-I performs almost so good as DSBH-II, but it is not so computational expensive as the former one. Basically we divide the manufacturing systems into system classes, which are hard to control and on the other hand in systems that are easy to schedule. Tight due dates, for example, makes the scheduling problem harder to solve. In contrast, wide due dates make the problem easier. We present the results of computational experiments due to factors from Table 1 that characterize the manufacturing system in Table 6. We can see from Table 6 that a FIFO dispatching rule based control scheme provides the best results in manufacturing systems with wide due dates. In the case of moderate system load FIFO is also very often a good choice. The impact of the weighting scheme is rather small. If the number of lots with a huge weight is increased then usually DSBH-type algorithms perform better. Generally, for harder manufacturing system properties it is useful to apply DSBH-I or DSBH-II. We visualize the entries of Table 6 additionally in Fig. 4. In Fig. 4, the x-axis is used to describe the used scheduling horizon (as pair (tDCtah)) whereas the yaxis is given by the different system properties in the form of due date properties, weight setting, and load of the manufacturing system. Finally, the z-axis is used to show the relative TWT, where we truncated values greater than 3.0. There are several regions that are used to indicate system properties and scheduling horizons where DSBH-I outperforms FIFO. In order to allow comparisons of the solution quality between the distributed shifting bottleneck heuristic and the full shifting bottleneck heuristic we include Table 7 into this paper. We show the ratio of the TWT value obtained by DSBH-I and the TWT value for a full shifting bottleneck approach. We use a scheduling interval of 2 h and an additional horizon of 0 h. Furthermore, we apply ATC-type SSPs. From Table 7 we can see that the suggested shifting bottleneck heuristic provides schedules that are almost so good or even slightly better than schedules obtained by the full shifting bottleneck

378

L. Monch, R. Drieel / Computers & Industrial Engineering 49 (2005) 363380

2.5

1.5

2.5-3 2-2.5 1.5-2 1-1.5 0.5-1 0-0.5 0 2+0 2+2 2+4 Wide-D2-M Wide-D1-M Wide-D2-H Wide-D1-H 4+2 Tight-D2-M 4+4 6+0 6+2 6+4 8+0 8+2 8+4 Tight-D1-M Tight-D2-H Tight-D1-H

0.5

4+0

Fig. 4. TWT results for Table 6 (truncated by relative TWTZ3.000).

heuristic. However, our approach can be run in a concurrent manner on different PCs. Therefore, it is faster. The full shifting bottleneck heuristic performs better in situations with wide due dates and low load of the system. In this situation, the TWT value is often close to zero. Hence, the ratio is large in some cases.
Table 7 Results of DSBH-I relative to a full shifting bottleneck heuristic with a scheduling horizon of 2 h Model Measure Load H wj D1 D2 M D1 D2 dj Tight Wide Tight Wide Tight Wide Tight Wide A CT 0.9952 1.0135 1.0488 0.9591 1.0228 0.9869 0.9886 1.0119 TWT 0.9460 0.9091 1.2726 0.8424 1.2099 0.7062 0.9537 1.2672 TP 1.0222 1.0218 0.9906 0.9796 0.9935 1.0217 1.0016 1.0016 B CT 0.9894 1.0023 1.0011 1.0018 0.9841 0.9683 1.0120 0.9826 TWT 0.9651 0.7806 0.9558 9.4505 0.6306 1.0000 1.5551 1.0000 TP 0.9949 1.0090 1.0089 0.9975 1.0063 0.9962 1.0025 0.9925

L. Monch, R. Drieel / Computers & Industrial Engineering 49 (2005) 363380

379

6. Conclusions and future work In this paper, we discuss several variants of a distributed shifting bottleneck heuristic for complex job shops. We describe the basic two-layer hierarchy and the suggested algorithms. We present results of computational experiments in a simulated wafer fab environment that clearly show that the suggested algorithms outperform dispatching rules and provide a similar solution quality as the original modied shifting bottleneck heuristic. In future research, we have to assess the performance of a distributed implementation of our algorithms. So far, only preliminary results of computational experiments are available that measure the speed up effect of the suggested distribution strategy. It seems that especially for Model B and Model C the running time of the algorithms is signicantly decreased. Up to now, only the conceptually very simple ICA approach is used for determining the internal due dates and ready times. However, we believe that a further performance improvement of the distributed shifting bottleneck heuristic is possible by using a nite capacity production control algorithm. Such a production control algorithm based on the beam search approach is provided, for example, by Habenicht and Monch (2002). Furthermore, it seems to be interesting to consider several rescheduling strategies in an environment with machine breakdowns.

Acknowledgements The authors greatefully acknowledge the support of the Deutsche Forschungsgemeins chaft (DFG).

References
Adams, J., Balas, E., & Zawack, D. (1988). The shifting bottleneck procedure for job shop scheduling. Management Science, 34, 391401. Atherton, L. F., & Atherton, R. W. (1995). Wafer Fabrication: Factory per-form-ance and analysis. Dordrecht: Kluwer Academic. Aytuk, H., Kempf, K., & Uzsoy, R. (2002). Measures of subproblem criticality in decomposition algorithms for shop scheduling. International Journal of Production Research, 41(5), 865882. Brandimarte, P., Rigodanza, M., & Roero, L. (2000). Conceptual modeling of an object-oriented scheduling architecture based on the shifting bottleneck procedure. IIE Transactions, 32, 921929. Demirkol, E., Mehta, S., & Uzsoy, R. (1997). A computational study of shifting bottleneck procedures for shop scheduling problems. Journal of Heuristics, 3, 111137. Demirkol, E., & Uzsoy, R. (2000). Decomposition methods for reentrant ow shops with sequence dependent setup-times. Journal of Scheduling, 3, 155177. El Adl, M.K., Rodriguez, A.A., Tsakalis, K.S. (1996). Hierarchical modeling and control of re-entrant semiconductor manufacturing facilities. In: Proceedings of the 35th Conference on Decision and Control, Kobe, Japan. Fowler, J. W., Feigin, G., & Leachman, R. (1995). Semiconductor manufacturing testbed: data sets. Arizona State University. Graham, R. L., Lawler, E. L., Lenstra, J. K., & Rinnooy Kan, A. H. G. (1979). Optimization and approximation in deterministic sequencing and scheduling: a survey. Annals of Discrete Mathematics, 5, 287326. Habenicht, I., & Monch, L. (2002). A nite-capacity beam-search-algorithm for pro-duction dche-duling in semiconductor manufacturing. In E. Yucesan, C.-H. Chen, J. L. Snowdon, & J. M. Charnes (Eds.), Proceedings of the 2002 Winter Simulation Conference, 14061413.

380

L. Monch, R. Drieel / Computers & Industrial Engineering 49 (2005) 363380

Lawler, E. L. (1977). A pseudopolynomial time algorithm for sequencing jobs to minimize total weighted tardiness. Annals of Discrete Mathematics, 1, 331342. Mason, S. J., Fowler J. W., & Carlyle, W. M. (2002). A modied shifting bottleneck heuristic for minimizing total weighted tardiness in complex job shops. Journal of Scheduling, 5(3), 247262. Mesarovic, M. D., & Takahara, Y. (1989). Abstract system theory Lecture Note in Control and Information Sciences 116. Berlin: Springer. Monch, L., & Rose, O. (2004). Shifting-Bottleneck-Heuristik fur komplexe Produktionssysteme: Softwaretechnische Realisierung und Leistungsbewertung. In: Proceedings Multi-Konferenz Wirtschaftsinformatik, Teilkonferenz Quantitative Methoden in ERP und SCM, DSOR Contributions to Information Systems 2 (pp.145159). Monch, L., Rose, O., & Sturm, R. (2003a). A simulation framework for performance assessment of shop-oor control systems. SIMULATION: Transactions of the Society of Modeling and Computer Simulation International, 79(3), 163170. Monch, L., Stehli, M., Zimmermann, J. (2003b). FABMAS-An agent-based system for production control of semiconductor manufacturing processes. In: Proceedings First International Conference on Industrial Application of Holonic and MultiAgent-Systems (HoloMas 2003), LNAI 2744 (pp. 258267). Berlin: Springer. Ovacik, I. M., & Uzsoy, R. (1997). Decomposition methods for complex factory scheduling problems. Massachusetts: Kluwer Academic. Pabst, D. (2003). Handling precedence constraints for the shifting bottleneck heuristic applied in a dynamic semiconductor manufacturing environment. M.S. thesis. Wurzburg: Universitat Wurzburg. Pinedo, M., & Singer, A. (1999). A shifting bottleneck heuristic for minimizing the total weighted tardiness in a job shop. Naval Research Logistics, 46, 117. Schneeweiss, C. (2003). Distributed decision making. Berlin: Springer. Schomig, A., & Fowler, J. W. (2000). Modelling semiconductor manufacturing operations. In K. Mertins, & M. Rabe (Eds.), Proceedings of the 9th ASIM dedicated conference simulation in production and logistics, 5564. Srivatsan, N., Bai, S. X., & Gershwin, S. B. (1994). Hierarchical real-time integrated scheduling of a semiconductor fabrication facility. Control and Dynamic Systems, 61, 197241. Uzsoy, R., Lee, C.-Y., & Martin-Vega, L. A. (1992). A review of production planning and scheduling models in the semiconductor industry, part I: system characteristics, performance evaluation and produc-tion planning. IIE Transactions on Scheduling and Logistics, 24, 4761. Vargas-Villamil, F. D., & Rivera, D. E. (2001). A model predictive control approach for real-time optimization of reentrant manufacturing lines. Computers in Industry, 45, 4557. Vargas-Villamil, F. D., Rivera, D. E., & Kempf, K. G. (2003). A hierarchical approach to production control of reentrant semiconductor manufacturing lines. IEEE Transactions on Control Systems Technology, 11(3), 578587. Vepsalainen, A. P. J., & Morton, T. E. (1987). Priority rules for job shops with weighted tardiness costs. Management Science, 33(8), 10351047.

Você também pode gostar