1 Introduction

Inventory management has been originally regarded as an isolated function focused on the company itself, considered as an individual entity within the supply chain. This approach has been demonstrated to give locally optimal solutions in the supply network (Glock 2012a).

To overcome this myopic perspective in order to approach the problem of optimizing coordinated replenishments among several companies within the supply chain, inventory models that consider total system cost have emerged in literature. These inventory models are typically known as joint economic lot size (JELS) models.

Starting with Goyal (1976), an impressive number of researches has been developed in this context. The reader is referred to Glock (2012a) for a comprehensive review. In general, JELS models can be classified according to two dimensions: (1) number of echelons or stages; and (2) number of actors in each stage. This paper takes into account a double-echelon supply chain characterized by a single vendor that supplies multiple buyers.

In literature, several single vendor-multiple buyers inventory models can be found. We can cite, for example, the following papers. Bylka (2011) developed a non-cooperative game with agents choosing number and size of batches in order to minimize costs. Hoque (2011) presented several coordination mechanisms where lots are transferred with equal- and/or unequal-sized batches, taking into account different realistic factors. Jha and Shanker (2013a) approached an inventory problem in which buyers adopt a continuous review policy and lead time is controllable. They did not consider stockout costs, but imposed a service level constraint. This model was then extended to consider routings optimization (Jha and Shanker 2013b, 2014). Ben-Daya et al. (2013) studied different scenarios: (1) vendor and buyers act independently; (2) vendor and buyers cooperate according to VMI under consignment stock agreement; (3) vendor and buyers belong to a centralized supply chain. Chiu et al. (2014) proposed an integrated inventory model with a common replenishment cycle and a mixed batch shipment policy. Pourghannnad et al. (2015) proposed a deterministic dynamic vendor-managed inventory (VMI) taking into account time value of money. Fauza et al. (2016) studied a deterministic model for food products that includes quality degradation. Lee et al. (2016) investigated two coordination mechanisms under deterministic demand and taking into account a periodic review policy for each buyer. They integrated the inventory replenishment problem with truck assignment and the determination of route sequences. Mokhtari and Rezvan (2020) presented a VMI model under deterministic demand with backorders-lost sales mixtures considering greenhouse gas emissions.

Since real systems are typically subject to uncertainties, stochastic inventory models are more practical. This paper takes into account inventories subject to stochastic demand.

When demand is uncertain, lead time represents an important issue and its control represents a critical aspect. In fact, a longer lead time makes the probability of facing a shortage larger, and hence the related average cost increases (Glock 2012b). The lead time length also affects demand: if lead time increases, some customers may wait for the ordered products, while others may be impatient and these demands are lost (Shin et al. 2016). It is widely recognized that a reduced lead time permits to achieve several benefits (Hariga 2000; Glock 2012b): lower investment in inventory, better product quality, less scrap, reduced storage space requirements, increased productivity, and consequently improved competitive position of the company. Lead time can be supposed to be made of several components, such as order preparation, order transit, setup time, process time, and queue time (Tersine 1994). Under this hypothesis, it is possible to assume that each component can be shortened by paying a crashing cost. For example, the lead time may be reduced by restructuring the production process or by buying new equipments which permit to decrease setup time or increase setup accuracy (Glock 2012b). Liao and Shyu (1991) were among the first to develop an inventory model in which lead time can be decomposed into several components that can be shorted at the expense of extra cost. Numerous authors have then adopted the same hypothesis about controlling lead time (see, e.g., Chuang et al. (2004); Annadurai and Uthayakumar (2010); Hsu and Huang (2010)).

We observed above that, when demand is uncertain, the length of lead time affects the stockout probability, and hence the expected shortage, too. When a shortage occurs, the demand during the stockout period can be either backordered or lost. In fact, customers whose needs are not critical can wait (such demands are backordered); while others cannot wait and require their demands be satisfied elsewhere (such customers are lost). A stochastic inventory model cannot neglect a backorders-lost sales mixture, since it is able to characterise the different purchasing behaviours of customers when facing a stockout (Wang and Tang 2014). Moreover, the effect of stockout cannot be neglected in terms of average cost. That is, the optimal replenishment policy should be evaluated taking into account the cost of lost profit and the cost of shortage. Many authors have recognized the importance of backorders-lost sales mixtures along with related stockout costs in the context of stochastic inventory models (see, e.g., Chuang et al. 2004; Annadurai and Uthayakumar 2010; Jauhari and Pujawan 2014; Sarkar et al. 2015b; Castellano 2016).

In some practical contexts, information about the demand distribution may be limited. In particular, the decision-maker may only know an estimate of the mean and of the variance, but not the specific distribution type. When only an estimate of the first two moments of the demand distribution are known and it is not possible/practical to consider a specific demand distribution, it is reasonable to follow a conservative approach (Moon and Gallego 1994). That is, the replenishment policy can be optimized considering the worst (according to a certain criterion) nonnegative distribution with given mean and variance. This method is typically referred to as the minimax distribution-free approach. This procedure is recognized to be practical and also optimal under certain conditions. Given its peculiarities, it has received great attention in literature (see, e.g., Annadurai and Uthayakumar 2010; Hsu and Huang 2010; Sarkar et al. 2015a; Shin et al. 2016; Raza and Rathinam 2017).

This paper investigates a single vendor-multiple buyer supply chain under stochastic demands. The model also includes backorders-lost sales mixtures, controllable lead times, and stockout costs. The production-inventory replenishment coordination mechanism is governed by a peculiar periodic review policy, in which the review period of each buyer is an integer fraction of the production cycle time of the vendor. The assumption is made that only the first two moments of the demand distribution are known. The objective is to determine the production-inventory replenishment policy and the length of lead times that minimizes the long-run expected total cost per time unit under the minimax distribution-free approach.

The model is based on a periodic review system. It is recognized that such policy offer advantages when it is required to coordinate replenishments of multiple items (Eynan and Kropp 2007) or, similarly, of a single item on multiple buyers from a common vendor. The reader will note that the policy proposed in this work resembles the periodic review policy adopted in the joint replenishment problem (JRP) (Khouja and Goyal 2008), although the inventory model in the JRP is substantially different. Moreover, since the JRP has been proved to be NP-hard (Arkin et al. 1989), we can expect that the problem we pose is NP-hard as well.

Several single vendor-multiple buyer inventory systems are built on the periodic review scheme. While most of them consider a deterministic demand, very little research has been conducted to consider a stochastic demand. Moreover, it seems that the problem of optimizing the production-inventory policy taking into account shortage costs has not been sufficiently investigated for such an inventory system. Table 1 gives a comparison between our study and others. The gap that this work aims to fill is thus apparent. In particular, we would stress the fact that a similar periodic review policy with fractional review period of the buyers has never been investigated before in the context of stochastic demand. This question evidently makes the problem challenging and worth to be investigated.

Table 1 Comparison of different single vendor-multiple buyers inventory models

To approach the optimization problem that we posed, two alternative heuristics are proposed. The first one is more effective and computationally slightly more expensive. The second one is less effective, but computationally more efficient. Numerical experiments will serve to investigate the performance of the algorithms proposed and to analyse the sensitivity of the model when parameters are made to vary.

The rest of the paper is organized as follows. Section 2 introduces notation and assumptions. Section 3 develops the model and formulates the problem. Section 4 presents the first solution algorithm. Section 5 gives the second heuristic. Section 6 deals with numerical experiments. Finally, Sect. 7 ends the paper with conclusions.

2 Preliminary aspects

We consider a two-echelon supply chain in which one vendor supplies a single item to multiple buyers. The demand at buyers is stochastic, but the specific demand distribution is unknown and only the first two moments can be evaluated. Each buyer follows a periodic review policy whose review period is an integer fraction of the production cycle time of the vendor. Replenishment lead times are controllable (the motivation will be given below). The problem is to determine the production-inventory policy that minimizes the long-run expected total cost per time unit under the minimax distribution-free approach.

The next two subsections give the notation and the assumptions that are considered in the mathematical model.

2.1 Notation

Decision variables

T

Time interval between the beginning of two consecutive production cycles [time units]

R v

Produce-up-to level for the vendor [quantity units]

z v

Safety factor for the vendor (an equivalent decision variable to Rv)

L n

Length of lead time of buyer n [time units]

k n

Integer divisor, relevant to buyer n, of the production cycle time T

R n

Replenish-up-to level relevant to buyer n [quantity units]

z n

Safety factor relevant to buyer n (an equivalent decision variable to Rn)

Parameters

D n

Average demand rate of buyer n [quantity/time unit]

σ n

Standard deviation of demand rate of buyer n [quantity/time unit]

