Chapter 4 Planning book: Setting the cadence of your pacemaker

This chapter is currently under construction, it will probably be ready in week 4 or 5 of the semester. Please come back later

Figure 4.1: This chapter is currently under construction, it will probably be ready in week 4 or 5 of the semester. Please come back later

The forecasting module has made predictions about the product demand in future periods. The next task is to net the forecasts and demand against the inventory and work-in-progress, account for the lead-time and set production and distribution targets. Depending on your preferred replenishment strategy for your value stream, you now need to design your replenishment policy. This may seem like a rather daunting task (it is), but fortunately, the POUT replenishment policy is available and can be tuned to mimic all of the replenishment policies, see Table 4.1. In a sense, it is like the Swiss army knife of replenishment policies and thus the POUT policy offers a very efficient solution procedure. First, adapt your existing OUT based replenishment system to become a POUT system. Then we tune the POUT policy to realize your desired replenishment strategy.

Table 4.1: Tuning the POUT policy to match your replenishment strategy
Strategy How to tune the POUT policy
Pure Pull: Produce to the current demand rate (from either the immediate echelon or from the end consumer) Set \(T_i=1\) and use a constant forecast
Level Scheduling: Produce to average demand (with/without periodic changes in the safety stocks or number of kanbans) Set \(T_i=\infty\) and use a constant forecast set to the true mean of the demand
Forecast: Produce to a forecast Set \(T_i=\infty\) and use a dynamic forecast
Batch: Produce an Economic Production Quantity Set \(T_i=1\) and use a dynamic forecast plus an Economic Production Quantity
Order-up-To: Produce to a forecast and fully account for inventory and WIP discrepancies. Set \(T_i=1\) and use a dynamic forecast
Proportional Order-Up-To: Produce to a forecast and account partially for inventory and WIP discrepancies Set \(T_i\geq1\) and use a dynamic forecast

4.1 The sequence of events

We assume that Acme Ltd plans its production and distribution on a weekly basis as shown in Figure 4.2. At 23.59 Sunday night, the week’s demand is tallied by the ERP system, inventory and WIP (in-transit inventory) levels are observed, demand forecasted, and a production and distribution plan is created. The Monday morning production planning meeting then confirms the production and distribution targets for the week. Detailed scheduling also takes place that accounts for changeover costs between products, shipping schedules, and maintenance requests. The time-phased production plan is then sent to the factory floor.

The sequence of events in a production planning system

Figure 4.2: The sequence of events in a production planning system

Note, even if the phyiscal lead time is just a few seconds long, the products ordered would be received and used to satisfy demand in the next period and the consequences of this would not be considered until the next order is placed (at the end of the following period). Further note, if replenishment orders were placed at the very beginning of the period, it would still be based on the same information as an order was placed at the very end of the period; all that changes is the definition of the state variables (inventory, demand etc.).

4.2 The lead time

Before we review the different production planning approaches, first we consider the meaning of a lead time as it is a major component of a production planning algorithm. Simply put, the lead time is the period of time between generating a production order to the time that order is received in the stock location the replenishment order was managing. If you have a constant, known, consistently and correctly recorded lead time then you are very lucky as this simplifies the planning problem.

The lead time includes the time to place an order, manufacture product, pack, assemble shipment, ship, transport, and receive that product into a stock location. There will be many instances where a lead time is defined in an ERP system. For example, lead time information will be defined, stored and used in the planning book, supplier contracts and purchasing ledgers, transport routes, and the master bill of materials (BOM) file. Different functions (departments, people) will have responsibility and access to keep that information up-to-date. For example, the production planning team may control the planning book, the purchasing team may set up supplier relationships in the contract files and purchasing ledgers, the transport managers select shipping companies and routes, engineering define bill of materials. All this lead time information has to be coordinated. Amazingly most ERP do not have a single global variable for a lead time; there are many instances of this variable and they could be different. Synchronizing lead time information may mean that several fields within your ERP system will need to be checked and possibly corrected. Furthermore, as many people will likely have the opportunity and authority to change lead-time information, ERP lead times changes need to be coordinated in some way. Communicating with, and gaining the necessary buy-in from, all the stakeholders with an interest in lead time changes might be a difficult task, but it is essential for proper supply chain control, see Figure 4.3. The challenge is to find a lead time updating protocol that is not unduly slow and burdensome.

Decisions taken by one part of the value stream need to be communicated to many other parts

Figure 4.3: Decisions taken by one part of the value stream need to be communicated to many other parts

There are many factors that affect the actual physical lead times: 1) natural variability of the lead times resulting from factors such as the weather, security and customs delays, 2) seasonal variability, 3) special causes. Figure 4.4 provides an example of real lead times in two forms; the lead time that was quoted by the freight forwarding company at the time of dispatch and the actual lead time records when the shipment was received. We can see from Figure 4.4 that the quoted lead time is a variable itself. It experiences seasonal effects (December and January have higher quoted lead-times). The actual lead times are more consistent, but still variable. Interesting for half of the period in Figure 4.4 the actual lead times are longer than the quoted lead times. In the other half of the period the actual lead times are almost always shorter than those quoted. This may be due to factors outside of the shipping company’s control: bad weather, berth availability at ports, custom delays, lack of transportation capacity for hinterland distribution, for example. However, it should be clear that you should monitor the actual lead times yourself and keep a good record of what is actually happening.

The quoted and actual lead-times in a global shipping lane

Figure 4.4: The quoted and actual lead-times in a global shipping lane

The consequences of incorrectly specified lead times can be quite severe. If the perceived lead time is longer (shorter) than the actual lead time then excessive (insufficient) inventory will be held. If the lead time used in the planning book and the OUT policy is used to schedule production, then the supply chain will become both unstable and chaotic as the OUT policy requires accuracy lead time information, Wang, Disney, and Wang (2012). A properly tuned POUT policy will, however, remain stable and will not produce chaotic responses if incorrect lead times exist; a significant advantage of the POUT policy, Disney et al. (2016). If a stochastic lead time is present then it is important that the average lead time is used in your replenishment decision, see Figure 4.5. This ensures that inventory does indeed fluctuate around the target safety stocks levels and customer service levels are achieved. It is important that a long-term average lead time is used as dynamically forecasting lead times can produce massive amounts of bullwhip. This can be determined from the probability mass function (PMF) of previous lead-times (see Michna, Disney, and Nielsen (2019) for insights into the consequences of forecasting stochastic lead times). In the next section we will consider how to correctly identify a lead time from some real life lead time data and the PMF.

It is important to indetify and use the correct average lead time

Figure 4.5: It is important to indetify and use the correct average lead time

4.2.1 Determining the lead time in a periodic replenishment system

*****need a proper intoroduction in here****

Develop a procedure to monitor and update the lead-time information every 3-6 months. Create a tracking spreadsheet.

