#### Abstract

This work investigates the joint replenishment problem (JRP) involving multiple items where economies exist for replenishing several items simultaneously. The demand rate for each item is known and constant. Shortages are not permitted and lead times are negligible. Many heuristic algorithms have been proposed to find quality solutions for the JRP. In this paper, cycle time division and recursive tightening methods are developed to calculate an efficient and optimal replenishment policy for JRP. Two theorems are demonstrated to guarantee that an optimal solution to the problem can be derived using cycle time division and recursive tightening methods. Restated, cycle time division and recursive tightening methods theoretically yield the optimal solution in 100% of instances. The complexity of cycle time division and recursive tightening methods is just *O*(*N*log*N*), where *N* represents the number of items involved in the problem. Numerical examples are included to demonstrate the algorithmic procedures.

#### 1. Introduction

The joint replenishment problem (JRP) is an inventory problem involving multiple items where economies exist for replenishing several items simultaneously. These cost savings can be achieved when the replenishment of several items is coordinated.

The JRP has received considerable attention over recent decades. Detailed surveys of the JRP are available in [1–3]. Numerous heuristic algorithms have been developed for the JRP [4–8], but few optimal algorithms have been proposed. Balintfy [9] was among the first to consider the case in which joint ordering of several items may result in savings in set-up costs. A general formulation to the JRP and a graphical solution for the two-item case were provided in [10]. Furthermore, the author of [11] was the first to present an optimal algorithm for the inventory problem involving multiple items supplied by a single supplier with the assumption of purchase orders placed at equal time intervals. A branch and bound algorithm for devising an optimal policy was proposed in [12]. Furthermore, in [13], the authors demonstrated that the assumption of [11] of equally spaced manufacturing runs does not necessarily yield an optimal solution in situations involving more than two items. Additionally, a heuristic method was proposed for determining order quantities in joint replenishments with deterministic demand in [14]. Then, the algorithm of [14] was improved by [15, 16]. Moreover, an effective heuristic algorithm was presented in [17]. Finally, an optimal production-packaging policy for jointly replenished items was demonstrated in [18].

Additionally, a simple heuristic procedure, called RAND, was proposed based on the comparison of several values of the cycle time [19]. Furthermore, the range of cycle time was divided into equally spaced values of . Subsequently, for each value of , the improved Silver algorithm [15] was applied to calculate the total costs and select the lowest cost as the optimal solution. In [20], the authors modified the RAND using a better estimate of the minimal value of the cycle time . Simulation experiments were performed to demonstrate the superiority of the modified RAND procedure. The author of [21] pointed out that the lower bound of the Goyal method [11] cannot guarantee to yield an optimal solution. He thus recommended the correct lower bound on and demonstrated a heuristic algorithm for deriving the optimal among the various cyclic policies. In [22], a heuristic method based on relaxing the nonlinear mixed integer programming (NLP) formulation of JRP was proposed. Beginning with the ordering frequencies derived from the solution of NLP relaxation, the near-optimal replenishment policies were determined. Subsequently, the authors of [23] performed a simulation experiment to compare the efficient exhaustive search heuristic for JRP proposed by [20] with that proposed by [22]. The problem in discrete time was considered and the lower and upper bounds of the optimal cycle time were derived in [24]. Additionally, a heuristic algorithm was presented to reduce the computational effort by improving the bounds on the basic cycle time in [25]. Furthermore, an alternative optimal approach based on global optimization theory was proposed in [26]. The problem can efficiently be solved via Lipschitz optimization. In [27], the authors proposed heuristic methods for optimizing the cyclic policy and the strict cyclic policy for the JRP. The method of [27] for determining the optimal strict cyclic policy that does not guarantee an optimal solution was demonstrated in [28]. A modified method was thus devised for obtaining the optimal strict cyclic policy. The author of [29] considered the deterministic multiproduct inventory model. The problem is to determine a production schedule to meet the demands and minimize the sum of production and holding costs. Also, some qualitative properties of the multi-item joint replenishment inventory problem are obtained. The JRP for items under deterministic demand, with a minimum order, quantity constraint for each item in the replenishment order was studied in [30]. The bounds on the basic cycle time are derived and a global optimization procedure is proposed to solve the JRP with constraints. A heuristic method based on a spreadsheet technique for solving joint replenishment problems with strict cycle policies was proposed in [31]. Based on the test data, the modified RAND algorithm of [20] and Nilsson et al. algorithm of [31] achieve the optimal solutions in 81.7% and 92.9% of 48,000 instances, respectively. In [32], the author presented an analysis and solution method to solve the JRP with correction factor, which is a generalization of the method presented in [30]. Also, genetic algorithms (GAs) were developed for solving the JRP and we compared their performance to the RAND method in the literature [4, 33–35]. The algorithm first decides grouping, that is, which items are replenished together, and then assigns a fixed replenishment cycle for the items in the same group.

