<figure><img src="image_1.png" /></figure>

HAL
open science

# Optimization of a Periodic Review Joint Replenishment Policy for a Stochastic Inventory System

Lei Wang, Haoxun Chen

► To cite this version:

Lei Wang, Haoxun Chen. Optimization of a Periodic Review Joint Replenishment Policy for a Stochastic Inventory System. IFIP International Conference on Advances in Production Management Systems, Sep 2021, Nantes, France. pp.493-501, 10.1007/978-3-030-85874-2_52. hal-03352963

HAL Id: hal-03352963

https://utt.hal.science/hal-03352963

Submitted on 15 Feb 2023

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_2.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
<figure><img src="image_3.png" /></figure>

ifip

International Federation for Information Processing

This document is the original author manuscript of a paper submitted to an IFIP
conference proceedings or other IFIP publication by Springer Nature. As such, there
may be some differences in the official published version of the paper. Such
differences, if any, are usually due to reformatting during preparation for publication or
minor corrections made by the author(s) during final proofreading of the publication
manuscript.
# Optimization of a Periodic Review Joint Replenishment Policy for a Stochastic Inventory System

Lei Wang and Haoxun Chen

Logistics and Optimization of Industrial Systems, Laboratory LIST3N,
University of Technology of Troyes, 12 rue Marie Curie, CS 42060,
10004 Troyes CEDEX, France
{lei.wang1,haoxun.chen}@utt.fr

**Abstract.** A stochastic inventory system with multiple products controlled by a periodic review joint replenishment policy $P(s, S_i)$ is considered. This system places a joint replenishment order to bring the inventory position of each item $i$ to its order-up-to level $S_i$ when the aggregate reorder point of all items drops below $s$ at each review moment. By imposing service levels on the system, we propose an algorithm for optimizing the policy to minimize the total cost of the system. The performance of this algorithm is evaluated by numerical experiments on randomly generated instances.

**Keywords:** Inventory management, Joint replenishment, Optimization, Monte Carlo simulation.

## 1 Introduction

The rapid growth of e-commerce is phenomenal in recent years. Due to the Covid-19 pandemic, more and more customers choose to shop online, Amazon delivered a record performance in 2020 with annual revenue up 38% to $386 billion. Many e-commerce organizations such as Amazon and Alibaba want to reduce costs while improving service levels to customers. Effective inventory management can improve the competitiveness of these e-commerce companies in the new retail business.

Joint replenishment becomes popular in inventory management because of its advantage of economies of scale. For a systematic review of studies on Joint Replenishment Problem (JRP), please see [1] and [2]. We study a stochastic JRP (SJRP) with stochastic demand. According to [3], a stochastic inventory system can be controlled by a continuous review or periodic review joint replenishment policy.

$(Q, S)$ policy and its extensions are typical continuous review policies. Under this policy, a joint replenishment order is triggered whenever the aggregate demand of all items since the last order reaches a quantity $Q$, and all items are ordered up to their individual order-up-to levels given by the vector $S$ [3]. Optimizing this policy requires very complex mathematical models, such as Markov chains [4] and renewal theory [5].

Periodic review policies are another important category of joint replenishment policies. [6] proposed a $(T, S)$ policy, where $S = (S_i, i = 1, 2, ..., N)$ and $N$ is the number
of items considered. Under this policy, each item $i$ is ordered to its order-up-to level $S_i$
in each review interval $T$. Since inventory is usually periodically reviewed in practice,
we consider a periodic review joint replenishment policy in this paper.

In the literature, most researchers considered the shortage costs of an inventory
system when optimizing it. Costs are incurred when customer demand cannot be met
immediately due to out of stock. The shortage costs are mainly reflected in two as-
pects: one is the current loss, and the other is the future loss. The current loss is the
loss caused by the lost sales opportunity and the penalty to be paid to customers in
case of late delivery. The future loss is the potential loss of sales opportunity due to
the loss of trust of customers. This potential loss is difficult to be evaluated, so are the
shortage costs. Moreover, inventory managers are more concerned about service lev-
els. For the two reasons, we consider service level constraints rather than shortage
costs in our study.