Lead time settings in ERP systems

Lead times must be defined and specified carefully. The sequence of events delay in the inventory balance equation means that the following formula,

\[\begin{equation} T_p=\bigg\lfloor\frac{\text{Physical lead time}}{\text{Length of planning cylce}}\bigg\rfloor, \end{equation}\]

holds. Here \(\lfloor x \rfloor\) is the floor function; that is, if \(x\) is not an integer round \(x\) down to the nearest integer, otherwise \(\lfloor x \rfloor=x\).

Many ERP systems, however, require you to specify a lead-time in days, hours or even minutes, so you will need to be very careful of the units you use. Furthermore to ensure that receipts are allocated to the correct period, then you should use the \(1+T_p\) lead-time (in the appropriate units) in your ERP system to account for the sequence of events.

Suppose the actual, physical lead-time to produce, ship and receive a product is three days and your value stream operates on a weekly (7 day) cycle. In this setting, \(T_p=\lfloor 3 / 7 \rfloor = 0\), and what was ordered at period \(t\), will be received before period \(t + 1\) and will only be accounted for (i.e. included in a new replenishment decision) at \(t+1\). The lead-time in the ERP system needs to be related back to the length of the planning cycle. We do this with \[\begin{equation} \text{ERP lead time}= (1+T_p) \times (\text{Length of planning cycle}). \end{equation}\]

Thus, if the ERP requires us to specify a lead-time in days, we have:

\[\begin{equation} \text{ERP lead time}= (1+0) \times \text{7 days}=\text{7 days}. \end{equation}\]

When we have stochastic, or random, lead-times then we can exploit the average of the discretely distributed random variables to determine the average lead-time as follows:

\[\begin{align} \tag{4.1} T_p=\bigg\lfloor \sum_{i=0}^{i^+} p_i i \bigg \rfloor \end{align}\]

where, \(i\) is the discretely distributed lead-time, \(i^+\) is the maximum lead-time, \(p_i\) is the probability of the lead-time being \(i\) periods long.

*** Put a figure in here from the stochastic lead time paper ****

Dealing with the random lead-times. Schedule to the average lead-time.

Example. Determine \(T_p\) under random lead-times. Assuming that the replenishment system operates on a weekly basis, we can use the following procedure to determine the ERP system lead-time, \(T_p\). See also Table 4.2.

Step 1. Determine the week number of the shipment. This can be done in Excel with the command “=weeknum()”. Care needs to be taken near the year end when the week number gets reset from 52 (or 53 in some years) back to 1.

Step 2. Determine the week number of receiving that shipment using the same procedure as step 1.

Step 3. Subtract the week number of shipment from the week number of receipt to determine the duration of each shipment.

Step 4. Divide the lead time of each shipment by the total number of shipments in the dataset, to determine the shipment’s contribution to the overall lead time estimate.

Step 5. Sum the individual lead time contributions (in the case the sum is 3.1).

Step 6. Round down any non-integer lead time estimates to the nearest integer (i.e. \(T_p=\lfloor 3.1 \rfloor =3\) ).

Table 4.2: Determining \(T_p\) when the lead time is random.
Ship date Week no. Received date Week no. Lead time in weeks
5 June 24 20 June 26 2
12 June 25 12 July 29 4
19 June 26 28 July 31 5
26 June 27 16 July 29 2
3 July 28 1 August 32 4
10 July 29 1 August 32 3
17 July 30 1 August 32 2
24 July 31 18 August 34 3
31 July 32 24 August 35 3
7 August 33 30 August 36 3
Average 3.1

4.3 Proportional order-up-to policy

The proportional order-up-to (POUT) policy generates production orders via,

\[\begin{align} \tag{4.2} q_t=\hat{d}_{t,t+T_p+1}+\frac{1}{T_i}\big((TNS-ns_t)+\sum^{T_p}_{i=1}(\hat{d}_{t,t+i}-q_{t-i})\big) \end{align}\]

Here \(o_t\) is the production/distribution order made at time \(t\). \(\hat{d}_{t,t+T_p+1}\) is the forecast of the demand, made (and using information only available) at time \(t\), of the demand in the period \(t+T_p+1\). \(\beta\) is the proportional feedback controller, where \(0\leq \beta <2\) is required for stability. The target net stock, \(TNS\), is a safety stock to ensure adequate inventory service levels. \(ns_t\) is the net stock at time \(t\). If \(ns_t>0\) , then inventory is being held, if \(ns_t<0\) a backlog exists (in some situations the negative inventory is not allowed as sales are lost when there is no inventory to satisfy demand, in which case \((ns_t<0)^+\) may be used instead). The sum over the lead-time represents the error between the desired work-in-process (a.k.a. in-transit inventory, open orders, orders placed but not yet received) consists of the difference between the forecasted demand over the lead-time, \(\sum_{i=1}^{T_p}\hat{d}_{t,t+i}\), and the open orders, \(\sum_{i=1}^{T_p} o_{t-i}\).

Note, negative production orders may happen if there is a negative demand or if demand has a high variance in relation to its mean (this should be a relatively rare occurance). A negative \(o_t\) means that finished good products need to be disassembled into raw materials (or raw material should be sent back to suppliers). In some cases this is not possible (it is not possible to disassemble an omulette) or not economic. Then the orders can be truncated to be non-negative, i.e. \((o_t)^+\) ,and a negative production order is simply replaced with a zero production order.

Example calculation of the POUT replenishment decision. Let’s illustrate the calculation of the POUT policy replenishment decision by way of some numerical examples.

Consider that the lead-time \(T_p=1\), the safety stock is \(TNS=8\) and the demand, one period ahead, and two period ahead forecasts are as detailed in Table 3.7.

Table 4.3: Calculating POUT production orders (\(T_p=1\), \(\alpha=0.5\), \(TNS=8\), \(T_i=8\))
Time, \(t\) Demand, \(d_t\) One period ahead forecast, \(\hat{d}_{t+1|t}\) Two periods ahead forecast, \(\hat{d}_{t+2|t}\) Net stock, \(f_t\) WIP, \(w_t\) Orders, \(o_t\)
0 10 10.00 10.00 8.00 10.00 10.00
1 10 10.00 10.00 8.00 10.00 10.00
2 6 7.87 7.77 12.00 10.00 7.00
3 8 7.82 7.72 14.00 7.00 7.07
4 12 9.93 9.94 9.00 7.07 10.17
5 10 9.98 10.00 6.08 10.17 10.22
6 14 12.14 12.26 2.25 10.22 13.22
7 12 12.21 12.32 0.46 13.22 13.14
8 8 10.10 10.10 5.68 13.14 10.01
9 10 10.05 10.04 8.82 10.01 9.94
10 10 10.02 10.01 8.83 9.94 9.92
5.33 16.77 4.20

How does the story go?

