Scheduling with alternatives: a link between process planning and scheduling

Size: px
Start display at page:

Download "Scheduling with alternatives: a link between process planning and scheduling"

Transcription

1 IIE Transactions (1999) 31, 1093±1102 Scheduling with alternatives: a link between process planning and scheduling ALEXANDER WEINTRAUB, DENIS CORMIER, THOM HODGSON, RUSSELL KING, JAMES WILSON and ANDREW ZOZOM Department of Industrial Engineering, North Carolina State University, Raleigh, NC , USA hodgson@eos.ncsu Received December 1997 and accepted November 1998 The objective of this research is to develop and evaluate e ective, computationally e cient procedures for scheduling jobs in a large-scale manufacturing system involving, for example, over 1000 jobs and over 100 machines. The main performance measure is maximum lateness; and a useful lower bound on maximum lateness is derived from a relaxed scheduling problem in which preemption of jobs is based on the latest nish time of each job at each machine. To construct a production schedule that minimizes maximum lateness, an iterative simulation-based scheduling algorithm operates as follows: (a) job queuing times observed at each machine in the previous simulation iteration are used to compute a re ned estimate of the e ective due date (slack) for each job at each machine; and (b) in the current simulation iteration, jobs are dispatched at each machine in order of increasing slack. Iterations of the scheduling algorithm terminate when the lower bound on maximum lateness is achieved or the iteration limit is reached. This scheduling algorithm is implemented in Virtual Factory, a Windows-based software package. The performance of Virtual Factory is demonstrated in a suite of randomly generated test problems as well as in a large furniture manufacturing facility. To further reduce maximum lateness, a second scheduling algorithm also incorporates a tabu search procedure that identi es process plans with alternative operations and routings for jobs. This enhancement yields improved schedules that minimize manufacturing costs while satisfying job due dates. An extensive experimental performance evaluation indicates that in a broad range of industrial settings, the second scheduling algorithm can rapidly identify optimal or nearly optimal schedules. 1. Introduction Process planning is de ned by the Society of Manufacturing Engineers as ``the systematic determination of the methods by which a product is to be manufactured economically and competitively'' [1]. It is a central function in any manufacturing process. One end result of process planning is a commitment of resources. Most process planning systems assume an in nite capacity of resources on the shop oor and an idle factory when assigning resources to jobs [2±5]. This assumption leads to the repeated commitment of certain popular resources to numerous process plans [6]. These resources are often preferred for technological or economic reasons, but may become bottlenecks in the manufacturing process [2]. As a result, the scheduling of these resources to meet due dates may become an infeasible task, even before the start of manufacturing. Advances in the functionality of process planning have led to extensions in applications and improvement of the links with other activities in the manufacturing process [1, 7±9]. As a result, the link between process planning systems and production scheduling systems has become an interesting topic of research. This paper addresses the concerns of manufacturers trying to meet customer due dates. It extends the methodology developed by Hodgson et al. [10] to include analysis of alternative processing. The problem, in general terms, is as follows. Manufacturers have limited, e ective means to satisfy due dates in a resourceconstrained manufacturing environment. Process plans may be modi ed such that bottlenecks in a production process are avoided, thus allowing on-time completion of jobs that otherwise would have been tardy. However, alternative process plans are typically investigated with localized information and with little analytic insight as to potential schedule improvement. The objective here is to provide a production schedule that optimizes due date performance while minimizing manufacturing cost by taking into account alternative process plans. These alternative process plans are formulated by changing: (a) some of the machines (operations) visited by a job; (b) the sequencing of some of the job's operations; or (c) the job's complete routing (that is, the order of all machines X Ó 1999 ``IIE''

2 1094 Weintraub et al. visited by the job). The classic N-job, M-machine job shop scheduling problem is used as a basic scenario. The goal of the proposed procedure is to choose machines for jobs, and then sequence the jobs such that all due dates are satis ed. Within this structure, manufacturing costs are to be minimized. The use of the maximum lateness, L max, as the performance measure for a production schedule is motivated by industrial necessity. Many manufacturing companies relate customer satisfaction to on-time delivery performance [11]. The quantity L max is a measurement of how well due dates are satis ed in a manufacturing process. If the L max value of a schedule is positive, then at least one job will be tardy so that a customer is not satis ed. If the ``customer'' is another portion of the manufacturing process, such as nal assembly, then production schedules in the nal assembly operation will be delayed until that late job arrives. Objective functions such as minimizing the number of tardy jobs or minimizing the average tardiness could sacri ce the due date performance of some jobs to improve the performance of others. Such an outcome would be unsatisfactory if the goal is to satisfy every due date as closely as possible. 2. Iterative scheduling procedure for N=M=L max One way of evaluating the quality of a schedule that minimizes L max is to compare it with a computed lower bound for L max. The procedure presented here uses a wellknown and straightforward bound [12]. The earliest possible start time, ES im, is computed for each job i on machine m as, ES im ˆ X p ij ; j2m i where m i is the set of all operations previous to machine m on the routing sheet for job i, and p ij is the processing time of job i on machine j. Then, the latest possible nish time, LF im or slack, is computed for each job i on machine m as, LF im ˆ d i X p ij ; 1 j2m i where d i is the due date for job i, and m i is the set of all operations subsequent to machine m on the routing sheet for job i.iflf im is interpreted as the e ective due date for job i on machine m, and ES im is interpreted as the release time (r i ) for job i on machine m, then a lower bound for the N=M=L max problem can be obtained by: (a) solving the N-job, single machine problem N=1=L max jr i problem for machine m; and (b) estimating the maximum lateness for all N jobs in the full M-machine factory based solely on the processing-time delays (and not on the queuing delays) encountered by each job at each machine visited after machine m. Letting LB m L max denote the lower bound on the maximum lateness for all N jobs that is obtained by applying this simpli ed estimation procedure to machine m, we obtain our proposed lower bound for the maximum lateness in the full N-job, M-machine problem N=M=L max : LB L max ˆ max flb m L max g: mˆ1;...;m 2 The power of this lower bound is that there are M opportunities to get a tight bound. Since N=1=L max jr i is NP-hard, and the goal is to solve large problems quickly, a relaxation, suggested by Baker and Su [13], is used. The relaxation allows preemption of a job in-process whenever one with a more imminent due date becomes available. This solution approach for the lower bound does not produce the tightest bound possible, but it is computed very quickly, and as it turns out, is e ective. The lower bound is computed in our procedure before any attempt to build a schedule is made. If the procedure nds a schedule with L max ˆ LB L max, it terminates. For the problem of minimizing L max in a job shop, due date based rules have been proven to be e ective [14]. Due date based rules include Earliest Due Date (EDD), slack, job slack ratio, and slack per operation [15]. In a recent paper, Hodgson et al. [10] presented a simulationbased scheduling procedure for minimizing L max. With the availability of computerized shop- oor information systems, the following information can be provided in real time for every job on the shop oor: location, machine operations required for completion, and the due date [11]. The simulation-based scheduling procedure utilizes this shop oor information to develop schedules that are both e ective and e cient in providing optimal, or near optimal solutions. The rest of this section brie y describes the procedure to minimize L max. Due date ordering is an obvious choice for dispatching the jobs at each machine to minimize L max. To determine the initial due date for each job i, at each machine m, the e ective due date is calculated as in (1). Here, LF im represents the latest possible time that job i can nish on machine m and still satisfy its nal due date ± that is, the job's slack. In early experimental tests, slack did not perform particularly well as a sequencing tool [16]. This result is because slack, as de ned in (1), does not take into account queuing that may occur as the job is routed over subsequent machines. A straightforward solution to this problem is to estimate each job's queuing time at each machine. Queuing time estimates are performed by successive approximations using deterministic simulation. Vepsalainen and Morton [17] have used a similar approach while comparing the performance of di erent dispatching rules for the weighted tardiness problem. In our procedure, the shop is simulated with jobs dispatched at each machine in order of increasing slack. Note that this is a transient simulation starting from the present state of the system (shop oor) and running until completion of all jobs.