A n

Ordering cost of buyer n [money/order]

h n

Unit holding cost rate of buyer n [money/quantity unit/time unit]

p n

Fixed penalty cost per unit shortage of buyer n [money/quantity unit]

π n

Marginal profit per unit of buyer n [money/quantity unit]

β n

Fraction of shortage (i.e., demand during the stockout period) that is backordered

P

Production rate of the vendor [quantity/time unit]

S

Setup cost of the vendor [money/setup]

h

Unit holding cost rate of the vendor [money/quantity unit/time unit]

p v

Fixed penalty cost per unit shortage for the vendor [money/quantity unit]

Random variables

X n

Demand of buyer n during the protection interval of its inventory

Y

Demand during the production cycle time on the vendor

Functions and operators

\( E\left[ \cdot \right] \)

Mathematical expectation.

f n

Probability density function (p.d.f.) of Xn

g

Probability density function (p.d.f.) of Y

x +

Maximum between 0 and x, i.e., \( x^{ + } \equiv \hbox{max} \left\{ {0,x} \right\} \)

\( x \)

Greatest integer smaller than, or equal to, x

Sets

\( {\mathbb{N}} \)

Natural numbers

\( {\mathbb{R}} \)

Real numbers

Classes

\( {\mathcal{F}}_{n} \)

Class of p.d.f.s with finite mean \( D_{n} \left( {\frac{T}{{k_{n} }} + L_{n} } \right) \) and standard deviation \( \sigma_{n} \sqrt {\frac{T}{{k_{n} }} + L_{n} } \)

\( {\mathcal{G}} \)

Class of p.d.f.s with finite mean \( T\mathop \sum \nolimits_{n = 1}^{N} D_{n} \) and standard deviation \( \sqrt {T\mathop \sum \nolimits_{n = 1}^{N} \sigma_{n}^{2} } \)

2.2 Assumptions

The following hypotheses are considered in the model formulation:

  • The vendor supplies a single item type to N independent buyers and acts cooperatively with them.

  • The random variables X1, X2,…, XN are independent.

  • The production rate is larger than the cumulative demand rate, i.e., \( P > D \equiv \mathop \sum \nolimits_{n = 1}^{N} D_{n} \).

  • The distribution of Xn, for each n, is unknown/unspecified and only an estimate of its mean and of its variance are available. Similarly, the distribution of Y is unknown/unspecified and only an estimate of its mean and of its variance are available.

  • For each n, \( f_{n} \in {\mathcal{F}}_{n} \). Moreover, \( g \in {\mathcal{G}} \).

  • Every T time units the vendor performs a setup bearing a cost S and starts production as soon as his/her inventory becomes empty. If production starts at time t, the vendor manufactures, on average, TD units in \( \left[ {t,t + \frac{TD}{P}} \right] \) and delivers, on average, \( \frac{{D_{n} T}}{{k_{n} }} \) units to buyer n at time instants \( t + \frac{T}{{k_{n} }},t + 2\frac{T}{{k_{n} }}, \ldots ,t + T. \) The produce-up-to level for the vendor, Rv, is given by \( R_{v} = TD + z_{v} \sqrt {T\mathop \sum \nolimits_{n = 1}^{N} \sigma_{n}^{2} } \), where \( TD \) is the vendor’s expected demand during the production cycle time and \( z_{v} \sqrt {T\mathop \sum \nolimits_{n = 1}^{N} \sigma_{n}^{2} } \) is the safety stock on the vendor.

  • Each buyer adopts a periodic review policy. Buyer n reviews his/her inventory every \( T_{n} \equiv \frac{T}{{k_{n} }} \) time units and places an order bearing a cost An. A sufficient quantity is ordered up to the target level Rn and the order arrives after Ln time units. For each buyer, there is no more than a single order outstanding.

  • For the nth buyer, the target level \( R_{n} \) is given by \( R_{n} = D_{n} \left( {\frac{T}{{k_{n} }} + L_{n} } \right) + z_{n} \sigma_{n} \sqrt {\frac{T}{{k_{n} }} + L_{n} } \), that is the expected demand during the protection interval plus the safety stock.

  • For the nth buyer, shortages are allowed and partially backordered with ratio \( \beta_{n} \). The fraction of shortage with ratio \( 1 - \beta_{n} \) is lost. For the vendor, shortages are permitted and completely backordered.

  • The time horizon is infinite.

The replenishment lead time relevant to a buyer can be supposed to be made of several components, such as setup time, process time, and queue time (Liao and Shyu 1991; Tersine 1994). It is thus possible to assume that the lead time be negotiable and controllable. In particular, each component may be reduced up to a minimum duration with an additional charge. This model of controllable lead time was originally proposed by Liao and Shyu (1991), and then endorsed by numerous authors (see, e.g., Annadurai and Uthayakumar 2010; Glock 2012b; Jha and Shanker 2014).

In this paper, the same hypotheses about controlling lead time as those originally stated by Liao and Shyu (1991) are adopted. In particular, the lead time \( L_{n} \) of the nth buyer is assumed to be made of \( M_{n} \) mutually independent components, whose generic mth component has a minimum duration \( a_{m,n} , \) a normal duration \( b_{m,n} \), and a crashing cost per time unit \( c_{m,n} \), with \( c_{1,n} \le c_{2,n} \le \cdots \le c_{{M_{n} ,n}} \). Components are crashed one at a time starting with the component of least \( c_{m,n} \) and so on. If \( L_{m,n} \) is the length of lead time with components 1,2,…,m crashed to their minimum duration, then we have

$$ L_{m,n} = L_{0,n} - \mathop \sum \limits_{j = 1}^{m} \left( {b_{j,n} - a_{j,n} } \right), $$

where \( L_{0,n} = \mathop \sum \nolimits_{m = 1}^{{M_{m} }} L_{m,n} \). For \( L_{n} \in \left[ {L_{m,n} ,L_{m - 1,n} } \right] \), with \( m = 1,2, \ldots ,M_{n} \), the lead time crashing cost \( U_{n} \left( {L_{n} } \right) \) relevant to buyer n is expressed as follows:

$$ U_{n} \left( {L_{n} } \right) = c_{m,n} \left( {L_{m - 1,n} - L_{n} } \right) + \mathop \sum \limits_{j = 1}^{m - 1} c_{j,n} \left( {b_{j,n} - a_{j,n} } \right),\quad {\text{for}}\;{\text{each}}\;n = 1,2, \ldots ,N. $$
(1)

It is possible to note that \( U_{n} \left( {L_{n} } \right) \) is a piecewise-linear, decreasing function in the interval \( \left[ {L_{m,n} ,L_{m - 1,n} } \right] \). In this interval, \( U_{n} \left( {L_{n} } \right) \) is also continuous and convex.

3 Cost model and related optimization problem

In this section, the cost model relevant to the inventory system studied in this work is first developed. Then, the optimization problem aimed to find the production-replenishment policy and the length of lead times that minimize the long-run expected joint total cost per time unit is formulated.

3.1 Model development

The proposed production-inventory model is characterized by a cost function that is made of two main components: the long-run expected total cost per time unit of the vendor and the long-run expected total cost per time unit of all buyers. The sum of these two cost components is defined as the long-run expected joint total cost per time unit. The cost components will be first presented for the vendor, and then for the buyers. Note that the cost structure is identical for each buyer. To better understand the delivering strategy adopted by the vendor, it is possible to refer to Fig. 1, which shows the inventories as a function of time for a sample case with \( N = 3 \), \( k_{1} = 2 \), \( k_{2} = 3 \), and \( k_{3} = 4 \), where \( \zeta_{v} \) is the safety stock on the vendor.

Fig. 1
figure 1

Inventory pattern for vendor and buyers in a sample case with N = 3, k1 = 2, k2 = 3, and k3 = 4

First, let us consider the costs relevant to the vendor. We recall that T is the time between the launch of two consecutive production cycles. Therefore, if at time t a production cycle begins, then the next one begins at time \( t + T \). In t, the vendor starts manufacturing TD units, and delivers \( T_{n} D_{n} \) to the nth buyer at time instants \( t + T_{n} \), \( t + 2T_{n} \),…, \( t + k_{n} T_{n} \). We remind the reader that, according to the adopted delivering strategy, we have \( k_{n} T_{n} = T \). Therefore, the last delivery occurs as a new production cycle begins. According to simple geometric observations, the average inventory at the vendor can be calculated as follows:

