1 Introduction

In the evolution of the relationship between customers and suppliers, there has been a progressive establishment of a new form of partnership based on contracts or global orders spread over relatively long periods (Defever et al. 2016; Brandes et al. 2013). Companies have slowly shifted from the traditional order between the customer and supplier based on a specified quantity and lead time to the notion of a contract order, in which the supplier is linked to the customer through a cyclic delivery schedule with a forecasted quantity for each delivery (Jalilvand-Nejad and Fattahi 2015). In many cases, the exact quantities to be delivered are known only a few days before delivery.

For many years, large companies worldwide have arranged cyclic deliveries with their subcontractors for a small variety of standard components. In the automotive sector, component purchase orders are usually cyclically released (Jalilvand-Nejad and Fattahi 2015). For this type of product, cyclic delivery schedules improve the efficiency with which these products are ordered and received. Cyclic production scheduling is a natural approach for addressing this type of demand (Jalilvand-Nejad and Fattahi 2015). The approach consists in defining a production cycle in which a set of tasks are repeatedly executed to produce a set of products (Herrmann 2003; Jodlbauer and Reitner 2012).

Cyclic scheduling is not only applied in manufacturing systems (Bocewicz et al. 2018) but is also considered to be one of the most effective approaches for managing and planning people transportation, such as urban and intercity public transport or rail and air transport (Cacchiani and Toth 2012), and has many other applications in communications (Nunes et al. 2018), staff scheduling (Bhattacharya et al. 2014), robotics (Elmi and Topaloglu 2017), etc.

Cyclic production in manufacturing is based on a repetitive production schedule, which can provide many benefits. Indeed, synchronization between production and deliveries is in accordance with the “just-in-time” principle (Hall 1988; Bahroun et al. 2007). Cyclic production can reduce losses, improve quality, and decrease lead times and costs (Hall 1988). Ashayeri et al. (2006) presented a case study in which costs decreased by 30% through the use of cyclic schedules. Moreover, cyclic and repetitive production favours a learning curve effect, thereby increasing employee skills (Hall 1988) and leading to more efficient material handling, increased station utilization (Öztürk et al. 2015), and better shop floor control (McCormick and Rao 1994).

The production cycle is usually defined by a fixed and repetitive sequence of manufacturing orders. The manufacturing order quantities are based on average delivery values, and the definitive delivery quantities are specified in the short term based on the actual demand. The production capacities are fixed and adjusted to meet the demand. In Fig. 1, a production cycle of 1 week (7 days) is represented for a set of three products: A, B and C. The repetitive production schedule is repeated over time according to the same production sequence ACBAB. The production cycle includes 5 manufacturing orders: 2 for products A and B and one for product C. The delivery cycle for all products is a week. In each week, product A, for example, must be delivered three times, on days 1 with an average quantity of 7500 units, 3 with an average quantity of 10,000 units and 5 with an average quantity of 7500 units. Products B and C are also delivered three times a week: on days 2, 5 and 7 for product B and on days 1, 2 and 7 for product C. The manufacturing order quantities are based on the average delivered quantities. In such a production cycle with cyclic deliveries, the demand is uncertain and nonstationary as it varies, sometimes in important ways, from day to day. Traditional safety stocks usually cover the uncertainty of stationary demand with small variations from day to day and maintain constant safety stocks throughout the horizon. Constant safety stocks are not well adapted for nonstationary demand, as they might overestimate the safety stocks needed on some days and underestimate the safety stocks needed on other days. Thus, dynamic safety stocks are needed for this type of demand.

Fig. 1
figure 1

Illustrative example

Three periods can be established for the control and supervision of cyclic production systems (Bahroun et al. 2007; Bahroun and Campagne 2010):

  • A long-term period for negotiating contracts.

  • A medium-term period for defining and adapting the production cycle to the delivery cycle of the different products. Indeed, we need to determine the optimal production cycle duration in terms of logistic costs (ordering and inventory holding costs). We should determine for each product, the number of manufacturing orders during the production cycle, the quantity and the start time of each manufacturing order. We assume in this work that the production cycle and production schedule is known and has been determined.

  • A short- to medium-term period for adjusting production quantities and capacities. At the short-term level, the actual production quantities must be permanently set, and the production capacity required to produce the quantities to be delivered must be determined. The dynamic management of safety stocks must also be established to accommodate uncertainty in the actual quantities to be delivered.

This paper focuses on the short-term management of cyclic production schedules and, specifically, on safety stock (SS) determination. Safety stocks are indeed a key issue and important for overcoming uncertainties in demand and lead time. Most existing research, as highlighted in the next section, has considered static SSs and stochastic stationary demand, but in this study, we use dynamic SSs to efficiently manage the uncertainty in our repetitive but nonstationary demand.

The paper is structured as follows. Section 2 reviews the relevant literature on SSs. Section 3 describes the proposed approach. Section 4 applies the proposed simulation-based approach to two case studies. Section 5 presents the results of a sensitivity analysis. Finally, section 6 concludes the paper and provides some suggestions for further research.

2 Literature review of safety stock research

All manufacturing systems require stocks. The stocks can be raw materials, semi-finished products or finished products. Generally, stocks are subject to different uncertainties, the most important of which is uncertainty in demand and uncertainty in the replenishment lead time. Companies use SS to address these uncertainties and maintain the desired service level. SS is an additional stock maintained at the minimum level possible given a non-deterministic demand and finite capacity constraints. The amount of SS needed for a product is traditionally calculated by estimating the demand probability distribution during the replenishment lead time and fixing the service objectives according to an acceptable probability of being out of stock. SS is composed of two parts: the first part covers the uncertainty related to the demand, and the second part covers the uncertainty related to the replenishment lead time.

Many authors have shown that SSs should be based on the average demand and variability of supply and demand relative to a fixed service level (Stevenson 2009; Ruiz-Torrez and Mahmoodi 2010). In the traditional (r, Q) inventory system, the SS is a function of the average and standard deviation of the demand (D, σD), the average and standard deviation of the lead time (LT, σLT), and a z-value related to the desired service level (Stevenson 2009).

$$ SS=z\times \sqrt{\left( LT{\sigma_D}^2+{D}^2{\sigma_{LT}}^2\right)} $$
(1)

In this traditional approach, the demand and the lead time are typically assumed to follow a normal probability distribution and to be stationary throughout the entire horizon.

In management systems based on manufacturing resource planning (MRP) principles, there are two types of SSs for mitigating the uncertainty in demand (Campbell 1995):

  • variable SS associated with each manufacturing order and

  • constant SS throughout the management horizon.

For the first type, a constant service level is generally fixed for the entire management horizon. The variance is then calculated for each manufacturing order with regard to the demand covered by the order. The safety stock is then calculated using these two parameters: the service level and the variance (see Bookbinder and Tan 1988). For the second type, a constant SS is calculated to maintain a minimum service level for the entire management horizon (see Yano and Carlson 1987; Debodt and Hanssenhove 1983; Wemmerlov and Whybark 1984).