This study proposes the cycle time division (CTD) and recursive tightening (RT) methods to calculate an efficient and optimal strict cyclic policy for JRP. Two theorems are demonstrated to guarantee that the problem can be solved optimally using the CTD and RT methods. Restated, CTD and RT methods theoretically yield the optimal solution in every instance. The complexity of the CTD and RT methods is just *O*(*N*log*N*).

The remainder of this paper is organized as follows. Section 2 introduces a statement of the problem and the required notations. Sections 3 and 4 then describe the cycle time division and recursive tightening methods. Additionally, Section 4 demonstrates the validity of two theorems. Subsequently, Section 5 proposes an optimization algorithm. Section 6 then presents numerical examples. Finally, conclusions are drawn in Section 7.

#### 2. Assumptions, Notations, and Problem Statement

In the formulation of the joint replenishment problem, the following assumptions are made:(1)the demand rate for each item is known and constant;(2)shortages are not allowed;(3)the replenishment rate is infinite (zero lead time);(4)there is an infinite horizon.Moreover, to discuss the joint replenishment problem, we introduce the following notation: : number of items; : major ordering cost associated with each replenishment ($/order); : , an item index; : annual demand for item (units/year); : the minor ordering cost incurred if item is ordered in a replenishment ($/order); : holding cost per unit per year of item ($/unit/year); : time between successive replenishments (years), ( basic cycle time, decision variable); : order quantity of item ; : time interval between successive replenishments of item (years); : frequency of ordering item (an integer multiple, decision variable).The JRP is an inventory problem concerning multiple items where economies exist for replenishing several items together. There are items, and for each item , demand occurs at a constant annual rate of . Holding costs are incurred at the rate of per unit of item held. A major ordering cost is incurred for every replenishment (independent of the items that are replenished) and a minor ordering cost for each item included in the replenishment. The cycle time for every item is an integer multiple of the replenishment basic cycle time . Thus, the cycle time for item is , and the order quantity for item is . The objective of the JRP is to develop inventory policies so as to minimize the total annual costs. The problem involves determining the basic cycle time and the integer multiples for each item . Let be the replenishment frequency vector and let be the objective annual cost function, including the holding and ordering costs, which can be expressed as

#### 3. Cycle Time Division Method

For any fixed vector is convex in , since Setting to zero and solving it for with fixed vector , it follows that Substituting back optimal into (1), the total cost function can be expressed as For a given basic cycle time , the associated ordering costs decrease with increasing the frequency of ordering items. However, the inventory level and holding cost inevitably increase accordingly. Therefore, a decision regarding the integer multiples involves a tradeoff between the holding and ordering costs. Consequently (for item ), for each pair of and , define such that or as a critical cycle time. A given item may have multiple critical cycle times.

Solve for then; Additionally, the difference in the objective cost function between and is Taking partial derivative of this difference with respect to , then Since and , it follows that(a) for ;(b) for .

Hence, the following lemma is obtained.

Lemma 1. *For multiple items jointly replenished, if basic cycle time is greater than the critical cycle time , then is chosen as the frequency of ordering item ; otherwise, is selected as the frequency of ordering item .*

Applying results from the study of [13], the lower bound for cycle time is . Therefore, for , use (7) to find all critical cycle is times , namely, , , and so on, until the resulting critical cycle time less than for each item. Let be the smallest critical cycle time for item then there are decreasing sequential critical cycle times , and ,…, , , where and for item . Merge the critical cycle times for all items to establish an ordered critical cycle time vector such that , where . Let be the first cycle time range, where . If the basic cycle time falls in , then , for . Moreover, since is the largest among the critical cycle time for all items, the local optimal integer multiples for every item is 1; that is, is the local optimal replenishment frequency vector for this case according to Lemma 1.

Next, construct where . If (or ) and are the respective critical cycle times for items and , define , where the only non-zero element of occurs in the position. Suppose the basic cycle time lies in , then and , for , and . In this case, the local optimal integer multiples for item is increased to two, while the local optimal integer multiples for the other items remain at one; thus , and the corresponding local optimal replenishment frequency vector is . This process is continued and the local optimal replenishment frequency vector is obtained for the cycle time range , for , provided the critical order intervals differ for all items.

Given and ,where and are the critical cycle times for items and , respectively, the aforementioned procedure is modified slightly as follows. Let , , and , where , , and the two 1’s of occupy the and positions, respectively. Thus, the local optimal replenishment frequency vector is for the situation where the basic cycle time falls within the range . A similar modification is performed if more than two critical cycle times are equal.

Upon the completion of the procedure, there exists resulting cycle time ranges with respective associated replenishment frequency vectors , where .