$$ \begin{aligned} & \left\{ {\frac{{\left( {TD} \right)^{2} }}{2P} + \left( {T - \frac{TD}{P}} \right)TD - \left[ {D_{1} \left( {\frac{T}{{k_{1} }}} \right)^{2} \left( {1 + 2 + \cdots + k_{1} - 1} \right)} \right.} \right. \\ & \qquad \left. {\left. { +\, D_{2} \left( {\frac{T}{{k_{2} }}} \right)^{2} \left( {1 + 2 + \cdots + k_{2} - 1} \right) + \cdots + D_{N} \left( {\frac{T}{{k_{N} }}} \right)^{2} \left( {1 + 2 + \cdots + k_{N} - 1} \right)} \right]} \right\}\frac{1}{T} + \zeta_{v} \frac{1}{T} + \zeta_{v} \\ & \quad = T\frac{{D^{2} }}{2P} + D\left( {T - \frac{TD}{P}} \right) - \left[ {D_{1} \frac{T}{{k_{1} }}\left( {k_{1} - 1} \right) + D_{2} \frac{T}{{k_{2} }}\left( {k_{2} - 1} \right) + \cdots + D_{N} \frac{T}{{k_{N} }}\left( {k_{N} - 1} \right)} \right] + \zeta_{v} \\ & \quad = \frac{T}{2}\left[ {D\left( {1 - \frac{D}{P}} \right) + \mathop \sum \limits_{n = 1}^{N} \frac{{D_{n} }}{{k_{n} }}} \right] + \zeta_{v} . \\ \end{aligned} $$

Hence, the expected stockholding cost per time unit relevant to the vendor is \( h\{ {\frac{T}{2}[ {D( {1 - \frac{D}{P}}) + \mathop \sum \nolimits_{n = 1}^{N} \frac{{D_{n} }}{{k_{n} }}} ] + \zeta_{v} } \} \), where \( \zeta_{v} = R_{v} - TD \). The expected cost per time unit related to shortage is \( \frac{{p_{v} }}{T}E\left[ {\left( {Y - R_{v} } \right)^{ + } } \right] \). If we observe that the setup cost per time unit is \( \frac{S}{T} \), and letting \( {\mathbf{k}} \equiv \left( {k_{1} ,k_{2} , \ldots ,k_{N} } \right) \), then the long-run expected total cost per time unit relevant to the vendor \( \tilde{C}_{V} \) is given by

$$ \tilde{C}_{V} \left( {T,R_{v} ,{\mathbf{k}}} \right) = \frac{S}{T} + h\left\{ {\frac{T}{2}\left[ {D\left( {1 - \frac{D}{P}} \right) + \mathop \sum \limits_{n = 1}^{N} \frac{{D_{n} }}{{k_{n} }}} \right] + R_{v} - TD} \right\} + \frac{{p_{v} }}{T}E\left[ {\left( {Y - R_{v} } \right)^{ + } } \right]. $$
(2)

We now derive the long-run expected total cost per time unit for the nth buyer, who adopts a periodic review policy with review period \( T_{n} \). With similar arguments to, e.g., Annadurai and Uthayakumar (2010), the expected stockholding cost per time unit is

$$ h_{n} \left( {R_{n} - D_{n} L_{n} - \frac{{D_{n} T_{n} }}{2} + \beta_{n} E\left[ {\left( {X_{n} - R_{n} } \right)^{ + } } \right]} \right), $$

and the expected cost per time unit due to shortage is \( \frac{{\bar{\pi }_{n} }}{{T_{n} }}E\left[ {\left( {X_{n} - R_{n} } \right)^{ + } } \right] \), where \( \bar{\pi }_{n} \equiv p_{n} + \beta_{n} \pi_{n} \). The ordering cost per time unit and the lead-time crashing cost per time unit are \( \frac{{A_{n} }}{{T_{n} }} \) and \( \frac{{U_{n} }}{{T_{n} }} \), respectively. Hence, the long-run expected total cost per time unit relevant to the nth buyer \( \tilde{C}_{n} \) is expressed as follows:

$$ \tilde{C}_{n} \left( {T_{n} ,R_{n} ,L_{n} } \right) =\, \frac{{A_{n} + U_{n} \left( {L_{n} } \right)}}{{T_{n} }} + h_{n} \left( {R_{n} - D_{n} L_{n} - \frac{{D_{n} T_{n} }}{2} + \beta_{n} E\left[ {\left( {X_{n} - R_{n} } \right)^{ + } } \right]} \right) + \frac{{\bar{\pi }_{n} }}{{T_{n} }}E\left[ {\left( {X_{n} - R_{n} } \right)^{ + } } \right]. $$
(3)

If we recall that \( k_{n} T_{n} = T \), then Eq. (3) becomes

$$ \tilde{C}_{n} \left( {T,R_{n} ,k_{n} ,L_{n} } \right) =\, \left( {A_{n} + U_{n} \left( {L_{n} } \right)} \right)\frac{{k_{n} }}{T} + h_{n} \left( {R_{n} - D_{n} L_{n} - \frac{{D_{n} }}{2}\frac{T}{{k_{n} }} + \beta_{n} E\left[ {\left( {X_{n} - R_{n} } \right)^{ + } } \right]} \right) + \bar{\pi }_{n} \frac{{k_{n} }}{T}E\left[ {\left( {X_{n} - R_{n} } \right)^{ + } } \right]. $$
(4)

It is now possible to give the expression of the long-run expected joint total cost per time unit \( \tilde{C} \), which is expressed as the sum over n of Eq. (4) plus Eq. (2). In particular, if we let \( {\mathbf{R}} \equiv \left( {R_{1} ,R_{2} , \ldots ,R_{N} ,R_{v} } \right) \) and \( {\mathbf{L}} \equiv \left( {L_{1} ,L_{2} , \ldots ,L_{N} } \right) \), then the long-run expected joint total cost per time unit is

$$ \begin{aligned} \tilde{C}\left( {T,{\mathbf{R}},{\mathbf{k}},{\mathbf{L}}} \right) &=\, \tilde{C}_{V} \left( {T,R_{v} ,{\mathbf{k}}} \right) + \mathop \sum \limits_{n = 1}^{N} \tilde{C}_{n} \left( {T,R_{n} ,k_{n} ,L_{n} } \right)\\&=\, \frac{S}{T} + h\left\{ {\frac{T}{2}\left[ {D\left( {1 - \frac{D}{P}} \right) + \mathop \sum \limits_{n = 1}^{N} \frac{{D_{n} }}{{k_{n} }}} \right] + R_{v} - TD} \right\} \\ & \quad + \frac{{p_{v} }}{T}E\left[ {\left( {Y - R_{v} } \right)^{ + } } \right] + \mathop \sum \limits_{n = 1}^{N} \left( {A_{n} + U_{n} \left( {L_{n} } \right)} \right)\frac{{k_{n} }}{T} \\ & \quad + h_{n} \left( {R_{n} - D_{n} L_{n} - \frac{{D_{n} }}{2}\frac{T}{{k_{n} }} + \beta_{n} E\left[ {\left( {X_{n} - R_{n} } \right)^{ + } } \right]} \right) + \bar{\pi }_{n} \frac{{k_{n} }}{T}E\left[ {\left( {X_{n} - R_{n} } \right)^{ + } } \right]. \\ \end{aligned} $$
(5)

3.2 Problem formulation

The objective is to find the length of the production cycle of the vendor, the replenishment policy of each buyer, and the length of lead times that minimize the long-run expected joint total cost per time unit. More precisely, this problem can be formalized as follows:

$$ \begin{array}{*{20}l} {\mathop { \hbox{min} }\limits_{{\left( {T,{\mathbf{R}},{\mathbf{k}},{\mathbf{L}}} \right)}} } \hfill & {\left( {\tilde{C}_{V} \left( {T,R_{v} ,{\mathbf{k}}} \right) + \mathop \sum \limits_{n = 1}^{N} \tilde{C}_{n} \left( {T,R_{n} ,k_{n} ,L_{n} } \right)} \right)} \hfill \\ {{\text{s}}.{\text{t}}.} \hfill & {T > 0,} \hfill \\ {} \hfill & {R_{n} > 0 \forall n,} \hfill \\ {} \hfill & {R_{v} > 0,} \hfill \\ {} \hfill & {L_{n} \in \left[ {L_{{M_{n} ,n}} ,L_{0,n} } \right] \forall n,} \hfill \\ {} \hfill & {{\mathbf{k}} \in {\mathbb{N}}^{N} .} \hfill \\ \end{array} $$
(6)