3 Scheduling with alternatives: a link between process planning and scheduling 1095 Queuing times are recorded for each job at each machine visited. A revised latest possible nish time for job i on machine m, LF 0 im, is then calculated using the queuing times (q ij ) observed from the simulation, LF 0 im ˆ d i X p ij X q ij ; 3 j2m i j2m i where q ij is the queuing time for job i at machine j, and is the set of all subsequent operations to machine m on the routing sheet for job i except the immediate subsequent operation. Each iteration of the simulation uses the revised late- nish times (3) from the previous iteration to dispatch jobs at each machine; and the resulting maximum lateness L max observed in the current simulation is compared to the original lower bound LB(L max ) de ned by (2). Successive iterations of the simulation are performed until an iteration limit is reached, or until the most recent simulation-generated L max value has reached LB(L max ), or has converged to some larger limit. On small problems, the procedure may converge exactly (i.e., subsequent simulations are exactly the same). Experience has shown that the simulation-generated queuing times and L max values tend to stabilize after three to 10 iterations. If the procedure does not achieve the original lower bound LB(L max ), then it continues for a xed number of iterations, with the best solution being saved. The procedure outlined above was tested on several di erent problems, both real and generated [10]. The real problems were downloaded from an MRP system in a large furniture manufacturing plant [4]. A methodology outlined by Demirkol, et al. [18] was used to create the randomly generated problems. The procedure performs best on larger problems. The reason may be that the lower bound LB(L max ) is tighter for larger problems. Since the bound is calculated for all machines, problems with larger numbers of machines tend to produce tighter bounds. Scheduling problems that include alternative process plans are too large to address directly. This observation comes from the review of a literature in which the largest problem solved was on the order of 10 machines and 10 jobs [19]. Clearly, an heuristic method for identifying promising process plans without a full enumeration of the problem is needed. Tabu search is one such method that has been shown to work well on problems that have previously proven to be computationally complex [20]. m i 3. Scheduling with alternative process plans Most of the previous work for scheduling with alternative process plans has focused on the selection phase of a process plan for a job. The selection criteria proposed by many researchers has been static (e.g., number of setups, number of resources utilized) with little input about current shop oor conditions. Many of the approaches in the literature select alternative process plans such that the majority of jobs visit a set of common resources, creating bottlenecks in the manufacturing process that will cause jobs to be tardy. These resources are often preferred for technological or economic reasons [21]. As a result, the scheduling of over-committed resources to meet customer due dates may become an infeasible task, even before the start of manufacturing. Studies show that 20±30% of process plans in job shops are not valid and have to be modi ed when production starts [3,22±24]. An approach to evaluate alternative process plans using tabu search is presented. Due to the complexity of the problem, attempting to solve it from the outset is computationally overwhelming. The proposed procedure selects process plans based upon a lower bound calculation of L max. As a result, only the sets of process plans that potentially are good solutions are evaluated. Tabu search directs the pursuit for these potentially good solutions using the lower bound calculation for L max presented earlier De nitions for a tabu search procedure for scheduling with alternative process plans to minimize L max Let the vector X ˆ x 1 ;x 2 ;...;x N represent an array of process plans for N jobs, where x i represents the process plan chosen for job i from a set of alternatives. Let a i represent the number of process plans available to produce job i. There is a cost associated with each operation of a process plan. The total cost of process plan x i, C x i, is the aggregate value of the cost associated with each operation in the routing of the process plan. Let C X represent the total cost of the process plans in set X. The quantity C X is de ned as, C X ˆXN C x i : iˆ1 Let Z be a member of the neighborhood set, A X, given the current solution point X. The vector Z also represents an array of process plans for all jobs. The process plans in Z are identical to the set of plans in X except for the process plan of a single distinguished job, for which an alternative process plan is selected. The cardinality of A X is, ja X j ˆ XN iˆ1 p i N 1: A lower bound for L max, LB(L max Z ), is calculated for each Z 2 A X. However, there is a cost of using the given set of process plans in Z. Therefore, a ratio, R, of lower bound over cost is calculated for each neighbor, Z. The quantity R is de ned as, R ˆ LB L max X LB L max Z ; C Z