#### 4. Recursive Tightening Method

Clearly, at least one element in is greater than that in at the same position. An application of (3) yields . Consequently, the following lemma is obtained.

Lemma 2. *For multiple items jointly replenished, .*

Next, two properties are established to identify the candidate replenishment frequency vectors for the problem being investigated.

Theorem 3. *For multiple items jointly replenished, if the basic cycle time obtained by (3) does not lie within its associated cycle time range but rather lies in the range , where , then . Consequently , none of the replenishment frequency vector , or is the global optimal replenishment frequency vector, and none of , or is the global optimal cycle time. *

*Proof. *Let the corresponding replenishment frequency vector of be , and let that of be , where . From the construction of and , it is evident that , and . Consider and its adjacent cycle time range . It is known that does not lie within but rather lies in , where , so we have . With very few distinctions (at least one), most of the elements of and are the same. For the sake of simplicity, assume that there is only one element different from and , and let it be the th element or . Since , according to Lemma 1, is chosen as the integer multiples for item ; consequently, . Similarly, , and ,, . Hence, it follows that .

From Lemma 2, it is known that , where . Suppose that , and lie in the cycle time ranges , and , respectively, where . From Lemma 1, it has been shown that , ,, and . Hence, none of , and is the global optimal replenishment frequency vector.

Again by Lemma 2, we have . Therefore, it follows that , ,, , and . Hence, none of and is the global optimal cycle time.

Theorem 4. *For multiple items jointly replenished, if the basic cycle time calculated by (3) does not lie within its associated cycle time range but rather lies in the range , where , then . Consequently, none of the vectors , or is the global optimal replenishment frequency vector and none of , or is the global optimal cycle time.*

*Proof. *Similar to the proof of Theorem 3.

Next, we use Theorems 3 and 4 to explain how to find the optimal and . Since the minimal integer multiples for each item are one, is used in (3) to calculate the maximal cycle time as follows:

Suppose that the maximal cycle time falls in . If , then set and stop. Otherwise, consider the situation where . From Theorem 3, none of the replenishment frequency vectors , and provides a solution for the global optimal integer multiples, and none of , and is the global optimal cycle time. The resulting minimal replenishment frequency vector is designated as . Next, is used in (3) to calculate the cycle time , while and denote its associated cycle time range and replenishment frequency vector. If , then stop; otherwise, set equal to and repeat the procedure until the aforementioned stopping criterion is reached. This process is termed the *downward recursive tightening procedure* while the resulting is an upper bound of the candidate vector set.

The same approach can be applied in the opposite direction to determine the lower bound of the candidate vector set. ** ** is used in (3) to calculate the minimal cycle time . Suppose the resulting falls in , where . From Theorem 4, none of the replenishment frequency vectors and provides a solution for the global optimal integer multiples, and none of and is the global optimal cycle time. The associated replenishment frequency vector is set equal to and is used in (3) to compute , while and denote the associated cycle time range and replenishment frequency vector. If , then stop; otherwise, set equal to and repeat the procedure until the stopping criterion is satisfied and the resulting yielded is the lower bound of the candidate vector set. This approach is termed the *upward recursive tightening procedure*.

Finally, the replenishment frequency vectors between the lower and the upper bounds of the candidate vector set are compared for optimality.

#### 5. Optimization Algorithm

The following procedure integrates the cycle time division and the recursive tightening methods to obtain the optimal values of and for the problem being studied.

*Step 1. *Set .

*Step 2. *For , do(a)*set **.*(b)*compute the critical cycle time ** using (7);*(c)*if **, then set **; go to Step 2(b); else set **.*

*Step 3. *Merge all the critical cycle times to establish a critical cycle time vector such that , where and . Construct vector such that is the item number with which is associated for = 1, 2, …, *Nc*.

*Step 4. *Set , , , , and .

*Step 5. *For , (a)set , where the only non-zero element of is in the ()th position.(b)if , then set , , and , ;

else set .

*Step 6. *Set .

*Step 7. *Use **M**_{1} in (10) to calculate (**M**_{1}) and obtain its associated replenishment frequency vector .

*Step 8. *If , then set , , and go to Step 11.

*Step 9. *Use and (3) to calculate .

*Step 10. *If , then set , = the index of the cycle time range in which falls, and go to Step 11;

else set and go to Step 9.

*Step 11. *Use in (3) to find and identify its associated replenishment frequency vector .

*Step 12. *If , then set = , , and go to Step 15.

*Step 13. *Use in (3) to calculate and its associated replenishment frequency vector .

*Step 14. *If , then set , = the index of the cycle time range in which falls, and go to Step 15;

else set ,and go to Step 13.

*Step 15. *Find , , where is the candidate replenishment frequency vector}.