We previously assumed that information about the demand distribution is limited. That is, only an estimate of the mean and of the variance of \( X_{n} \), for each n, are known, but not the specific distribution type. In this condition, the p.d.f. \( f_{n} \) of \( X_{n} \) is not given, and hence the quantity \( E\left[ {\left( {X_{n} - R_{n} } \right)^{ + } } \right] \) cannot explicitly be calculated. The same lack of information is assumed for the demand on the vendor. That is, only an estimate of the mean and of the variance of Y are known, but not the specific distribution type. This means that the p.d.f. g of Y is undefined, and hence it is not possible to calculate the quantity \( E\left[ {\left( {Y - R_{v} } \right)^{ + } } \right] \). Therefore, problem (6) cannot be directly faced and the optimal value of decision variables cannot be determined.

To overcome this issue, we adopt the minimax distribution-free approach. The minimax principle consists of taking \( f_{n} \) and g as the most unfavourable p.d.f.s in \( {\mathcal{F}}_{n} \), for each n, and \( {\mathcal{G}} \), respectively, and then minimizing over the decision variables. Although this is a conservative method, several supporting arguments can be raised (Moon and Gallego 1994; Kumar and Goswami 2015; Raza 2015; Sarkar et al. 2015a). First, it can easily be applied in practice, as statistical tables or computer programs that work with distribution functions are not required. Secondly, it permits to obtain analytically tractable expressions. Thirdly, it is optimal under some conditions. Last but not least, it has been widely used in the inventory literature.

Hence, in place of problem (6), we turn to approach the following problem:

$$ \mathop {\hbox{min} }\limits_{{\left( {T,{\mathbf{R}},{\mathbf{k}},{\mathbf{L}}} \right)}} \mathop {\hbox{max} }\limits_{{\begin{array}{*{20}c} {\left\{ {f_{n} |f_{n} \in {\mathcal{F}}_{n} } \right\}} \\ {\left\{ {g|g \in {\mathcal{G}}} \right\}} \\ \end{array} }} \left( {\tilde{C}_{V} \left( {T,R_{v} ,{\mathbf{k}}} \right) + \mathop \sum \limits_{n = 1}^{N} \tilde{C}_{n} \left( {T,R_{n} ,k_{n} ,L_{n} } \right)} \right). $$
(7)

Note that (1) the maximum is evaluated over the sets \( \left\{ {f_{n} |f_{n} \in {\mathcal{F}}_{n} } \right\} \) and \( \left\{ {g|g \in {\mathcal{G}}} \right\} \) for a fixed \( \left( {T,{\mathbf{R}},{\mathbf{k}},{\mathbf{L}}} \right) \), and that (2) the random variables X1, X2,…,XN are independent by assumption. Hence, problem (7) can be rewritten as follows (see also Hsu and Huang 2010):

$$ \mathop {\hbox{min} }\limits_{{\left( {T,{\mathbf{R}},{\mathbf{k}},{\mathbf{L}}} \right)}} \left( {\mathop {\hbox{max} }\limits_{{\left\{ {g|g \in {\mathcal{G}}} \right\}}} \tilde{C}_{V} \left( {T,R_{v} ,{\mathbf{k}}} \right) + \mathop \sum \limits_{n = 1}^{N} \mathop {\hbox{max} }\limits_{{\left\{ {f_{n} |f_{n} \in {\mathcal{F}}_{n} } \right\}}} \tilde{C}_{n} \left( {T,R_{n} ,k_{n} ,L_{n} } \right)} \right). $$
(8)

To approach problem (8), we need the following proposition:

Proposition 1

For each n,

$$ E\left[ {\left( {X_{n} - R_{n} } \right)^{ + } } \right] \le \frac{1}{2}\left\{ {\sqrt {\sigma_{n}^{2} \left( {\frac{T}{{k_{n} }} + L_{n} } \right) + \left[ {R_{n} - D_{n} \left( {\frac{T}{{k_{n} }} + L_{n} } \right)} \right]^{2} } - \left[ {R_{n} - D_{n} \left( {\frac{T}{{k_{n} }} + L_{n} } \right)} \right]} \right\} . $$
(9)

Moreover,

$$ E\left[ {\left( {Y - R_{v} } \right)^{ + } } \right] \le \frac{1}{2}\left\{ {\sqrt {T\mathop \sum \limits_{n = 1}^{N} \sigma_{n}^{2} + \left[ {R_{v} - TD} \right]^{2} } - \left[ {R_{v} - TD} \right]} \right\}. $$
(10)

Inequalities ( 9 ) and ( 10 ) are valid for any \( f_{n} \in {\mathcal{F}}_{n} \) and \( g \in {\mathcal{G}} \) , respectively. Moreover, the upper bounds ( 9 ) and ( 10 ) are tight.

Proposition 1 can be obtained from, e.g., Chuang et al. (2004), noting that the review period for buyer n is \( \frac{T}{{k_{n} }} \) and that the protection interval for the vendor coincides with the production cycle time T, and recalling that the total demand on the vendor has mean and variance given by \( TD \) and \( T\mathop \sum \nolimits_{n = 1}^{N} \sigma_{n}^{2} \), respectively. According to Proposition 1 and to the expressions of \( R_{v} \) and \( R_{n} \), problem (8) reduces to

$$ \mathop {\hbox{min} }\limits_{{\left( {T,{\mathbf{z}},{\mathbf{k}},{\mathbf{L}}} \right)}} C\left( {T,{\mathbf{z}},{\mathbf{k}},{\mathbf{L}}} \right), $$

where \( {\mathbf{z}} \equiv \left( {z_{1} ,z_{2} , \ldots ,z_{N} ,z_{v} } \right) \) and

$$ C\left( {T,{\mathbf{z}},{\mathbf{k}},{\mathbf{L}}} \right) = C_{V} \left( {T,z_{v} ,{\mathbf{k}}} \right) + \mathop \sum \limits_{n = 1}^{N} C_{n} \left( {T,z_{n} ,k_{n} ,L_{n} } \right), $$

in which

$$ C_{V} \left( {T,z_{v} ,{\mathbf{k}}} \right) = \frac{S}{T} + h\left\{ {\frac{T}{2}\left[ {D\left( {1 - \frac{D}{P}} \right) + \mathop \sum \limits_{n = 1}^{N} \frac{{D_{n} }}{{k_{n} }}} \right] + z_{v} \sqrt {T\mathop \sum \limits_{n = 1}^{N} \sigma_{n}^{2} } } \right\} + \frac{1}{2}\frac{{p_{v} }}{T}\sqrt {T\mathop \sum \limits_{n = 1}^{N} \sigma_{n}^{2} } \left( {\sqrt {1 + z_{v}^{2} } - z_{v} } \right), $$
(11)
$$ \begin{aligned} & C_{n} \left( {T,z_{n} ,k_{n} ,L_{n} } \right) = \left( {A_{n} + U_{n} \left( {L_{n} } \right)} \right)\frac{{k_{n} }}{T} + h_{n} \left[ {\frac{{D_{n} }}{2}\frac{T}{{k_{n} }} + z_{n} \sigma_{n} \sqrt {\frac{T}{{k_{n} }} + L_{n} } + \frac{1}{2}\beta_{n} \sigma_{n} \sqrt {\frac{T}{{k_{n} }} + L_{n} } \left( {\sqrt {1 + z_{n}^{2} } - z_{n} } \right)} \right] \\ & \quad + \frac{1}{2}\bar{\pi }_{n} \sigma_{n} \sqrt {\frac{T}{{k_{n} }} + L_{n} } \left( {\sqrt {1 + z_{n}^{2} } - z_{n} } \right)\frac{{k_{n} }}{T}, \quad {\text{for }}n = 1,2, \ldots ,N. \\ \end{aligned} $$
(12)

In conclusion, the objective is to solve the following problem:

$$ \begin{array}{*{20}l} {\left( {\text{P}} \right)} \hfill & {\mathop { \hbox{min} }\limits_{{\left( {T,{\mathbf{z}},{\mathbf{k}},{\mathbf{L}}} \right)}} } \hfill & {C\left( {T,{\mathbf{z}},{\mathbf{k}},{\mathbf{L}}} \right)} \hfill \\ {} \hfill & {} \hfill & {T > 0,} \hfill \\ {} \hfill & {} \hfill & {L_{n} \in \left[ {L_{{M_{n} ,n}} ,L_{0,n} } \right] \forall n,} \hfill \\ {} \hfill & {} \hfill & {{\mathbf{z}} \in {\mathbb{R}}^{N} ,} \hfill \\ {} \hfill & {} \hfill & {{\mathbf{k}} \in {\mathbb{N}}^{N} .} \hfill \\ \end{array} $$

Problem (P) has never been investigated before. Moreover, the global optimum solution is evidently difficult to obtain. We turn to develop two effective heuristic algorithms. To this aim, we need the following proposition, which concludes this section:

