9.3: Inventory Models for Lean Manufacturing
- Page ID
- 30999
\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)
\( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)
( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)
\( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)
\( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)
\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)
\( \newcommand{\Span}{\mathrm{span}}\)
\( \newcommand{\id}{\mathrm{id}}\)
\( \newcommand{\Span}{\mathrm{span}}\)
\( \newcommand{\kernel}{\mathrm{null}\,}\)
\( \newcommand{\range}{\mathrm{range}\,}\)
\( \newcommand{\RealPart}{\mathrm{Re}}\)
\( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)
\( \newcommand{\Argument}{\mathrm{Arg}}\)
\( \newcommand{\norm}[1]{\| #1 \|}\)
\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)
\( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)
\( \newcommand{\vectorA}[1]{\vec{#1}} % arrow\)
\( \newcommand{\vectorAt}[1]{\vec{\text{#1}}} % arrow\)
\( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vectorC}[1]{\textbf{#1}} \)
\( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)
\( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)
\( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)
\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)
\(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)In a lean manufacturing setting, the service level is most often an operating parameter specified by management. Inventory is kept to co-ordinate production and shipping, to guard against variation in demand, and to guard against variation in production. The latter could be due to variation in supplier shipping times, variation in production times, production downtimes and any other cause that makes the completion of production on time uncertain.
A very important idea is that the target inventory level needed to achieve a specified service level is a function of the variance in the process that adds items to the inventory, production, as well as the process the removes items from the inventory, customer demand. If there is no variation in these processes, then there is no need for inventory. Furthermore, the less the variation, the less inventory is needed. Variation could be random, such as the number of units demanded per day by customers, or structural: product A is produced on Monday and Wednesday and product B is produced on Tuesday and Thursday but there is customer demand for each product each day.
We will confine our discussion to the following situation of interest. Product is shipped to the customer early in the morning from inventory and is replaced by a production run during the day. Note that if the production run completes before the next shipment time, production can be considered to be instantaneous. In other words, as long as the production run is completed before the next shipment, how long before is not relevant.
Suppose demand is constant and production is completely reliable. If demand is 100 units per day, then 100 units reside in the inventory until a shipment is made. Then the inventory is zero. The production run is for 100 units, which are placed in the inventory upon completion. This cycle is completed every day.
The following discussion considers how to establish the target inventory level to meet a pre-established service level when demand is random, when production is unreliable, and when both are true.
9.3.1 Random Demand - Normally Distributed
In lean manufacturing, a buffer inventory is established to protect against random variation in customer demand. Suppose daily demand is normally distributed with a mean of \(\ \mu\) units and a standard deviation of \(\ \sigma\) units. Production capacity is such that the inventory can be reliably replaced each day. Management specifies a service level of SL.
Consider equation 9-8,
\begin{align}P(X \leq x) \leq S L\tag{9-8}\end{align}
This equation says that the probability that the random variable, X, daily demand, is less than the target inventory, the constant x, must be SL. Solving for the target inventory, x, yields equation 9-9.
\begin{align}x=\mu+\sigma^{*} z_{S L}\tag{9-9}\end{align}
Exercise
Customer demand is normally distributed with a mean of 100 units per day and a standard deviation of 10 units. Production is completely reliable and replaces inventory every day. Determine the target inventory for service levels of 90%, 95%, 99% and 99.9%.
Suppose production is reliable but can occur only every other day. The two-day demand follows a normal distribution with a mean of 2 * \(\ \mu\) units and a standard deviation of \(\ \sqrt{2} * \sigma\) units. The target inventory level is still SL.
Consider the probability of sufficient inventory on the first of the two days. Since the amount of inventory is sufficient for two days, we will assume that the probability of having enough units in inventory on the first day to meet customer demand is very close to 1.
Thus, the probability of sufficient inventory on the second day need only be enough such that the average of this quantity for the first day and the second day is SL. Thus, the probability of sufficient inventory on the second day is SL2 = 1 - [(1 - SL) * 2].
This means that the target inventory for replenishment every two days is given by equation 9-10.
\begin{align}x 2=2^{*} \mu+\sqrt{2} \sigma^{*} z_{S L 2}\tag{9-10}\end{align}
This approach can be generalized to n days between production, so long as n is small, a week or less. This condition will be met in lean production situations.
Exercise
Customer demand is normally distributed with a mean of 100 units per day and a standard deviation of 10 units. Production is completely reliable and replaces inventory every two days. Determine the target inventory for service levels of 90%, 95%, 99% and 99.9%.
9.3.2 Random Demand - Discrete Distributed
In many lean manufacturing situations, customer demand per day is distributed among a relative small numbers of batches of units. For example, a batch of units might be a pallet or a tote.
This situation can be modeled using a discrete distribution. The general form of a discrete distribution for this situation is:
\begin{align}\sum p_{i}=1\tag{9-11}\end{align}
where i is the number of batches demanded and p_{i} is the probability of the customer demand being exactly i batches. The value of i ranges from 1 to n, the maximum customer demand. If n is small enough, then a target inventory of n batches is not unreasonable and the service level would be 1.
Suppose a target inventory of n batches is too large. Then the target inventory, x, is the smallest value of x for which equation 9-12 is true.
\begin{align}\sum_{i=1}^{x} p_{i} \geq S L\tag{9-12}\end{align}
Exercise
Daily customer demand is expressed in batches as follows:
(4, 20%), (5, 40%), (6, 30%), (7, 10%).
Production is completely reliable and replaces inventory every day. Determine the target inventory for service levels of 90%, 95%, 99% and 99.9%.
Suppose production is reliable but can occur only every other day. The two-day demand distribution is determined by convolving the one-day demand distribution with itself. Convolving has to do with considering all possible combinations of the demand on day one and the demand on day two. Demand amounts are added and probabilities are multiplied. This is shown in Table 9-3 for the example in the preceding box.
Table 9-4 adds together the probabilities for the same values of the two-day demand (day one + day two demand). For example, the probability that the two day demand is exactly 9 batches is 16%, (8% + 8%)
Table 9-3: Possible Combinations of the Demand on Day One and Day Two | |||||
Day One Demand | Day Two Demand | Day One + Day Two Demand | |||
Demand | Probability | Demand | Probability | Demand | Probability |
4 | 20% | 4 | 20% | 8 | 4% |
5 | 40% | 4 | 20% | 9 | 8% |
6 | 30% | 4 | 20% | 10 | 6% |
7 | 10% | 4 | 20% | 11 | 2% |
4 | 20% | 5 | 40% | 9 | 8% |
5 | 40% | 5 | 40% | 10 | 16% |
6 | 30% | 5 | 40% | 11 | 12% |
7 | 10% | 5 | 40% | 12 | 4% |
4 | 20% | 6 | 30% | 10 | 6% |
5 | 40% | 6 | 30% | 11 | 12% |
6 | 30% | 6 | 30% | 12 | 9% |
7 | 10% | 6 | 30% | 13 | 3% |
4 | 20% | 7 | 10% | 11 | 2% |
5 | 40% | 7 | 10% | 12 | 4% |
6 | 30% | 7 | 10% | 13 | 3% |
7 | 10% | 7 | 10% | 14 | 1% |
Table 9-4: Two-Day Demand Distribution | |
Demand | Probability |
8 | 4% |
9 | 16% |
10 | 28% |
11 | 28% |
12 | 17% |
13 | 6% |
14 | 1% |
Exercise
Daily customer demand is expressed in batches as follows:
(4, 20%), (5, 40%), (6, 30%), (7, 10%).
Production is completely reliable and replaces inventory every two days. Determine the target inventory for service levels of 90%, 95%, 99% and 99.9%.
9.3.3 Unreliable Production - Discrete Distributed
Suppose production is not reliable. That is the number of days to replace inventory is a discrete random variable. Further suppose that demand is a constant value.
Let q_{j} be the probability of taking exact j days to replace inventory. Then the number of days, d, of inventory that should be kept is the smallest value of d that makes equation 9-13 true.
\begin{align}\sum_{j=1}^{d} q_{j} \geq S L\tag{9-13}\end{align}
Exercise
Daily customer demand is a constant 10 batches.
The number of days to replenish the inventory is distributed as follows:
(1, 75%), (2, 15%), (3, 7%), (4, 3%).
Determine the target inventory for service levels of 90%, 95%, 99% and 99.9%.
9.3.4 Unreliable Production and Random Demand - Both Discrete Distributed
Now consider the application where production is unreliable and demand is random. Both the number of days in which the inventory is re-supplied and the customer demand are discrete random variables. Note that the question of interest is: What is the distribution of the demand in the time taken to replenish the inventory?
Consider the simplest application: Production will take either one or two days to replenish the inventory. Thus, it is appropriate to use the one day demand for setting the inventory level with probability q1 and it is appropriate to use the two day demand for setting the inventory level with probability q2. This means that the combined distribution of the demand and the number of days to replenish the inventory must be computed.
This will be illustrated with a numeric example. Suppose customer demand expressed in batches is: (1, 40%), (2, 30%), (3, 20%), (4, 10%). Inventory can be replaced in either one day with probability 60% or two days with probability 40%.
- Compute the two day demand distribution.
Units Probability 2 16.00% 3 24.00% 4 25.00% 5 20.00% 6 10.00% 7 4.00% 8 1.00% 100.00% - Compute the one and two day conditional distributions. The condition is that the inventory is replaced in that number of days. The demand distribution is multiplied by the probability that the inventory is replaced in that number of days.
One day Demand Units Probability Condition Conditional Probability 1 40% 60% 24.0% 2 30% 60% 18.0% 3 20% 60% 12.0% 4 10% 60% 6.0% 100% 60.0% Two Day Demand Units Probability Condition Conditional Probability 2 16% 40% 6.4% 3 24% 40% 9.6% 4 25% 40% 10.0% 5 20% 40% 8.0% 6 10% 40% 4.0% 7 4% 40% 1.6% 8 1% 40% 0.4% 100% 40.0%
Note that for a customer service level of 98%, six units would be kept in inventory.
Exercise
Daily customer demand is expressed in batches as follows:
(4, 20%), (5, 40%), (6, 30%), (7, 10%).
Production is completely not reliable is distributed as follows: (1, 80%), (2, 20%).
Determine the target inventory for service levels of 90%, 95%, 99% and 99.9%.
9.3.5 Production Quantities
Replacing inventory means that the production volume each day is the same random variable as customer demand. Thus, the quantity to produce varies from day to day (or every other day to every other day). This can cause capacity and scheduling issues.
9.3.6 Demand in Fixed Time Period
Suppose the number of units (batches) demanded in fixed period of time, T, is of interest. Suppose the time between demands is exponentially distributed. It follows mathematically that the number of demands in a period of time T is Poisson distributed:
\begin{align}p(x)=\frac{e^{-m e a n} * m e a n^{x}}{\mathbf{x} !} ; x \text { is a non - negative integer }\tag{9-14}\end{align}
where x is the number of units demanded and mean is the average number units demanded in time T. Often the mean must be computed by multiplying two quantities:
- The average number of units demanded per hour.
- The number of hours in T.
The Excel function Poisson can be used to compute probabilities using equation 9-14.
Poisson(x, mean, FALSE).
A product has a mean demand of 1.5 units per hour. Suppose production is constant with a takt time of 40 minutes (= 60 minutes / 1.5 units). What is the distribution of the demand in the takt time?
Demand per hour | 1.5 | |
Hours in T | 0.666667 | |
Mean demand in T | 1 | |
X | Probability | Cumulative |
0 | 0.368 | 0.368 |
1 | 0.368 | 0.736 |
2 | 0.184 | 0.920 |
3 | 0.061 | 0.981 |
4 | 0.015 | 0.996 |
5 | 0.003 | 0.999 |
6 | 0.001 | 1.000 |
How many units are needed in inventory for a 95% service level the takt time that is such that the probability of running out of inventory before a unit is replaced is 5%?
9.3.7 Simulation Model of an Inventory Situation
Consider a simulation model and experiment to validate the 95% service level in the previous example. Production produces an item to inventory at a constant rate of 1.5 units per hour, one unit every 40 minutes. Since the demand is Poisson distributed it follows that the time between demands is exponentially distributed with a mean equal to the takt time of 40 minutes.
The model is as follows. There is one process for demands that take items from the inventory and one process for adding items back to the inventory.
The initial conditions for any simulation experiment involving inventory must include the initial inventory level which is set to the target inventory value. Determining the target inventory value was discussed in the previous sections in this chapter. Each simulation language has its own requirements for setting the initial value of state variables such inventory levels.
Inventory demand and replenishment model | |
Define Arrivals: \(\ \quad \quad\)Demand Process \(\ \quad \quad\quad \quad\)Time of first arrival: \(\ \quad \quad\quad \quad\)Time between arrivals: \(\ \quad \quad\)Replenishment process \(\ \quad \quad\quad \quad\)Time of first arrival: \(\ \quad \quad\quad \quad\)Time between arrivals: |
0 Exponentially distributed with a mean of 40 minutes Number of arrivals: Infinite 0 Constant 40 minutes Number of arrivals: Infinite |
Define Attributes: \(\ \quad \quad\)ArrivalTime |
// Time of demand |
Define State Variables: \(\ \quad \quad\)CurrentInventory=3 |
// Number of items inventory with an initial value of three |
Demand Process Begin \(\ \quad \quad\)ArrivalTime = Clock \(\ \quad \quad\)Wait until CurrentInventory > 0 \(\ \quad \quad\)CurrentInventory-- \(\ \quad \quad\)// Record Service Level \(\ \quad \quad\)if ArrivalTime = Clock then \(\ \quad \quad\)else End |
// Wait for an item in inventory // Remove one item from inventory tabulate 100 in ServiceLevel tabulate 0 in ServiceLevel |
Replenishment Process Begin \(\ \quad \quad\)CurrentInventory++ end |
// Add item to inventory |