Many researchers have investigated methods of determining SS levels for different situations for the case of stationary demand. For example, Persona et al. (2007) suggested different approaches for determining the safety stock levels of subassemblies and manufacturing components. They stated that managing SSs for modular subassemblies minimizes the effect of forecasted errors and reduces the need for SSs. The same authors classified the determination of SSs according to three approaches. The first approach is based on demand uncertainty (Charnes et al. 1995, for example), the second approach is based on variation in forecasting errors (Eppen and Martin 1988, for example), and the third approach is based on the product structure (Hiller 2002, for example). Schmidt et al. (2012) compared different known mathematical methods for determining SSs through simulations. They concluded that each approach has its own strengths under particular conditions, and they recommended developing a dynamic approach for calculating SSs. Additionally, under stationary demand, Horng (2013) developed a simulation model to optimize safety stock levels for a hybrid manufacturing system by adopting both make-to-order and make-to-stock strategies. The main finding of their work was that strong links exist between the review and release rules of orders, the performance of the system and the needed SSs. In the same context and for assemble-to-order systems, Albrecht (2017) developed simple heuristic methods to determine near-optimal SSs with an order service level constraint. The authors tried to minimize the investments needed to keep SSs achieving a prefixed service level. The heuristic methods consider item-based approximations for backorders and are jointly used with inventory rationing policies. For stationary demand, Van Donselaar and Broekmeulen (2013) determined the SS for an inventory system with lost sales and no backorders, in contrast to most similar studies, which generally assumed that the backordered demand and lost sales model were similar to the backordered model for high service levels. The authors showed that the backorder model can overestimate the required SSs, especially when the demand uncertainty is low and the number of outstanding orders is large. However, their results are only applicable to companies for which the (R, s, nQ) inventory policy is close to optimal. In contrast to previous papers, Braglia et al. (2014) focused on managing SSs through a new analytical approach that considered the vendor managed inventory (VMI) and consignment stock policies implemented between a single vendor and buyer. However, this work was limited to the case of a single vendor, and the authors suggested extending their framework to the multivendor case. In addition to the uncertainty in demand, Korponai et al. (2017) considered lead time uncertainty. They studied the impact of an SS on the probability of items being out of stock. More specifically, they studied the relationship between the two most important factors that affect safety stock volumes, namely, lead time fluctuations and demand changes, especially when they occur simultaneously and are co-dependent. However, other factors, such as the planned availability period and the impact on the total logistical cost, must be considered. Finally, Hernández et al. (2015) focused on determining and reducing the SS level when using modular product systems. They introduced a substitutability factor derived from group technology theory to reduce the necessary SSs, but the impact of this safety reduction on sales must be validated.

Recently, given the strong interest in supply chain management, many researchers have focused on establishing safety stocks in a supply chain network with multiple nodes. In this context, Hua and Willems (2016) optimized safety stocks for a two serial line supply chain and showed that the safety stock levels depend on the supply chain cost and lead time parameters. In contrast to the previous authors’ work concerning a serial line supply chain, Desmet et al. (2010) proposed a set of normal approximation models to optimize SSs in distribution systems, assembly systems and, more generally, networked manufacturing systems based on normal approximation models for the critical safety stock parameters. They benchmarked their approaches with discrete event simulation and validated them. They also suggested extending the applicability of their approach to more generic systems other than assembly and spanning tree systems. In the same context, Li and Jiang (2012) modelled safety stock placement in an acyclic supply chain network as a scheduling problem and obtained near-optimal solutions with competitive computational times by combining constraint programming and genetic algorithms. Other scheduling approaches, or metaheuristic methods, should be applied to improve the obtained results. Moncayo-Martínez and Zhang (2013) solved the same problem for an assembly supply chain using a bi-objective MAX-MIN ant system to minimize the supply chain cost and the lead time of products with a low computational time. For multisource stock points, Osman and Demirli (2012) determined, in a first decentralized step, the SS for each stock point and then consolidated the final levels to be kept in each stage using Benders decomposition techniques in a second step. The consolidation model reduced the safety stock quantities by 45–62%, corresponding to a cost savings of between 22 and 44%. These authors suggested extending their work to probability distributions other than the normal distribution based on the demand and lead time variability and relaxing the time constraint of the cycle for different stock points. In the same context of a supply chain network, Grahl et al. (2016) developed metaheuristic algorithms for placing SS in a multi-echelon supply chain with the first time-differentiated service time. They considered general acyclic supply networks and tested different metaheuristic methods, with the best results obtained using the simulated annealing approach. The main limitation of their work was the extensive computational times required for large instances. For SS placement in supply chains, Boulaksil (2016) considered demand forecasting updates and used a martingale model of forecast evolution instead of considering independent and identically distributed demands. Boulaksil concluded that most SSs should be located downstream in the supply chain to achieve high service levels, which is not intuitive because it is usually less expensive to store SSs upstream. Unlike in previous studies, Kumar and Aouam (2018) integrated safety stock placement with lot sizing. The results indicated that integration leads to smaller lot sizes and shorter lead times, with SSs pooling across the supply chain. The authors considered only the case of homogeneous items, although the heterogeneous case is more realistic. In addition, the review period can be optimized and not assumed as a known parameter. Other authors have integrated the determination of SS levels with expediting and transport decisions (Tempelmeier and Bantel 2015; Yadollahi et al. 2017; Zahraei and Teo 2017).

Few researchers have studied inventory models considering nonstationary demand. In a study for the U.S. Air Force, Hillestad and Carrillo (1980) were among the first to investigate spare part inventory models and techniques with a nonstationary demand following a time-varying Poisson distribution. They suggested a set of performance measures for inventory policy considering organizational performance. Graves (1999) subsequently proposed an adaptive base stock policy for a single-item inventory when the demand is nonstationary. They concluded that the necessary inventory and thus SSs are more important in this case than in the stationary demand case and that the relationship between SSs and the replenishment lead time becomes convex. Nevertheless, they considered a simple model, and further investigations are required to improve and expand the model, the demand process and the inventory environment, such as by introducing stochastic lead times. Considering demand to be nonstationary, Beutel and Minner (2012) examined two approaches for determining SSs when the demand depends on factors other than time and the demand history, such as sales price changes or weather conditions. They used two different approaches to solve the problem: the first approach was based on regression models, and the second was based on linear programming with different objectives. They showed the conditions under which the first or the second approach should be used. To improve their work, the authors plan to extend their model to non-perishable products and incorporate dependencies among store demands. Prak et al. (2017) included the lead time uncertainty in the non-stationary demand and calculated SSs when the demand is forecasted based on a corrected lead time and demand variance. They considered both forms of uncertainty for the mean and variance and found that traditional approaches led to SSs that were 30% lower than required, with service levels up to 10% below the target. Boute et al. (2014) also considered the uncertainty in lead times and studied their coordination with SSs when the demand was auto-correlated in a supply chain. They stated that a positive correlation in demand leads to longer supply lead times and thus necessitates higher SS volumes. In contrast, a negative correlation leads to shorter lead times and smaller SSs. They suggested using manufacturing order smoothing methods other than the mean squared error forecasting method in the future. In a different context of supply chain networks, Graves and Willems (2008) considered the problem of SS placement in such networks for nonstationary demand under a constant service time policy. They considered extending their work by examining the efficiency of the constant service policy and modelling real demand processes. In the same context, Neale and Willems (2009) presented a practical model for inventory management and nonstationary demand. They discussed how existing algorithms of stationary demand can be adapted for nonstationary demand to optimize SSs across a supply chain. Moreover, they noted that the limitations of the work could potentially be overcome by including production capacity constraints and nonstationary supplier lead times for SS placement in supply chains. Similarly to the authors of the two previous works, Funaki (2012) formulated multi-echelon stock placement across a supply chain network, in a guaranteed service model and for due date-based stationary or nonstationary demand. In this case, stock placement is integrated into the network design problem. They validated their results based on a machinery product supply chain. The main limitation of their work was that it is only applicable for specific supply chain structures, and the authors suggested extending the method to other structures and improving the optimization algorithms for the nonstationary case. Chatuverdi and Martinez-de-Albéniz (2016) suggested a framework that, also under nonstationary demand, balances the capacities of SSs and supply diversification in the context of uncertain demand. They showed that a modified base stock policy is the optimal policy and that SSs, excess capacity and supply diversification can be non-monotonic considering demand and supply uncertainty. The main limitation of this work was that all manufacturing plants are supposed to have identical production costs. Mattson (2010) and Vargas (2009) considered inventory control models for stochastic and nonstationary demands. The first author, Mattson (2010), developed an extended reorder point model that considers seasonal variation in demand. Mattson concluded that it is important to account for even small seasonal variations when calculating the demand during the lead time. In contrast, considering seasonal variations in calculations of SSs and order quantities is likely significant because SSs are often influenced by a high degree of seasonality. The second author, Vargas (2009), extended the Wagner-Whitin dynamic lot size model for the case in which the demand is nonstationary.