4 1096 Weintraub et al. where LB(L max X ) is de ned as the lower bound on L max for the current solution point, X. This ratio is meant to determine which member of the neighborhood set has potential to result in the largest reduction in the lower bound on L max for the least cost, relative to the current solution point, X The tabu search procedure Using the above de nitions, an iterative move of the tabu search procedure is as follows. Step 1. Let R 1, X 0;0;...;0, where R is the ratio, DLB=C X, for the currently best neighboring solution point X. Step 2. Let n 1. Step 3. For the current solution X ˆ x 1 ;...;x n ;...;x N, let fx k n : k ˆ 1;...;a n g represent all of the possible process plans for job n. Step 4. For each k: 1ka n,x k n 6ˆ x n, a. Let Z x 1 ;...;x n 1 ;x k n ;x n 1;...;x N denote the next trial solution so that Z and X di er only in the nth element ± that is, the process plan for job n. b. Let DLB LB L max X LB L max Z. c. Let C C Z. d. Let R DLB=C. e. If R > R, then R R; X Z. Step 5. Let n n 1. Step 6. Repeat from Step 3 if n N. Step 7. Return X X as the next current solution point. A tabu search for scheduling with alternative process plans requires the identi cation of neighboring solutions to the current solution point, X. The member of the neighborhood set, A X, that has the largest ratio value, R, and is not tabu is selected as the solution point X for the next iterative step. Figure 1 depicts the tabu procedure developed for scheduling with alternative processes plans. In this procedure, only the speci c process plans for speci c jobs are designated tabu instead of an entire solution. The vector T represents the tabu list consisting of all process plans that are forbidden for speci c jobs. The length of T is a critical factor in designing a tabu search procedure. The length of the tabu list indicates how long a speci c process plan for a speci c job remains tabu. A long tabu list length indicates that local exploitation of the search space is paramount. Local optimal points are designated tabu long enough to force the search procedure to evaluate other less promising solution points in the neighborhood. In contrast, a short tabu list would emphasize exploration of the search space. Once a good solution point is found, the neighborhood of that solution is aggressively evaluated. If a better solution point is not discovered quickly, the procedure moves onto Fig. 1. Tabu search procedure for scheduling with alternatives. other areas in the search space. A common practice is to vary the tabu list length. Dynamically altering the length of the tabu list allows for a balance between global exploration and local exploitation of the search space. However, if a currently tabu process plan can be used to construct a trial solution Z that yields the smallest value of LB(L max Z ) observed so far in the tabu search, then the tabu classi cation is overridden. Such a condition is called an aspiration condition. This aspiration criteria is coupled with a random restart function. If, after a number of iterations into the tabu search, there is no improvement in the smallest observed value of LB(L max Z ), then the procedure randomly restarts at a new solution X in the space of all feasible solutions; and the tabu list T is cleared of all entries. The purpose of the random restart function is to ensure that a large portion of the search space is evaluated. In the procedure depicted in Fig. 1, the selection of a tabu process plan (e.g., x k n 2 T ) is allowed if the solution value (that is, the corresponding value of LB(L max Z )) from this move would result in a better solution. This override function is the aspiration condition for the procedure. Whenever such an override occurs in the procedure, that solution point is immediately returned as