*Step 16. * and are the optimal solutions with the optimal objective function of .

The complexity of the algorithm is analyzed as follows. Suppose items in the jointly replenished system, where item has critical cycle times, and . Thus the complexity involved in finding the critical cycle times for all items is **O**(), or simply **O**(*N*). Forming the critical cycle time vector requires operations, and the complexity involved in generating the cycle time ranges is **O**(*N*). The recursive tightening procedure uses **O**(*N*) operations to identify the lower and upper bounds of the candidate vector set and **O**(*N*) operations to identify the optimum in the candidate vector set. Thus, the complexity of the overall solution procedure is .

#### 6. Numerical Examples

*Example 1. *Consider a multi-item inventory system with seven items involving the data summarized in Table 1. The proposed algorithm is applied. In Step 1, . The resulting critical cycle times of each item are listed in Table 2. Furthermore, Table 3 lists the cycle time ranges established by merging all the critical cycle times and the associated replenishment frequency vectors found.

Starting with = (1, 1, 1, 1, 1, 1, 1), the upper bound candidate replenishment frequency vector identified via the downward recursive tightening procedure is (1, 1, 1, 2, 2, 3, 3) as illustrated in Table 4. Similarly, the lower bound candidate replenishment frequency vector identified via the upward recursive tightening procedure is also = (1, 1, 1, 2, 2, 3, 3). This indicates that the optimal replenishment frequency vector is = (1, 1, 1, 2, 2, 3, 3) with optimal basic cycle time of time units and the corresponding optimal objective function of = $1669.96/time unit. This solution is the best solution our procedure can find and also in this case the optimal solution of the problem (can be verified using for instance Goyal [18] and Nilsson et al. [31]).

*Example 2. *Consider a multi-item inventory system with fourteen items involving the data listed in Table 5. The proposed algorithm is performed. In Step 1, = 0.0516. The resulting critical cycle times of each item are listed in Table 6. The cycle time ranges formed by merging all the critical cycle times and the associated replenishment frequency vectors found are listed in Table 7.

Starting with **M**_{1} = (1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), the upper bound candidate replenishment frequency vector identified via the downward recursive tightening procedure is (1, 1, 1, 2, 2, 3, 3, 1, 2, 1, 1, 1, 1, 2) as shown in Table 8. Similarly, the lower bound candidate replenishment frequency vector identified via upward the recursive tightening procedure is = (1, 1, 2, 2, 2, 3, 4, 2, 2, 2, 2, 1, 2, 2). Between the lower and upper bounds, , , , and are not the candidate replenishment frequency vectors (it is becuase the corresponding cycle time is not falling in the range that determines ). Comparison of the objective function of the replenishment frequency vectors in the candidate vector set of indicates that the optimal replenishment frequency vector is = (1, 1, 2, 2, 2, 3, 4, 2, 2, 2, 2, 1, 2, 2) with optimal basic cycle time of time units, and the corresponding optimal objective function of = $2713.77/time unit*. *

Comparing Examples 1 and 2 reveals that the number of critical cycle times increases with increasing number of items. Again, the results from Tables 3 and 7 indicate that the number of cycle time regions generated increases with increasing number of critical cycle times; however, the span of each cycle time region is inevitably reduced. A reduction in the span of a cycle time region may eventually lessen its probability of containing the computed via (3). As a result, the RT procedures generate 1 and 2 candidate replenishment frequency vectors in Examples 1 and 2, respectively. Restated, the larger the number of items involved in a distribution system, the better the efficiency of the proposed algorithm.

#### 7. Concluding Remarks

This work studies the joint replenishment problem involving multiple items where economies can be achieved by replenishing several items simultaneously. To solve the problem being studied, this study devises a cycle time division method for establishing a set of ranges that contain the optimal cycle time and corresponding optimal replenishment frequency vector of the problem and subsequently develops a recursive tightening procedure to further reduce the set of replenishment frequency vectors to facilitate the search for the optimal cycle time and associated replenishment frequency for each item. The proposed solution procedure has a polynomial complexity of **O**(*N*log*N*), where denotes the number of items involved in the problem. Two theorems are proven, thus guaranteeing that an optimal solution to the problem can be obtained using cycle time division and recursive tightening. Restated, CTD and RT methods theoretically can achieve the optimal solution in all cases. In addition, in comparison with the heuristic method proposed by Nilsson et al. [31], our new method performs uninterestingly and complexly. However, comparing with many newer heuristic methods, we argue that the optimal solution searching is guaranteed to this new method, and the larger the number of items the system involved, the better the efficiency this novel method had.

#### Acknowledgments

The authors are grateful for the valuable comments and suggestions made by the anonymous referees. This research was supported by the National Science Council, Taiwan, R.O.C., under Grant no. NSC- 101-2410-H-147-002.