Rate-Based MRP Robert C. Leachman Jose F. Goncalves

advertisement
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
Download