In this paper, we study a periodic-review joint replenishment inventory system
controlled by a $P(s, S_i)$ policy with service level constraint for each item. Under this
policy, the inventory status of the system is reviewed at the beginning of each period,
if the aggregate inventory position (the sum of the inventory positions) of all items
drops below the joint reorder point $s$, a joint replenishment order will be placed to
raise the inventory position of each item $i$ to its order-up-to level $S_i$. We propose an
algorithm for optimizing the policy to minimize the total cost of systems composed of
major ordering costs, minor ordering costs, and inventory holding costs.

To the best of our knowledge, no work in the literature considered the optimization
of such an inventory policy. The contributions of this paper are highlighted as fol-
lows:

1. We study the optimization of $P(s, S_i)$ policy for a periodic-review joint replen-
ishment inventory system with service level constraints and derive analytically exact
expressions for the cost function and the service levels of the system.

2. We propose an efficient algorithm for optimizing the parameters of the $P(s, S_i)$
policy.

3. We conduct extensive numerical experiments to evaluate the efficiency of the
algorithm.

The rest of this paper is organized as follows. Section 2 introduces a periodic re-
view joint replenishment inventory system controlled by $P(s, S_i)$ policy and formu-
lates the inventory policy optimization of the system. An algorithm for finding opti-
mal parameters of the policy is presented in Section 3. Section 4 reports numerical
results of evaluation of the algorithm on randomly generated instances. The final sec-
tion concludes this paper with remarks for future research.

## 2 Problem Description and Formulation

In this section, we describe the joint replenishment problem studied and establish its
mathematical model.
## 2.1 Problem Description

We consider a single stock inventory system with $N$ items that are joint replenished. The demand of each item in each period is stochastic and follows an independent normal distribution. This system is controlled by a periodic review $P(s, S_i)$ policy, where $s$ is the joint reorder point of all items and $S_i$ is the order-up-level of item $i$, $i = 1, 2, ..., N$.

It is assumed that all items have the same replenishment lead time $L$. Major ordering costs, minor ordering costs and inventory holding costs are incurred in this system. In addition, we consider the service level constraint of each item in the system as mentioned above, that is, the service level of each item must be higher than a prespecified level. The problem is to optimize the periodic review $P(s, S_i)$ policy for this system so that the total expected cost per period is minimized subject to the service level constraint for each item.

We first define $Q$ such that:

$$ \sum_{i=1}^{N} S_{i} - s = Q \qquad (1) $$

$P(s, S_i)$ policy is more complex than $(Q, S)$ policy, because under $(Q, S)$ policy, the aggregate ordering quantity of all items is always $Q$, whereas under $P(s, S_i)$ policy, the joint order quantity of all items is not fixed and may be larger than $Q$.

Before presenting the model for optimizing $P(s, S_i)$ policy, the indices, parameters, decision variables, and other related variables are given as follows.

**Indices.** $i$: index of item $i$, $i \in N$, where $N$ is the number of items considered.

$t$: index of period $t$. $t \in T$, where $T$ is the number of periods considered.

**Parameters.** $L$: replenishment lead time of each item, it is a constant.

$A$: major ordering cost incurred in each replenishment.

$a_i$: minor ordering cost for item $i$ ordered in each replenishment.

$h_i$: holding cost per unit per period for item $i$.

$\alpha_i$: target $\alpha$ service level (cycle service level) for item $i$.

$d_i(t)$: demand of item $i$ in period $t$, $d_i(t) \sim N(\mu_i, \sigma_i^2)$.

$d(t)$: aggregate demand of all items in period $t$, $d(t) = \sum_{i=1}^{N} d_i(t)$.

$f_i(\cdot), F_i(\cdot)$: p.d.f and c.d.f of the demand of item $i$ in each period.

$\mu_i, \sigma_i$: mean and standard deviation of the demand of item $i$ in each period.