Some authors have investigated the determination of SSs for imperfect systems. Chakraborty and Giri (2012) integrated optimal SS determination and production policies for an unreliable production system with machine breakdowns and process deterioration. They developed an algorithm to determine optimal SSs by minimizing the unit time-expected cost and concluded that maintaining a buffer stock in this context is cost effective. However, they only considered the simple case of a single item at a single-unit production facility. In the same context, Nasr et al. (2012) suggested combining transhipment and SSs in the case of stochastic supply downtime for a two-echelon system of a unique source supplying two locations. They jointly minimized the total cost at both locations by optimizing the required quantity at each location and the amount to be transhipped. The limitation encompasses many simplifying assumptions, such as that the amount of SS at the source is a parameter and not a decision variable or considering deterministic consumption rates instead of stochastic ones. Finally, Kumar and Evers (2015) addressed the case of data quality issues in addition to correlated demand and lead time. They suggested that instead of using the random sums approach, a multiplication approach should be used. Nevertheless, their results were not empirically validated for different types of industries.

We note that most previous studies have addressed static SS determination approaches; few researchers have addressed dynamic SSs (Graves and Willems 2008; Sitompul et al. 2008; Kanet et al. 2010; Helber et al. 2013; Inderfurth and Vogelgesang 2013; Stößlein et al. 2014; Rafiei et al. 2015). Kanet et al. (2010) performed an empirical study of U.S. industries to demonstrate the savings obtained using time-varying SSs instead of constant SSs when the demand or lead time is nonstationary. In the same context, Stößlein et al. (2014) conducted an econometric analysis using EUROSTAT data from 1985 onward and demonstrated that inventory savings can be obtained when SSs are time-varying in accordance with the demand variation. The two latter studies observed that many ERP (Enterprise Resources Planning) systems are considering dynamic SSs. SAP ERP software provides a feature related to the dynamic SS per period in the SAP Advanced Planning and Optimization (APO) module. In other recent work, Helber et al. (2013) developed two linear models to approximate the solution to the stochastic version of the single-level multi-product dynamic lot-sizing problem. Both models were used to determine stable production schedules for uncertain and dynamic demands. In this context, they determined dynamic SSs that varied between periods and were dependent on the production quantity. The main limitation of this approach was related to the fact that it only considers a single-level supply chain, and the work can be improved if it includes additional randomness, such as for the production capacity. Additionally, under a dynamic safety stock context, Inderfurth and Vogelgesang (2013) proposed an approach for determining dynamic SSs varying between periods that addressed the uncertainties caused by stochastic demand and yield randomness. They concluded that the dynamic SS approach is more efficient for determining a stochastically proportional yield than is the static approach in the case of a binomial yield. Nevertheless, the authors claimed that they could not compare their approach with the equivalent optimal solution because there is no optimization model available under the same conditions. In a real application, Rafiei et al. (2015) suggested a dynamic SS determination method for a co-production wood remanufacturing system. Their approach consisted of using the idle production capacity to develop SSs for selected important products. The study confirmed the superiority of the approach in generating production plans with a smaller backorder size and inventory level. This work can be improved by considering the randomness of the raw material supply and by analysing the effect of the supply quality. Finally, Lu et al. (2016) determined dynamic SSs for a nonstationary demand and random supply yield in a construction supply chain and for construction material. They used the fixed-point iteration method to set the dynamic SS level under predefined service level constraints. They stated that the proposed approach, compared to conventional approaches, can increase the service level by 0–7% and simultaneously decrease the SS by 20–46%. The study can be improved if supply disruption is simultaneously considered with the supply yield uncertainty.

Some studies have specifically addressed the problem of managing inventories when a cyclic production schedule is implemented. Leachman and Gascon (1988) developed an approach based on a dynamic cycle length. In their approach, SSs were planned to accommodate three standard deviations in the forecasting error of demand during changeover periods. Additionally, under cyclic production, Bourland and Yano (1994) developed an approach that considered cyclic production schedules and was based on two levels: a planning level and a control level. In the first level, they determined the SS levels and performed idle time allocation using a non-linear mathematical model. In the second level, they used overtime to reach the fixed inventory target levels. They showed that safety stocks and idle time allocation can decrease marginal returns for overtime use. However, the complexity of the approach is high, and the approach requires simplifying assumptions. In the same context of cyclic production, Eisenstein (2005) proposed an approach based on a dynamic produce-up-to policy for recovering a cyclic schedule when a significant variation in demand is experienced. They showed that their approach saves on costs and time and leads to better schedule stability than other recovery procedures. Brander and Forsberg (2006) considered stochastic demand in addition to cyclic schedules. They considered continuous and fixed demand rates per period and estimated the variance during the lead time between two manufacturing orders for the same item. In addition, they presented a model for determining constant SSs for a fixed cyclic production sequence with or without idle time. Finally, they conducted a simulation study to validate their model. In the context of a common cycle approach, Jodlbauer and Reitner (2012) proposed procedures for determining the cycle time and the level of constant SS to maximize the service level and minimize holding, setup and backorder costs. They demonstrated the effects of average values, demand deviations, processing time and setup time on service levels and holding and setup costs. As in many other studies, the main limitation of this work is the consideration of only certain stochastic parameters as the demand. The work can be substantially improved if it considers more stochastic variables, such as the yield loss or machine breakdowns. More recently, Rappold and Yoho (2014) proposed an approach for setting the level of SSs for stable rotation cycle schedules. They first demonstrated the many benefits that could be obtained by implementing stable production cycles, especially when setup times are important. They assumed a stable production cycle with upper and lower length limits and developed an optimization model to set SS levels, maintain the stability of the production cycle and cover uncertainty in demand within the current production cycle and between successive production cycles. In addition to considering demand uncertainty, the study could be improved if stochastic setup times and production rates are considered.

As previously discussed, many recent studies have addressed SS determination (Appendix Table 11). However, most of the existing literature has considered static SSs (33 out of a total of 38 studies) and stochastic stationary demands (27 papers). Some authors have added lead time uncertainty (14 papers), and very few have included other uncertainties, such as machine breakdown or sales price effects (3 papers). In addition, with major developments in the supply chain field, many researchers are focusing on SS placement in multi-echelon supply chains for assembly products (18 papers). It is worth noting that relatively few studies have actually performed dynamic SS determination (5 papers). Although this feature exists in contemporary ERP systems such as SAP ERP or Oracle ERP, it is rarely used (Snapp 2012). Many companies still use very simple intuitive approaches (Lu et al. 2016) or use the traditional approach to determine safety stocks, which lead to overestimation or underestimation of SSs with non-stable service levels.

The main motivation of this work is to increase awareness among decision makers and to show that in some cases, especially when demand is not stationary, static SSs are not well adapted. Such cases require either large static SSs to maintain the desired service levels, with the accompanying high holding costs, or more adapted dynamic approaches. In this work, we apply a dynamic SS determination approach to repetitive production cycles in which demand is not stationary and can change from one period to another.

