Keywords

1 Introduction

The MRP (material requirements planning) method is often applied in practice for production planning, therefore, studying different effects on the optimal planning parameters of this method is a relevant field of research. Standard MRP is a deterministic planning approach assuming that demand and shop floor behavior have no stochastic effects. In practice, it is usually applied in a rolling horizon manner to react on changes on the shop floor level and customer demand [1]. For each MRP planning run, demand information is updated which leads to stochastic effects in gross requirements. In general it can be observed, that customer demand information quality decreases for due dates further in the future. Customer forecasts can be biased, meaning an overbooking peak or underbooking trough several periods before delivery, whereby forecast values then gradually (or steeply) move back to the really needed amounts [2]. The martingale model of forecast evolution (MMFE) is a known modeling technique for evolving demand forecasts and is applicable in industry and investigated in inventory theory [3,4,5]. In the MMFE model, forecasts appear a certain time in advance and are gradually updated in a rolling horizon manner until due date. MRP parameters are planned lead time, lot-sizing rules and safety stock, all of which can be applied to counteract uncertainties [6]. Safety stock and safety lead time (i.e. considering buffer lead times) are effective ways to protect against stochastic demand. Some authors emphasize that lot-sizes and safety stocks should always be computed together to minimize the costs [7]. Other researchers even claim that it is only useful to consider all parameters at the same time [8]. Previous studies have shown the effects of demand uncertainty on unit costs, but with greater focus on lot sizing rules [9]. Zhao et al. [10] evaluated alternative methods of establishing the safety stock for the MPS under demand uncertainties by using the measures of historical forecast accuracy but assume an independent and identical distributed customer demand. Enns [11] discussed the use of planned lead times and safety stocks to mitigate forecast bias and demand uncertainty for a batch production system using MRP.

Multiple studies suggest that there is no analytical method to directly determine the safety stocks in an MRP environment with demand uncertainties [7], therefore, simulation is applied in this study to mimic the MRP planned production system with stochastic shop floor behavior and different stochastic demand model parameterizations whereby inventory and backorder costs are evaluated. Simulation is appropriate since the relation between MRP planning, stochastic demand forecast updates, and shop floor uncertainties cannot be treated in an analytical way. This paper presents preliminary results of optimal safety stock related to demand forecasts. Forecasts are received directly from the customers on a rolling horizon basis and evolve from a long-term forecast to the due date. The effect of different forecast uncertainty levels on the optimal safety stock in a rolling horizon forecast update system with and without forecast bias is studied. After the introduction, the applied demand forecast model is described. Next the production system used for the simulation study is introduced, followed by a description of the simulation experiments, selected results and a conclusion.

2 Demand and Forecast Model Description

To model the forecast behavior of the customer we use the following model. The demand model reflects the customer behavior of changing the amounts with an upcoming due date. This introduces uncertainty into the production system of the supplier. The forecast vector \(F_{i,j}\) defines the forecasts for all finish goods (FG) at due date i for j periods before delivery. There also exists a long-term forecast vector \({\mu }\) for all FG. H periods before the due date the customer starts updating the forecast periodically based on a rolling horizon. The forecast updates are then modeled as the follows:

$$\begin{aligned} \begin{array}{rcl} F_{ i,j } = \mu \, for\,j \in \left\{ H+1,\dots ,\infty \right\} F_{ i,j } = F_{ i,j-1 } \,+ \, \epsilon _{i,j}\, for\,j \in \left\{ 0,\dots ,H \right\} \end{array} \end{aligned}$$
(1)

whereby \(\epsilon _{i,j}\) is the forecast update vector for due date i observed j periods before delivery (the updating period is period i-j). In the standard MMFE modelling this update vectors are identically disturbed multivariate normal random vectors with mean 0 (see [4] for more details). To create different customer behavior, the calculation of the update vector is varied. If the customer has unsystematic behavior, the update vector is calculated similar to the standard MMFE. In detail we simplify the stochastic updates to:

$$\begin{aligned} \epsilon _{i,j} = S_j(\mu ,0,\,\alpha ) \sim N(0,\, \alpha a_j \mu ) \end{aligned}$$
(2)

whereby \(S_{j}\)(\(\mu ,\) 0, \(\alpha )\) is a vector of normal distributed random variables with mean 0 and standard variation \({\alpha \mu }\). Note that if \(a_j\) is constant for all j, all forecast updates have the same variance, independent of the periods before delivery j, \({\alpha }\) defines the level of uncertainty varied in the simulation study. If the customer behavior is systematic, we assume that forecast is several periods before delivery, on average, too high or too low. In this paper the forecast bias changes for periods before delivery j. To realize this, we define the update vector as follows:

$$\begin{aligned} \epsilon _{i,j} = S_j(\mu ,\,\gamma ,\,\alpha ) \sim N(\gamma c_j \mu ,\, \alpha a_j \mu ) \end{aligned}$$
(3)

whereby \({\gamma }\) is a scaling factor varied in the simulation study and \(c_j\) is a shaping factor. This allows us to create different biased customer behaviors like over- and underbooking in different magnitudes with the same shape for each finish good. Note that a biased forecast is also stochastic, the uncertainty depends on \({{\alpha }a_j}\), and that the biased information update does not necessarily increase information quality. In conclusion: \({\alpha }\) describes the level of uncertainty, \({\gamma }\) the level of bias, \(a_j\) the shaping of uncertainty, and \(c_j\) the shaping of the bias.