**Decision variables.** $s$: aggregate reorder point.

$S_i$: order-up-to level for item $i$.
**Other variables.** *r*: the number of periods between two consecutive joint replenishments including the period of the second replenishment, i.e., the second replenishment occurs after *r* periods. The number *r* is a random integer variable, *r*=1,2,...,∞.

*P(n)*: the probability of *r* = *n*, *n* = 1, 2, ..., ∞.

*D(n)*: aggregate demand of all items in *n* periods when *r* = *n*, *D(n)* = Σ<sub>*t*=1</sub><sup>*n*</sup> *d*(*t*),

*D(n)* ~ N(n Σ<sub>*i*=1</sub><sup>*N*</sup> μ<sub>*i*</sub>, n Σ<sub>*i*=1</sub><sup>*N*</sup> σ<sub>*i*</sub><sup>2</sup>), and *D(n)* = *D(n−1)* + *d(n)*.

*TC(n)*: total expected cost of *n* periods when *r* = *n*.

*TC*: expected total cost per period.

## 2.2 Problem Formulation

We first analyse $P(n)$. Let $S=\sum_{i=1}^{N} S_i$, since $P(s, S_i)$ is a periodic review ordering policy, the conditions that trigger a replenishment order after $n$ periods since the last replenishment can be expressed as: $S-D(n) \le s$ and $S-D(n-1) > s$, where $n$ is a positive integer.

Since the demands $d(1), \dots, d(n)$ are independent, we have:

$$
D(n) \sim N\left(n\sum_{i=1}^{N}\mu_i, n\sum_{i=1}^{N}\sigma_i^2\right), D(n-1) \sim N\left((n-1)\sum_{i=1}^{N}\mu_i, (n-1)\sum_{i=1}^{N}\sigma_i^2\right)
$$

$$
\mu_{D(n)} = n \sum_{i=1}^{N} \mu_i, \quad \sigma_{D(n)} = \sqrt{n \sum_{i=1}^{N} \sigma_i^2}
$$

$$
\mu_{D(n-1)} = (n-1) \sum_{i=1}^{N} \mu_i, \quad \sigma_{D(n-1)} = \sqrt{(n-1) \sum_{i=1}^{N} \sigma_i^2}.
$$

The two random variables $D(n)$ and $D(n-1)$ may be correlated. Define the coefficient of correlation between $D(n)$ and $D(n-1)$ as: $\rho_n = \frac{\text{cov}(D(n), D(n-1))}{\sigma_{D(n)}\sigma_{D(n-1)}}$. We can get:

$$
\begin{align}
P(n) &= P\{D(n) \ge S-s, D(n-1) < S-s\} \nonumber \\
&= \int_{S-s}^{+\infty} \int_{-\infty}^{S-s} \frac{1}{2\pi\sigma_{D(n)}\sigma_{D(n-1)}} \exp\left\{-\frac{1}{2(1-\rho_n^2)}\left[\frac{(x-\mu_{D(n)})^2}{\sigma_{D(n)}^2} + \frac{(y-\mu_{D(n-1)})^2}{\sigma_{D(n-1)}^2} - 2\rho_n \frac{(x-\mu_{D(n)})(y-\mu_{D(n-1)})}{\sigma_{D(n)}\sigma_{D(n-1)}}\right]\right\} dx dy \tag{2}
\end{align}
$$

Obviously, the sum of all probabilities $P(n)$ is 1.

$$
\sum_{n=1}^{\infty} P(n) = 1 \tag{3}
$$

We then derive the cost function of the system. The expected total ordering cost of
the system per period is given by:
$$C_o = \sum_{n=1}^{\infty} C_o(n) P(n) = \sum_{n=1}^{\infty} \left( \frac{A}{n} + \sum_{i=1}^{N} \frac{a_i}{n} \right) P(n) \quad (4)$$

where $C_o(n)$ is the total ordering cost in case one order is placed every $n$ periods, and $P(n)$ is the probability of $r=n$.