The work presented in this paper extends the abovementioned research in several ways. First, we assume that demand follows a cyclic delivery schedule in which the delivery quantity is based on a given probability distribution for each period. Demand is assumed to be nonstationary because the average scheduled delivery can vary significantly from one period to another. Moreover, the approach can use any demand probability distribution (such as a normal, uniform, or Poisson distribution). Second, we assume that the cyclic production schedule can be composed of many manufacturing orders for the same item. Third, we aim to develop an approach for setting dynamic SS levels that can vary for the same item during the delivery cycle. Fourth, the SSs are linked to the manufacturing orders and not directly to the items. Finally, our approach can be implemented relatively easily using spreadsheet software (such as Microsoft Excel) and risk analysis software (such as Palisade’s @RISK software).

3 Dynamic safety stock determination

3.1 Approach description and assumptions

We assume that a cyclic production plan has been made for the medium term. In this paper, we do not focus on how to build a cyclic production schedule because this problem has already been addressed by many authors (Bahroun et al. 2007; Bahroun and Campagne 2010, for example). A repetitive production schedule is composed of a set of manufacturing orders for different products. The same product could be scheduled in more than one manufacturing order during the production cycle. This production schedule covers a set of contractual cyclic customer orders. We assume that for each item, we have a delivery cycle (generally one week) composed of multiple deliveries (for example, a delivery on each Monday, Tuesday and Friday). Additionally, we assume that the demand for each item is nonstationary and that the average quantity for each delivery can vary significantly from day to day (for example, 1000 units on Monday, 2000 units on Tuesday and 5000 units on Friday). Moreover, we assume that we know only the average quantity for each delivery and that the exact quantity is known only a few days before the delivery. Thus, we assume that the quantity of each delivery follows a certain probability distribution (a normal distribution, for example, having an average of 1000 units with a standard deviation of 50 units on Monday, an average of 2000 units with a standard deviation of 100 units on Tuesday and an average of 5000 units with a standard deviation of 300 units on Friday).

The manufacturing order for a product scheduled in a cyclic production schedule faces two main uncertainties:

  • Uncertainty in the manufacturing order start date because the actual quantities produced for the previous manufacturing orders on the schedule could be different from the planned quantities and

  • Uncertainty in the delivery quantities covered by the manufacturing order. This uncertainty leads to uncertainty in the manufacturing order quantity and in the necessary processing time. The latest start date of the manufacturing order can be moved to an earlier date if the produced quantity is greater than the average.

We define the gap of a manufacturing order as the production rate multiplied by the difference in the actual start date and the actual latest start date based on the delivery dates and actual quantities covered by this manufacturing order. A negative gap means that the actual starting date of the manufacturing order is earlier than the latest starting date, which is equivalent to an earliness in the production schedule relative to the deliveries; thus, SSs are not needed. In contrast, a positive gap is equivalent to a tardiness in the production schedule, and an SS is needed to cover this tardiness. Thus, an SS is needed if there is a risk of a tardiness in the production schedule and if the actual start date will be later than the actual latest start date. In this study, we attempt to evaluate the risk of a tardiness in the production schedule by estimating the probability distribution of this gap and to determine the needed SSs in that case.

In the proposed approach, the SSs for the same product are dynamic and inconstant throughout the horizon. Consequently, they are associated with each manufacturing order of the specified product and will vary from one manufacturing order to another. The SSs associated with manufacturing order i will be produced according to the previous manufacturing order for the same product. Thus, each manufacturing order will specify the production of an SS to cover the uncertainty in the next manufacturing order for the same product and will consume the SS created by the previous manufacturing order. Therefore, this dynamic SS will be continually produced and consumed.

We assume that during the delivery cycle (generally one week), there can be many deliveries for each cycle. We assume that the production cycle contains multiple delivery cycles, that the cycle has been determined and that the cycle is composed of a sequence of manufacturing orders (MOs) (Bahroun et al. 2007; Bahroun and Campagne 2010 for example). We assume that the production cycle begins at time 0.

We define MOi as the manufacturing order that is scheduled in the ith position of the cyclic production sequence.

The latest start date for MOi can be calculated as follows:

$$ LSDi=\underset{u=\mathrm{1..} Ui}{\mathit{\operatorname{Min}}}\left(\lambda ui-\sum \limits_{v=1}^u\frac{yvi}{PRi}\right) $$
(2)

where.

U i :

Number of deliveries covered by MOi,

{1..Ui} :

Set of deliveries covered by MOi,

λ ui :

Delivery date of delivery number u in the set of deliveries covered by MOi,

y vi :

Delivery quantity of delivery number v in the set of deliveries covered by MOi, and

PR i :

Production rate for MOi.

Each manufacturing order MOi is supposed to cover a set of Ui deliveries. For each delivery u covered by MOi, we calculate the latest start date that can cover the delivery and all previous deliveries covered by the same manufacturing order. This date is calculated by subtracting the total production duration required for all delivery quantities from 1 to u of the same manufacturing order MOi from the delivery date λui of delivery u. Then, we calculate the minimum of all these start dates to determine the latest start date LSDi of MOi.

The actual start date ti (Eq. 3) of manufacturing order MOi is calculated by summing all the durations of processing times for all manufacturing orders (MO1 to MOi-1) produced before MOi in a repetitive sequence. The processing of each manufacturing order is calculated by summing all the durations required to produce each delivery covered by these MOs.

$$ {t}_i={\sum}_{w=1}^{i-1}{p}_w={\sum}_{w=1}^{i-1}{\sum}_{v=1}^{U_w}\frac{y_{vw}}{P{R}_w} $$
(3)

where.

p w :

Processing time for MOw,

U w :

Number of deliveries covered by MOw,

y vi :

Quantity of delivery number v in the set of deliveries covered by MOw, and

PR w :

Production rate for MOw.

Equation 3 shows how to calculate the actual start date once we know the actual delivery quantities. The equation will be used in the simulation model, where for each scenario, we will generate random values of the delivery quantities based on their probability distribution, and we will use Eq. 3 to determine the corresponding start date. SSs are needed if the actual start date ti (Eq. 3) of an MO is later than the actual latest start date (Eq. 2), which can occur if the previous MOs on the schedule are late or if the actual delivery quantities covered by MOi are greater than the average quantities. The SS for MOi should cover these two types of uncertainties.

Gi (Eq. 4) is defined as the gap between the actual start date ti and the latest start date LSDi for MOi, multiplied by the production rate PRi. This value represents the SS that should be available if the actual start date is later than the latest start date.

$$ Gi={PRi}^{\ast}\left( ti- LSDi\right) $$
(4)

The SS for MOi for a desired service level k is equal to the maximum of 0 and Gik (Eq. 5), where Gik represents the gap for MOi associated with service level k (i.e., the gap is lower than Gik with a probability equal to k).

$$ SSik=\mathit{\operatorname{Max}}\left( Gik,0\right) $$
(5)

The probability distribution of each Gi must be calculated to determine the gaps associated with different service levels. It is very difficult to theoretically determine these probability distributions in the general case due to the non-linearity of the latest start date equations of the MOs and the variety of probability distributions for the input variables. In the next section, we try to theoretically determine the cumulative distribution function (CDF) of those gaps for the case in which all demand follows a normal probability distribution. We then suggest a numerical approach for approximating the probability that the gap is less than a certain value a.

3.2 Case of a normal distribution

In this subsection, we determine the theoretical probability distribution of the gap Gi. The gap represents the difference between the actual start date of the manufacturing order MOiand the latest start date needed to cover all its deliveries on time multiplied by the production rate. An SS is needed only if there is a risk that this gap is positive, meaning that the firm will start production too late and will not be able to produce all the deliveries that need to be covered by this order. Indeed, for some MOs, the distance between the expected start date and the latest start date is so large that we most likely do not need SSs. In contrast, for some other orders, the start date and the latest start date are very close; therefore, the risk is very important, and we need SSs.