OUT policy hand simulation to random demand

POUT policy simulation to random demand

Impact of the proportional feedback controller on variances

Figure. of variance.

Costs

Inventory costs

4.3.1 The variance trade-off in the POUT policy

Suppose demand was an independently and identically distributed (i.i.d.) random variable with a constant mean and constant variance. As there is no demand autocorrelation, the best possible forecast from an inventory viewpoint (as minimum mean squared error forecasts are produced for all future demands) is to set all future forecasts equal to the mean demand. This is also the best possible forecast from bullwhip viewpoint (as the variance of the forecasts is zero). MMSE forecasts of i.i.d. demand can be created by setting the first forecast to the mean demand and using \(\alpha=0\) in the exponential smoothing forecasting method.

Variance ratios for the POUT policty with i.i.d. demand and MMSE forecasts

The variance of the production orders issued by the POUT policy is given by \[\begin{align} \tag{4.3} \mathbb{V}[q_t]=\mathbb{V}[d_t]\left(\frac{1}{2T_i-1}\right) \end{align}\] which is increasing in \(1/T_i\). The variance of the finished goods inventory maintained by the POUT is convex in \(1/T_i\) and is given by \[\begin{align} \tag{4.4} \mathbb{V}[f_t]= \mathbb{V}[d_t]\left( 1+T_p+\frac{(T_i-1)^2}{2 T_i-1}\right). \end{align}\] Note: For a stable system the valid range of \(T_i\) is \(0.5<T_i<\infty\).

Notice, as \(0.5<T_i<\infty\), then \((T_i-1)^2/(2 T_i-1)>0\), and the inventory variance is always larger than the demand variance. The variance of the FGI also increases in the production lead time \(T_p\). The consequences of this, in a practical setting, is that reducing the production lead time leads to reduced inventory variance (and hence smaller safety stock requirements).

The inventory and order variance trade-off

Figure 4.6: The inventory and order variance trade-off

We may be interested in minimising the sum of the production variance and the finished goods inventory variance. Adding the two variances together produces a convex total variance curve with a minimum at \(T_i=(1+\sqrt{5})/2 =1.618034\), the golden ratio. See Figure 4.6. Although this is an elegant solution, unfortunately this is not the minimum cost solution. In order to find that we need to quantify the inventory and capacity costs.

Setting the target FGI levels to minimise inventory holding and backlog costs. Consider the following inventory holding and backlog costs are incurred each time period:

\[\begin{align} \text{Inventory costs}=h [f_t]^+ +b[-f_t]^+, \end{align}\]

Inventory holding an backlog costs over time

Figure 4.7: Inventory holding an backlog costs over time

We can show that that costs are minimised by setting the safety stock to

\[\begin{align} f^\star=\sigma_ns z_f: z_f=\Phi^{-1}\left[\frac{b}{b+h}\right] \end{align}\]

Determining the optimal capacity level to minimise idling and overtime costs

Let us assume that have an installed production capacity of \(k\). Each unit of the installed capacity costs \(u\) monetary units per week. If the production requirements are less than \(k\), the production capacity (labour) stand idle for part of the week, but the we still pay \(uk\) (we still the weekly salary of our staff). However, if we need to produce more than our weekly capacity, more than \(k\) units, we can run overtime on the weekend to make up the shortfall at unit overtime cost \(w\), where \(w>u\). These costs can be represented by

\[\begin{align} \text{Capacity costs}=uk+w[q_t-k]^+. \end{align}\]

Notice that the overtime quantity is flexible; staff only work to produce \([q_t-k]^+\) items in overtime, which maybe less than a full shift of work. Figure 4.8 illustrates the installed capacity and overtime costs.

Over-time and idling capacity costs with guarenteed labour hours

Figure 4.8: Over-time and idling capacity costs with guarenteed labour hours

There happens to be an optimal capacity level \(k^\star\) to install that minimises the expected per period capacity costs, \[\begin{align} k^\star=\mu+ z_q \sqrt{\mathbb{V}[q_t]}: z_q=\Phi^{-1}\left[\frac{w-u}{u}\right]. \end{align}\] When optimal capacity level is present, \(k=k^\star\), the minimised expected capacity will then be \[\begin{align} \mathbb{E}[\text{Capacity costs}]=\mu u +w\varphi[z_q]\sqrt{\mathbb{V}[q_t]}. \end{align}\]

All that remain now is to optimise the feedback controller, \(T_i\).

4.3.2 Tuning the feedabck controller \(T_i\) to minimise the sum of inventory and capacity costs.

The first order conditions reveal that \[\begin{align} \beta^\star=a complex function. \end{align}\]

Table 4.4: Proportional order-up-to policy implementation methods
Implementation method Advantages Disadvantages
Custom coding user defined macros in your ERP systems’ planning book Allows you to automate the process: minimizes manual data input, consistent set of data. Scalable. Can be applied to many thousands of products. Requires competency at coding within ERP systems. Data and supply chain settings can be changed by many different people in the organization. Do they all appreciate the consequences of the changes they make?
Custom coding bespoke IT systems Very flexible approach. Presumably your company has the IT skills to code its own bespoke IT system. Lack of support from either the software vendor or the user community.
Developing Excel-based decision support systems. Low initial development costs. Extra manual data input. Multiple records are held, leading to opportunities for errors and inconsistency.

A weekly analysis of the planning book in a visual manner, by part number and in the aggregate should be conducted.

Every three months we should review safety stocks, lead-times, EOQ quantities.

If you want to build ahead before, then you should change to the safety stock incrementally beforehand. Think about where the safety stock should be located. Could you load up the boats?

Overtime and purchase orders. During periods of high demand, you may be using overtime on the weekend to meet weekly production targets. This could create some issues with the integrity of the data if not handled correctly. For example, assume Sunday 23.59 GMT is the end of one planning period, Monday 00.00 GMT is the start of a new planning period. White collar workers (doing the production planning, transportation, etc.) work 9.00-17.00 Monday through Friday. Overtime might be conducted over the weekend and products not shipped to customers until Monday when the logistics team next comes back to the office. If the weekend production is assigned to inventory in the following week, then the ERP system will count it as inventory and reduce the production orders in the following week. This is an error. The weekend production should be allocated to a purchase order (PO) opened in the previous week, and then it will not be counted as inventory; rather last week’s production will be properly accounted for as goods in transit to the customer. Furthermore, unallocated inventory (if weekend production was more than the open PO quantities) will be considered as current inventory and next week’s production will be reduced. If the PO quantities were not met then (if weekend production did not achieve the targets), the unmet demand would also be added to next week’s production. Figure 4.9 illustrates the sequence of events and how purchase orders can be used to coordinate the scheduling, production and shipping activities.

Sequence of events during the working week

Figure 4.9: Sequence of events during the working week

