Rate-Based MRP Robert C. Leachman Engineering Systems Research Center University of California at Berkeley Berkeley, CA 94720-1750 Jose F. Goncalves Departamento De Engenharia Mecanica Universidade Do Porto Porto, Portugal Abstract The usual application of MRP (material requirements planning) systems involves the generation of order quantities (requirements) by due date for every stage of production. In high-level applications of MRP to multi-plant repetitive manufacturing environments, management desires production schedules that are level rates in relatively large time periods such as weeks. MRP systems can be used to generate such schedules, but with the proviso that the lead time parameters are integer multiples of the period length. Unfortunately, the most appropriate lead time parameters are not integers, requiring one to round up planning lead times to apply MRP. This paper proposes modifications to the basic MRP algorithm so as to accommodate arbitrary (non-integer) lead times in the generation of rate-based production schedules. To do this, we re-interpret the MRP algorithm to express it as a series of manipulations of cumulative production curves, and then extend the algorithm for the case that production schedules of non-integer processes must be rate-based in integer periods. The modifications are computationally practical, and the resulting schedules offer significant reductions in interplant inventory compared to the result of the usual MRP calculations with rounded-up lead times. 1 1. Introduction MRP logic is commonly applied in company-wide, supply-chain planning at multi-plant companies engaged in the repetitive manufacture of high-volume products. The products or levels of the MRP product structure tend to correspond to production processes sited in different manufacturing plants. A typical process produces an intermediate product serving as input material for other processes operated in other plants. Each manufacturing process is characterized by a long sequence of operations, whereby the required input materials must be made available at the start of the process. Each process is characterized by yield and flow time parameters. For example, a large electronics and computing equipment manufacturer might have some factories fabricating microelectronics, other factories testing and packaging the chips, other factories stuffing completed chips into printed circuit boards, and still other factories assembling various circuit boards into computers. A basic component such as a packaged integrated circuit may be used in a variety of circuit boards produced in different processes with varying yields and flow times. MRP logic is traditionally thought of as one to generate an event-based schedule of requirements, i.e., quantities and due dates. But for repetitive, high-volume manufacturing, rate-based schedules are preferred, i.e., schedules which express the production rates at which each process should be run in each time period out to a planning horizon. In order to promote the application of “just-in-time” production control techniques, relatively large time buckets with level schedules are desired. MRP logic may be used to generate rate-based schedules by simply interpreting the derived quantity for each product due at the end of each time period as a rate to be spread uniformly over the period. However, the lead time parameters must be integer multiples of the period length, and this is awkward when the periods are large, say, a week. Imagine a process A whose flow time is 1.8 days. To obtain level schedules week by week for preceding processes, one must choose 0 or 1 week as the lead time! If a 2 preceding process B has no other followers, this problem might be overcome by appropriately shifting the time points where new weeks commence for process B. But if there is commonality of the product of process B, i.e., if there are other follow-on processes to B with flow times different from A, it would seem to be necessary to use integer lead times to derive schedules for B that are level in one-week periods. Fortunately, there are ways to modify the MRP logic so as to generate rate-based schedules without rounding up lead times to integers, as we develop below. 2. Redefining MRP as a Manipulation of Cumulative Curves There are many pedagogical presentations of the basic MRP logic for netting and explosion of requirements (see, for example, Orlicky [1975] or Silver and Peterson [1985]). For our development of rate-based MRP, it is most convenient to re-define MRP logic in terms of calculations on cumulative production curves. The development parallels to some extent that of Hackman and Leachman [1989] in their general framework for modeling production. We assume the products (processes) of the manufacturing system are numbered 1, 2, 3, …, N, with the proviso that if product i is an input to the manufacture of product j, then i < j. The products correspond to nodes of an activity network in which arcs depict possible transfers of intermediate products. See Figure 1. To the network defined by the given products, we append a sink node N+1 for transfers of final products meeting exogenous demands. We assume the following parameters are given: t = time grid point; t = 1, 2, …, T mark the end points of equal-length time periods within the planning horizon T. Li = lead time for product (process) i. bi = the expected yield of manufacturing product i. 3 aij = amount of product i required as direct input per unit started of product j. vi,N+1(t) = external requirement for product i at time t. Ii(0) = initial inventory of completed product i. wi(t) = projected output of work-in-process (WIP) of product i at time t, t ≤ Li . All WIP of product i is expressed as an equivalent output schedule defined by {wi(t)}. The MRP logic calculates the values of the following variables: vij(t) = quantity of product i to be transferred at time t as input to produce product j. N +1 vi(t) = ∑ vij ( t ) total or gross requirement of product i to be transferred at time t. j =i +1 ri(t) = the net requirement for output of product i at time t. ori(t) = the requirement for order releases of product i at time t. We define the following cumulatives of parameters and variables: Wi ( Li ) = I i ( 0 ) + ∑ wi ( τ ) , the cumulative firm supply of product i. t τ =1 Vi , N + 1 ( t ) = ∑ vi , N + 1 ( τ ) , the cumulative exogenous demand for product i at time t. t τ =1 Vi , j ( t ) = ∑ vi , j ( τ ) , the cumulative requirement at time t for product i as input for t τ =1 order releases of product j. 4 N +1 Vi ( t ) = ∑ Vi , j ( t ) , the cumulative gross requirement for product i at time t. j =i +1 Ri ( t ) = ∑ ri ( τ ) , the cumulative net requirement for product i at time t. t τ =1 ORi ( t ) = ∑ ori ( τ ) , the cumulative order releases of product i at time t. t τ =1 In terms of this notation, the MRP calculus may be cast as follows. For j = N, N-1, … , 1, and for all t, we perform the following four steps: Step1. Sum up gross requirements. N +1 V j ( t ) = ∑ V j ,l ( t ) . (1) l = j +1 Step 2. Net out firm supply. { } R j ( t ) = Max 0 , V j ( t ) − W j ( L j ) . (2) Step 3. Translate net requirements into order releases. OR j ( t ) = Rj(t + Lj ) bj . (3) Step 4. ”Explode”requirements on predecessors. Vi , j ( t ) = aij OR j ( t ) for all i < j . (4) The desired event-based production and transfer requirements may be obtained by simple differencing of the cumulatives, e.g., r j ( t ) = R j ( t ) − R j ( t − 1 ) . 5 The MRP logic of grossing, netting, translation to order releases and explosion is easily grasped in terms of graphical operations on cumulative production curves. See the simple example provided in Table 1 and Figures 2, 3 and 4. Transfer curves are summed to obtain a gross requirements curve. The gross requirements curve is shifted downward by the amount of firm supply to define a net requirements curve. The net requirements curve is then shifted backwards by a lead time and re-scaled by the expected yield to obtain the order release curve. The order release curve is re-scaled again by a gozinto number to obtain the transfer requirement curve for a predecessor. 3. Rate-Based MRP with Integral Lead Times MRP logic may be applied to generate rate-based schedules, provided the lead times are integers. The requirement at a time point in this case is interpreted as a requirement uniformly spread over the time period ending at the time point, i.e., a continuous rate requirement, in lieu of an event-based quantity due at the end of the period. This interpretation results in cumulative requirement curves that are piece-wise linear curves instead of staircase curves. See Figure 5. The MRP logic of pulling the gross requirements curve downward by the firm supply, shifting the resulting curve backwards in time by the lead time and then re-scaling the curve applies equally well to piece-wise linear curves as it does to staircase curves. The requirement of integer lead times is necessary to ensure that the break-points in the slopes of the requirement curves occur only at the time grid points, i.e., to ensure constant production rates within the given periods. 4. Heuristic Modifications to Accommodate Non-integer Lead Times In a realistic industry situation of rate-based planning with large time periods that must have constant production rates, the ideal lead times to use are typically fractional or nonintegral. Figure 6 displays a simplified, hypothetical example in which an “ideal” transfer curve is derived from the net requirements curve Rj(t) by shifting it backwards by the ideal lead time Lj. (For convenience, we assume bj and aij equal unity.) Also displayed in the figure is an MRP transfer curve, derived by shifting the net requirements curve 6 backwards by the integer round-up of Lj, which we denote by Lj+. These two curves are { }L labeled Vi , j ( t ) j { }L and Vi , j ( t ) j + , respectively. The vertical distance between the two curves represents the increase in inter-process inventory resulting from the insistence on both level schedules in the given time periods and application of the classical MRP calculus with integral lead times. The arresting feature about the example in Figure 6 is that we can easily construct another curve lying between the two curves that features constant production rates in the given time periods. See Figure 7, in which such a curve is labeled as the “proposed” {Vi , j ( t )} curve. Note that this curve maintains inventory balance in continuous time (i.e., it lies above the ideal transfer curve), yet it makes a reduction in inter-process inventory from the result of applying classical MRP logic. We now present a formal procedure for deriving such a curve. 4.1. The Case of a Single Follower We first examine the simplest case, a product that has only a single follower. Assume the only intermediate use of product i is as input to manufacture product j. For simplicity of exposition, we maintain the assumptions bj = 1.0 and aij = 1.0. { } A “backwards greedy” heuristic is introduced for constructing the Vi , j ( t ) curve. The basic idea of the heuristic is as follows: We construct the curve working backwards in time. For reasons to be explained later, the height of the curve at the horizon T is known. Starting at the given height Vi,j(T), we make reference to the ideal transfer curve {Vi , j ( t )}L in order to fix Vi,j(T-1). We choose a height for the curve at time (T-1) as low j as is feasible, i.e., subject to the condition that a straight line connecting Vi,j(T) to Vi,j(T-1) { } lies above the ideal curve Vi , j ( t ) . Referring to Figure 8, the constructed curve either Lj will be tangent to the ideal transfer curve for a portion of period T, or the constructed curve and the ideal curve will have the same height at time (T-1), depending on whether 7 the ideal curve is convex or concave in period T. This construction is repeated time period by time period until time 0 is reached and the entire curve is constructed. This graphical construction procedure is formalized as a recursive algebraic procedure as follows. We depart slightly from the usual terminal conditions tacitly assumed in MRP calculations. We shall assume that for each product the rate of net requirements in the final period T, ri(T), extends indefinitely into the future. Equivalently, we take as a terminal condition that the manufacturer enters a steady-state of production at time T, in lieu of the usual implicit assumption that the company shuts down all operations at time T. (Note that the usual assumption has the undesirable property that supply pipelines are planned to empty out as the horizon is approached.) For supply-chain planning of multiplant networks producing repetitive, high-volume products, we believe our choice of a horizon condition is more appropriate. Using our steady-state horizon condition, the end { } point of the transfer curve Vi , j ( t ) is computed as Vi , j ( T ) = OR j ( T ) = R j ( T + L j ) = R j ( T ) + L j r j ( T ) . (5) Given a point Vi,j(t+1) on our constructed curve, we generate the next point Vi,j(t) as follows. Refer to Figure 9. An arbitrarily given point Vi,j(t+1) is plotted. The ideal { } transfer curve Vi , j ( t ) also is plotted; note that it is a simple backwards shift of the Lj { } given requirements curve R j ( t ) by the non-integer lead time Lj. Now, Vi,j(t) will be set equal to point A or point B, whichever is higher. The height of point B is computed as B = R j ( t + L+j ) − ( L+j − L j )r j ( t + L+j ) , while the height of point A is defined by A = Rj(t + L+j ) − ( L+j − Lj ) 8 Vi , j ( t + 1 ) − R j ( t + L+j ) 1 − ( L+j − L j ) . Hence we take Vi,j(t) to be the maximum of the two expressions, i.e., + + + + Vi , j ( t + 1 ) − R j ( t + L j ) Vi , j ( t ) = R j ( t + L j ) − ( L j − L j ) Min r j ( t + L j , ) , 1 − ( L+j − L j ) (6) where we define rj(τ) = rj(T) for τ > T and Rj(τ) = Rj(T) + (τ - T) rj(T) for τ > T. Note that if L j ≠ L+j (i.e., the lead time is non-integer), then the constructed curve {Vi , j ( t )} equals the MRP curve {Vi , j ( t )}L j + minus a positive quantity, i.e., the constructed curve always results in less inter-process inventory than using the integer round-up of the lead time. 4.2. An Heuristic for the General Case We now suppose activity i has immediate followers j1, j2, … , jK. The ideal transfer { } each have a break point in slope between successive time grid curves Vi , j k ( t ) L jk points. An “ideal” gross requirements curve obtained by direct summation of the ideal transfer curves will have up to K break points in slope within a single time period. Our goal is to derive a gross requirements curve {Vi ( t )} with no break points in slope within time periods that lies as close as possible but above the “ideal” gross requirements curve. The ideal {Vi ( t )} curve is derived as follows. For simplicity of exposition, we assume the immediate followers of i are ordered in terms of increasing fractional portions of the lead time, i.e., ( L+j − L j1 ) ≤ ( L+j − L j 2 ) ≤ ... ≤ ( L+j 1 2 9 K − L jK ) . { } We first note that the height of the ideal transfer curve Vi , j k ( t ) at its sole break L jk point within the interval (t-1, t] is aij k b jk R j k ( t − 1 + L+j ) . k Let Pt,k denote the height of the ideal gross requirements curve at the time of the break point in slope within period t of the curve . In words, Pt,k can be computed as {sum of the heights of each ideal transfer curve at its break point} { } + {sum of the increments in the heights of the ideal transfer curves Vi , j k' ( t ) from L jk ' the time of the break point in the k’th curve until the time of the break point in the kth curve, summed for k’< k} { } - {sum of the increments in the heights of the ideal transfer curves Vi , j k' ( t ) from L jk ' the time of the break point in the kth curve until the time of the break point in the k’th curve, summed for k’> k} + {exogenous cumulative requirements for product i at time ( t − 1 + L+j − L j k ) }. k Formally, for k = 1, 2, … , K, Pt ,k = ∑ K aij k' k' = 1 b j k ' − R j k' ( t − 1 + L+j ) + k' ∑ a ijk' { k' | k < k' ≤ K } b jk' ∑ aij k' { k' | 0 < k' < k } b j k ' [( L+j − L j k ) − ( L+j − L j k' )] r j k' ( t + L+j ) k k' k' [( L+j − L jk' ) − ( L+j − L jk )] r jk' ( t − 1 + L+j ) k' k + Vi , N + 1 ( t + 1 ) + ( L+j − L j k )vi , N + 1 ( t ) . k 10 k' (7) If we define the notation L j 0 ≡ 0 , then we note that setting k=0 in (7) results in Pt ,0 = ∑ K a ij k' k' =1 b jk' R jk' ( t − 1 + L+j ) + ∑ K a ij k' k' k' =1 b jk' ( L+j − L jk' ) r jk' ( t − 1 + L+j ) + Vi ,N +1 ( t − 1 ) . k' k' (8) which is precisely the height of the ideal gross requirements curve at time (t-1), i.e., at the start of period t. Figure 10 portrays an ideal gross requirements curve with its K break points Pt,1, Pt,2, … , Pt,K within period t and its value Pt,0 at time (t-1). Given a value on the curve to be constructed, Vi(t), our strategy is similar to the case of a single follower: we simply check the values of Vi(t-1) generated by passing a straight line from Vi(t) through each of the K break points and through Pt,0 and choose the largest one in order to ensure the line segment from Vi(t) to Vi(t-1) lies above the ideal { Vi(t) } curve. That is, we take Min Vi ( t ) − Pt ,k Vi ( t − 1 ) = Vi ( t ) − { k = 0 ,1,2..., K } 1 − ( L+ − L j jk k , ) (9) where Pt,k is defined by (7) and (8) and where we have the rate-based terminal condition Vi ( T ) = ∑ K aij k k =1 b j k ( R j k ( T ) + L j k r j k ( T ) ) + Vi , N + 1 ( T ) . (10) As before, if any of the lead times are non-integer, the constructed curve (9) will lie strictly below the classical MRP curve computed using rounded-up lead times. Equations (10) and (9) perform both the explosion and grossing steps of the MRP logic. Combined with the usual netting step (i.e., equation (2)), equations (10), (9) and (2) comprise a modified MRP procedure that derives net production requirements that are constant rates in the given time periods when given lead times of arbitrary precision. The additional 11 calculation over ordinary MRP logic is simple arithmetic involving the fractional portions of the lead times and the net requirement rates of immediate followers. 5. Optimal Modification of the MRP Logic The proposed modification of the MRP logic reduces inter-process inventory, yet it maintains inventory balance throughout continuous time (provided the planned production rates are observed). However, it is not an optimal procedure in the sense that minimum inter-process inventory is achieved. Consider the example in Figure 11. Product i has a single follower j, and i has no external requirements. The ideal gross requirements curve is sketched, along with the proposed {Vi(t)} curve constructed using the procedure of section 4. Also sketched is the classical MRP gross requirements curve. As expected, there is a reduction in inter-process inventory resulting from adoption of the heuristic. The shaded region in the figure identifies inter-process inventory resulting from differences between the ideal and proposed requirements curves. In Figure 12, a different proposal for {Vi(t)} is sketched, along with the resulting inventory. Note that this proposal sometimes lies above the classical MRP curve, yet it results in less inventory than either the MRP curve or the one constructed using our backwards greedy heuristic procedure! Note the geometry of the ideal requirements curve in this case. Requirements are at a high rate for a period length, then zero for a period length, then at a high rate again. Our backwards-through-time procedure for constructing {Vi(t)} is a myopic one; it does not look ahead two or more periods to anticipate major reversals in the convexity/concavity of the ideal curve. Choosing the next earlier point on the curve based on its local shape may be sub-optimal if there is a major reversal in the curve shape in the adjacent earlier period. 12 An optimal rate-based {Vi(t)} curve is one which minimizes the area beneath it, subject to maintaining inventory balance in continuous time (i.e., subject to its lying on or above all break points on the ideal {Vi(t)} curve. Such an optimization problem may be conveniently formulated as a linear program in variables representing the slope of the requirements curve period by period. Formally, we wish to T −1 t Minimize ∑ ∑ vi ( τ ) + t =1 τ =1 1 T ∑ vi ( τ ) 2 τ =1 subject to t −1 ∑ vi ( τ ) + ( L+j k − L j k )vi ( t ) ≥ Pt ,k , t = 1,2 ,...,T , k = 0,1,..., K τ =1 ∑ vi ( τ ) ≥ PT + 1,0 T τ =1 vi ( t ) ≥ 0 , t = 1,2 ,...,T . Note that optimization requires that a linear program with T variables {vi(t)}and KT+1 constraints must be solved for each node in the product network. Empirically, we have observed that if gross requirements do not oscillate in patterns similar to Figure 11 (i.e., patterns in which there is a period with a very low or zero rate bracketed by periods with very high rates), the simple myopic backwards-greedy procedure of Section 4 is optimal or near-optimal. In any event, violent oscillations in production rates as exhibited by Figure 11 are not characteristic of repetitive, highvolume manufacturing. For most practical applications we imagine that the simple heuristic procedure of Section 4.2 would suffice, offering substantial reductions in interprocess inventory over the application of conventional MRP logic in rate-based production planning. 13 6. Extensions We have analyzed the computation of rate-based schedules for the case of equal-length time periods. In actual practice, natural time periods such as weeks have sporadic working holidays. When lead times are expressed in working time units, the time periods for which schedules are to be expressed may have varying lengths (in terms of working time). We omit details here, but the calculations of efficient rate-based requirements curves may be modified for this case. It is simply a matter of correctly defining the position of breakpoints in the ideal requirements curve relative to the end points of the periods under analysis. We also remark that linear programming models for production planning may be formulated with non-integral lead times if one performs the same sort of continuous time analysis of inventory balance as developed here. This analysis has been carried out for both the case of equal-length time periods and varying-length periods in Hackman and Leachman [1989]. Acknowledgments This research was supported by grants to the University of California at Berkeley from Intel Corporation, Harris Corporation, Advanced Micro Devices, Inc. and Cypress Semiconductor, Inc. References Hackman, Steven T. and Robert C. Leachman, 1989. “A General Framework for Modeling Production,” Management Science, 35 (4), p. 478-495 (April, 1989). Orlicky, Joseph, 1975. Material Requirements Planning, McGraw-Hill, NewYork. 14 Silver, Edward A.and Rein Peterson, 1985. Decision Systems for Inventory Management and Production Planning, John Wiley & Sons, New York. 15