5 Scheduling with alternatives: a link between process planning and scheduling 1097 the next solution point for the tabu search procedure. For the random restart function, the procedure randomly restarts itself if after 10 tabu iterations the best known lower bound value for L max has not improved. 4. Experimental investigation The developed scheduling procedure was used to solve a set of randomly generated test problems for which the range of the due dates varied. Due date range is related to the number of jobs to be completed per day in order to satisfy all due dates. At low values of due date range, the number of jobs that must be completed per day is high. As the due date range increases, the number of jobs to be completed per day decreases. The number of jobs to be completed per day can be interpreted as the load on a factory. It is well established in the literature that di erent levels of work loads on a factory require di erent scheduling heuristics to minimize the same objective function [25]. Process plans were randomly generated for each job. The method of Demirkol et al. [18] for generating problems was employed. This methodology uses range, R, and the percentage of tardy jobs, T, as parameters for generating due dates. It was found instructive to view solution data as a function of range only, as adding or subtracting a constant to all due dates does not change the optimal solution of an L max problem. All processing times for the experiments were generated from a Uniform distribution, U[1,200]. The cost of each processing operation was Uniformly distributed, U[10,100]. The cost of a process plan was the aggregate cost of each processing operation required in the routing. The number of alternative process plans for jobs was xed at two. While there are cases with more than two process plans for a job, manufacturers often consider only a primary and secondary route when dealing with alternatives. The initial solution vector X represents the set of lowest cost process plans for all jobs, or all preferred plans for each job i. A lower bound for L max, LB(L max X ), is calculated for this initial vector, X. The total cost of X, C X, is also calculated. For this procedure, the tabu list length was chosen from a Uniform variate, U[N=2; N], where N is the number of jobs. The results of the experimentation required two phases of examination: evaluation of the proposed procedure to schedule with alternatives, and evaluation of the attractiveness of scheduling with alternatives via this procedure. To evaluate the ability of the procedure to schedule with alternatives, we examined the results versus a lower bound and the CPU time required to achieve these results. To evaluate the attractiveness of scheduling with alternatives, we compared several problems that were scheduled, rst, without any alternatives available, and then with alternatives available. The reader should note that due to space considerations, a limited number of problem solutions are presented here. However, the results are consistent with a much larger range of problems actually solved [10] Evaluating the procedure's performance Twenty random test problems were generated based on several scenarios in which the number of jobs, the number of jobs with alternatives, the number of machines, and the operations per job were varied. For each problem set, the 20 most promising solution points identi ed by the tabu search procedure were recorded. These solution points were then input to the ``Virtual Factory'' simulationbased scheduling system [10]. The ensuing graphs show the di erence between the lower bound for L max and the resulting L max from the ``Virtual Factory'' on the vertical axis. The due date range for the jobs is indicated on the horizontal axis. The graphs depict the following for each due date range value: (1) the average di erence from the lower bound for all 20 solution points across all 20 problem sets; (2) the average di erence value of the best solution for each problem over all 20 problem sets; and (3) the di erence of the worst solution for each problem over all 20 problem sets. The expected processing time, E p im Š, of job i on machine m has a value of for all i and m; and this is plotted on all graphs. As Figs. 2 and 3 depict, the simulation-based scheduling procedure does a good job of nding solutions that are optimal or near optimal for minimizing L max. The average di erence between the ``Virtual Factory'' L max and the lower bound of L max stays below E p im Š for greater ranges of the due dates, and the quality of the solutions improves as the number of jobs and machines increase (Fig. 2 versus Fig. 3). Again, this result is consistent with a much larger experimental base [10]. Fig. 2. Fifty jobs/10 machines/ ve operations per job.

