LIDS-R-1395 September, 1984 A HIERARCHICAL SCHEDULING POLICY APPLIED TO PRINTED CIRCUIT BOARD ASSEMBLY by Stanley B. Gershwin Laboratory for Information and Decision Systems Massachusetts Institute of Technology Cambridge, Massachusetts 02139 ACKiNOWLEDGEMENTS This research was supporReted by the Manufacturing search Center of the Thomas J. of Laboratory Watrson Research the International Business U.S. by the Co rpo ra t ion and Army Human Engineering Laboraunder contract DAAK- 11tory 82-K-0018. presented at the Material Handling Research Forum Material Handling Research Center Georgia Institute of Technology Atlanta, Georgia 30332 September 11, 1984 ~_1.. . - - '_~"-L _.L I I;~. 'j~. .--. '-, -!. .- A HIERARCHICAL SCHEDULING POLICY APPLIED TO PRINTED CIRCUIT BOARD ASSEMBLY by Stanley B. Gershwin Laboratory for Information and Decision Systems Massachusetts Institute of Technology Cambridge, Massachusetts 02139 ABSTRACT This paper discusses the performance of a new hierarchical production scheduling policy for flexible manufacturing systems. A detailed simulation of an automated printed circuit card assembly line is used as an experimental test bed. This simulation is a model of a line is currently being installed at the International Business Machines Corporation (IBM) plant at Tucson, Arizona. The hierarchical strategy is effective in meeting production requirements (both total volume and balance among part types) while limiting average work-inprocess (WIP). This is a consequence of the nature of the policy whose key elements are a discipline that, at each level of a hierarchy, keeps material within capacity,even in the p re s e n feedback e of . un e r tainty, bdy ubsi n g 1. Introduction While the technology of manufacturing -- including processes and computer hardware and software -- is improving rapidly, a basic understanding of the systems issues remains incomplete. These issues include production planning, scheduling, and control of work-in-process. They are complicated by randomness in the manufacturing environment, particularly due to machine failures and uncertainty and variability in production requirements. The main thrust of the research in manufacturing systems theory now being performed at the MIT Laboratory for Information and Decision Systems Is aimed at the random disturbances that rob plant managers of sleep and factories of productivity. (See the references.) It is our belief that such disturbances can have a major effect on the operation of a plant. Scheduling and planning must take these events into account, in spite of the evident difficulty in doing 5so Early research in manufacturing 5y5tems was directed at a limited range of issues. In particular, a great deal of the work on production scheduling and planning was concerned with the mathemati- cal problem of fitting together the production requirements of a large number of discrete, distinct parts. Such combinatorlal optimization problems are very difficult in the sense that they often require an impractical amount of computer time. Furthermore, they are limited to deterministic problems so that random effects, including machine failures and demand uncertainties, cannot be analyzed. Some work that attempted to represent the random nature of the production process was based on the Jackson network-ofqueues theory. This had some success, but modeling assumptions restrict its appllcability to a narrow range of problems that do not include many important issues, for example, machine failures. A wide variety of methods are available to industry to deal with scheduling and planning. Such methods as MRP tend to be highly computer-intensive, but based on simplistic assumptions. They are often ua'nui'e'l'dy-V- makpoor use -bf---computer and factory resources. MRP systems can run for hours or days on a mainframe computer, but must be periodically rerun because the conditions in the factory inevitably conditions in the factory inevitably change. Such updates are necessarily infrequent because they take so long to perform. Simulation is also widely used in industry to determine scheduling strategies, floor layout, and for other planning problems. It is expensive in both human and computer time since simulations, to be credible, tend be complex and require a great deal of data. Many simulation runs are required to make a decision; the decision parameter must be 'tuned" until optimal, or at least satisfactory, behavior is found. To summarize: researchers use sophisticated analysis methods to solve the wrong problems, and managers run their plants with clumsy tools. This state of affairs may be due to the fact that neither managers nor manufacturing software developers have the background to evaluate the kinds of problems that arise in this context. Both tend to look at scheduling as a da-ta processing problem, rather than a problem which can be treated by methods of dynamic programming. These practioners are not solely to blame for this; many of us in the research community are guilty of talking more than we listen and of solving the problems we know how to solve rather than those that need solving. We propose an alternate approach to factory management that is based on the following fundamental ideas: DISCIPLINE Specified operating rules are required for complex systems. Manufacturing, communication, transportation and other large systems degenerate into chaos when these rules are disregarded or when the rules are inadequate. In the manufacturing context, all participants must be bound by the operating discipline. This includes the shop floor workers, who must perform tasks when required; and managers, who must not demand more than the system can produce. CAPACITY An important element in the discipline of a system is its capacity. Demands must be within capacity or excessive queuing will occur, leading to excessive costs, and possiby to reduced effective capacity. We have developed a concept of capacity which is specific to manufacturing systems. HIERARCHY There are many time scales over which planning and scheduling decisions must be made. The longest term decisions involve capital expenditure or redeployment. The shortest involve the times to load individual parts, or even robot arm trajectories. While these decisions are made separately, they are related. In particular, each long term decision presents an assignment to the next shorter term decision-maker. The decision must ;.e made in a way that takes the resource.-ie, the capacity--explicitly into account. The definition of the capacity depends on the time scale. For example, short-timescale capacity is a function of the set of machines operational at any instant. Long-time-scale capacity is an average of short-time-scale capacity, taking machine availability into account. UNCERTAINTY All real systems are subject to random disturbances. The precise time or extent of such disturbances may not be known, but some statistical measures are often available. For a system to function properly, some means must be found to desensitize it to these phenomena. In a manufacturing system, machine failures, operator absences, material shortages, and random demands are examples of such uncertainties. Desensitization to disturbances is one of the functions of the operating discipline. In particular, the system's capacity must be computed while taking such disturbances into account, and the discipline must restrict requirements to within that capacity. The kinds of disturbances that must be treated differ at different levels of the time scale hierarchy: at the shortest time scale, a machine failure influences which part is loaded next; at the longest scale, economic trends and technological changes influence marketing decisions and thus capital investments. FEEDBACK In order to make good decisions under uncertainty, it is necessary to know the current state of the system. At the shortest time scale, this includes the conditions of the machines and the amount of material already processed as compared with demand. Loading decisions are made on the basis of this information. t is essential, especially at the short time scale, that these decisions are calculated quickly. 2. Flexible Manufacturing Systems A flexible manufacturing system (FMS) consists of several machines and associated storage elements, connected by an automated materials handling system. It is controlled by a computer or a network of computers. The purpose of the flexibility and versatility of the configuration is to meet production targets for a variety of part types in the face of disruptions such as demand variations and machine failures. In an FMS, individual part processing is practical because of the automated transportation system and because the setup or changeover time, the time required to change a machine from doing one operation to doing another, is small in comparison with operation times. The combination of these features enables the FMS to rapidly redistribute its capacity among different parts. Thus, a properly scheduled FMS can cope effectively with a variety of dynamically changing situations. All production systems are subject to disruptive events ranging from sudden changes in demand to machine failures. These disruptions are inevitable and affect the productivity of the system. Their times of occurence cannot be predicted in advance: at best, only an approximate historical record can provide guideA lines on when they can be expected. scheduling policy must provide for these factors. The purpose of the hierarchical policy described in this paper is to efficiently use the available information and system flexibility to anticipate and react to machine failures. 3.Capacity For similar reasons, defining and respecting capacity are important at all levels of the hierarchy. No system can produce outside its capacity and it is futile at best and damaging at worst to try. It is essential, first, to determ:,ine what the capacity is and then to develop a discipline for staying within it. Consider a set of cess T] J part types. states.) From feasibility considerations, the parts can be processed with minimal internal inventories if ,,DI(T) + ji2D2(T) + ... + TJDJ(T) All operations at machines take a finite amount of time. This implies that the rate at which parts can be introduced Into the system is limited. Otherwise, parts would be introduced into the system faster *than they could be processed. These parts would then be stored in buffers (or worse, in the transportation system) while waiting for the machines to become available, resulting in undesirably large work-in-process and reduced effective capacity. The effect is that throughput (parts actually produced) drops with increasing loading rate, when loading rate is beyond capacity. Thus, defining the capacity of the system carefully is a very important first step for on-ln scheduling. sing machine Let uI the time J. ETjU l j The of the (4) Figure I shows how the instaneous capacity set [(a) varies as the machine state a changes. I 1u2 i be of 3 () dem.ndrooe - - 2 type J must be processed at machine i during a period of T seconds. That is, an 4 2, 2 3 4 2 3 4 oa(222) of o.1122) ) ,2 be achieved during this period. 2 c 4 Let T, be the the time available at machine i during the total time period T. (T i is less less because Denote chine i at than of or the equal failures to T. that u It the operational state of matime t by a i (t). That is, i UZ a-(212) 212) 2 , ' I' I, 412 02'1 3 u2 0I (112) 2 4 mu, 2 at m I if machine I is up at time t. (More valued for machines. (1) generally, a, is integera pooled group of identical a is a vector of individual 3 (1121) uZ 4 3 1e ") 2 a.., I 234 (a,(i1l) PARTS PER 0 if machine i is down at time t, 234 a- (221) I-I 2 is occur.) () u4 T 14 2 must hierarchical u(t) e ll(a(t)) the j'th part type at machine . Assume that Dj (T) parts Dj(T) (3) i policy is to impose the following dscipline: at all times t, choose u[t) to satisfy 4 rate V i- and uj 2 0 S a, key element pro- production instantaneous It is feasible - to average the (2) only if it is a member of the instantaneous capacity constraint set I machines proces- Let be ; T1 PRTS PER 234 O,(21) MINUTE NUTE Figure 1. Instantaneous Capacity Sets - 3 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~- Let the av be given by ej e era ge 4.Introduction to the Hierarchical Scheduling Policy availability (5) T, order for the average demand to In feasible over a long period T, (2) must be This is equivalent to satisfied. (6) d e D(e). The average ted in Figure 2. capacity set is represen- Part 2 (parts/minute) The policy described here incorporates both machine status and demand deThat is, scheduling viation feedback. d e c s ons are d e t e r m i n e d o n - i n e based on the current status of each machine in the system and the current difference between production production and demand. Figure 3 outlines the hierarchical structure of the policy which reflects the discipline that must be imposed in Parts are loaded scheduling the FMS. into the system at rates that are constrained to be within the current capacity, which is determined by the current This preset of operational machines. vents congestion from occurring. 5 SYSTEM REQUIREMENTS MACHINE PARAMETERS CONFIGURATION (OPERAT!ON TIMES, 4 MTBF, MTTR) IGENERATE 3 TOP DECISION PARAMETERS [2_ 1 d *'CALCULATE 2 3 4 5 II11 RATES ~~~. MIDDLE REQUIREMENTS LEVEL 6 Part I (parts/minute) -L |SCHEDULE TIMES Figure 2. LEVELOFF-LINE UPDATES _-0 1 DEIS _ __ _. Average Capacity Set DISPATCH PARTS PART ATIONLOWER ON-LINE Note the similarity between (4) and (6). These two statements are written in this way to emphasize their relationship; They are two sets of capacity constraints that function at two different time scales. In order for the required production to be achieved, the loading process must satisfy the short term (instantaand the neous) capacity constraint (4) average production rate must satisfy (6). The first constraint is the responsibility of the workers and foremen on the floor or of the on-line scheduling system; the second is the responsibility of the managers. Respecting capacity, then, is a universal discipline that must be applied in different ways at all levels. _ M_4 MACHINES AND TRANSPORT SYSTEM STATUS SYSTEM Figure 3. Hierarchical Scheduling Policy The middle level is the heart of the scheduler. It determines the short term production rates, taking the capacity conof the system into account. straints Based on these rates the lower level determines the actual times at which parts are loaded into the system. The middle level uses machine status information and demand deviation for its computations. It also needs certain longer term information. This is supplied by the higher level, which computes it from machine data such as failure and repair rate information, and part data such as operation times and demand. S.The IBM Automated Card Assembly Line At IBM's General Products Division at Tucson, an automated card assembly line is being built up in stages, through a series of "minilines." The portion of the system of interest to us is the stage consisting of insertion machines. Printed circuit cards from a storage area upstream arrive at the loading area of the insertion stage. Each card is placed in a workholder and it is then introduced into the system. These workholders move through the system from machine to machine along A SPI SIP2 'Q i - .. ( I... E E,[- Th'., . -1)[1 , 8 . - [D8 F . l. [fig()'"- UL~W' ()-" ,7S / [ IAC.IN.E transportation elements which are controlled by a hierarchy of computers and micro- VCD RECTILINEARCONVEYOR ROTARYI CONVEYOR TRANSPORTATON ELEMENT TYPE-.-- EFERENCE ORIENTATON OFELEMENTS WBUFFER . processors. At each of these machines electronic components are inserted into the card. Each type of card goes to a specific set of machines. The processing time of each card at any machine depends on the number and type of components that are inserted. If a machine is busy or otherwise unavailable, the workholders are stored in a buffer near the machine. Finally the workholders exit the system and go to the downstream stages, which consists of testing and soldering machines. There are several types of insertion machines, each of which inserts one mechanically distinct type of component. The common ones are SIPs (Single In-line Package Inserter), DIPs (Dual In-line Package Inserter), MODIs (Multiform Modular Inserter) and VCDs (Variable Center Distance Inserter). By loading diff erent components, the line can be used to assemble a variety of cards. In order to concentrate on the operational issues of the FMS, we assume that component loading has already been determined. The changeover time is small amongT the family of parts producible with a given component loading. We also restrict our attention to the miniline whose schematic is shown in Figure 4. This consists of a DIP, a VCD and two SIPs. Each of the machines also has an associated buffer, which can hold 30 parts. Figure 4. Card Assembly Line 6.Scheduling Objectives An FMS is normally only one stage of a production process, with other stages preceding and following. This necessitates co-ordinated production scheduling. The schedule must determine the part types and the number of each type to be produced by the FMS over a period of several days. The objective of the short term schedule is to track demand over the course of each day so as to meet the production targets set by the long term schedule. The production target is specified for each j as Dj(T) parts of type j to be made by time T, the production period. The cumulative production WJ(t) is the total amount of material of type j actually produced by time t. The cumulative production must equal the total demand at to ensure that W (T) is is equaI equal to to DJ ( T ) The production PJ ' is of percentage, defined as WE(T) D (T) x 100%, for all j primary _~~Tis importance. is _h (7) This is the production of type j parts expressed as a percentage of total demand for type j. The closer this measure is to 100I7, the better the algorithm is judged to be. H e d g i n g Also of interest is the average workin-process, i.e., the average number of parts of each type present in the sysThe smaller the WIP, the better thetem. algorithm. total number of parts of type J produced and the total number of parts required: Finally, to compare various control policies, it is necessary to aggregate the performance measures by part type, into They are total performance measures. total production percentage iW p-_ (8) x 1QOo xj(t) At time t, the production surplus between the is the difference ( Dt Figure 5 illustrates the cumulative demand Dj[t) being tracked by the cumuOur objective lative production W(t). is to meet production targets as closely as possible at the end of time period T, or, equivalently, to keep xj(T) close to We also assume that it is desirable zero. to keep xl(t) small, for t < T. . Dj J work-in-process. average total and To measure the distribution of production between the various part types, we as balance define mn CUMULATIVE PRODUCTION DEMAND -CUMULATIVE ZC3 Pj (9)] x 100 B 5 --- < 2 Z wO max PJ . This is the ratio of the worst production percentage to the best percentage. 0 Let T 1(used) be the time that machine i processes parts, during the time Machine is operational. Tt that it S[Z is then given by utilization 1 0 ( /Ai LL> // -a D m Z Tl(used) x 1001 )=T 14 If is an with this ratio efficient very little is use idle (10) close of to 100X, there TIME system resources, time. 7.The Hierarchical Scheduling Policy The objective of the hierarchical scheduler is to meet production targets as This is to be closely as possible. achieved in the presence of machine faiFor efficient production, congeslures. tion in the transportation system and in The internal buffers must be minimized. hierarchical policy ensures this by respecting the system capacity constraints. The loss of production due to machine failures is compensated for by hedging, We that is, by building up safety stock. discuss these important concepts in detail below. Figure 5. Production Tracking Demand Keeping the production surplus xj small is an effective way of tracking However, failures result in a demand. One shortfall in production capacity. compensates by building up safety stocks by overproducing point. when possible, up to a Thus, rather than maintaining x(jt) at a value near zero for all t, it is reasonable to maintain it near a level ( O. This is only possible if Hick) the machine state a is feasible, i.e. L if d e i(a) We call If nents Hi(a) hedging point. (12) is not satisfied, some compoof x(t) must decline over time. The scheduler is divided into three levels, as shown in Figure 3. The top level generates the decision parameters ofe the policy. These include the hedging The points Hj(a) and other quantities. repair and failure time data (i.e.the MTBF and MTTR) of the machines and the demand rate and processing times for each part type are required for this calculation. This top level is intended for offline computation. It is designed to be called just once, at the start of a pro-' duction run. However, if failure or repair rates change, it can be called to update the decision parameters. When there is a change in machine state, i.e., when either a machine fails or is repaired, the middle level is called to compute the new values of the short term production rates. It takes the capacity constraints of the system into account and uses the off-line parameters supplied by the higher level. The resulting production surplus or buffer state trajectory is also computed. At the lowest level, parts are loaded into the system so as to follow the buffer state trajectory computed at the middle level as faithfully as possible. M id d l e L e v el At this level, the current production rate uj(t) of each part type is determined for current machine state a(t) and current production surplus x(t). The objective is to compute the production rates such that x approaches and then remains equal to H(a) whenever enough capacity is present. At that time, the production rate uj is set equal to the demand rate dj. If too many machines are unavailable for that, the scheduler choses from among the available production rates a set of rates to control the manner in which the production surplus declines and becomes a backlog. P r or g minimize c1ul + c2 u2 + (12) the n e a r subject to u e ... + am (13) CjUJ l(a) The cost coefficients of the linear program, which are functions of production surplus x, are given by c (x - Aj(a) (xj - Hl(a)]) (14) at the higher level. A1 (a) is a positive quantity that reflects the relative value and vulnerability of each part type. Consequently, coefficients cj are negative when type j is behind and are more negative for more valuable or vulnerable parts. Production rates generated according to this program automatically satisfy the instantaneous capacity constraints. This linear program is not hard to solve online since the number of constraints and unknowns is not large. by The (11). x(t) production surplus x(t) is It is approximately J given t [uft) - d(t)l dt (15) since the function of the lower level is to keep the actual production rate close to the value calculated here. As x(t) changes, the coefficients of linear program change. In principle, it is necessary to solve the linear program at every time instant. This leads to undesirable "chattering" behavior and unnecessary computation. Recent research has found a simple technique for eliminating much of the computation and all of the chattering. The system operates on a random cycle: when the machine state a is feasible (i.e. when (12) is satisfied), the production surplus x approaches H(a) and then stays there. The production rate then equals d. When a machine fails so that the machine state is not feasible, x moves away from H and eventually some or all componennts may become negative. Hi g h e r These desirable characteristics are the result of choosing the production rates as the solution to the following linear programming problem. Level The purpose -7- ~~~~~'-----~~~~~~~~~~~---~~~~~~~-I-c~~~~~~~~ -I-----~~~~~~~~~~~~~~~~~~~~~~~--~'-"I of the top level of the parameters to the middle level. From an analysis of the random cycles described above the value of Hi can be chosen, based on MTBF, MTTR, the penalties for being ahead or behind, and the operation times,to keep xl small. The coefficients Aj a) can be computed from the number of machines that type j parts visit and the relative value of The part more . machinto of part J. The more mvulnerable that part type visits, the more vulnerable that part type is to failures. Also, the smaller the more failures, the between failures, time between the mean time the vulnerability. To simplify our analysis, we assumed that the mean times between failures of all the machines are the same and the values of all the parts are all the same. In our experiments, we chose Ai(a) to be number of machines that type j parts visited and then varied it . vaIThe present methodjs ifor selecting values for A and H are simple and incomplete, but, as the simulations show, they work very well. Lo w e r L e v e I The lower level has the function of dispatching parts into the system in a way that agrees with flow rates calculated at the middle level. The middle level of the scheduler calculates the projected trajectory, xP(t), the best possible future behavior of x(t) if no repairs or failures would occur for a long time. The lower level treats the projected trajectory xP(t) as the value that the actual production surplus xA(t) (11) should be close to. A part of type j is loaded into the system whenever the actual production surplus xjA(t) is less than its projected value XJP (t)t Wh e n there is a machine state change, a new projected trajectory is calculated starting at the time of the change, and the same loading process continues with the new .trajectory. 8.Alternative Policies In this section we discuss three simpler policies. All of them limit the number of parts in the system. The differences lie in the amount of information they use about system status and how they use this information. The important differences between the hierarchical policy and those described in this section are: 1. These policies are not explicitly based on satisfying the capacity constraints although they limit the number Consequently, of parts in the system. there is congestion in the system. 2. They require tuning to perform well. 3. 3. The The policies policies are are not not hierarchical hierarchical and and do not separate the scheduling problem a set of time problems characteristic scales. with As different a consedifficult to analyze quence, they are difficult to analyze difficult to preand their performance simulation. This policy loads a part whose type is furthest behind or least ahead of cumulative demand. A limit N is set on the total number of parts in the system in order to avoid filling up the buffers and transportation system. work verybuffers Also, well. upstream and downstream of the FMS may be have limited capacities, or the cost of extra inventory may be high. Thus even if production is ahead of on excess is set demand, a limit production. P o I i c y Y Policy Y is the same as except that there is a separate Nj for each part type. P o I 1c y policy X threshold Z This differs from Policy Y in that when machine fails, the flow rate of parts going to it should be set to zero. Equivalently, the limit NJ is set to zero when a machinen that type j goes to fails. 9.Simulation Results To test the hierarchical policy and to compare it with Policies X, Y, and Z, simulation experiments were performed in which the system was heavily loaded. That is, machines had to be used for a large percentage of the time they were operational to satisfy demand. This is the only situation in which it is meaningful to Under lighter loading compare policies. conditions, any strategy may be effective. However, light loading is not generally realistic; the cost of capital equipment is such that managers will need to get the most these 'ving effectiveness ture. from an FMS. they can vs Hierarchical Policy X Our runs correspond to an 8-hour examine the We first production shift. policy performance of the hierarchical during a given run, with different values This is of the hedging and A parameters. compared with the performance of Policy X of the threshold values for different The highlimit N on parts in the system. lights of the performance are summarized in Figures 6 and 7. a plot of total producFigure 6 is tion percentage versus in-process-inventory, for different parameter values of the The reference values of two strategies. Hj were points Aj's and hedging the They chosen as described in Section 7. were then varied. objectives of the demonstrates the hierarchical struc- The points corresponding to different parameters are clustered close together. This shows robustness to parameter perturThis is noteworthy because the bations. parameters are computed from demand, machine, and part type data, which are not Any strategy not always known accurately. is preferred. to these unduly sensitive This is a very important characteristic. policy's the simpler contrast, In results are more scattered and correspond to a combination of higher WIP and lower production percentage. The hierarchical policy and Policy X are compared with respect to balance and The production percentage in Figure 7. total production percentage of the hierarchical policy is uniformly high and it is robust with respect to variations in the , hedging point and Al parameters. 100 HIERARCHICAL O 0 x POLICY x U x 0 0 0M0 cra: X HIERARCHICAL lOG ~ z z xPOLICYx <tLX L)i ·* I z 90 _ z u x a.80 "o u "U 80 1j _j Figure 6. I I , I I 22 20 18 16 14 IN-PROCESS INVENTORY I , 010 12 80 24 7 100 TOTAL PERCENT PRODUCED Production Percentage and WIP All the points corresponding to the s chedule r lie In t h e u ppe r hierarchical graph in Figure 6. of the region left productioncy a high total This indicates percentage, and a low WIP (work-in-process). Both high production percentage and low WIP are highly desirable, as we IndiSimultaneously achlecated in Section 6. Figure 7. Production Percentage and Balance X has lower balance, producpercentage, and machine utilization, percentage, and machine utilization, as well as greater sensitivity parameters (N) than the hierarchical ting policy. tion -7-. Comparison With Different Seeds The same type of comparison is conducted between the hierarchical policy and Policy X, but for a set of different seeds Each seed of the random number generator. corresponds to a sequence of machine fallures and repairs. That is, each seed The same value represents a unique day. of N (16) Is used with each seed. The hierarchical policy is run with the same set of seeds. The results, shown in Figures 8 and 9 and are essentially similar to those seen In the previous sub-section. The hierarchical policy achieves higher production percentages with lower WIP and better balance. . BALANCE D MIN PRODUCED PERCENT MAX PRODUCED PERCENT 90 80 70 60 . HIERARCHICAL x POLICY X 50- D SEED 123457 a SEED 987654 o SEED 320957 40 0 The sA 70 65 O 10 1 1f ,1 ,I 12 i I 13 l00 performance of Y the A II 14 15 and , Z hierarchical values of the compared with Figures 10 and 11 show the tive performances of all four The hierarchical strategy has performance. It is better than which is better than Y, which, in better than X. A ,, With. Policies, policy with the reference hedging parameters is also . that of Policies Y and Z. I- I- I ,, I X*, II , , 1 70 80 90 TOTAL PERCENT PRODUCED Comparison o SEED 320957 o SE 3 .80BO.J 0 , Figure 9. Production Percentage and Balance -- Different Seeds x POLICY X c SEED 123457 SEED 123987654 :a100 u: a. 90 so Z i. I 65 comparapolicies. the best Policy Z, turn, is 16 IN-PROCESS INVENTORY Figure 8. Production Percentage and WIP Seeds -- Different There is a particularly great difference between the performances of the hierarchical and Policy X on certain days. The performance of the simpler policy is more variable. I.e., less predictable, from day to day. Thus, even if a policy is tuned carefully for a given run, Its performance is not guaranteed to be good in runs with other seeds. This shows the impracticality of parameter tuning. ! This order is a direct result of the more effective use of information. Policy between part X does not differentiate types and does not make use of machine repair state information. It performs poorly in terms of all measures. Policy Y does much better in terms of average WIP and total production percentage by differentlatlng among part types. Policy Z also makes use of machine state and so has The implilower WIP and higher balance. cation is that effective feedback based on more information results in better performance. The series of policies culminates in the hierarchical policy, whose sophisticated information usage helps it achieve superior performance. 10.Conclusions From the simulation results, we conclude that a hierarchically structured policy described here and elsewhere (Kimemia, 1982: Kimemia and Gershwin, 1983; Gershwin, Akella, and Choong. 1984; Akella, Choong, and Gershwin, 1984) can be very effective in scheduling a FMS. It can achieve high output with low WIP in the presence of machine failures. Further research is required to incorporate other kinds of uncertainties and disturbances In the hierarchical structure. D HIERARCHICAL x POLICY X I-. 0 POLICY X o POLICY Y a POLICY POLCY ZZ 100 The success of the policy is a result of using feedback and adhering to the discipline of respecting system capacity constraints. Capacity limits are not just observed in the long run; they are considered as each part is considered for loading into the system. All relevant machine and system status information is fully utilized. cum: uJ Hi @ 85o t-: 90-I D x X 85 0 12 85 1I.]} Is i I5. 13 14 15 IN-PROCESS INVENTORY I 16 = This approach is robust so that for a wide range of policy parameters it works very well. This obviates the need for precise machine and part data which may It also eliminot always be available. nates the need to use time consuming (and thus infeasible) trial runs. Further research is needed in choosing hedging and Aj parameters for larger systems. The grouping of parts into families when there are a large number of part types Is another research issue. Figure 10. Production Percentage and WIP -- All Strategies A variety of new problems arise when M BALANCENT'~l...L PR we O MIN PERCENT PRODUCTION MAX PERCENT PRODUCTION 0 HIERARCHICAL a SOPHISTICATED 100 0 LESS SOPHISTICATED -xCOMMON SENSE El 95A X explicitly consider the scheduling of an FMS in the context of a factory. The FMS is then one of the stages of the automated production system. It is supplied with raw material by an upstream s100 tage. It must supply the stage which is downstream from it. Co-ordinated production between the different stages becomes a necessity. 90 85 80 0' 85 90 95 100 PRODUCTION PERCENT Figure 11. Production Percentage and Balance Acknowledgments PRODUCTION PERCENT This research was supported by the Manufacturing Research Center of the Thomas J. Watson Research Laboratory of the International Busfness Corporation and by the U.S. Army Human Engineering Laboratory under contract DAAK-11-82-K-0018. References R. Akella, J. P. Bevans, and Y. Choong (1984), "Simulation of a Flexible Manufacturing System," Massachusetts Institute of Technology Laboratory for Information and Decision Systems Report. To appear. R. Akella, Y. Choong, and S. B. Gershwin (1984), "Performance of Hierarchical Production Scheduling Policy," Massachusetts Institute of Technology Laboratory for Information and Decision Systems Report LIDS-FR-1357. S. B. Gershwin, R. Akella, and Y. Choong (1984), "Short Term Scheduling of an Automated Manufacturing Facility," Massachusetts Institute of Technology Laboratory for Information and Decision Systems Report LIDS-FR-1356. J. G. Kimemia (1982), "Hierarchical Control of Production In Flexible Manufacturing Systems," Ph.D. Thesis, Massachusetts Institute of Technology Laboratory for Information and Decision Systems Report LIDS-TH-1215. J. G. Kimemia and S. B. Gershwin (1983), "An Algorithm for the Computer Control of Production in Flexible Manufacturing Systems, IIE Transactions, Volume 15, No.4, December, 1983, pp.353-362. -.,~~~~~~~~~~~~~~~~~ 7--