Notice Figure 4.9 also shows that it is not until the middle of Monday morning that the production plan is finalized. This means that the shift that works 00.00 to 8.00 and 8.00 to 16.00 on Mondays may not be completely scheduled yet. Rather than wasting these production slots, a high demand volume item (or items) should be produced at risk in these shifts. Selecting the high volume items will minimize the chance of over-producing items that are not needed.

4.4 Setting the target safety stock, TNS

Safety stocks are a target net stock–that we will sometimes be above and sometimes below–that are maintained to ensure availability of product. A common misperception is that safety stocks are a minimum level of stock that must always be held. Actually, the minimum stock level is zero; the safety stock, is a target level, about which the inventory levels will fluctuate. The target safety stock is set so the probability of having no stock, and being unable to satisfy demand immediately, is as low as desired.

The reasons to hold safety stock can be traced to the following sources:

  • Demand uncertainty. Demand uncertainty is the un-forecasted component of the demand. Recall, the (P)OUT policy attempted to forecast future demand; the forecast errors end up in the inventory levels.

  • Supply uncertainty. This can result from either stochastic lead-times, unreliable suppliers, or from supply chain failures (strikes, natural disasters, wars etc.).

  • Process uncertainty. Some production technologies are inherently uncertain. For example, we don’t know how many animals or plants will survive the breeding and rearing process. Or the production process is right on the limits of it capability and quality, scrap and rework issues are common. Or the yield of a production process is variable, perhaps because of screening, or the use of natural raw materials.

  • Smoothing requirements. If we are using the POUT policy to smooth demand then we are basically accepting a higher inventory variability in return for smoother production orders. However, we are very fortunate as we can buy a lot of production smoothing with relatively little extra inventory, see Figure 25.

There is plenty of standard advice for coping with demand uncertainty, we will review some shortly. The standard advice for coping with supply uncertainty is to consider a stochastic lead-time exists and to use some insights about the variance of random sums of random numbers, but the approach is not reliable, often giving incorrect advice. Process uncertainty are usually accounted for by adding in buffer lead-time. Often the textbook advice is to set the safety stock target as a multiple of the standard deviation of demand multiplied by the lead-time. This is not correct when the OUT policy is present (and other assumptions are needed that rarely ever hold). If you smooth the production orders with the POUT policy, or if your forecasting method has not removed all of the signal from the demand process, then it is important that you use the standard deviation of the net stock levels when you set your safety stock.

There are three basic approaches to setting safety stock targets:

  1. Use the safety stock formula.

  2. Simulate the replenishment/forecasting policy in a spreadsheet.

  3. Using judgement and experience.

Let’s consider each in turn.

The safety stock formula. If your inventory levels (net stock levels) are normally distributed then the target safety stock is given by the following formula: \[\begin{align} TNS=z \sqrt{\mathbb{V}[\text{Net Stock}]}, \end{align}\] where \(z\) is the standard normal variant for the desired level of availability, \(z=\Phi^{-1}[\text{Availability}]\), and \(\Phi^{-1}[\cdot]\) is the inverse of the cumulative distribution function for the standard normal distribution. For 99% availability, \(z = \Phi^{-1}[0.99] = 2.32635\), for 95% availability \(z = \Phi^{-1}[0.99] = 1.64485\), and for 90% availability \(z= \Phi^{-1}[0.99] = 1.28155\).

A Shiny App is available here where we can explore the standard normal distribution interactively. The App can calculate the PDF, CDF and Loss function and their inverses for the standard normal distribution.

To use the standard formula for the safety stock requires us to obtain the variance of the Net Stock levels. We would usually obtain this from a the Net Stock time series, but this is often not information that is actively archived in companies. It can however be easily inferred with the use of the inventory balance equation, \(i_t=i_{t-1}+r_t-d_t\). Here \(ns+t\) is the net stock level time \(t\), \(r_t\), is what is received from your production system (or your suppliers) at time \(t\), and \(d_t\) is what is demanded by your customers. If you try to determine the variance (standard deviation) of the net stock levels from inventory information directly, part of inventory variability will be due to the changing safety stocks (so it is important that you determine the varaince of the net stock levels during periods when the safety staock has remained constant). The use of the inventory balance equation often allows you to untangle the impact of any changing safety stock targets. Table 4.5 details the calculation required to determine the inputted inventory levels, and then determine the variance of the inventory levels.

Table 4.5: Determining the variance of the inventory levels via the inventory balance equation
Time, \(t\) Completions, \(r_t\) Demand, \(d_t\) Computed net stock, \(i_t=i_{t-1}+r_t-d_t\) Variance calculation \((i_t-\bar{i}_t)^2\)
0 - - 8* -
1 8 10 6 1
2 4 6 2 9
3 12 8 6 1
4 10 12 4 1
5 13 10 10 25
6 8 14 6 1
7 7 12 4 1
8 9 8 6 1
9 6 10 2 9
10 12 10 4 1
Average \(\bar{i}=5\) \(\sigma_i^2=5\)

First, we select an initial opening stock (randomly chosen as 8 in this example) and then, in the fourth column, we determine the computed net stock via the inventory balance equation. After we reach time 10, we average the computed net stock in periods 1 through 10, \(\bar{i} = 5\). Then we calculate the fifth column, the squared difference of the computed net stock and the average computed net stock. Finally the variance is the average of these squared differences, \(\sigma^2_i = 5\).

Note: The initial inventory level can be set by either; referring to a stock count report from the past, or via trial and error in an Excel simulation you can determine the initial inventory level required to ensure the final inventory matches your current inventory. Either way, the initial inventory choose does not affect the final variance calculation, the inventory variance will always equal five in this example.

The safety stock formula is useful, but it takes no account of supply or process uncertainty. If you used the variance of the net stock (rather that the often recommended \(TNS=z \sqrt{\mathbb{V}[\text{Demand}]}\)) then you would be properly accounting for the requirements for inventory generated by the smoothing in the POUT policy.

Simulate the replenishment/forecasting policy in a spreadsheet. This approach has the advantage of using real demand. You can also simulate the consequences of supply and process uncertainties as well as the influence of stochastic lead-times.

Using judgement and experience. You may be aware that certain raw materials are only available from a single supplier, or perhaps a limited number of suppliers, due to intellectual property or other technical issues. Or perhaps some raw materials: have a long lead-time, are only available during certain periods, or have very large minimum order quantity. For these products, you may wish to abandon all safety stock formulas and decide to hold a large strategic raw material inventory to minimise the risk of not having adequate supplies.

Safety stocks should be kept constant, for perhaps a quarter, before being reviewed and adjusted to reflect the most recent data. If you adjust your safety stocks too frequently then, as the change in the safety stock will be passed directly to production, the safety stock adjustments themselves will introduce variability into the system. It may be possible to spread out the change in safety stock over several planning periods.