6 1098 Weintraub et al. Fig. 3. Two thousand ve hundred jobs/100 machines/5 operations per job Evaluating solution quality versus computational time One of the major problems with scheduling with alternative processes has been producing schedules in an ``acceptable'' amount of time. Figure 4 depicts the solution quality and CPU trade-o as the procedure is allowed to run for larger numbers of tabu iterations discussed in Section 3.1. The ``Virtual Factory'' was allowed to run for a varying number of iterations on 20 random test problems. In Fig. 4(a), each test problem consisted of 1000 jobs and 100 machines. Each job has ve operations. As depicted in Fig. 4(a), the average CPU time is nonlinear as the number of iterations increases. The average solution quality of a problem for a given number of tabu iterations was compared to the solution found after 1000 iterations; and the di erence between these two quantities is the ``average delta'' plotted in Fig. 4(b). This measurement is labeled as ``Average'' in Fig. 4. The worst value of these comparisons is also plotted, and is labeled as ``Worst Case.'' As can be observed in Fig. 4, there is little improvement in the quality of the solution after 100 tabu iterations as compared to 1000 iterations for the large problem. On average, 100 iterations produces a near optimal schedule in just over 4.5 minutes whereas 1000 iterations produces a schedule in 92.5 minutes (on a 200 MegaHertz PC). This comparison is only one example, and will vary depending on the problem size and distribution of alternative costs. For smaller problems, there was no di erence in the quality of the solution generated after 100 iterations as compared to Thus, 100 iterations can be thought of as a minimum number of iterations to undergo for any size problem Evaluating the attractiveness of alternatives To evaluate the impact of alternatives on a shop oor, a set of jobs was scheduled to minimize L max. These jobs Fig. 4. (a and b) CPU/solution quality trade-o versus iterations (1000 jobs/100 machines). were scheduled once without alternatives (i.e., xed process plans) and again with alternatives available. This experimentation was conducted for each of the three types of alternatives. To estimate the expected reduction in lateness that is achieved with a given number j of alternatives and for a xed number of jobs (for example, 50 jobs), a two-stage Stein-type procedure [26] was employed. On the basis of a pilot study consisting of 20 independent samples of 50 jobs each, an estimate of expected reduction in lateness to an accuracy of 100c% with probability 1 a required a total number of independent samples of 50 jobs. The quantity a is de ned as the con dence coe cient and c as the level of precision for estimating average reduction in lateness as a function of the number of alternatives. Typically, c had a value of 0.1 and a had a value of 0.01 so that the expected reduction in lateness achieved with j alternatives could be estimated to an accuracy of 10% with probability of If j takes the values 1;...;a successively, where a is the number of jobs with alternatives, then by the Bonferroni inequality [27], all of the resulting con dence-interval estimates of the expected