Thus, we must be able to calculate the probability distribution of this gap to evaluate the risk that this gap is positive and determine the required SSs.

Let us start with the start date ti of each MOi:

According to Eq. 3, ti is the sum of deliveries covered by the previous MOs in the production cycle and divided by the production rates. Each delivery v covered by manufacturing order w is assumed to follow a normal distribution with an average equal to μvw and a standard deviation equal to σvw. The start date ti also follows a normal distribution with an average and standard deviation as reported in Eqs. 6 and 7, respectively.

$$ {\mu}_{ti}={\sum}_{w=1}^{i-1}{\sum}_{v=1}^{U_w}\frac{\mu_{vw}}{P{R}_w} $$
(6)
$$ {\sigma}_{ti}=\sqrt{\sum_{w=1}^{i-1}\left(\frac{1}{P{R_w}^2}{\sum}_{v=1}^{U_w}{\sigma}_{vw}^2\right)} $$
(7)
U w :

Number of deliveries covered by MOw, and

PR w :

Production rate of MOw.

Let us define Xui as the last start date that covers deliveries number 1 to u covered by MOi.

$$ {X}_{ui}={\lambda}_{ui}-{\sum}_{v=1}^u\frac{y_{vi}}{P{R}_i} $$
(8)
λ ui :

Delivery date of delivery number u in the set of deliveries covered by MOi,

yvi:

Quantity of delivery number v in the set of deliveries covered by MOi, and

PR i :

Production rate of MOi.

Xui is the sum of a set of normal probability distributions. Therefore, Xui follows a normal distribution with an average and a standard deviation as reported in Eqs. 9 and 10, respectively.

$$ {\mu}_{Xui}={\lambda}_{ui}-{\sum}_{v=1}^u\frac{\mu_{vi}}{P{R}_i} $$
(9)
$$ {\sigma}_{Xui}=\frac{1}{P{R}_i}\sqrt{\sum_{v=1}^u{\sigma}_{vi}^2} $$
(10)
μ vi :

Average quantity of delivery number v in the set of deliveries covered by MOi, and

σ vi :

Standard deviation of the quantity of delivery number v in the set of deliveries covered by MOi.

If we approximate the fact that all Xui are independent, the CDF of gap Gi can be determined as follows (see proof in the Appendix).

$$ {\displaystyle \begin{array}{l}\Pr \left({G}_i\le a\right)={\int}_{-\infty}^{\infty}\Pr \left({t}_i=s\right)\Pr \left({X}_{1i}>s-\frac{a}{P{r}_i}\right)\Pr \left({X}_{2i}>s-\frac{a}{P{r}_i}\right)\dots \Pr \Big({X}_{U_ii}>s-\\ {}\frac{a}{P{r}_i}\Big) ds\end{array}} $$
(11)
$$ \Rightarrow \Pr \left({G}_i\le a\right)={\int}_{-\infty}^{\infty}\frac{1}{\sigma_{t_i}\sqrt{2\pi }}{e}^{-\frac{1}{2}{\left(\frac{s-{\mu}_{t_i}}{\sigma_{t_i}}\right)}^2}\left({\prod}_{u=1}^{U_i}\frac{1}{\sigma_{Xui}\sqrt{2\pi }}{\int}_{s-\frac{a}{P{r}_i}}^{\infty }{e}^{-\frac{1}{2}{\left(\frac{x-{\mu}_{Xui}}{\sigma_{Xui}}\right)}^2} dx\right) ds $$
(12)

The calculation of probability results for the gap Gi using Eq. 12 is very complex. In section 4 and for the two case studies, we will numerically approximate the multiple integrations by a discrete summation of the functions under the integral of Eq. 11 to determine numerical probability results for the gap Gi and compare them with the simulation results.

3.3 The general case

To calculate the probability distribution of the gap Gi in the general case, we suggest using a simulation approach. We modelled our production and delivery schedule in an Excel spreadsheet, and we used @RISK software (from the Palisade decision tools suite), which performs risk analysis using Monte Carlo simulation. The output variables were the gaps Gi for each MO and were linked to the input variables or parameters that included the delivery dates, production rates and the different delivery quantities. The gaps are calculated using Eqs. 2 to 4. Then, the safety stocks are finally determined using Eq. 5. We call this first approach the dynamic approach.

We also used this model to estimate the probability distribution of the lateness of the entire production cycle. Lateness is defined as the difference between the ending date of the last manufacturing order and the planned duration of the production cycle. A negative value indicates earliness, whereas a positive value indicates tardiness.

As a second approach, we added uncertainty to the start date of the production cycle. The lateness variable (average and standard deviation) obtained in the previous simulation model is incorporated into this approach as the start date of the first manufacturing order of the production cycle. We then run the simulation model in the same way as the first approach. We call this approach the dynamic approach with lateness.

In the simulation of our two dynamic approaches, we assumed that all delivery quantities followed a normal distribution. However, the demand is nonstationary because there can be many deliveries per week for each item, and the average quantity of each delivery can vary significantly from one day to another (for example, an average of 1000 units with a standard deviation of 50 on Monday, an average of 2000 units with a standard deviation of 100 units on Tuesday, and an average of 5000 units with a standard deviation of 300 units on Thursday).

We used a normal distribution to compare our results with those obtained by numerical calculations (section 3.2) and to those of the traditional approach, in which it is assumed that demand follows a normal distribution. However, we can use any distribution in our simulation model, including a uniform distribution, if the customer-supplier contract allows for any possible delivery value over a range between a maximum and minimum. We can also introduce machine failure, or any other event that could disturb the production schedule, into the model using different probability distributions, such as a Poisson probability distribution.

We estimated the standard deviation of each delivery quantity v covered by MOi. We assumed that the average quantity ± the percentage of variation constituted the interval of possible delivery values. Given that the average ± 3σvirepresents 99.7% of values in a normal distribution, we estimated σvi as follows.

$$ \sigma vi={\mu vi}^{\ast}\frac{PV}{3} $$
(13)
μ vi :

Average quantity of delivery number v in the delivery cycle covered by MOi, and

PV :

Percentage of variation in the delivered quantities.

The proposed approach can be implemented relatively easily (using spreadsheet software and risk analysis software) and can be summarized in nine main steps.

  • Record the following input data (which are assumed to be known) for the problem in an Excel spreadsheet:

    • The production rates of the different items

    • The delivery date and average quantity of each delivery and each item

  • Link each manufacturing order to the deliveries it is assumed to cover, and compute the production quantities for each MO.

  • Compute the latest start date for each MO based on the delivery quantities and dates covered by the MO (Eq. 2).

  • Compute the start date of each manufacturing order based on the known production sequence, production rates and MO quantities (Eq. 3).

  • Compute the gap (i.e., the difference) between the latest start date and actual start date for each MO (Eq. 4).

  • Compute the standard deviations of the different delivery quantities according to a chosen level of variation (Eq. 14). Then, associate the probability distribution of the delivery quantities (average and standard deviation) in the software.

  • Configure the input and output variables needed to run the simulation model using @RISK:

    • The input variables for the @RISK model, which are those variables that are assumed to vary according to a probability distribution, are all the delivery quantities (other variables can be included, such as machine failures); for each delivery, we may use the probability distribution that best represents the variability (such as a normal, lognormal, uniform, or Poisson distribution). The standard deviation of the delivery quantities is calculated using Eq. 13.

    • The output variables of the @RISK model are the gaps for each MO and the lateness of the production cycle.

  • Run the simulation model and obtain the probability distribution for each gap and each MO. Each iteration consists of a random generation of the delivery quantities and the calculation of the corresponding gaps using Eqs. 24. The probability distribution of the different gaps will be built based on the results of 10,000 iterations.

  • Evaluate the safety stock needed SSik (Eq. 5) corresponding to a service level k based on the values of the gap i for a service level k. The value of a gap Gik associated with a manufacturing order MOi for a service k level is obtained from the probability distribution of that gap and represents the value of the gap corresponding to a probability equal to k (i.e., the actual gap will be lower than Gik with a probability equal to k).

  • Associate the obtained lateness probability distribution from the first simulation model (average and standard deviation) as the start date of the first manufacturing order in the second simulation model (dynamic approach with lateness).