Proposition 2

The cost function C satisfies the following properties:

  1. 1.

    For fixed \( \left( {T,{\mathbf{z}},{\mathbf{k}}} \right) \), C is concave in L.

  2. 2.

    For fixed \( \left( {{\mathbf{k}},{\mathbf{L}}} \right) \), C is convex in \( \left( {T,{\mathbf{z}}} \right) \).

  3. 3.

    For fixed \( \left( {T,{\mathbf{z}},{\mathbf{L}}} \right) \), C diverges at \( + \infty \) as k tends to the boundary of \( {\mathbb{N}}^{N} \).

Proof

See “Appendix 1”. □

4 The first heuristic solution method

Proposition 1 permits us to observe that the minimum of C in L is given by a vector \( {\bar{\mathbf{L}}} \) whose nth component \( \bar{L}_{n} \) belongs to the set \( {\mathcal{H}}_{n} = \left\{ {L_{m,n} :m = 0,1, \ldots ,M_{n} } \right\} \). Therefore, the problem of minimizing C in L (with all other decision variables kept fixed) is a combinatorial problem, which is solved by determining the minimum over all \( \mathop \prod \nolimits_{n} \left( {M_{n} + 1} \right) \) possible combinations.

According to point No. 2 of Proposition 1, C can be minimized in \( \left( {T,{\mathbf{z}}} \right) \), for fixed \( \left( {{\mathbf{k}},{\mathbf{L}}} \right) \), by solving the first-order conditions for optimality. That is, the solution to the system of equations

$$ \frac{\partial }{\partial T}C\left( {T,{\mathbf{z}},{\mathbf{k}},{\mathbf{L}}} \right) = 0, $$
(13)
$$ \frac{\partial }{{\partial z_{n} }}C\left( {T,{\mathbf{z}},{\mathbf{k}},{\mathbf{L}}} \right) = 0,\quad n = 1,2, \ldots ,N, $$
(14)
$$ \frac{\partial }{{\partial z_{v} }}C\left( {T,{\mathbf{z}},{\mathbf{k}},{\mathbf{L}}} \right) = 0, $$
(15)

gives the minimum of C in \( \left( {T,{\mathbf{z}}} \right) \), for fixed \( \left( {{\mathbf{k}},{\mathbf{L}}} \right) \). The explicit expression of Eqs. (1315) is given in “Appendix 2”.

Since the minimization of C in \( \left( {T,{\mathbf{z}},{\mathbf{k}}} \right) \), for fixed L, involves an integer vector, i.e., k, we try to approach the problem of minimizing C in \( \left( {T,{\mathbf{z}},{\mathbf{k}}} \right) \) with the following relation:

$$ \mathop {\hbox{min} }\limits_{{\left( {T,{\mathbf{z}},{\mathbf{k}}} \right)}} C\left( {T,{\mathbf{z}},{\mathbf{k}},{\mathbf{L}}} \right) = \hbox{min} {\mathcal{U}}, $$

where \( {\mathcal{U}} = \left\{ {\mathop {\hbox{min} }\nolimits_{{\left( {T,{\mathbf{z}}} \right)}} C\left( {T,{\mathbf{z}},{\mathbf{k}},{\mathbf{L}}} \right):{\mathbf{k}} \in {\mathbb{N}}^{N} } \right\} \). Evidently, finding the solution to \( \hbox{min} {\mathcal{U}} \) by means of full exploration of the set \( {\mathcal{U}} \) is practically unreasonable. We therefore need a heuristic that supports us in this task. A possible method is the following algorithm, which gives the heuristic solution \( ({T,\check{{\mathbf{z}}},\check{{\mathbf{k}}}}) \) and the corresponding cost \( \check{C} \) for fixed L:

figure a

Algorithm 1 requires that the parameters h and \( \left( {k_{1}^{f} ,k_{2}^{f} , \ldots ,k_{N}^{f} } \right) \) be initialized. Parameter h represents the integer step size of the search procedure, while \( \left( {k_{1}^{f} ,k_{2}^{f} , \ldots ,k_{N}^{f} } \right) \) defines the maximum extension of the search domain. The minimization in \( \left( {T,{\mathbf{z}}} \right) \) of \( C\left( {T,{\mathbf{z}},{\mathbf{k}},{\mathbf{L}}} \right) \) for fixed \( \left( {{\mathbf{k}},{\mathbf{L}}} \right) \) can be approached by solving Eqs. (1315).

If we recall that the minimum over L is determined by testing all vectors \( {\bar{\mathbf{L}}} \) whose nth component \( \bar{L}_{n} \) belongs to \( {\mathcal{H}}_{n} = \left\{ {L_{m,n} :m = 0,1, \ldots ,M_{n} } \right\} \), then the following algorithm can be used to find the heuristic solution \( \left( {T^{*} ,{\mathbf{z}}^{*} ,{\mathbf{k}}^{*} ,{\mathbf{L}}^{*} } \right) \) and the corresponding cost C* to problem (P):

figure b

5 The alternative optimization method

In this section, we propose the second heuristic algorithm to approach problem (P), which exploits an approximated expression of C. The first subsection is devoted to present the approximated cost function. The second subsection develops the alternative heuristic to approach problem (P).

5.1 Approximation procedure

First of all, we observe that, with some algebraic manipulations (see “Appendix 3”), Eqs. (11) and (12) can respectively be rewritten as follows:

$$ C_{V} \left( {T,{\mathbf{k}}} \right) = \frac{S}{T} + \frac{hT}{2}\left[ {D\left( {1 - \frac{D}{P}} \right) + \mathop \sum \limits_{n = 1}^{N} \frac{{D_{n} }}{{k_{n} }}} \right] + \sqrt {h\left( {p_{v} - hT} \right)\mathop \sum \limits_{n = 1}^{N} \sigma_{n}^{2} } , $$
(16)
$$ C_{n} \left( {T,k_{n} ,L_{n} } \right) = \left( {A_{n} + U_{n} \left( {L_{n} } \right)} \right)\frac{{k_{n} }}{T} + h_{n} \frac{{D_{n} }}{2}\frac{T}{{k_{n} }} + \sigma_{n} \sqrt {\frac{{h_{n} \left( {\frac{T}{{k_{n} }} + L_{n} } \right)\left( {\bar{\pi }_{n} - h_{n} \frac{T}{{k_{n} }}\left( {1 - \beta_{n} } \right)} \right)}}{{\frac{T}{{k_{n} }}}}} , \quad n = 1,2, \ldots ,N. $$
(17)

The second heuristic works on an approximation of Eqs. (16) and (17) obtained by means of the following procedure.

The idea is to replace

$$ \sqrt {\frac{{\left( {\frac{T}{{k_{n} }} + L_{n} } \right)\left( {\bar{\pi }_{n} - h_{n} \frac{T}{{k_{n} }}\left( {1 - \beta_{n} } \right)} \right)}}{{\frac{T}{{k_{n} }}}}} $$

and \( \sqrt {\left( {p_{v} - hT} \right)} \) with their second-order Taylor series expansion in \( \frac{T}{{k_{n} }} \) and T, respectively, in a neighbourhood of

$$ \hat{T}_{n} \equiv \sqrt {\frac{{2\left( {A_{n} + U_{n} \left( {L_{n} } \right)} \right)}}{{h_{n} D_{n} }}} $$

and

$$ \hat{T} \equiv \sqrt {\frac{S}{{\frac{h}{2}\left[ {D\left( {1 - \frac{D}{P}} \right) + D} \right]}}} , $$

respectively. Note that \( \hat{T}_{n} \) is the solution that minimizes Cn in \( \frac{T}{{k_{n} }} \) in deterministic conditions, while \( \hat{T} \) is the value of T that minimizes CV when uncertain demand is not considered and taking \( k_{n} = 1 \) for each n. A similar approximation approach was adopted by Eynan and Kropp (2007).

With some algebraic manipulations (see “Appendix 4”), the following approximate expression for cost function C can be obtained:

$$ \begin{aligned} & \hat{C}\left( {T,{\mathbf{k}},{\mathbf{L}}} \right) = \hat{C}_{V} \left( {T,{\mathbf{k}}} \right) + \mathop \sum \limits_{n = 1}^{N} \hat{C}_{n} \left( {T,k_{n} ,L_{n} } \right) = \frac{{u_{0} }}{T} + \left( {v_{0} + \frac{h}{2}\mathop \sum \limits_{n = 1}^{N} \frac{{D_{n} }}{{k_{n} }}} \right)T \\ & \quad + w_{0} T^{2} + y_{0} + \mathop \sum \limits_{n = 1}^{N} \left[ {\frac{{u_{n} k_{n} }}{T} + v_{n} \frac{T}{{k_{n} }} + w_{n} \left( {\frac{T}{{k_{n} }}} \right)^{2} + y_{n} } \right]. \\ \end{aligned} $$