Unit holding costs are usually determined as a percentage of the cost (material purchase cost and any added value plus allowance for storage, insurance, obsolesce and capital costs). Backlog costs, two approaches. Either, a calculation of the net present value of all future forgone cash flows is used. Or, a pseudo cost is specified so that when safety stocks are calculated the safety stock allows a strategic inventory service level to be achieved. Where does this text belong?

4.5 Plant shutdowns and maintenance

Suppose that you wish to build ahead for a period of non-production (holiday, maintenance, etc.). This can be managed with independently planned requirements (IPR). First, you need to make a forecast of demand over the shut-down period. If this pre-build can be produced in the last period before the shut-down, then you simply add the additional forecasted demand to the last order before the shutdown as an IPR. Upon returning to work (and after the lead-time), the inventory levels will have returned to normal levels, fluctuating around the safety stock.

However, if you wish to produce the pre-build over several periods preceding the shutdown you will need to add IPR orders over several periods as well as account for the corrective action that the (P)OUT policy will attempt to make to react to what it perceives as an overproduction. This can be done in one of two ways:

  1. Adding the accumulated previous IPR’s into the safety stock, i.e. \(TNS_t=TNS+\sum_{i>0}IPR_{t-i}\), or

  2. Inflating the current week’s IPR to counteract the correction that the (P)OUT will attempt to make by adding \(IPR_t+\sum_{i>0} IPR_{t-i}/T_i\) to the current IPR order.

Both these approaches result in the same dynamic response.

Example: Strategies for pre-building for a shutdown. Suppose that we wanted to pre-build over a period of 4 weeks for a shutdown of 4 weeks. The undisturbed orders are always \(O_t=1, \forall t\), \(T_i=2\) and the normal safety stock, \(TNS=2\), \(T_p=2\). Under this demand pattern, we need to pre-build four units of inventory to cover the shutdown period, one unit of IPR in each of the four weeks before the shutdown.

In option (a) we add a unit of production as IPR to the orders in each of the four weeks preceding the shutdown. We also add the accumulated previously issued IPR to the safety stock, creating a dynamic \(TNS_t\). When the shutdown period is over, we reset the IPR back to zero and reset the safety stock levels to the static \(TNS\). Table 4.6 details how option (a) plays out over time in our numerical example.

Table 4.6: Establishing a pre-build to a shut down with IPR and safety stock adjustments
Time, \(t\) Order, \(O_t\) IPR, \(IPR_t\) TNS, \(TNS_t\) Adjusted order, \(AO_t=O_t+IPR_t\) Net Stock, \(NS_t\)
\(-5\) 1 0 2 1 2
\(-4\) 1 1 2 2 2
\(-3\) 1 1 3 2 2
\(-2\) 1 1 4 2 2
\(-1\) 1 1 5 2 3
0 - - - - 4
1 - - - - 5
2 - - - - 6
3 - - - - 5
4 1 0 2 1 4
5 1 0 2 1 3
6 1 0 2 1 2
7 1 0 2 1 2
8 1 0 2 1 2

Table 4.7 details how the system would evolve under option (b) without adjusting the safety stock, but instead by adjusting the IPR to account for the reaction of the (P)OUT policy to the apparent over-production. Notice that we still require the same IPR (third column), the same orders are released (column six) and the same net stock profile results (column seven). However, rather than adjusting the TNS, the IPR are inflated, to account for the system’s response to the apparent over-production, (see the second column, the unadjusted orders that would have been issued if \(IPR_t\) was added to the orders).

One might ask which is the best approach to use? If your MRP separates out the IPR automatically when it nets off the inventory from the safety stock then perhaps option (a) is best as there may not be any need to inflate the safety stock target as we approach the shutdown. However, if your MRP system does not separate out the IPR when it nets the inventory off against the safety stock then, manually adjusting the IPR in method (b) might be easier to implement.

Table 4.7: Establishing a pre-build to a shutdown with an inflated IPR
Time, \(t\) Order, \(O_t\) IPR, \(IPR_t\) TNS, \(TNS_t\) Adjusted order, \(AO_t=O_t+IPR_t\) Net Stock, \(NS_t\)
\(-5\) 1 0 2 1 2
\(-4\) 1 1 2 2 2
\(-3\) 1 1 3 2 2
\(-2\) 1 1 4 2 2
\(-1\) 1 1 5 2 3
0 - - - - 4
1 - - - - 5
2 - - - - 6
3 - - - - 5
4 1 0 2 1 4
5 1 0 2 1 3
6 1 0 2 1 2
7 1 0 2 1 2
8 1 0 2 1 2

Having produced your pre-build quantity, the next question is what to do with it? Do you keep it in your FGI and dispatch it to the customer as they require during the shutdown period? This option preserves as much flexibility as possible as you can decide later to send the inventory to another customer, if one exists. Do you have enough warehouse capacity to do this? Alternatively, do you send it to your customer early? Perhaps using a slower, but cheaper, transport mode? Does your customer have enough warehouse space? Will they accept early deliveries? Are there other issues that might affect your decision? For example, does temperature, humidity, spoilage, shrinkage, shelf-life play a role in your decision?

If you do not have enough spare capacity to pre-build all of your IPR perhaps you can exploit differences in the lead-time to different customers. For example, can you divert some of the supplies to a distant customer (who perhaps receives deliveries via a boat) to a local customer (who is perhaps only a few hours away on a truck)? After the shutdown is over the distant customer can receive urgent deliveries via air-freight until the shipping pipeline refills itself.

4.6 Batch production

In cases where the set-up or changeover cost is very high then it is likely that a batch production response is required as a single piece flow is not possible. This is often true for small volume products at the end of their product lifecycle. These products may not be worthy of further investment in production facilities and are likely to be produced only intermittently, perhaps only once or twice per year. In these cases, the production quantity may be set via the economic order quantity (EOQ) formula14 or the economic production quantity formula (EPQ). In ERP systems, the EOQ/EPQ decision could be called minimum order quantity (MOQ) or minimum campaign size (MCS); it may also be considered in a detailed scheduling module, rather than a planning book module.

In this section, we will first review the EOQ model, useful when production is (near) instantaneous, perhaps when products are ordered from a supplier. Then we consider the EPQ model, useful when it takes time to produce the desired production quantity.

4.6.1 Economic order quantity

The EOQ model determines how much to order so as to minimize some (defined, assumed) costs. The costs involved are usually ordering (purchasing) costs and inventory holding costs. The basic idea is that we want to minimize the sum of these two costs. In order to minimize ordering costs, we place large orders so that there is a long time between placing orders and we order less frequently. In this case, we would incur less order placement costs. However, placing large orders means that we have, on the average, more inventory in our warehouse (or on the shelf/in the shop). This inventory is expensive, and there is an opportunity cost involved in financing the inventory. So there is a trade-off to be made. We could place small orders and have low inventory costs, but high order costs. Alternatively, we could place large orders resulting in high inventory costs, but the order placement costs have been reduced. The EOQ decision minimizes the sum of these two costs.