7 Scheduling with alternatives: a link between process planning and scheduling 1099 reduction in lateness achieved with j alternatives are simultaneously valid with overall probability at least 1 aa. Thus, a straightforward visual inspection of the nal con dence intervals produced by this experimental procedure for j ˆ 1;...;a, yields a de nitive comparison of the e ects of varying numbers of alternatives on the expected reduction in lateness Results of scheduling with alternative sequencing Alternative sequencing involves shu ing the order in which manufacturing processes can be executed to complete a job's routing. In some industries, a common practice is to have the rst and last operations of a routing xed. However, assume the processes in between can be executed in any order. The practical result of alternative sequencing is to allow jobs that would otherwise wait in a queue at a bottleneck machine to undergo service at some other under-utilized machine required in its routing. Alternative sequencing is useful for manufacturing processes in which many related jobs tend to visit all of the same machines. In that case, jobs continually encounter a bottleneck machine and must wait in a queue. For the experimentation, a bottleneck machine was randomly designated. When randomly selecting machines to form a job's routing, jobs have a probability of visiting the bottleneck machine. The probability of visiting the bottleneck machine was a design parameter for the experimentation. If a job visited the bottleneck machine, then an alternative process plan was formed by interchanging the bottleneck operation with the next operation in the routing. But this interchange was only permitted if the next operation in the routing was not the last operation in the routing. Table 1 illustrates the reduction in L max that is realized when employing alternative sequencing. The problem size for this experimentation was 50 jobs and 10 machines. Each job has ve operations. The statistic D is de ned as the average of the di erences between L max for a sample problem without alternatives and the same problem with an alternative sequence of processes. The statistic S D is de ned as the estimated standard deviation of D based on 20 independent replications of D for a xed number of alternatives j. The quantity E LŠ is the expected load of jobs on the bottleneck machine compared to the other Table 1. Performance improvement with alternative sequencing Probability selecting bottleneck machine D SD E[L] (%) machines. The results indicate that there was no statistical signi cance for employing alternative sequencing when the probability of visiting a bottleneck machine was 0.15 or 0.2. Even for the larger probabilities, there was little performance improvement at all. The largest improvement realized in utilizing alternative sequencing was still less than E p im Š (i.e., 100.5). Of the three di erent types of alternatives practiced in industry (operations, sequencing, routings), sequencing tends to produce the smallest improvement as compared to the other two types of alternatives. This nding is not only represented in the results compiled in this research, but is also a conclusion of other researchers [21]. However, designing an experiment to incorporate alternative sequencing was also the most di cult of the three alternative types. Sequencing on the shop oor can occur in a variety of ways. The approach taken in this research was conservative. Although the results of this experiment indicate that alternative sequencing does not greatly improve the performance of satisfying due dates, this observation may not be the case for all scenarios of employing alternative sequencing Results of scheduling with alternative routings An alternative routing for a job is a set of resources that can accomplish the same manufacturing processes as the primary routing. Alternative routings represent complete routing alternatives for a job as might be seen in cellular shops. To avoid a bottleneck machine in a cell, the entire cell maybe avoided by re-routing the job to a di erent cell with common manufacturing capabilities. In the experimentation, alternative routings were generated randomly. The cost for the alternative routing was calculated by aggregating the cost of each processing operation required in the routing. However, the alternative routing cost was then increased by 50%. This cost structure ensures that the preferred process plan has priority over the alternative routing. However, if the alternative routing is selected over the preferred routing, there is a cost for using some of these operations. Although this cost structure is not representative of all manufacturing shops that employ alternative routings, it is a conservative method to indicate a preference for the primary routing over the alternative one. The percentage of jobs that had an alternative routing available was a design parameter for the experimentation. Table 2 presents the reduction in lateness realized when there are a number of jobs available with alternative routings. Again, there are 50 jobs each with ve operations, and there are 10 machines. The 10 machines are evenly loaded with work. Let D now be de ned as the average of the di erences for L max for a sample problem without alternatives and the same problem with an alternative routing available for a certain percentage of the 50 jobs. As can be observed from Table 2, alternative routings improve the performance of jobs satisfying their due

8 1100 Weintraub et al. Table 2. Performance improvement with alternative routings Percentage of jobs with alternative routings 20% 40% 60% 80% 100% D SD dates by decreasing L max. The improvement continues to increase as more jobs have an alternative routing available Results of scheduling with alternative operations An alternative operation is the simplest and potentially most rewarding alternative to employ. O -loading jobs from a bottleneck machine is a common practice in industry. Most shops can identify the bottlenecks in their manufacturing process. O -loading jobs from this bottleneck is a sound method to alleviate congestion. An alternative operation allows a job to be o -loaded from a bottleneck machine to an under-utilized resource that can accomplish a similar manufacturing process. In this experimentation, a bottleneck machine was randomly designated. All jobs have a probability of visiting the bottleneck machine. The probability of a job visiting this machine was varied for di erent problems. An alternative for the bottleneck machine was then randomly chosen. Table 3 presents the improvement in L max realized by avoiding the bottleneck machine by scheduling with alternative operations in a job shop with, for this example, 50 jobs and 10 machines. Each job has ve operations. The statistic D is de ned as the average of the di erences between L max for a sample problem without alternatives and the same problem with an alternative process for the bottleneck machine. The statistic S is de ned as the sample variance of D. The quantity E LŠ is the expected load of jobs on the bottleneck machine compared to the other machines. Table 4 presents the improvement in L max by employing alternative operations for a larger problem size (200 jobs with 20 machines). As Table 3 depicts, scheduling with alternative processes to avoid bottleneck machines can have a profound e ect on due date performance. In the case where half the Table 3. Performance improvement with alternative operations for 50 jobs/10 machines Probability of selecting bottleneck machine D SD E[L] (%) Table 4. Performance improvement with alternative operations for 200 jobs/20 machines jobs on a shop oor are expected to visit a common machine center, allowing an alternative for this bottleneck machine decreases L max by almost 18 expected cycle times E p im Š is 100.5). This result is even more apparent in the larger problem, as indicated by the results in Table 4. Thus, the ability to select a process plan to avoid a bottleneck machine depending on the status of the other jobs and their routings has a profound e ect on improving the performance of jobs satisfying their due dates. 5. Conclusion Probability of selecting bottleneck machine D SD E[L] (%) A procedure for scheduling jobs with alternative processes in a general N-job, M-machine job shop has been presented. The objective of this procedure is to minimize manufacturing costs while satisfying job due dates. Jobs' process plans with alternative routings, operations, and sequences are selected according to current shop oor conditions. Previous methodologies for scheduling with alternatives have relied on static conditions to select a process plan for a job. The experimentation results indicate that in a broad range of industrial settings, the procedure for scheduling with alternatives can identify optimal or near optimal schedules in an e cient manner. This procedure yields improved schedules that minimize manufacturing costs while satisfying job due dates. The ndings of this research have several important implications. First, there are substantial di erences in schedule performance between scheduling with alternatives and scheduling without alternatives given the design of experiments used in this research. Scheduling with alternatives can greatly improve the ability to satisfy due dates under various shop oor conditions. Second, there are substantial di erences in schedule performance between scheduling with alternative routings, operations, and sequences. Scheduling with alternative operations had the largest schedule improvement and scheduling with alternative sequences had the smallest schedule improvement. Finally, previous attempts to schedule large manufacturing systems with alternatives have proven computationally expensive. The computational e ciency of this approach allows for near real-time analysis.