The next subsection presents the second heuristic algorithm to approach problem (P) taking into consideration the approximate cost function \( \hat{C} \).

5.2 The second heuristic algorithm

The basic idea is to approach the minimization of \( \hat{C} \) instead of C. First, we observe that \( \hat{C} \) resembles the cost structure of the deterministic JRP. The proposed second optimization method is similar to the improved version of the original Silver’s algorithm for the deterministic JRP (Kaspi and Rosenblatt 1983).

Consider a fixed \( {\bar{\mathbf{L}}} \) and rewrite \( \hat{C} \) as follows:

$$ \hat{C}\left( {T,{\mathbf{k}},{\bar{\mathbf{L}}}} \right) = \frac{{u_{0} }}{T} + v_{0} T + w_{0} T^{2} + y_{0} + \mathop \sum \limits_{n = 1}^{N} V_{n} \left( {T,k_{n} ,\bar{L}_{n} } \right), $$

where

$$ V_{n} \left( {T,k_{n} ,\bar{L}_{n} } \right) = \hat{C}_{n} \left( {T,k_{n} ,\bar{L}_{n} } \right) + h\frac{{D_{n} }}{2}\frac{T}{{k_{n} }} = \frac{{u_{n} k_{n} }}{T} + \frac{T}{{k_{n} }}\left( {v_{n} + h\frac{{D_{n} }}{2}} \right) + w_{n} \left( {\frac{T}{{k_{n} }}} \right)^{2} + y_{n} , \quad n = 1,2, \ldots ,N. $$

For each n, let \( \check{T}_{n} \) be the minimum of Vn in \( T_{n} = \frac{T}{{k_{n} }} \), which can be determined by solving the third-degree equation

$$ 2w_{n} T_{n}^{3} + T_{n}^{2} \left( {v_{n} + h\frac{{D_{n} }}{2}} \right) - u_{n} = 0, \quad n = 1,2, \ldots ,N, $$
(18)

and taking the positive \( T_{n} \) that minimizes Vn in \( T_{n} = \frac{T}{{k_{n} }} \). A simple procedure to extract the roots from a cubic equation is given by Nickalls (1993).

Numerical experiments have shown that, for parameter values that are typically adopted in literature, un, wn, vn and yn are positive, for each n. Hence, \( \check{T}_{n} \) can be found as the only positive root to Eq. (18).

We designate with \( n = 1 \) the buyer with the highest \( \check{T}_{n} \). Note that this buyer is the one whose replenishment frequency is the smallest. We further put \( k_{1} = \check{k}_{1} = 1 \), which permits us to rewrite \( \hat{C} \) as follows:

$$ \hat{C}\left( {T,{\mathbf{k}},{\bar{\mathbf{L}}}} \right) =\, \frac{{u_{0} }}{T} + v_{0} T + w_{0} T^{2} + y_{0} + \frac{{u_{1} k_{1} }}{T} + \frac{T}{{k_{1} }}\left( {v_{1} + h\frac{{D_{1} }}{2}} \right) + w_{1} \left( {\frac{T}{{k_{1} }}} \right)^{2} + y_{1} + \mathop \sum \limits_{n = 2}^{N} V_{n} \left( {T,k_{n} ,\bar{L}_{n} } \right). $$
(19)

If we relax the integrality constraint on kn, for \( n = 2,3, \ldots ,N \), take the partial derivatives of Eq. (19) with respect to T and kn, and impose the first-order condition for optimality, we obtain:

$$ \frac{\partial }{\partial T}\hat{C}\left( {T,{\mathbf{k}},{\bar{\mathbf{L}}}} \right) = - \frac{{u_{0} + u_{1} k_{1} }}{{T^{2} }} + v_{0} + \frac{1}{{k_{1} }}\left( {v_{1} + h\frac{{D_{1} }}{2}} \right) + 2T\left( {w_{0} + \frac{{w_{1} }}{{k_{1}^{2} }}} \right) + \mathop \sum \limits_{n = 2}^{N} \left[ { - \frac{{u_{n} k_{n} }}{{T^{2} }} + \frac{1}{{k_{n} }}\left( {v_{n} + h\frac{{D_{n} }}{2}} \right) + 2w_{n} \frac{T}{{k_{n}^{2} }}} \right] = 0, $$
(20)
$$ \frac{\partial }{{\partial k_{n} }}\hat{C}\left( {T,{\mathbf{k}},{\bar{\mathbf{L}}}} \right) = \frac{{u_{n} }}{T} - \frac{T}{{k_{n}^{2} }}\left( {v_{n} + h\frac{{D_{n} }}{2}} \right) - 2w_{n} \frac{{T^{2} }}{{k_{n}^{3} }} = 0, \quad n = 2,3, \ldots ,N. $$
(21)

Multiplying Eq. (21) by \( - \frac{{k_{n} }}{T} \) and substituting into Eq. (20), we get

$$ - \frac{{u_{0} + u_{1} k_{1} }}{{T^{2} }} + v_{0} + \frac{1}{{k_{1} }}\left( {v_{1} + h\frac{{D_{1} }}{2}} \right) + 2T\left( {w_{0} + \frac{{w_{1} }}{{k_{1}^{2} }}} \right) = 0, $$

which can be equivalently rewritten as

$$ 2T^{3} \left( {w_{0} + \frac{{w_{1} }}{{k_{1}^{2} }}} \right) + T^{2} \left[ {v_{0} + \frac{1}{{k_{1} }}\left( {v_{1} + h\frac{{D_{1} }}{2}} \right)} \right] - \left( {u_{0} + u_{1} k_{1} } \right) = 0. $$
(22)

We denote by \( \tilde{T} \) the positive solution in T to Eq. (22).

If we multiply Eq. (21) by \( - \frac{{k_{n}^{2} }}{T} \) and then substitute T with \( \tilde{T} \), it is found the equation

$$ - u_{n} \left( {\frac{{k_{n} }}{{\tilde{T}}}} \right)^{2} + \left( {v_{n} + h\frac{{D_{n} }}{2}} \right) + 2w_{n} \frac{{\tilde{T}}}{{k_{n} }} = 0, \quad n = 2,3, \ldots ,N, $$

or, equivalently,

$$ 2w_{n} \left( {\frac{{\tilde{T}}}{{k_{n} }}} \right)^{3} + \left( {v_{n} + h\frac{{D_{n} }}{2}} \right)\left( {\frac{{\tilde{T}}}{{k_{n} }}} \right)^{2} - u_{n} = 0, \quad n = 2,3, \ldots ,N. $$
(23)

Equation (23) admits only one positive root in \( \frac{{\tilde{T}}}{{k_{n} }} \). Moreover, it is possible to observe that this root coincides with \( \check{T}_{n} \). Hence, we are allowed to write \( k_{n} = \frac{{\tilde{T}}}{{\check{T}_{n}}} \).

If \( x \) represents the largest integer smaller than or equal to x, and if we put \( q_{n} \equiv k_{n} \), then qn is preferable to \( q_{n} + 1 \) if and only if \( V_{n} \left( {\tilde{T},q_{n} ,\bar{L}_{n} } \right) \le V_{n} \left( {\tilde{T},q_{n} + 1,\bar{L}_{n} } \right) \) (this follows from the unimodality of \( \hat{C}_{n} \left( {T,z_{n} ,L_{n} } \right) \) in \( \frac{T}{{k_{n} }} \)). In this case, it is possible to put \( \check{k}_{n} \equiv q_{n} \), otherwise \( \check{k}_{n} \equiv q_{n} +1 \), for \( n = 2,3, \ldots ,N \).

The values \( \check{k}_{n} \), for \( n = 2,3, \ldots ,N \), just obtained are required to determine the (near-)optimal value \( \check{T}_{n} \) of T. This can be found by rearranging Eq. (20) as follows:

$$ - \frac{1}{{T^{2}}}\left({u_{0} + \mathop \sum \limits_{n = 1}^{N} u_{n} \check{k}_{n}} \right) + v_{0} + \mathop \sum \limits_{n = 1}^{N} \left[{\frac{1}{{\check{k}_{n}}}\left({v_{n} + h\frac{{D_{n}}}{2}} \right)} \right] + 2T\left({w_{0} + \mathop \sum \limits_{n = 1}^{N} \frac{{w_{n}}}{{\check{k}_{n}}}} \right) = 0, $$