Define the probability density function of one period demand and that of lead time demand of each item $i$ as:

$$\phi_i(u) = \frac{1}{\sqrt{2\pi}\sigma_i} e^{\frac{[u-\mu_i]^2}{2\sigma_i^2}} \quad (5)$$

$$\phi_i^L(u) = \frac{1}{\sqrt{2\pi}\sigma_i \times \sqrt{L}} e^{-\frac{[u-\mu_i \times L]^2}{2\sigma_i^2 \times L}} \quad (6)$$

The expected holding cost per period of the system, denoted by $C_h$, can be written as Eq. (7):

$$C_h = \sum_{n=1}^{\infty} C_h(n) P(n) = \sum_{n=1}^{\infty} \left\{ \int_{0}^{s_1} \dots \int_{0}^{s_2} \dots \int_{0}^{s_N} \frac{1}{n!} \sum_{i=1}^{N} \sum_{j=1}^{n} h_i \left( S_i - u^L - \sum_{j=1}^{k} u_{ij} \right) \prod_{i=1}^{N} (\phi_i^L(u^L) \phi_i(u_1) \phi_i(u_2) \dots \phi_i(u_m)) \prod_{i=1}^{N} (du_i^L du_i u_{12} \dots du_m) \right\} P(n) \quad (7)$$

In this equation, $C_h(n)$ is the holding cost per period in case an order is placed every $n$ periods, and $P(n)$ is the probability of $r=n$; $u_i^L$ represents the actual demand of item $i$ during the lead time of $L$ periods; $u_{ij}$ represents the actual demand of item $i$ in period $j$ during the lead time; $\sum_{i=1}^{N} \sum_{j=1}^{n} u_{ij} < Q$ and $\sum_{i=1}^{N} \sum_{j=1}^{n} u_{ij} \ge Q$ are two conditions for the placement of an order every $n$ periods.

From the above analysis, the expected total cost per period, denoted by $TC$, is given by the following Eq. (8)

$$TC = \sum_{n=1}^{\infty} TC(n) P(n) = C_o + C_h \\ = \sum_{n=1}^{\infty} \left\{ \frac{A}{n} + \sum_{i=1}^{N} \frac{a_i}{n} + \int_{0}^{s_1} \dots \int_{0}^{s_N} \dots \int_{0}^{s_N} \frac{1}{n!} \sum_{i=1}^{N} \sum_{j=1}^{n} h_i \left( S_i - u^L - \sum_{j=1}^{k} u_{ij} \right) \prod_{i=1}^{N} (\phi_i^L(u^L) \phi_i(u_1) \phi_i(u_2) \dots \phi_i(u_m)) \prod_{i=1}^{N} (du_i^L du_i u_{12} \dots du_m) \right\} P(n) \quad (8)$$

Next, we formulate the service level for each item in the system. We first define:

$LTD_i(n)$: the lead time demand of item $i$ in case one order is placed every $n$ periods. This lead time includes the replenishment lead time $L$ and the time between two orders. For example, if the inventory system places an order every two periods, the lead time is $L+2$.

$P\{LTD_i(n) \le S_i\}$: the probability that the lead time demand $LTD_i(n)$ is less than or equal to the order-up-to level $S_i$.

The service level of each item $i$ in case an order is placed every $n$ periods can be formulated as:
$$
\begin{align}
SL_i(n) = P\{LTD_i(n) \le S_i\} &= \int_0^{S_1} \cdots \int_0^{S_2} \cdots \int_0^{S_{i-1} - u_i \times (k+L)} \cdots \int_0^{S_N} \cdots \frac{1}{n} \sum_{k=1}^n \phi_i^{k+L} (u_i^{k+L}) \prod_{l=1}^N (du_l^L du_{l2}^L \cdots du_{ln}^L) \tag{9} \\
&= \int_0^{+\infty} \cdots \int_0^{+\infty} \cdots \int_0^{+\infty} \cdots \frac{1}{n} \sum_{k=1}^n 1(S_i - u_i^L - \sum_{j=1}^k u_{ij}) \prod_{l=1}^N (\phi_i^L(u_i^L) \phi_i(u_{l1}) \phi_i(u_{l2}) \cdots \phi_i(u_{ln})) \prod_{l=1}^N (du_l^L du_{l2}^L \cdots du_{ln}^L)
\end{align}
$$