To compare our results with those of the traditional approach, we computed SSs using the traditional formula (Eq. 1) for each product j, instead of each MO, associated with service level k:

$$ SSjk= zk\times \sqrt{\left( LTj\sigma D{j}^2+D{j}^2{\sigma_{LTj}}^2\right)} $$
(14)
z k :

Coefficient associated with service level k in a normal distribution,

LT j :

Lead time average for product j,

σ Dj :

Demand standard deviation for product j,

D j :

Demand average per day for product j, and

σ LTj :

Lead time standard deviation for product j.

We assumed an average lead time, LTj, equal to the production cycle divided by the production frequency. We assumed that the lead time varies in the same manner as the delivery quantities, with a range of variation of ± 3σLTj, and PV is the considered percentage of variation.

$$ \sigma LTj={LTj}^{\ast}\frac{PV}{3} $$
(15)

The standard deviation of the demand for product j, σDj, is the square root of the sum of the squared standard deviations of the different deliveries (calculated in the same way as Eq. 13).

$$ \sigma {}_{\mathrm{Dj}}=\frac{\sqrt{\sum \limits_{v=1}^{UCj}\sigma cv{j}^2}}{DC} $$
(16)

σcvj Standard deviation of the quantity of delivery number v in the delivery cycle for product j,

DC :

Delivery cycle duration,

UC j :

Number of deliveries per delivery cycle for product j, and

{1..UCj}:

Set of deliveries covered by product j.

4 Simulation

We present two cases in two contexts. In the first context, an MO covers many deliveries. We choose an example with a production cycle of 4 weeks and a weekly delivery cycle for all products (Fig. 2). In the second context, the MO covers a few deliveries. In this case, we assume a production cycle of one week and a consistent weekly delivery schedule (Fig. 3).

Fig. 2
figure 2

Cyclic production schedule for case study 1

Fig. 3
figure 3

Cyclic production schedule for case study 2

4.1 Case study 1

Let us consider a numerical example with three finished products, A, B and C. The delivery cycle is one week for all products; product A is delivered five times per week (days 1, 2, 3, 4 and 7 of the week), and both B and C are delivered twice per week. For each product, we note the production rate (per day), average quantity and date (i.e., the day of the week) of each delivery (Table 1). We assume a cyclic production schedule of 4 weeks composed of 5 MOs: two for A, two for B, and one for C. We assume a repetitive production sequence, A | B | C | A | B, composed of the five MOs (Fig. 2).

Table 1 Case study 1

Product A will be delivered 5 times per week. During a production cycle of 4 weeks, product A will be delivered 5*4 = 20 times (Del1A to Del20A). Product B will be delivered 8 times (Del1B to Del8B), and product C will also be delivered 8 times (Del1C to Del8C). For each MO, we compute the quantity, average start date, processing time and latest start date, all based on average delivery values. We assume that we know the deliveries that each MO will cover (Table 1).

For product B, for example, the first manufacturing order covers 4 deliveries: delivery number 3 to delivery number 6 (Del3B to Del6B). Deliveries 3 and 4 occur in week 2 of the production cycle (days 10 and 14), and deliveries 5 and 6 occur in the third week (days 17 and 21). All deliveries have the same average quantity of 3000. The average latest start date of this first order is based on the average delivery quantities reported in Table 1 and is calculated as follows.

$$ {\displaystyle \begin{array}{l} LS{D}_2=\mathit{\operatorname{Min}}\left(10-\frac{3000}{2300},14-\frac{6000}{2300},17-\frac{9000}{2300},21-\frac{12000}{2300}\right)\\ {}\kern3.599998em =\mathit{\operatorname{Min}}\left(8.69,11.39,13.08,15.78\right)=8.69\end{array}} $$

The repetitive productive sequence is A | B | C | A | B, and the first manufacturing order of B is at the second position and follows the first manufacturing order of A. The average start date is equal to the end of the first manufacturing order of A and calculated as follows (based on average delivery quantities reported in Table 1).

$$ {t}_2=\frac{2^{\ast}\left(12500+5000+1500+2100+2700\right)}{8300}=\frac{47600}{8300}=5.73 $$

We assume that the production cycle is feasible, which means that the average start date for each manufacturing order is less than the average latest start date.

In this case study, we assume that the percentage of variation is fixed at 30%, which means that the final quantity will vary within ±30% of the average. This uncertainty in the delivery quantity leads to uncertainty in the start date for each MO and uncertainty in the latest start date.

We determine the SS according to the traditional approach, the dynamic approach and the dynamic approach with lateness.

4.1.1 Traditional approach

We compute the SSs using the traditional formula (Eq. 14) for three service levels of each product (Table 2).

Table 2 Safety stock results for case study 1

For example, for product A,

$$ {\displaystyle \begin{array}{l}L{T}_i=28/2=14\ \mathrm{days},\\ {}\sigma LTj={14}^{\ast}\left(30\%\right)/3=1.4\ \mathrm{days},\\ {}{D}_j=\left(12500+5000+1500+2100+2700\right)/7=3400,\mathrm{and}\\ {}\ \sigma {}_{\mathrm{Dj}}=\frac{\sqrt{\sum \limits_{v=1}^{UCj}\sigma cv{j}^2}}{7}=199.\end{array}} $$

The service level coefficients z, which are determined using the normal distribution table, are as follows:

$$ {\mathrm{z}}_{90\%}=1.28,{\mathrm{z}}_{95\%}=1.65,\mathrm{and}\ {\mathrm{z}}_{99\%}=2.33. $$

4.1.2 Dynamic approach (normal distribution and simulation)

We build our model in an Excel spreadsheet and then run the simulation using @RISK. Appendix Fig. 6 shows, as an example, the probability distribution results after 10,000 iterations for the gaps G5 of MO 5 (product B) and the probability distribution of the lateness of the entire production cycle.

Each gap depends on the uncertainty in the start date of MOi and the uncertainty in the latest start date for this order. We record the values for three service levels k. The final SS is the maximum of 0 and Gi, as shown in Table 2. To compare the dynamic approach with the traditional approach, we compute the average SS per product when there is more than one MO, as with products A and B.

4.1.3 Dynamic approach with lateness (normal distribution and simulation)

In this case, we include the lateness of the production cycle obtained in the previous simulation as the production cycle start date.

The total average duration for our 5 MOs is 27.82 days. For a cycle duration of 28 days, the lateness (negative or positive) of a production cycle follows the probability distribution obtained as shown in Appendix Fig. 6. We approximate the lateness using a normal distribution with an average of −0.1723 and a standard deviation of 0.5487. We add this lateness to the first MO start date in our new model, and we run the simulation model a second time. We obtain the probability distribution for the gaps of each MO. Appendix Fig. 7 reports the probability distribution of G5 of MO 5 (product B) considering the risk of lateness of the previous production cycle. The value of this gap corresponding to a probability of 95% is equal to 2198, as shown in Appendix Fig. 7, which has increased from 1648 for the case without lateness, as reported in Appendix Fig. 6.