which is equivalent to

$$ 2T^{3} \left({w_{0} + \mathop \sum \limits_{n = 1}^{N} \frac{{w_{n}}}{{\check{k}}_{n}}} \right) + \left\{{v_{0} + \mathop \sum \limits_{n = 1}^{N} \left[{\frac{1}{{\check{k}_{n}}}\left({v_{n} + h\frac{{D_{n}}}{2}} \right)} \right]} \right\}T^{2} - \left({u_{0} + \mathop \sum \limits_{n = 1}^{N}} u_{n} {\check{k}}_{n} \right) = 0. $$
(24)

The positive solution in T to Eq. (24) gives the (near-)optimal value \( \check{T} \) of T.

The procedure has been so far described taking \( \check{k}_{1} = 1 \) (we remind the reader that the buyer with the smallest replenishment frequency, i.e., with the highest \( \check{T}_{n} \), is denoted with the index \( n = 1 \)). However, this value for \( \check{k}_{1} \) may not be optimal. Hence, it is necessary to verify whether a larger value for \( \check{k}_{1} \) leads to a more efficient solution, or not. Note that, once the buyer with the highest \( \check{T}_{n} \) has been identified, the procedure to obtain the heuristic solution for a generic value \( \check{k}_{1}\ge 1 \) is similar to that above presented.

If \( \check{C}^{(1)} \) represents the cost corresponding to the heuristic solution with \( \check{k}_{1}= 1 \) (for a fixed \( {\bar{\mathbf{L}}} \)), we must investigate if \( \check{C}^{\left(1 \right)} \ge \check{C}^{\left(2 \right)} \), where \( \check{C}^{\left(2 \right)} \) is the cost of the heuristic solution with \( \check{k}_{1}= 2 \). If this happens, then we must check if \( \check{C}^{\left(2 \right)} \ge \check{C}^{\left(3 \right)} \), and so on until it is found a value \( r \ge 1 \) of \( \check{k}_1 \) such that \( \check{C}^{\left(r \right)} \le \check{C}^{{\left({r + 1} \right)}} \). The near-optimal solution for a given \( {\bar{\mathbf{L}}} \) is therefore \( \left({\check{T}},{\check{\mathbf{k}}},{\bar{\mathbf{L}}} \right) \), with \( \check{k}_{1} = r \), \( {\check{z}}_{n} = \bar{z}_{n} \left({\frac{{\check{T}}}{{\check{k}}_{n}}} \right) \), for \( n = 1,2, \ldots ,N \), and \( {\check{z}}_{v} = \bar{z}_{v} \left({{\check{T}}} \right) \).

The procedure so far described must be repeated for each \( {\bar{\mathbf{L}}} \). To obtain the heuristic solution to problem (P), it is required to take the solution, over all \( {\bar{\mathbf{L}}} \), that gives the least cost. The following algorithm summarizes the entire solution method:

figure c

Note that Algorithm 3 includes a stopping condition on line 22. This is required as it is not possible to prove that C is convex in \( \left( {T,{\mathbf{z}},{\mathbf{k}}} \right) \), for fixed L.

6 Numerical experiments

In this section, we first evaluate the performance of Algorithms 2 and 3 in terms of computational time and solution quality. To this aim, we also consider a benchmark algorithm, namely a hybrid genetic algorithm. Then, we investigate the sensitivity of the model, i.e., how the solution changes with variations in parameter values.

6.1 Performance analysis

This section is devoted to evaluate the performance of Algorithms 2 and 3 in terms of computational time and solution quality. Two different types of experiments have been performed. In the first one, smaller problems where the objective is to solve problem (P) have been considered. The second one takes into account larger problems, but the purpose is to solve a sub-problem of problem (P), i.e., the optimization of C for a given vector L.

In the second run of experiments, we consider a sub-problem because Algorithm 2 may be computationally onerous for large problems; to make the comparison practical, the problem complexity is therefore reduced. Note that the optimization over L is a simple combinatorial optimization problem, which is approached by Algorithms 2 and 3 with the same method. Hence, we can conclude that, even if the optimization in L is neglected (i.e., if L is a parameter instead of a decision variable), the relative performance between Algorithms 2 and 3 should not change.

Experiments have been made on a PC with an Intel® Core™ i5 processor at 2.6 GHz and with 8 GB of RAM memory. MATLAB® R2015b has been used as computing platform. Algorithms 2 and 3 include the following stopping conditions:

  • In Algorithm 2, the divisor kn relevant to the generic nth buyer cannot be larger than 50 and the search step h is equal to 1;

  • In Algorithm 3, the divisor k1 of the buyer with the smallest replenishment frequency cannot be greater than 50.

The performance analysis has been carried out taking into account a benchmark algorithm, namely a hybrid genetic algorithm (HGA). HGA works as follows: the genetic algorithm that is part of Optimization Toolbox™ approaches the problem

$$ \begin{array}{*{20}l} {\mathop { \hbox{min} }\limits_{{\mathbf{k}}} } \hfill & {C\left( {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\smile}$}}{T} ,{\mathbf{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\smile}$}}{z} }},{\mathbf{k}},{\bar{\mathbf{L}}}} \right)} \hfill \\ {{\text{s}} . {\text{t}} .} \hfill & {{\mathbf{k}} \in {\mathbb{N}}^{N} ,} \hfill \\ \end{array} $$

where \( ( {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\smile}$}}{T} ,{\mathbf{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\smile}$}}{z} }}} ) \) is the vector that minimizes \( C( {T,{\mathbf{z}},{\mathbf{k}},{\bar{\mathbf{L}}}} ) \) in \( ( {T,{\mathbf{z}}} ) \) for fixed \(( {{\mathbf{k}},{\bar{\mathbf{L}}}} ) \). To obtain \( \left( {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\smile}$}}{T} ,{\mathbf{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\smile}$}}{z} }}} \right) \)\( \left( {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\smile}$}}{T} ,{\mathbf{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\smile}$}}{z} }}} \right) \) a standard constrained nonlinear optimization algorithm has been used. Table 2 specifies the parameters of genetic algorithm that have been tuned with preliminary tests. The others have been kept to default values.

Table 2 Optimized parameters of genetic algorithm

In the first set of experiments, three values for N are considered: \( N = 4,5,6 \). Moreover, it is assumed \( M_{n} = 3 \) for each n. Parameter values are randomly drawn from the intervals shown in Table 3, where we consider the coefficient of variation Cvn relevant to buyer n instead of the standard deviation σn. Table 4 gives the specific value that parameters take in each problem in the first session of tests.

Table 3 Intervals where parameter values are randomly drawn
Table 4 Values that parameters take in each problem in the first round of experiments

.

Tables 5 gives the solutions obtained by Algorithms 2 and 3, and HGA for the problems considered in the first round of experiments. Note that the solution vector z* is not provided because this can readily be obtained by means of Eqs. (20) and (21) once T* and k* are known.

Table 5 Solutions obtained in the first set of experiments

We can observe that Algorithm 2 obtained the best solution in each problem. HGA achieved the same solution as Algorithm 2 in all problems for N = 4, in 2 problems out of 3 for N = 5, and in one problem out of 3 for N = 6. In the other problems, Algorithm 2 outperformed HGA. Also note that the solution quality of HGA worsens (with respect to Algorithm 2) as N increases. We can conclude that the performance of Algorithm 2 in terms of solution quality is very good and is substantially preferable to that of HGA. With regard to Algorithm 3, it achieved the worst solutions. However, its maximum deviation from the best algorithm (i.e., Algorithm 2) is fairly limited. Hence, we can conclude that the performance of Algorithm 3 in terms of solution quality is almost acceptable.

The worse performance of Algorithm 3 with respect to Algorithm 2 in terms of solution quality is, however, compensated by the best results in terms of computational time. In fact, with respect to the computationally worst algorithm (i.e., HGA), Algorithm 3 was much faster in each problem (Algorithm 3 is also faster than Algorithm 2). The average computational time required by Algorithm 3 ranges from 0.33 s for the smallest problems (i.e., N = 4) to 5.03 s for the largest problems (i.e., N = 6). The computational time of HGA is in the order of 102 s for N = 4, 103 s for N = 5, and 104 s for N = 6. Hence, the computational effort required by HGA grows quite quickly with N becoming impractical in real-life cases. Algorithm 2 performed better than HGA: the computational time of Algorithm 2 is from one order of magnitude to two orders of magnitude smaller than that of HGA. The relative performance of Algorithm 2 with respect to HGA improves as the problem dimension increases. Note that the computational time of Algorithm 2 is in the order of 101 s for N = 4, and 102 s for N = 5,6. Hence, there is a relatively slight increment of computational time for Algorithm 2 as N increases. With respect to Algorithm 3, the computational time of Algorithm 2 is one order of magnitude larger in the case N = 4, and two orders of magnitude larger in the cases N = 5,6.