where $1(S_i - u_i^L - \sum_{j=1}^k u_{ij})$ is an indicator function, if $S_i - u_i^L - \sum_{j=1}^k u_{ij} \ge 0$, the indicator

takes the value 1, otherwise it takes the value 0. Thus, the service level of each item i
can be written as:

$$
SL_i = \sum_{n=1}^{\infty} SL_i(n)P(n) \quad (10)
$$

In summary, the problem of optimizing P(s, Sᵢ) policy for a stochastic inventory
system with service level constraints can be formulated as the following nonlinear
programming model NLP:

NLP:

Min TC

subject to

$$
SL_i \ge \alpha_i, \quad i=1,2,\dots,N \tag{11}
$$

where constraints (11) are the service level constraints of all items.

3 Optimization Algorithm

In this section we present an algorithm for solving the model NLP to obtain the opti-
mal parameters of the P(s, Sᵢ) policy. Let Q = Σ<sub>i=1</sub><sup>N</sup> Sᵢ - s, where s and Sᵢ are decision
variables. If Q is given, we can determine P(n) according to (2). If all P(n) are known,
C<sub>o</sub> can be calculated from P(n) according to Eq. (4) even if Sᵢ and s are not known.

From Eq. (7), C_h(n) is an increasing function of S_i if Q is given. Because of this, to
minimize TC under the service level constraints, S_i must take the value such that:

$$
f(S_i) = SL_i(S_i) - \alpha_i = 0, \quad i=1,2,...,N \quad (12)
$$

This $S_i$ can be obtained by using the bisection method. As soon as $Q$ and $S_i$ are determined, $s$ can be determined by $s = \sum_{i=1}^{N} S_i - Q$.

From the above analysis, we can solve the model NLP by enumerating possible in-
teger values of Q between 0 and Q<sub>UB</sub> and then search for the optimal value of S<sub>i</sub> for
each item i by the bisection search, where Q<sub>UB</sub> is an upper bound of Q.

To implement this algorithm, a high-dimensional integral function is required to
calculate TC(n) and SL<sub>i</sub>(n). In our implementation, we use the Monte Carlo simulation
method to calculate the expected total cost per period TC(n) and service level SL<sub>i</sub>(n)
when $Q = \sum_{i=1}^{N} S_i - s$ and $S_i$ for each item $i$ are given. This is carried out by simulating the inventory system under $P(s, S_i)$ policy for a large number of periods and calculating the average total cost per period and the average service level of the system when $s = \sum_{i=1}^{N} S_i - Q$ and $S_i$ are given.

## 4 Experimental Results

In this section, we report the results of our numerical experiments for the evaluation of the proposed algorithm. We generated 20 instances with $N = 3$, $L = 2$, $A$ and $a_i$ are set such that $A + \sum_{i=1}^{N} a_i = 0.5ct^2 \sum_{i=1}^{N} h_i \mu_i$, where $ct$ is a parameter corresponding to the expected/optimal order cycle time (time between two consecutive orders) of the inventory system in case of deterministic demand. We take $ct = 2$ for setting $A$ and $a_i = 0.2A$ for each item $i$, according to the guidelines of [7]; $\alpha_i$ is set to 0.95 for all items. In addition, $h_i$ is randomly generated from [1, 10]; $\mu_i$ is randomly generated from [10, 100]; and the coefficient of variation of the demand of each item $i$ is randomly generated from [0.10, 0.40]. This algorithm was implemented in C/C++ and tested on a PC with CPU i7-8650U and 16GB RAM.