The EOQ formula. The economic order quantity is given by

\[\begin{align} Q^\star=\sqrt{\frac{2 D k}{h}} \end{align}\]

where

  • \(Q\) = the order quantity. The optimal \(Q\), the order quantity that minimizes the total cost, is \(Q^\star\).

  • \(k\) = cost of placing an order. Sometimes this is called the set-up cost. We assume that this is independent of the order quantity and does not change over the year.

  • \(h\) = cost of holding one unit of inventory for one year, assumed to be a constant.

  • \(D\) = annual demand. This is what is sold in a complete year (365 days). We assume that the demand rate is spread out evenly throughout the whole year.

The EOQ model is a mathematical model that relies on some assumptions. These assumptions are:

  • Annual demand is known or can be forecasted. The daily demand is constant, distributed evenly over each day of the year.

  • Orders are received complete, all at once, after a known and constant lead-time.

  • Stock-outs (or backlogs) are avoided by ordering on time.

  • There are no quantity discounts (although this can be easily handled using standard techniques – see a good operations management textbook).

  • The only costs are the ordering (or set-up) and the inventory holding (storage) costs.

  • All costs are known and constant.

  • The set-up cost is independent of the order quantity.

  • Only a single product is considered.

We have assumed the demand rate is known and constant then the inventory will fall over time at a constant rate equal to the demand rate, see Figure 4.10. When the inventory level falls to the re-order point \(R\), a new order is placed (for a cost of \(k\)) to replenish the inventory. This order is for \(Q\) products that will arrive \(L\) time-periods after the order was placed. As \(L\) is assumed to be known and constant, and as demand is known and constant, then the order will arrive and replenish inventory at the moment the inventory level reaches zero. The receipt of the order brings the inventory level back up to \(Q\), from which the replenishment cycle continues. Each replenishment cycle lasts \(Q/D\) years, the number of orders placed in a year is \(D/Q\).

The inventory behavior over time in the EOQ model

Figure 4.10: The inventory behavior over time in the EOQ model

Deriving the optimal order quantity in an EOQ decision

The annual order cost is \(Dk/Q\), which is decreasing in \(Q\). The average inventory of \(Q/2\) can easily be seen in Figure 4.10 by noting that the two areas labelled ‘A’ are equal. The annual inventory holding cost is \(Qh/2\), which is linearly increasing in \(Q\). Adding these two costs together gives a total annual cost, \(TC\), of \[\begin{align} TC=\frac{Qh}{2}+\frac{Dk}{Q}. \end{align}\] As the inventory cost is increasing in \(Q\) and the order cost is decreasing, there is a minimum \(TC\) for a particular optimal \(Q^\star\). We can find the \(Q^\star\) that minimizes \(TC\) from the first order conditions. Differentiating \(TC\), w.r.t. \(Q\) provides the gradient, \[\begin{align} \frac{dTC}{Q}=\frac{h}{2}-\frac{Dk}{Q^2}. \end{align}\] The optimal \(Q^\star\) can be found by setting the gradient to zero, \[\begin{align} \frac{h}{2}-\frac{Dk}{Q^2}=&0, \end{align}\] adding \({Dk}\slash{Q^2}\) to both sides, \[\begin{align} \frac{Dk}{Q^2}=&\frac{h}{2}, \end{align}\] cross-multiplying the denominators, \[\begin{align} 2Dk=& Q^2 h, \end{align}\] and finally dividing both sides by \(h\) and taking the square root, \[\begin{align} Q^\star=& \sqrt{\frac{2Dk}{h}}. \end{align}\] At this stage we have no knowledge of whether \(Q^\star\) is a maximum, a minimum, or an inflection point. We can resolve this ambiguity by inspecting the second derivative of the total cost expression. The second derivative is, \[\begin{align} \frac{d^2TC}{dQ^2}=\frac{2Dk}{Q^3}. \end{align}\] As \(\{D,k,h\}>0\) then the second derivative is always positive which implies that \(Q^\star\) is a minimum. Table 4.8 provides a summary of properties of the economic order quantity model.

Table 4.8: Properties if the economic order quantity model
EOQ property Formula
The economic order quantity \(Q^\star = \sqrt{2 D k/h}\)
Number of orders placed each year \(D/Q\)
Days between placing orders (assuming 365 working days per year) \(365 \times (Q/D)\)
Total annual costs \((Dk/Q)+(Qh/2)\)
Annual inventory holding cost \(Qh/2\)
Annual ordering cost \(Dk/Q\)
Minimum, maximum and average inventory held Min = 0, Max = \(Q^\star\), Average = \(Q^\star /2\)
Total cost per replenishment cycle \(2k\)

4.6.1.1 Managerial insights from the EOQ model

Figure 4.11 provides a sketch of the costs in the EOQ model as a function of the order quantity \(Q\). We can see that the annual inventory holding costs are a linear function of \(Q\) and the annual ordering costs are a convex decreasing function of \(Q\). The total costs, the sum of the inventory and ordering costs, is a convex function have a minimum, or optimum, \(Q\). The total cost curve only increases slowly near \(Q^\star\), indicating that the small deviations from the optimal quantity will not significantly increase costs; that is, the EOQ model is quite robust. Also, if a different \(Q\) to \(Q^\star\) are required, then it may be better to use slightly larger \(Q\), rather than slightly smaller \(Q\). However, if rounding \(Q^\star\) to an integer (or box, crate, or bag size) then we should calculate the costs for rounding up, and for rounding down, as it is often not possible to determine which direction to move beforehand.

A Shiny App is available here where we can explore the EOQ model interactively. The App can calculate \(Q^\star\) automatically, plot the total cost graph, as well as deal with any rounding and batching issues.
The components of the total cost in an EOQ problem

Figure 4.11: The components of the total cost in an EOQ problem

Increasing the order quantity increases the average cycle stock. In fact, the average inventory is \(Q/2\). Large batch sizes are also an important cause of the bullwhip problem. However, there is a trade-off between the ordering-up cost and holding cost. The holding cost is largely determined by the value of the inventory and the cost of capital. Both of these factors are rather uncontrollable (and if they were controllable higher inventory costs and cost of capital would be required to reduce batch sizes, not a readily accepted course of action). However, reducing the ordering-up costs (\(k\)) results in smaller batch sizes and lower inventories, hence the importance of the Single Minute Exchange of Dies (SMED) concept, see Chapter 5. Note, that there is a square root relationship between \(Q\) and \(k\). This means that if the ordering-up cost reduces by a factor of 4 the batch size decreases by a factor of 2.