The following conclusions can be drawn from the results of this first set of experiments:

  • Algorithm 2 outperforms HGA in terms of solution quality, even if in few cases HGA was able to obtain the same solution as Algorithm 2. However, the performance of HGA in terms of solution quality degrades, with respect to Algorithm 2, as N increases.

  • The computational time of HGA is impractical for \( N = 6 \) and becomes prohibitive for larger values of N, while the computational effort required by Algorithm 2 is rather acceptable even for relatively large values of N and grows slightly with N (if compared to HGA, whose required computational effort grows fast with N). Hence, HGA is outperformed by Algorithm 2 even considering the computational efficiency performance measure.

  • Algorithm 3 achieved the worst solutions, with a rather limited deviation from the best algorithm (i.e., Algorithm 2), but was the computationally most efficient. For this reason, it appears to be preferable to Algorithm 2 (and to HGA as well) when N is sufficiently large, e.g., \( N > 10 \).

Consider the second set of experiments. We remind the reader that these experiments are concerned with investigating the performance of Algorithms 2 and 3 taking into account a sub-problem of problem (P), in which L is fixed rather than a decision variable. This permitted us to consider larger problems, with N = 7,8,9,10. HGA was not considered because it becomes computationally unpractical for problems with such a number of buyers. The results confirm the former conclusions (see Table 6). We can observe that Algorithm 2 performed better than Algorithm 3 in terms of solution quality. However, the cost increase obtained by Algorithm 3 is, for each N, almost acceptable. For what concerns the computational time required by the algorithms, the best performance is again achieved by Algorithm 3. However, the computational time reduction achieved by Algorithm 3 with respect to Algorithm 2 is less than 1 s for each considered value of N. Hence, Algorithm 2 appears to be rather efficient in computational terms.

Table 6 Results for the second round of experiments

Given the results obtained in the two sets of experiments, we can conclude that Algorithm 2 is very promising in a practical context, as it gives a very good solution, which is the best among all algorithms, with a rather limited computational effort. This is especially true when the number of buyers is relatively moderate. Algorithm 3 may be worth to be considered, in particular, when greater attention is paid on the computational requirements of the algorithm rather than on the solution quality. In other words, Algorithm 3 provides a very good trade-off between computational efficiency and solution quality, especially when the number of buyers becomes relatively large. With regard to HGA, which was introduced only as a benchmark algorithm, we can say that it has not any substantial practical value as it was fully outperformed by the proposed heuristic algorithms: Algorithm 2 provided better solutions and is considerably faster, while Algorithm 3 is the best algorithm considering the trade-off between solution quality and computational efficiency when N becomes sufficiently large.

.

6.2 Sensitivity analysis

In this subsection, we investigate the effect of changes in the value of some parameters on C* and T*. Algorithm 2 is used to determine the heuristic solution. Two values of N are considered, i.e., N = 4,5. For N = 4, parameters take values as in problem P1; for N = 5, the parameter values of problem P4 are used. This analysis is carried out by changing each of the considered parameters by + 50%, + 25%, − 25%, and -50%, taking one parameter at a time and keeping the value of the remaining parameters unchanged. The parameters indexed by n are made to vary contemporarily in the same proportion (e.g., with N = 4, if An changes its value by 50%, then this means that A1, A2, A3, and A4 increase their value by 50%). Therefore, in the below discussion of results, we will mention, e.g., the generic parameter An, rather than A1, A2, A3, and A4, in the case N = 4.

Results are given in Tables 7 and 8 for N = 4 and N = 5, respectively. First, it is possible to observe that the effect of changing a given parameter on C* and T* has the same (positive or negative) direction for N = 4 and N = 5. In particular, we note that:

Table 7 Effect of changes in parameters on the solution for N = 4
Table 8 Effect of changes in parameters on the solution for N = 5
  • C* and T* increase with an increase in An, and appear to be moderately sensitive to variations in An.

  • T* decreases, while C* increase with an increase in hn. Both T* and C* seem highly sensitive to variations in hn.

  • T* decreases, while C* increases with an increase in Dn. T* appears to be moderately sensitive to a change in Dn, while C* seems highly sensitive.

  • C* and T* increase as Cvn increases, and both seem to be highly sensitive to a change in Cvn.

  • T* decreases, while C* increases with an increase in h. T* appears to be moderately sensitive to variations in h, while C* seems slightly sensitive.

  • T* decreases, while C* increases with an increase in P. T* seems highly sensitive to variations in P, while C* appears to be moderately sensitive.

  • T* and C* increase with an increase in S, and appear to be slightly sensitive to variations in S.

If we compare Tables 7 and 8, we note that the effect of increasing N seems to consist in amplifying or reducing the sensitivity of T* or C* to variations in the considered parameters. In particular, if N grows, it is possible to observe that:

  • The sensitivity of T* to variations in hn, Dn, Cvn, and P seems to increase.

  • The sensitivity of T* to variations in An, h, and S seems to decrease.

  • The sensitivity of C* to variations in hn and Cvn seems to increase.

  • The sensitivity of C* to variations in An, Dn, h, P, and S seems to decrease.

7 Conclusions

In this paper, we developed a single vendor-multiple buyer integrated inventory model with controllable lead times and backorders-lost sales mixtures. It was assumed that each buyer uses a periodic review policy in which the review period is an integer fraction of the production cycle time of the vendor. To reflect the practical circumstance characterized by the lack of complete information about the demand distribution, we used the minimax distribution-free approach. That is, only the first two moments of the demand during the protection interval were supposed to be known. The problem was to obtain the inventory cycle of the vendor, the produce-up-to level for the vendor, the replenishment policy of the buyers, and the length of lead times that minimize the long-run expected total cost per time unit considering stockout costs.

To approach the problem, we presented two heuristic algorithms, i.e., Algorithms 2 and 3. Numerical experiments were carried out to investigate the performance of the proposed heuristics, taking into account a benchmark algorithm, namely a hybrid genetic algorithm (HGA). The performance analysis showed that the first heuristic (i.e., Algorithm 2) is the best algorithm in terms of solution quality. HGA was able to achieve the same solution as Algorithm 2 in all problems for N = 4, in 2 problems out of 3 for N = 5, and in one problem out of 3 for N = 6. In the other problems, Algorithm 2 outperformed HGA. Hence, Algorithm 2 is able to reach better solutions than HGA. Moreover, the performance of HGA in terms of solution quality worsens, with respect to Algorithm 2, as N grows. Algorithm 3 always achieved the worst solution among all algorithms. However, the deviation of Algorithm 3 from the best algorithm (i.e., Algorithm 2) in terms of solution quality is rather moderate.

For what concerns the computational efficiency of the algorithms, we observed that Algorithm 3 achieved the best performance, while HGA appeared to be the slowest algorithm. In particular, the computational time of HGA is impractical for \( N = 6 \) and becomes prohibitive for larger values of N. Moreover, the computational efficiency of HGA decreases quite fast as N increases. We also observed that the computational time of Algorithm 2 is relatively acceptable and grows quite slowly with N. With respect to Algorithm 3, the computational time of Algorithm 2 is one order of magnitude larger in the cases N = 4,5 and two orders of magnitude larger in the case N = 6. In absolute terms, the computational time of Algorithm 2 in the case N = 6 is in the order of 102 s.

Hence, we can conclude that Algorithm 2 is very promising in a practical context, as it gives a very good solution (the best among the other algorithms) with a rather limited computational effort. Algorithm 3 permits to achieve the best trade-off between solution quality and computational efficiency, especially for large values of N. Moreover, for large N, it may be used to find a first tentative solution, for example to obtain the near-optimal value of lead times which are then kept fixed to find the near-optimal value of the other decision variables by running Algorithm 1, which is the core procedure of Algorithm 2. For what concerns HGA, which was implemented only as a benchmark algorithm, we can observe that it has not any substantial practical value: it is not the best algorithm in terms of solution quality and becomes computationally unfeasible, in a real-life context, already considering a moderate number of buyers. In other words, HGA is fully outperformed, in terms of possible practical implementation, by the proposed heuristic algorithms.

Further numerical tests were then performed to confirm the results obtained in the former performance analysis, and to study the sensitivity of the solution to variations in parameter values.

Future researches may be devoted to find the global optimal solution to the problem that we posed so as to better evaluate the performance of the proposed heuristics in terms of solution quality and computational efficiency.