We set $Q_{UB} = 2Q_{det}^*$, where $Q_{det}^*$ is the joint economic order quantity of the inventory system in case of deterministic demand. Our numerical experiments show that this upper bound is valid for $Q$ for all the instances tested. The number of periods for calculating the expected total cost per period and service levels of the system by simulation is set to 10,000. The computational results of the 20 instances are given in Table 1.

<table><caption>Table 1. Results of the twenty instances.</caption><thead><tr><th>Instance</th><th>Q</th><th>S<sub>1</sub></th><th>S<sub>2</sub></th><th>S<sub>3</sub></th><th>s</th><th>HC</th><th>OC</th><th>TC</th><th>CPU Time (s)</th></tr></thead><tbody><tr><td>1</td><td>189</td><td>49</td><td>274</td><td>207</td><td>341</td><td>837.20</td><td>864.75</td><td>1701.95</td><td>2293.31</td></tr><tr><td>2</td><td>224</td><td>167</td><td>355</td><td>250</td><td>548</td><td>1101.78</td><td>1018.34</td><td>2120.12</td><td>3757.40</td></tr><tr><td>3</td><td>248</td><td>288</td><td>133</td><td>343</td><td>516</td><td>711.19</td><td>686.41</td><td>1397.60</td><td>3935.49</td></tr><tr><td>4</td><td>216</td><td>84</td><td>283</td><td>341</td><td>492</td><td>596.65</td><td>482.52</td><td>1079.17</td><td>3150.84</td></tr><tr><td>5</td><td>274</td><td>426</td><td>131</td><td>348</td><td>631</td><td>1496.17</td><td>1393.53</td><td>2889.70</td><td>4140.65</td></tr><tr><td>6</td><td>306</td><td>373</td><td>208</td><td>344</td><td>619</td><td>1482.18</td><td>1063.90</td><td>2546.08</td><td>3944.94</td></tr><tr><td>7</td><td>261</td><td>265</td><td>389</td><td>168</td><td>561</td><td>1061.77</td><td>1003.30</td><td>2065.07</td><td>3781.53</td></tr><tr><td>8</td><td>275</td><td>284</td><td>319</td><td>296</td><td>624</td><td>1648.92</td><td>1152.68</td><td>2801.60</td><td>3900.82</td></tr><tr><td>9</td><td>163</td><td>68</td><td>222</td><td>236</td><td>363</td><td>307.02</td><td>234.82</td><td>541.84</td><td>2221.65</td></tr><tr><td>10</td><td>189</td><td>118</td><td>103</td><td>342</td><td>374</td><td>1355.27</td><td>1150.35</td><td>2505.62</td><td>2457.73</td></tr><tr><td>11</td><td>277</td><td>319</td><td>334</td><td>268</td><td>644</td><td>1313.10</td><td>1252.25</td><td>2565.35</td><td>4303.89</td></tr><tr><td>12</td><td>218</td><td>145</td><td>241</td><td>327</td><td>495</td><td>805.91</td><td>721.21</td><td>1527.12</td><td>3158.50</td></tr><tr><td>13</td><td>144</td><td>49</td><td>177</td><td>239</td><td>321</td><td>736.88</td><td>632.57</td><td>1369.45</td><td>1935.91</td></tr><tr><td>14</td><td>314</td><td>383</td><td>211</td><td>366</td><td>646</td><td>1321.25</td><td>1134.76</td><td>2456.01</td><td>4289.79</td></tr><tr><td>15</td><td>303</td><td>358</td><td>217</td><td>418</td><td>690</td><td>1773.21</td><td>1382.06</td><td>3155.27</td><td>4302.08</td></tr><tr><td>16</td><td>165</td><td>287</td><td>115</td><td>136</td><td>373</td><td>1260.35</td><td>1023.74</td><td>2284.09</td><td>2227.00</td></tr></tbody></table>
<table><tr><td>17</td><td>83</td><td>86</td><td>93</td><td>97</td><td>193</td><td>409.68</td><td>356.00</td><td>765.68</td><td>1076.06</td></tr><tr><td>18</td><td>338</td><td>415</td><td>286</td><td>458</td><td>821</td><td>861.94</td><td>653.21</td><td>1515.15</td><td>5220.07</td></tr><tr><td>19</td><td>356</td><td>411</td><td>300</td><td>484</td><td>839</td><td>1860.53</td><td>1541.69</td><td>3402.22</td><td>5406.44</td></tr><tr><td>20</td><td>304</td><td>294</td><td>381</td><td>366</td><td>737</td><td>1644.23</td><td>1391.27</td><td>3035.50</td><td>4565.97</td></tr><tr><td>Avg</td><td>242.35</td><td>243.45</td><td>238.60</td><td>301.70</td><td>541.40</td><td>1129.26</td><td>956.97</td><td>2086.23</td><td>3503.50</td></tr></table>