There is also a square root relationship between \(Q\) and \(D\). Four-fold increases in demand result in batch sizes that are twice as large and are produced twice as often. This means that inventory should not track sales growth and brings into doubt the usefulness of the Days of Sales and the Inventory Turnover metrics. For example, 100% growth in sales can be sustained by a mere 41% (from the square root of 2) increase in cycle inventory. This relationship between \(Q\) and \(D\) also has an influence on centralization decisions and component commonality due to economies of scale.

The EOQ is likely to introduce order variability into the system. Bullwhip ratios can be reduced when the batch sizes are a factor (or multiple) of the average demand, see Potter and Disney (2006). For example, if the average demand was 100, producing in quantities of 1, 2, 4, 5, 10, 20, 25, 50, 100, 200, 300, 400,… will minimize the resulting Bullwhip. The Bullwhip measure will be particularly large at the mid-points between these values (1.5, 3, 4.5, 7.5, 15, 22.5, 37.5, 75, 150, 250, 350,… for example).

It is also interesting to note that if one considers the time value of money in a net present value analysis, then the optimal \(Q\) maintained by both the EOQ (and the EPQ approaches, see later) becomes smaller, see Disney and Warburton (2012) and Disney, Warburton, and Zhong (2013). Thus, in environments where the cost of capital or inflation is high, then reducing the batch quantity \(Q\) is a good option. In other situations, the batch size is not driven by a cost minimization procedure, but other factors such as case/crate/bag sizes, or the number of items that a machine produces in one cycle. Alternatively, a minimum order quantity could be imposed, or quantity discount offered, by a supplier.

When to place an order: The re-order point

Under a constant demand and lead-time, you place an order onto your supplier when you inventory falls below the re-order point \(R=\lceil \mu_{d}L \rceil\), where \(\mu_{d}\) is average the daily demand, \(L\) is the replenishment lead-time in days and \(\lceil \cdot \rceil\) is the ceiling operator (that is, around any fractional number up to the next integer). If the demand over the replenishment lead-time was normally distributed (the central limit theorem suggests that the lead-time demand distribution will become more like the normal distribution as the lead-time increases) then the re-order point will be given by \[\begin{align} R=\lceil \mu_{d}L+z \sigma_L \rceil \end{align}\] where \(z\) is a safety factor linked to your target availability and \(\sigma_l\) is the standard deviation of the lead-time demand. The safety factor, \(z = \Phi^{-1}[\text{Availability}]\), is the inverse of the cumulative density function of the standard normal distribution evaluated at the target availability.

A Shiny App is available here where we can explore the standard normal distribution interactively. The App can calculate the PDF, the CDF and the Loss function and their inverses for the standard normal distribution.

For example, suppose that 90% availability was desired then we enter 0.9 into the query box for the inverse of the cumulative density function (CDF) on the left hand panel and look for the answer under the CDF graph in the main panel; \(z = 1.28155\).

As an alternative to a strategy availability target, we could minimise inventory holding and backlog costs via the newsvendor critical fractile. For example, assume the per period unit holding cost, \(h = 1\), and the per period unit backlog cost \(b = 19\). The newsvendor critical fractile is then \(b/(h+b)=0.95\), from which we arrive at the same z-factor, \(z = 1.64485\) (different costs may have produced a different critical fractile).

Example calculation of the re-order point.

Suppose that daily demand is as given in the second column of Table 4.9, 95% availability is required, and the lead time, \(L=5\). To calculate the re-order point, we first we average the daily demand to find \(\mu_{d}\). Next, we aggregate the daily demand into lead time demand. This is done by simply summing the last five observed demand points, see the third column of Table 4.9. The average lead-time demand is then found to be \(\mu_{l}=25\). Using \(\mu_{d}\) we can then determine the per period contribution to the variance calculation in the fourth column, which we average to obtain the variance of the lead-time demand, \(\sigma^2_l=17\).

Table 4.9: Calculating the variance of the demand over the lead time, \(L=5\)
Time, \(t\) Demand, \(d_t\) Demand over the lead time, \(\sum_{i=0}^4 d_{t-i}\) Variance calculation, \((\mu_L-d_t)^2\)
1 3 - -
2 0 - -
3 6 - -
4 6 - -
5 5 \(3+0+6+6+5=20\) \((25-20)^2=25\)
6 9 \(0+6+6+5+9=29\) \((25-26)^2=1\)
7 6 \(6+6+5+9+6=32\) \((25-32)^2=49\)
8 3 \(6+5+9+6+3=29\) \((25-29)^2=16\)
9 7 \(5+9+6+3+7=30\) \((25-30)^2=25\)
10 0 \(9+6+3+7+0=25\) \((25-25)^2=0\)
11 6 \(6+3+7+0+6=22\) \((25-22)^2=9\)
12 3 \(3+7+0+6+3=19\) \((25-19)^2=36\)
13 6 \(7+0+6+3+6=22\) \((25-22)^2=9\)
14 10 \(0+6+3+6+10=25\) \((25-25)^2=0\)
Average \(\mu_d=5\) \(\mu_L=25\) \(\sigma^2_L=17\)

For 95% availability a z-factor of \(z = 1.64485\) is required. Finally, we have all of the components to the re-order point calculation; \[\begin{align} R=\lceil\mu_{d}L+z \sigma_L \rceil= \lceil 25+1.64485\sqrt{17}\rceil=\lceil 131.78 \rceil = 132. \end{align}\]

The EOQ/re-order point mechanism requires some sort of inventory level monitoring system to be in place. Your ERP system by have this function built into a detailed scheduling module. If you are not using an ERP system to control this, then you will need to set up some sort of manual process to monitor the inventory levels and to trigger the replenishment decision. This could be done using some sort of two-bin or Kanban system.

4.6.2 Economic production quantity

The EOQ model assumes when the order arrives, it arrives all at once, after a known lead-time. In a production setting the order may arrive slowly, over a period of time, and the economic production quantity (EPQ) formula should be used.

The EPQ formula. Economic production quantity is given by, \[\begin{align} Q^\star=\sqrt{\frac{2PDk}{h(P-D)}}, \end{align}\] where

  • \(P\) = annualised production rate (i.e. what could be produced in a year if the system was operated continuous over all available shifts).

  • \(D\) = annual demand.

  • \(k\) = cost of a changeover.

  • \(h\) = unit holding cost to stock an item for one year.

  • \(Q\) = the production quantity, the decision variable.

There are a number of assumptions in the EPQ model. They are very similar to the assumptions in the EOQ model:

  • only one item is present.

  • annual demand is known and even throughout the year.

  • there is a known and constant lead-time.

  • there are no quantity discounts.

  • costs are known and constant.

However, in the EPQ model assumes the production rate is finite, constant and known, rather than infinite as is assumed in the EOQ model.