3 Production System Simulation Model

The simulation setting consists of a two-stage production system including a two-level bill-of-materials (BOM) with eight FG and four semi-finished goods, whereby every semi-finished good is converted into two different FGs. The FGs are produced on two different machines with the same processing time 0.002933 periods/piece and setup times of 0.00033 periods/piece for all materials, both times are not deterministic during simulation runs. The long-term forecast vector \({\mu }\) is defined as \({\mu }\) = (200, 400,..., 1600). Each semi-finished good consumes the same raw material which is always available. The production system is continuously available. To evaluate a production system which is under stress due to high customer demand variability meaning irregular order times a low planned capacity utilization is assumed. This allows the production system to mitigate uncertainties with safety stock to hold service level. Therefore the system is designed for a planned capacity utilization of 83.55%, including 8.75% for set-ups. As a result, in 74.8% of the available time materials are produced. Fixed order Period (FOP) with a value of 3 is the selected lot sizing policy. The MRP run is calculated once a period and the forecasts are as well updated once a period. We define the following parameters for the simulation run: The safety stock vector ST for all FG is defined as:

$$\begin{aligned} ST = x * \mu ,\, with\,x \in [0,\,0.1, \dots , 2] \end{aligned}$$
(4)

We apply the same safety stock related to the long-term forecast for all FGs. For semi-finished goods no safety stock is applied. The planned lead timed is defined with three periods. The used simulation framework implements a discrete event simulation model and uses a customer order agent to mimic the periodic order behavior of updating the customer demand. Within the simulation framework, the standard MRP logic with netting, lot-sizing, offsetting and BOM explosion is applied [12]. The run-time for the iterations of the simulation experiments are set to 1800 periods and 30 replications are used to observe the stochastic in the production system. WIP costs of 0.5 CU/period, FGI costs of 1 CU/period and two levels of backorder costs, i.e. b = 99 and b = 198 CU/period, are applied.

4 Numerical Study

A set of scenarios is defined to answer the research questions and derive some managerial insights. The numerical study is conducted using the previous described production system and customer behavior with varying lognormally distributed interarrival times, that lead on average to 0.85 orders per product and day. The customer behavior is unsystematic in scenarios A1 and A2, therefore, \({\alpha }\) varies from 0 to 2 with step-size 0.25. The customer behavior is systematic in scenarios B1 and B2, therefore, \({\gamma }\) varies from 0 to 2 with step-size 0.25. The following detailed specifications are applied. A1: Basic Scenario \(a_j\) = 0.1 for all j; \({\gamma }\) = 0; H = 10. A2: Scenario with shorter forecast horizon \(a_j\) = 0.1 for all j; \({\gamma }\) = 0; H = 5. B1: Biased forecast with overbooking \({\alpha }\) = 1; \(a_j\) = 0.1 for all j; \(c_j\) = [−0.05, −0.05, −0.1, 0.1, 0.05, 0.05] for j = [3, 4, 5, 6, 7, 8]; H = 10. B2: Biased forecast with underbooking \({\alpha }\) = 1; \(a_j\) = 0.1 for all j; \(c_j\) = [0.05, 0.05, 0.1, −0.1, −0.05, −0.05] for j = [3, 4, 5, 6, 7, 8]; H = 10. The obtained simulation results for the unsystematic customer behavior, i.e. A1 and A2, in Fig. 1 show a rising trend for safety stock factor (ssf) for increasing alpha value for all backorder cost rates and scenarios. Consequently more forecast introduced uncertainty in the customer demand requires a higher safety stock to fulfill customer demand and hold service level. Detailed results (omitted here due to space reasons) show that with an increasing \({\alpha }\) value, the minimal overall costs (inventory + backorder) represented by the ssf also tend to increase. The results of the biased scenarios, see Fig. 2, show that for B1, i.e. overbooking, the optimal safety stock is rather low with no clear trend related to the level of bias. However, for B2, i.e. underbooking, the ssf is rapidly increasing with respect to level of bias. This shows that overbooking implies a certain FGI buffer and, therefore, only few safety stock is necessary and underbooking needs to be hedged by a higher safety stocks. This finding is in line with [11], however, it extends his study since here also rolling horizon forecast updates are investigated.

Fig. 1.
figure 1

Optimal safety stock factor unsystematic scenarios A1 and A2.

Fig. 2.
figure 2

Optimal safety stock factor for biased scenarios B1 and B2.

5 Conclusion

In this paper the optimal safety stock of finished goods in an MRP planned production system under different rolling horizon forecast update settings was investigated and first preliminary results are shown. In detail, it is assumed that customers update their long-term forecast ten or five periods before delivery with unbiased or biased forecast errors. The MRP planning is conducted each period applying the updated demand values. With a simple enumeration scheme, the safety stock to minimize inventory+backorder costs is identified. The numerical results show that for unbiased forecast updates, a higher uncertainty leads to higher optimal safety stocks and higher overall costs. For biased updates, overbooking already implies a certain buffer and only a low safety stock is necessary, while underbooking needs to be hedged by higher safety stocks. In our study several constraining assumptions were made that have to be relaxed in further research. For example, further studies will investigate the interrelation of the MRP parameters (lead time, lot-size and safety stock) in a broader solution space.