In this table, the 2nd to 6th columns provide the optimal value of Q and the optimal parameters of P(s, Sᵢ) policy obtained by the proposed algorithm, the 7th to 9th columns present the holding cost, ordering cost and total cost per period of the inventory system, and the 10th column is the CPU time of the algorithm. From this table, we can see the computation time of the algorithm is no larger than two hours for all instances. This is acceptable since the inventory policy optimization is a tactical decision. Note that the computation time of our algorithm can be largely reduced if it is implemented in a workstation with multiple CPUs or in a cloud computing platform by applying parallel computing techniques.

Although we do not explicitly address shortage costs in our inventory optimization model NLP, we can implicitly consider shortage costs in the model by setting the expected service level of each item according to its shortage cost and holding cost per unit of the item per unit of time. As we know, in an inventory system with a single item controlled by an order-up-to level policy, the service level of the system is determined by the unit shortage cost divided by the sum of the unit shortage cost and the unit holding cost. This relationship between the service level and the two costs can make our proposed algorithm applicable in both situations: shortage costs can be well evaluated and shortage costs cannot be well evaluated.

## 5 Conclusion

In this paper, we have studied a periodic review joint replenishment inventory system with stochastic demands under service level constraints. After formulating analytically its costs and service levels, we have established a nonlinear programming model for the optimization of its P(s, Sᵢ) policy and designed an algorithm to calculate the optimal parameters of the policy. The numerical experiments on randomly generated instances have demonstrated the efficiency of the algorithm. In the future, we will extend this study to multi-echelon distribution systems.

## References

1. Khouja, M., Goyal, S.: A review of the joint replenishment problem literature: 1989-2005. Eur. J. Oper. Res. 186(1):1-16 (2008). https://doi.org/10.1016/j.ejor.2007.03.007

2. Bastos, L.D.S.L., Mendes, M.L., Nunes, D.R.D.L., Melo, A.C.S., Carneiro, M.P.: A system-atic literature review on the joint replenishment problem solutions: 2006-2015. Production 27 (2017). https://doi.org/10.1590/0103-6513.222916

3. Li, L., Schmidt, C.P.: A stochastic joint replenishment problem with dissimilar items. Decis. Sci. 51 (5): 1159-1201 (2020). https://doi.org/10.1111/deci.12380
4. Mustafa Tanrikulu, M., Şen, A., Alp, O.: A joint replenishment policy with individual con- trol and constant size orders. Int. J. Prod. Res. **48**(14):4253–4271 (2010). https://doi.org/10.1080/00207540802662904

5. Kiesmüller, G.P.: Multi-item inventory control with full truckloads: A comparison of ag- gre-gate and individual order triggering. Eur. J. Oper. Res. **200**(1):54–62 (2010). https://doi.org/10.1016/j.ejor.2008.12.008

6. Viswanathan S.: Note. Periodic review (s, S) policies for joint replenishment inventory systems. Manage. Sci. **43**(10):1447–1454 (1997). https://doi.org/10.1287/mnsc.43.10.1447

7. Pantumsinchai P.: A comparison of three joint ordering inventory policies. Decis. Sci. **23**(1):111–127 (1992). https://doi.org/10.1111/j.1540-5915.1992.tb00379.x