Derivation of the Economic Production Quantity formula. The total cost (\(TC\)) in the EPQ problem is minimized by selecting a production batch size, \(Q\). The total cost is assumed to be made up of:

  • the cost of holding inventory (the cost of holding one unit of inventory for one year is \(h\)),

  • the cost of a production set-up is \(k\) (a change-over is incurred when production facility switches from producing one product to another),

  • and the direct cost of production per unit is \(c\) (not including the holding or the set-up cost).

The external and hence uncontrollable (at least not easily) variables are \(D\), the demand rate and \(P\), the production rate. It is usual to consider the EPQ operating on an annual basis, so \(D\) is the demand per year, \(P\) the production per year that could be achieved if the product was manufactured continuously. The relation \(P>D\) is required as otherwise the production will never be able to keep up with demand. When \(P = D\) we produce continuously and never conduct a change-over. When \(P>D\), the product is manufactured intermittently and it is this situation that is typically considered in an EPQ analysis. In the time when we are not producing the product in question we assume that the manufacturing equipment is either idled or is used to manufacture another product.

The direct production costs are incurred during the periods when we are manufacturing product. As product is manufactured at a rate of \(P\), direct production costs are incurred at a rate of \(cP\). After \(Q\) items have been made the production is turned off, \(Q/P\) years after it was started (remember \(P\) is an annual production rate, so \(Q/P\) is a proportion of a year). During the period when production is running, as \(P > D\) then inventory has been building up at a rate of \(P-D\). When production is ceased, the inventory level is at \(Q(P-D)/P\) and the inventory depletes thereafter at a rate of \(-D\). Just at the instant that inventory falls to zero (at \(Q/D\) years after the last set-up was conducted), we assume production is initiated again and inventory builds up. The annual inventory costs is given by \[\begin{align} \text{Inventory costs}=\frac{hQ(P-D)}{2P} \end{align}\] where \(h\) is the unit holding cost. Every time the production is started up a set-up cost of \(k\) is incurred. As there are \(D/Q\) setups per year, the annual set-up costs will be given by \[\begin{align} \text{Set-up costs}=\frac{kD}{Q} \end{align}\] The annual direct production costs are given by \[\begin{align} \text{Production costs}=cD \end{align}\] where \(c\) is the unit cost of production. Figure 4.12 sketches the time evolution of the three components of the EPQ costs.
Production, inventory, and set-ups over time in the EPQ model

Figure 4.12: Production, inventory, and set-ups over time in the EPQ model

Adding together the three cost components, we obtain the following expression for the total annual costs, \[\begin{align} TC=\frac{Dk}{Q}+\frac{Qh(P-D)}{2P}+cD. \end{align}\] Taking the derivative w.r.t. \(Q\) yields \[\begin{align} \frac{dTC}{Q}=-\frac{Dk}{Q^2}+\frac{h(P-D)}{2P}. \end{align}\] Setting the derivative to zero and solving for the optimal batch quantity, gives \[\begin{align} \tag{4.5} Q^\star=\sqrt{\frac{2PDk}{h(P-D)}}=\sqrt{\frac{2Dk}{h}}\sqrt{\frac{P}{P-D}}. \end{align}\] We can verify that \(Q^\star\) in (4.5) is a minimum by taking the second derivative, \(\frac{d^2TC}{dQ^2}=-\frac{2Dk}{q^3}\). Thus, the second derivative is always positive as \(\{Q,D,k\}>0\), indicating that \(Q^\star\) is a minimum.

Managerial insights from the EPQ model. Similar to the EOQ case, reducing the set-up cost \(k\) results in smaller production quantities \(Q_{EPQ}^\star\). Furthermore, increasing the production rate \(P\) results in smaller \(Q_{EPQ}^\star\). The order quantity under EPQ decision is always larger than the order quantity under the EOQ decision, i.e. \(Q^\star_{EPQ}> Q^\star_{EOQ}\) as \(\sqrt{P/(P-D)}>1\) when \(P>D\). In order for the production system to be able to keep up with demand \(P>D\). Furthermore, as the annual demand \(D\) approaches \(P\) (from below) then \(Q^\star_{EPQ}\) gets larger. When \(D = P\), \(Q^\star_{EPQ}\rightarrow \infty\) indicating that production is continuous and never ceases. As \(P\rightarrow \infty\), indicating that complete orders arrive instantaneously, then \(Q^\star_{EPQ}=Q^\star_{EOQ}\). When the net present value (NPV) of the cash flows resulting from the replenishment decision are considered, \(Q^\star_{EPQ}\) gets smaller as the interest rate in the NPV calculation gets larger.

Finally, let’s consider some practical issues with EPQ decisions. Over time, the engineering department, may have made changes to the way a changeover is completed (perhaps some kaizen activities have made the changeover quicker/cheaper), the demand or production rates may have changed, or the material, labour and storage costs may have changed. Periodically, in order to gain the full benefit from these hard earned improvements, we should revisit the assumed data behind the EPQ decision and update the order quantity.

Having now calculated the system recommended production targets, the next chapter considers how to: gain approval for the production planning from important internal stakeholders via a weekly production planning meeting, communicate that plan to the shop floor, and how to ensure what was agreed upon is actual produced.

References

Disney, S. M., A. Maltz, X. Wang, and R. D. H. Warburton. 2016. “Inventory Management for Stochastic Lead Times with Order Crossovers.” European Journal of Operational Research 248 (2): 473–86.
Disney, S. M., and R. D. H. Warburton. 2012. “On the Lambert W Function: Economic Order Quantity Applications and Pedagogical Considerations.” International Journal of Production Economics 140 (2): 756–64. https://doi.org/10.1016/j.ijpe.2011.02.027.
Disney, S. M., R. D. H. Warburton, and Q. C. Zhong. 2013. “Net Present Value Analysis of the Economic Production Quantity.” IMA Journal of Management Mathematics 24 (4): 423–35. https://doi.org/10.1093/imaman/dpt002.
Michna, Z., S. M. Disney, and P. Nielsen. 2019. “The Impact of Stochastic Lead Times on the Bullwhip Effect Under Correlated Demand and Moving Average Forecasts.” Omega. https://doi.org/10.1016/j.omega.2019.02.002.
Potter, A., and S. M. Disney. 2006. “Bullwhip and Batching: An Exploration.” International Journal of Production Economics 104 (2): 408–18. https://doi.org/10.1016/j.ijpe.2004.10.018.
Wang, X., S. M. Disney, and J. Wang. 2012. “Stability Analysis of Constrained Inventory Systems with Transportation Delay.” European Journal of Operational Research 223 (1): 86–95. https://doi.org/10.1016/j.ejor.2012.06.014.

  1. The EOQ formula is one of the first theories for managing inventory, dating back to Ford W. Harris (1913). There have been possibly hundreds of extensions, refinements and elaborations to the original model, but we will consider only the original EOQ formula and the EPQ formula herein.↩︎