9 Scheduling with alternatives: a link between process planning and scheduling 1101 Acknowledgments AW, DC, TH, RK and AZ were supported in part by the Furniture Manufacturing and Management center, North Carolina State University. TH and RK were additionally partially supported by the O ce of Naval Research under contract N J References [1] Alting, L. and Zhang, H.-C. (1989) Computer aided process planning: the state-of-the-art survey. International Journal of Production Research, 27(4), 553±585. [2] Chang, T.C. and Wysk, R.A. (1985) An Introduction to Computer- Aided Process Planning Systems, Prentice Hall, Englewood Cli s, NJ. [3] Liao, T.W., Coates, E.R., Aghazadeh, F., Mann, L. and Guha, N. (1994) Modi cation of capp systems for capp/scheduling integration. Computers and Industrial Engineering, 26(3), 451±463. [4] Weintraub, A. and Cormier, D. (1997) A testbed for scheduling with alternative process plans. Intelligent Automation and Soft Computing, 3(3), 231±238. [5] Zhang, H.-C. (1993) Ippm ± a prototype to integrate process planning and job shop scheduling functions. Annals of C.I.R.P., 42(1), 513±518. [6] Zhang, H.-C. and Huang, S.H. (1994) A fuzzy approach to process plan selection. International Journal of Production Research, 32(6), 1265±1279. [7] El Maraghy, H.A. (1993) Evolution and future perspectives of capp. Annals of C.I.R.P., 42(2), 739. [8] Maturana, S., Balasubramanian, S. and Norrie, D.H. (1996) A multi-agent approach to integrated planning and scheduling, in Proceedings of the International Conference on Concurrent Engineering: Research and Applications, pp. 272±279. [9] Wang, H.-P. and Li, J.-K. (1991) Computer-Aided Process Planning, Elsevier, New York. [10] Hodgson, T.J., Cormier, D., Weintraub, A.J. and Zozom, A. (1998) Satisfying due-dates in large job shops. Management Science, 44(10), 1442±1446. [11] Ovacik, I.M. and Uzsoy, R. (1996) Decomposition methods for scheduling semiconductor testing facilities. International Journal of Flexible Manufacturing Systems, 8, 357±388. [12] Carlier, J. and Pinson, E. (1989) An algorithm for solving the jobshop problem. Management Science, 35(2), 164±176. [13] Baker, K.R. and Su, Z.-S. (1974) Sequencing with due dates and early start times to minimize maximum tardiness. Naval Research Logistics Quarterly, 21, 171±176. [14] Morton, T.E. and Pentico, D.W. (1993) Heuristic Scheduling Systems: With Applications to Production Systems and Project Management, Wiley, New York. [15] Blackstone, J.H., Phillips, D.T. and Hogg, G.L. (1982) A state-ofthe-art survey of dispatching rules for manufacturing job shop operations. International Journal of Production Research, 20(1), 27±45. [16] Carrol, D.C. (1965) Heuristic sequencing of single and multiple component jobs. Ph.D. thesis Massachusetts Institute of Technology, Cambridge, MA. [17] Vepsalainen, A.P.J. and Morton, T.E. (1988) Improving local priority rules with global lead-time estimates: a simulation study. Journal of Manufacturing and Operation Management, 1(1), 102± 118. [18] Demirkol, E., Mehta, S. and Uzsoy, R. (1996) Benchmarks for shop scheduling problems. Research Memorandum 96-4, School of Industrial Engineering, Purdue University, West Lafayette, IN. [19] Palmer, G.J. (1994) An integrated approach to manufacturing planning. Ph.D. thesis, University of Hudders eld, Hudders eld, UK. [20] Glover, F., Kelley, J.P. and Laguna, M. (1996) New advances and applications of combining simulation and optimization. Proceedings of the Winter Simulation Conference, in Charnes, J.M., Morrice, D.J., Brunner, D.T. and Swain, J.J. (eds), pp. 144±152. [21] Hou, T.-H. and Wang, H.-P. (1991) Integration of a capp system and an fms. Computers and Industrial Engineering, 20(2), 231± 242. [22] Hon, K.K.B. (1986) Stabilized sequence planning system, in Proceedings of the First International Conference on Computer- Aided Production Engineering, pp. 175±177. [23] Khoshnevis, B. and Chen, Q. (1989) Integration of process planning and scheduling functions, in Proceedings of the IIE Integrated Systems Conference, pp. 415±420. [24] Tonsho, H.K., Bechendorf, U. and Schaele, M. (1987) Some approaches to represent the interdependence of process planning and process control, in Proceedings of the C.I.R.P. International Seminar on Manaufacturing Systems, pp. 257±271. [25] Lee, C.-Y., Piramuthu, S. and Tsai, Y.K. (1997) Job shop scheduling with a genetic algorithm and machine learning. International Journal of Production Research, 35(4), 1171±1191. [26] Stein, C. (1945) A two-sample test for a linear hypothesis whose power is independent of the variance. Annals of Mathematical Statistics, 16(1), 243±258. [27] Bowker, A.H. and Lieberman, G.J. (1972) Engineering Statistics, Prentice Hall, Englewood Cli s, NJ. Biographies Denis Cormier is an Assistant Professor of Industrial Engineering at North Carolina State University. He received a BSSysE from the University of Pennsylvania, a Master's in Industrial Engineering from SUNY at Bu alo, and a Ph.D. in Industrial Engineering from North Carolina State University. His research interests include computeraided process planning, parametric feature-based CAD, and rapid prototyping. Thom J. Hodgson is the James T. Ryan Professor of Industrial Engineering and Director of the Integrated Manufacturing Systems Engineering Institute at North Carolina State University. He received a BS in Science Engineering, an MBA, and a Ph.D. in Industrial Engineering from the University of Michigan. He is a member of IIE (Fellow), INFORMS, SME, and Alpha Phi Mu. His research interests include production planning and control, scheduling, and applied military operations research. Russell King is a Professor of Industrial Engineering at North Carolina State University and has been on the faculty since Previously, he worked as a Systems Analyst for Dynamac Corporation of Rockville, Maryland and the Naval Aviation Depot at the Jacksonville Naval Air Station. He received a Bachelor's degree in Systems Engineering and a Master's and Ph.D. in Industrial Engineering from the University of Florida. His research interests include control and scheduling or production systems and demand activated manufacturing/supply systems and is currently a liated with the National Textiles Center and AM- TEX. He is an Associate Editor of the IIE Transactions and is a member of ASEE, IIE, INFORMS, and SME. James R. Wilson is Professor and Director of Graduate Programs in the Department of Industrial Engineering at North Carolina State University. His current research interests are focused on the design and analysis of stochastic simulation experiments, with particular emphasis on input modeling, e ciency improvement techniques, response-surface modeling and analysis techniques, and simulation optimization.

10 1102 Weintraub et al. He is also interested in applications of these techniques to production and manufacturing systems, especially quick response systems for textile/apparel manufacturing. Alexander J. Weintraub is a senior consultant with Carolina Power and Light in Raleigh, NC. He received his Ph.D. in I.E. from North Carolina State University, his M.S. in Mechanical Engineering from Columbia University, and his BSME from Rensselaer Polytechnic Institute. He is a member of Alpha Pi Mu, INFORMS, and IIE. His interests include production and manufacturing systems, scheduling, and simulation optimization. His dissertation, on which this paper is based, was a 1999 IIE Pritsker Doctoral Dissertation Award Winner. Andrew Zozom, Jr. is a Senior Consultant with Royal Caribbean Cruises in Miami, Florida. He received a B.S. degree in Industrial Engineering and Operations Research from Virginia Tech in 1990, and M.S. and Ph.D. degrees in Industrial Engineering from North Carolina State University in 1996 and 1998 respectively. His research interests include production and manufacturing systems, scheduling, objectoriented simulation, and nite capacity planning systems.