In Table 2, we summarize the gaps and SS values for the three service levels. The need for the SS is clearly greater than in the dynamic approach without lateness, especially at high service levels. This difference can be explained by the fact that we have included additional uncertainty regarding the start date in the production schedule. We assume that after two production cycles, the company is able to catch up following the delay by, for example, using additional capacity. Table 2 illustrates that the improvement obtained in the SS quantities can be significant when we use the dynamic approach or the dynamic approach with lateness instead of the traditional approach. However, we note that the SS needed for MO5 at a service level of 99% determined using the dynamic approach with lateness (3446) is greater than the constant SS for product B determined using the traditional approach (2845). Therefore, the traditional approach maintains a constant SS that is typically considerably larger than needed but might not be sufficient in some cases. Indeed, for product B, we do not need an SS for MO2, but we need an SS larger than 2845 for MO5.

The simulation results demonstrate that the traditional approach is not well suited for this case. Indeed, the SS values obtained using the simulation models are typically considerably smaller than those obtained using the traditional approach. Furthermore, in some cases, the SS obtained using the traditional approach cannot cover the uncertainties in the delivery quantities.

4.1.4 Dynamic approach (normal distribution and numerical calculation)

In this section, we numerically calculate the SSs for the three products according to Eq. 11. We then compare the results to those obtained from simulations to validate the numerical model in the case of normal distributions.

For each MO and for a given a, we numerically approximate the integral function and determine the probability that the gap Gi ≤ a, as follows:

  • For each MO, determine the average and the standard deviation of the start date using Eqs. 6 and 7. The results are reported in Table 3.

  • Similarly, determine the average and standard deviation of each latest start date Xui using Eqs. 9 and 10. The results are also reported in Table 3.

  • Choose a minimum value s1 and a maximum value s2 such that Pr (ti = s1) and Pr (ti = s2) are equal to 0. For example, for MO2, the average start date t2 is equal to 5.73, with a standard deviation equal to 0.24. We begin with s1 equal to 4 until s2 is equal to 7.5.

  • Using an Excel sheet and for each s from s1 to s2 and according to a step of p = 0.001, use the NORMAL function in Excel to determine the area under the integral using Eq. 11.

  • Multiply this value by step p to determine the area of the corresponding rectangle.

  • Finally, sum these areas to determine the total area under the function and approximate the integral value.

  • We have only one exception for the first MO (product A), which is assumed to start at time 0 (t1 = 0) without uncertainty. In such a case, to determine the probability that the gap G1 is less than a certain value a, we calculate \( \prod \limits_{u=1}^{U_1}\Pr \left({X}_{u1}>-\frac{a}{{\mathit{\Pr}}_1}\right) \).

  • The results are reported in Table 4. For a1 = 0, the results correspond to the probability of having a negative gap, which means we do not need an SS. We compared the results to those obtained with the simulation (Appendix Fig. 6). The results are very similar. For example, for MO5, the probability of having a negative value using the numerical approach is equal to 0.5686. As shown in Appendix Fig. 6, according to the simulation results, the probability of having a negative gap is approximately 0.567. For MO3 and MO4, the results of the numerical approach are 0.7104 and 0.9827, respectively, whereas the simulation results are 0.717 and 0.982, respectively.

  • We then compared the results obtained for the three service levels: 0.9, 0.95 and 0.99. For each MO, we noted the gaps obtained based on the three service levels (Table 2) and recorded them in Table 4 as a2, a3 and a4. We then used the numerical approach to determine the probability of having such gaps. The results are reported in Table 4. For MO3, for example, the simulation yielded a gap equal to 3379 for a service level of 90%. The probability of having a gap less than or equal to 3379 is equal to 0.8980 according to the numerical approach, which is very close to 90%. We obtain similar results for service levels of 95% and 99%; notably, the probabilities obtained with the numerical approach are very close and equal to 0.9503 and 0.9880, respectively. All the results for the other MOs obtained with the numerical approach are consistent with the simulation results.

  • Overall, the results obtained with the numerical approach are very similar to and consistent with the results obtained from the simulation. This finding validates the simulation model for the case in which the delivery quantities follow normal distributions. We can therefore use the simulation for other probability distributions than cannot be numerically approximated.

Table 3 Probability distribution parameters for the numerical approach (case study 1)
Table 4 Safety stock results for case study 1 using the numerical approach

4.1.5 Dynamic approach with and without lateness (uniform distribution and simulation)

The main advantage of the simulation is that once a model is set up, the parameters and assumptions of a given problem can be easily changed and adapted. For our case, we will change the probability distributions of all demands from normal to uniform distributions. The averages are kept the same, and the minimum and maximum values are obtained by subtracting and adding the percentage of variation PV multiplied by the average [(1-PV)μvi, (1 + PV)μvi]. The probability distributions of the gaps of MO5 without and with lateness are shown in Appendix Fig. 8 and Fig. 9 for illustrative purposes. We note that, though the probability distribution of the demand is uniform, the probability distributions of the gaps are not uniform, essentially due to the nonlinearity of the equations determining these gaps. Additionally, as shown in Appendix Fig. 8 and Fig. 9, we note that the SS needed for a service level of 95% is equal to 3081 units for the dynamic approach and 4261 units for the dynamic approach with lateness. We obtained, as expected, a larger value for the second case, as uncertainty on the start date of the schedule is included. The results of the simulation for all orders are reported in Table 5.

Table 5 Safety stock results for case study 1 (uniform distribution)

As expected, the SS values needed are greater than those for a normal distribution because the variation in a uniform distribution around the average is more important than that for a normal distribution. A comparison with the traditional approach is not truly possible because we do not use the same probability distribution. However, the SS values allocated by the traditional approach are more important for product A. It is obvious again that the traditional approach is not well defined because, for example, for product B, we do not need SSs for MO2, whereas we need much larger SSs for MO5 than the quantity allocated by the traditional approach. The same is true for product C.

4.2 Case study 2

Let us consider another case in which the production cycle is the same as the delivery cycle and equal to one week and three finished products, A, B and C, are consistently produced (Table 6 and Fig. 3). The number of deliveries covered by each MO is less important in this case than in case study 1.

Table 6 Case study 2

We assume that the cyclic production schedule is composed of 5 MOs and corresponds to the following repetitive sequence: A | C | B | A | B.

In the simulation model, we follow the same steps as for case study 1. All the results based on the traditional approach, the dynamic approach and the dynamic approach with lateness are summarized in Table 7.

Table 7 Safety stock results for case study 2

As in case study 1, the improvements in the required SS values, compared to the traditional approach, are significant, especially with the dynamic approach, where the gains vary from 66% to 100%. The gains are smaller in magnitude for the dynamic approach with lateness at high service levels; nevertheless, the gains remain substantial. In this case study, as before, the SS determined using the traditional approach does not cover the uncertainty for some MOs. This finding is illustrated by MO4, in which an SS of 4250 is required by the dynamic approach with lateness at a service level of 99%. This SS is greater than the SS determined using the traditional approach (3294).

The results of case study 2 show that although the number of deliveries covered by each MO is less than that in case study 1, the traditional approach is again not well suited for a nonstationary demand.

In this example, we also numerically determined some probabilities for the gaps Gi. The results are reported in Table 8 and Table 9. In this example, the results of the simulation and the numerical calculation are very similar and consistent (Table 7 and Table 9). If we take the MO5 of product B as an example, the gaps for service levels of 90%, 95% and 99% based on the simulation are −470, 234 and 1603, respectively. We tested these values with the numerical approach, and for each value, we determined the probability that the gap is less than that value. The results were very close to the simulated values, with probabilities equal to 0.8981, 0.9511 and 0.9910. All the other results were consistent with those obtained from the simulation.

Table 8 Probability distribution parameters for the numerical approach (case study 2)
Table 9 Safety stock results for case study 2 using the numerical approach

Similarly to the first case study, we also applied the model of demand based on a uniform probability distribution instead of a normal distribution with the same range of variation [(1-PV)μvi, (1 + PV)μvi].

The safety stock results for the three service levels are reported in Table 10. Here, the safety stocks also increased compared to those based on a normal distribution. Even for the same range of values, we experience more variation with uniform distributions than with normal distributions; the safety stocks for the dynamic approach are still less important than those determined with the traditional approach (Table 7 and Table 10). However, in this case and for some MOs (MO4 and MO5, for example), the SS values determined by the traditional approach are insufficient.

Table 10 Safety stock results for case study 2 (uniform distribution)
Table 11 Summary of the studied literature

5 Sensitivity analysis

In this sensitivity analysis, we vary the percentage of variation PV in the delivery quantity from 10% to 80% in steps of 5%. The objective of this sensitivity analysis is to compare the traditional approach with the two dynamic approaches with and without lateness at different variation percentages. We run a simulation study for each percentage and for each approach to determine the SSs needed for three service levels: 90%, 95%, and 99%. If there is more than one MO for a product, we compute an average SS for each of the two dynamic approaches to compare the results with those of the traditional approach.

5.1 Case study 1

We present the results obtained for only product B because the results and trends for products A and C are similar. Figure 4 shows the SS obtained for product B for each service level and for different percentages of variation. We also demonstrate the improvements obtained in the SS when we use the two dynamic approaches versus the traditional approach. For the two dynamic approaches, the SS of product B is the average of the SS for MOs 2 and 5. As expected, the SS computed using the traditional approach increases linearly with the percentage of variation. The dynamic approach with lateness has a greater slope than the dynamic approach does because the former includes more uncertainty. At low percentages of variation, the SSs obtained using the dynamic approach are higher than those obtained using the dynamic approach with lateness because the average lateness can be negative at small percentages of variation, resulting in an advance instead of a delay of the start of the production cycle. Figure 4 illustrates that the use of the dynamic approach (with or without lateness) can produce SS savings of between 25% and 87% compared with the traditional approach, which averages 58% for the dynamic approach and 45% for the dynamic approach with lateness. The overall average gain for all products is approximately 70% for the dynamic approach and 50% for the dynamic approach with lateness.

Fig. 4
figure 4

Safety stocks and percentage gains for product B (case study 1)

Figure 5 shows in detail the SS for MOs 2 and 5 for product B using the dynamic approach with lateness, and we can identify when the constant SS determined using the traditional approach becomes insufficient. The SS levels obtained using the traditional approach are insufficient to cover the uncertainty in MO5 starting from a percentage of variation of 30% for a service level of 90%, a percentage of variation of 25% for a service level of 95% and a percentage of variation of 20% for a service level of 99%. This result confirms that the traditional approach is not well suited when the demand is not stationary. Indeed, the SS levels obtained using the traditional approach are typically considerably higher than needed but are also insufficient in some cases.

Fig. 5
figure 5

Detailed safety stocks for product B (case study 1)

Fig. 6
figure 6

Probability distributions of the gaps G5 of MO5 and the lateness for the entire production cycle obtained using the dynamic approach

5.2 Case study 2

We conduct the same sensitivity analysis for the second case study to determine whether the results are similar to those obtained from case study 1. In this case, the production cycle is less important and is equal to the delivery cycle (one week). Thus, the number of deliveries covered by each MO is less important in this case (Table 6).

Fig. 7
figure 7

Probability distributions of the gap G5 for MO5 obtained using the dynamic approach with lateness

Fig. 8
figure 8

Probability distributions of the gaps Gi for MO5, obtained using the dynamic approach with uniform probability distributions

Fig. 9
figure 9

Probability distributions of the gaps Gi for MO5, obtained using the dynamic approach with lateness and uniform probability distributions

Fig. 10
figure 10

Detailed safety stocks for product B (case study 2)

As previously done, we run a simulation for each variation percentage of the deliveries from 10% to 80% in steps of 5%.

For this case study, we detail only the SS for each MO for product B using the dynamic approach (Appendix Fig. 10). As in case study 1, the average SS determined using the traditional approach is considerably greater than that obtained using the dynamic approach. However, the average SS cannot cover the uncertainties in MO5 starting from percentage of variations of 75%, 60% and 45% for service levels of 90%, 95% and 99%, respectively. The savings in terms of SS levels vary between −65% and 100%, with an average of 65% for the dynamic approach and 35% for the dynamic approach with lateness. The negative gains correspond to the cases in which the average SSs for both product B MOs are higher than those in the traditional approach. This result occurs at high percentages of variation (greater than 70%) and for the dynamic approach with lateness. The overall average gain for all products is approximately 70% for the dynamic approach and 33% for the dynamic approach with lateness.

The results obtained in case study 2 are very similar to those obtained in case study 1, which confirms that important savings can be obtained using the dynamic approaches.

6 Conclusion

In this paper, we proposed an original approach for determining SSs in the context of cyclic production. In this approach, each SS is estimated dynamically for each MO. This SS approach encompasses two types of uncertainties. The first uncertainty is in the manufacturing order start date due to delays or advances caused by previous orders in the schedule. The second uncertainty is in the actual delivery quantity, which is known only a few days before delivery. The SS levels are determined based on a simulation model in which we estimate the needed SS for each manufacturing order at different service levels.

The main contributions of this work are twofold:

  • We have proposed a dynamic approach for SS determination in which demand follows a cyclic pattern, and

  • We have shown that the traditional approach is not well suited for determining safety stocks when the demand is nonstationary.

We used a simulation approach to determine the dynamic SSs because of the different uncertainties that can influence the production schedule and make the general theoretical estimation of the SSs highly complex. We compared the simulation approach to a numerical approach in the case that all demands follow normal probability distributions. The results were very similar and consistent. This finding validates the developed simulation model.

The developed approach is applicable to any repeated and stable cyclic production schedule in which the deliveries that each MO is supposed to cover are known. The demand is repetitive with cyclic deliveries but not stationary. The sensitivity analysis conducted on the two case studies showed that, overall, the traditional SSs are overestimated, and an average gain can be obtained in terms of SS quantities of approximately 70% for the dynamic approach and 50% for the dynamic approach with lateness for case study 1 and 70% for the dynamic approach and 33% for the dynamic approach with lateness for case study 2. In addition, the sensitivity analysis also showed that starting from a 20% variation in the demand, traditional SSs become insufficient for covering the uncertainty of some deliveries. These findings confirm that the traditional approach for determining SS is not well adapted for nonstationary demand and will set higher SSs than needed in most periods of the horizon and insufficient SSs in other periods.

The approach is relatively easy to implement, and we only need to model the production schedule in a spreadsheet using simulation software, define the probability distributions of input variables and link these values to the output variables. Additionally, if there is a large change in demand or in the production schedule, we recommend re-computing the necessary SSs.

More generally, one of the objectives of this work is to increase the awareness of decision makers regarding the importance of using dynamic approaches for fixing safety levels when the demand is not stationary. The benefits of implementing such dynamic approaches include minimizing holding costs, improving the service level and lowering the probability of stock outs. The findings of this work support the shift towards including dynamic SSs in many ERP solutions, such as the SAP ERP and Oracle ERP.

Other uncertainties could be considered in the simulation model, such as uncertainty in the production rate or uncertainty in machine availability. We could also use different probability distributions for the input variables. In this work, we tried to implement our model for two realistic examples. In the near future, we hope to implement this dynamic approach in a real company.

Our approach can be applied to companies in the pharmaceutical, food or mechanical industries, for example, which produce standard products that have significant life cycles based on repetitive and nonstationary demand.

We believe that this simulation approach can be extended in the future to compute dynamic SSs in many other complex situations involving nonstationary demand beyond cyclic scheduling scenarios.