OPTIMIZATION OF A MULTI-ITEM INVENTORY MODEL FOR DETERIORATING ITEMS WITH CAPACITY CONSTRAINT USING DYNAMIC PROGRAMMING

. In recent years, numerous studies have been conducted regarding inventory control of deteriorating items. However, due to the complexity of the solution methods, various real assumptions such as discrete variables and capacity constraints were neglected. In this study, we presented a multi-item inventory model for deteriorating items with limited carrier capacity. The proposed research considered the carrier, which transports the order has limited capacity and the quantity of orders cannot be inﬁnite. Dynamic programming is used for problem optimization. The results show that the proposed solution method can solve the mixed-integer problem, and it can provide the global optimum solution.


1.
Introduction. The majority of the expenditures in every company is associated with inventory control. With proper management of the inventory costs, it is possible to create a competitive advantage in the competitive market. Companies' leadership can exploit this tool to make decisions (Wang et al. [19]). The economic order quantity (EOQ) model has been used extensively over a century (Liao et al. [8]). While studying inventory control, we should not ignore deterioration, which is a deviation from expected performance (Sana et al. [13]). Some products will lose their properties over time and will not be usable after a while. These products are called deteriorating items. They include items such as fruits, meat, food, gasoline, radioactive materials, photography films, high-tech products (Goyal and Giri [5]). Therefore, considering an inventory model for deteriorating items can reduce the cost of many related industries. In recent years, researchers have done many studies in this field. Zhang et al. [22] studied a supply chain for deteriorating items with a revenue sharing and cooperative investment contract and coordinated it. The main idea of Tiwari et al. is investigating inflation and the impact of trade credit in a two-warehouse environment for deteriorating items and find the retailer's ordering policy. Wu et al. [20] presented some inventory models for deteriorating items, and they used innovative assumptions such as maximum lifetime under downstream partial trade credits; they used discounted cash-flow analysis to credit-risk customers. Teng et al. [17] studied inventory policies for deteriorating items with limited lifetime and advanced payments. Samanta [12] developed a continuous production control inventory for deteriorating items, where shortages were allowed in this work. The work of Li et al. [7] investigated a joint pricing-replenishment-preservation technology investment problem for deteriorating items. Tiwari et al. [17] built an inventory model for deteriorating items for a supplier-retailer-buyer supply chain under twolevel partial trade credit. Wu et al. [21] developed an inventory model for deteriorating items with expiration rates and optimized credit period.
Despite the extensive literature on this field, just a few studies consider multiitem models with capacity or budget constraints. Ghosh et al. [4] presented a multiitem inventory model for deteriorating items; they assumed that the store space is limited, and demand is stock-dependent. Capacity constraint and time-proportional backlogging rate are the contributions of the work of Dye et al. [3]. Chakraborty et al. [2] developed an inventory model for deteriorating items; they consider multiwarehouse, partial backlogging, and the effect of inflation to make their work more realistic. It should be noted that despite a long time since the first research in this field, this issue is still considered by many researchers so that many pieces of research are done annually in this field. Shah et al. [14] investigated quadratic demand and three echelon supply chain environment to integrate credit and ordering policies for deteriorating items. An economic order quantity for time-varying deteriorating items under two-level partial trade credit was presented by Mahata et al. [9]. Shah and Naik [15] presented inventory policies for deteriorating items and considered that the demand is time-price-backlog dependent. Multi-variate demand, inflation, and partial backlogging were the main assumptions of the deteriorating items inventory model presented by Malik and Sharma [10]. Karimi et al. [6] developed an economic order quantity model for deteriorating items; they considered that rework of the deteriorated products is allowed, and a fraction of these products can return to the inventory system. Rezagholifam et al. [11] studied an inventory model for noninstantaneous deteriorating items with capacity constraint and stock and pricedependent demand.
Inventory models for deteriorating items are mostly nonlinear models with complicated solution methods. Many realistic assumptions, such as discrete time variables, capacity constraints, and multi-item inventory systems, are ignored to simplify the solution method. Using a powerful tool to optimize these models, we can add realistic assumptions to develop more practical models. Dynamic programming is a systematic technique to determine the required information and how to use it properly to obtain more effective results (Bellman [1]). By using dynamic programming, we can consider new assumptions, such as the discrete time variables. By using this solution tool, it is possible to add the capacity or budget constraints by adding the upper and lower limits for the method, such as action and state, without changing the primary model.
A summary of the recent works is shown in Table 1.
In this paper, we present a multi-item inventory model for deteriorating items with time-varying demand and a consistent deterioration rate for each item. In this study, shortages with partial backlogging are allowed. There is a limit in the capacity of carrier, and we are not allowed to order an infinite quantity of products. Since in the real world, there is not any vehicle with unlimited capacity, this is a realistic assumption and makes the developed model more practical. The time horizon is finite, and the time is continuous, but the decision variables (the start time of shortage for each item) are discrete. The mentioned assumption is another realistic assumption, which makes ordering planning easier (for example, it is easier to enter the shortage in the first hour of a working day rather than the midnight of a holiday). The purpose of the model is to determine when each item enters shortage (if we know the shortage start time, we can calculate the ordering quantity). The considered problem is optimized using dynamic programming. At last, a numerical example is provided to illustrate the implementation of the proposed model. The graphical representation of the inventory model for different demand functions is shown in Figure 1 (This example includes four products, but the proposed model is general and can include an arbitrary amount of products).

2.
Highlights and contribution of this paper.
• This paper presented a multi-item inventory model.
• Unlike previous works that had to use continuous variables in order to be able to use the derivation method, in this paper, discrete variables were used to make the proposed model more realistic. • Dynamic programming was used to solve the proposed model, which includes constraint and discrete variables. • Realistic constraint (capacity) was added to the model. there is no need to use software computing.
3. Methodology. In this section, the following notations and assumptions are used to build the model, and the developed mathematical model will be presented. 3.1. Notations. The following notations are used in the presented model. Indices p: indicator to show the product Discrete variable (Independent decision variable) ts p :shortage start time for the pth product Continuous variables t:time variable Q p :order quantity of the pth product Q p :the quantity of the pth product that is needed to fulfill the backlogged demand HI p :inventory held of the pth product SI p :shortage amount of the pth product BI p :lost sale of the pth product P I p :he quantity of the pth product that is needed to fulfill both satisfied and backlogged demand I p (t):inventory amount of the pth product T HC p :total holding costs for the pth product over the time horizon T SC p :total shortage costs for the pth product over the time horizon T BC p :total credit lost costs for the pth product over the time horizon T P C p :total purchase costs for the pth product over the time horizon T C:total costs of inventory model Parameters ϑ p :deterioration rate for pth product δ p :backlog rate for the pth product v p :volume of the pth product D p (t):demand function of the pth product in time t HC p :holding cost for the pth product per unit,per time SC p :shortage cost for the pth product per unit,per time BC p :credit lost cost for the pth product per unit,per time P C p :purchase cost for the pth product per unit,per time P H:time horizon Cap: The capacity of carrier vehicle Assumptions. The proposed model was built based on the following assumptions.
• The deterioration rates of products are different and constant over the time horizon. • The demand rate of each product (D p (t)) is a continuous, non-negative, monotonic function of time. • Shortage is allowed for each product, and the inventory level at the end of horizon time could be positive, zero, or negative. • When the shortage occurs, the backlogging rate depends on time, and the numbers of customers who wait for the next replenishment are decreasing. So, the backlogging rate in time t is calculated by 1/(1 + δ p (P H − t)) for ts p ≤ t ≤ P H and δ p > 0. • Replenishment time is at the beginning of the time horizon (t = 0), and the lead time is negligible. • Carrier space is limited, and the total volume of ordered products should be less than Cap. • All of the unit costs (HC p , SC p , BC p , and P C p ) remain constant over the time horizon. • The time horizon is continuous, but discrete time variables are used to make the proposed model more realistic. • It is assumed that items are independent, and the ordering quantity of each product has no effect on another.
3.3. Mathematical model. In this section, we develop a multi-item inventory model for deteriorating items considering ordering capacity constraints. In the proposed model, shortage is allowed with partial backlogging, and the demand rate of each product is time-related. The main idea of this study is to add realistic constraints such as capacity and budget constraints in multi-item models and propose a proper solution to solve these models. We first calculate each inventory cost separately, then the final model will be presented. The inventory amount of the pth item (I p (t)) at any time t over the holding period (0 ≤ t ≤ ts p ) is given by the following equation: We can calculate I p (t) by solving equation 1, then we have: With boundary conditions, the ordering quantity is: The amount of the pth item held is written as below: So, the total holding costs for pth item can be obtained from the following equation: T HI p = HC p HI p .
(5) Over the shortage period (ts p ≤ t ≤ P H), change in the inventory level is showed as the following equation: , for ts p ≤ t ≤ P H, By solving equation 6, the amount of inventory of pth item, in time t in shortage period is obtained as below: From equation 7, we get the shortage amount for each product as the following equations: Note that, from equation 7, we know for any given time t the inventory level is negative. In equation 8, we want to calculate the shortage amount of each item, which should be a positive value. Hence, the absolute value of I p (t) is used in equation 8. From equation 8, the amount of each product that is needed to fulfill the backlogged demand can be obtained, the number of customers who wait for the next replenishment is SI p ; hence we have: From equation 3, and equation 9, we get the total amount of the pth product that is needed to fulfill both satisfied and backlogged demand as the following equation: Total shortage costs and total purchase costs for each item is given by: The backlogging fraction (1/(1 + δ p (P H − t))) is used to calculate the number of customers who wait for the next replenishment, hence the fraction of customers who are not waiting to satisfy their demand is 1 − 1/(1 + δ p (P H − t)), so we have: we have: At last, the total costs of the inventory system are: Since the capacity of the carrier vehicle is not unlimited, the total volume of ordered items could be calculated from equation 3, so we have the following constraint: Therefore, the problem is written as below: Minimize T C{ts p } = p (T HI p + T SI p + T P I p + T BI p ) Subject to: We can also write the extended form of equation 17 as the following model: Subject to: In this section, the proposed model is presented; in the next section, dynamic programming is implemented to solve the problem.

3.4.
Optimization. The most practical method to solve inventory models for deteriorating items is the derivative method. Since the proposed model has discrete decision variables, it is impossible to solve it using this method. On the other hand, the proposed model is nonlinear and has a capacity constraint; the usual methods that can solve these models are complicated and are not easy to use. If we want to solve the problem using common methods, it is necessary to prove that the whole model (both objective function and constraint) is convex/concave to show the obtained solution is the global minimum/maximum. Forasmuch as the primary decision variables are discrete, we must use graphical charts to show the convexity, but the visual proof is not accurate enough to be used in general. In this study, we used dynamic programming to overcome these problems. This method can solve a wide range of problems, such as discrete problems, in a simple way. It can be used in both linear and nonlinear problems. Since this method searches all of the feasible points, it is not necessary to show the model convexity of the model, and the solution is always the global optimum solution. Unlike other methods, in this method, it is easy to add constraints to the model by determining the upper and lower limits for some of the characteristics of the method (such as state and action). In the next subsection, we present the solution method.
Proposed backward dynamic programming In this section, the proposed solution approach is presented. First, we explain a few terms and notations used in this method.
• It is necessary to break the problem into several sub-problems to use dynamic programming. Each of these sub-problems is called a "stage" and is denoted by n. In this study, in each stage, we allocate some of the remaining capacity to order one specific item, it means each sub-problem is allocating some of the remaining capacity to order each product regardless of the other products. In fact, we use nonlinear programming to solve a single-item inventory model in each sub-problem. Note that the number of stages is as large as the number of items (for each p, we have one n, so in this section, in all of the model notations, we use n instead of p). It is essential to know the priority of choosing products for each stage does not matter, and the final results are the same; it means if we assign item 1 to stage 1 and item 2 to stage 2, the results will be the same as when we set item 1 to stage 2 and item 2 to stage 1. • In stage n, the ordering quantity of the nth item is called the "action" and is showed by k n , where the optimum action of the nth stage is k * n . In this method, k n is Q n and must has a continuous value, but it is easier to work with discrete values as the actions. Because it is necessary to use the derivative to determine the optimum value of continuous variables and for a nonlinear model, such as equation 18, it is hard(or even impossible) to use derivative. On the other hand, we can check all discrete values to obtain the optimum value (if the number of discrete variables is not very large). Regarding equation 3, Q n is related to ts n , and if we know ts n we can calculate Q n . In fact, Q n is continuous, but according to equation 3 it cannot take any arbitrary value, and the number of different values of Q n is limited by ts n . So we use ts n as the action and show it by k n , this lets us work with discrete actions instead of continuous ones. The relation between k n and k n is: Then, for a specific stage n, we can rewrite equation 17 as the following model: Minimize (T HI n + T SI n + T P I n + T BI n ) Subject to: Note that equation 17, equation 18 and, equation 20 are the same equations with different notations.
• In this method, the "state" is the amount of resource we have at the beginning of each stage and is denoted by i n . Here, the state is the amount of the capacity we have at the beginning of the stage. Hence the state has continuous values but similar to what we argued in the previous part; we can use the discrete time variable instead of the continuous quantity variable and show it by i n . Suppose that the remaining capacity at the beginning of the stage is equal to i n ; since the fraction of i n that we can allocate to the nth product is related to ts n , we can calculate the state value by the following equation: we have ts n = k n then, Since each stage is related to the previous stage, we need to pay more attention to determine the amount of i n in the higher stages. It is necessary to consider the combinations of different values of i n in this stage and the preceding stages. In the higher stages, the number of possible values for i n increases, but the number of these states is finite and can be considered as a discrete value.
• The amount of income(cost) earned in the stage n with the state i n under the action k n is called the "revenue" and is showed by r(n, i n , k n ). According to equation 20, the revenue can be calculated using the formula below.
r(n, i n , k n) = T HI n + T SI n + T P I n + T BI n .
• In dynamic programming, it is assumed that each stage is only associated with the stage before and after it. This relationship is shown using the "transition function". In the proposed method, the remaining capacity at the end of each stage is showed by j n and is yielded using the transition function as below: j n = i n − k n v n , and j n = i n−1 .
Note that we always have 0 ≤ j n to ensure that the capacity constraint is not violated.
• The basis of computation in dynamic programming is the "recursive function" and is denoted by f (n, i n ). This function is an optimization model that determines the optimum action of each state, which showed by k * n . The recursive function for the proposed method is: In the first stage, we have f (n − 1, j n ) = 0. In this study, the developed model is similar to the knapsack problem and the presented method is based on backward dynamic programming. In the proposed method in the first stage, it is assumed that the allocation of all stages is done, and only the allocation of the last product remains. To calculate the state of this stage, we need to know how much capacity is required in the next stages, then put the amount of remaining capacity as the state of the current stage. In the next stage, we assume that the allocation of all stages, except for the last two steps, has taken place and calculate the state as said before. This process continues until the final stage. In the final stage, since we allocate capacity to the first product, we have all the available capacity, so in the last stage i n = Cap. In general, we must investigate the various values of the state that may exist at each stage. In this method, the allocation of the last product is carried out in the first stage; because of this reverse trend, this method is called the backward method (in the forward method, we investigate the first item in the first stage and continue this method until the last item). To illustrate the method, a flowchart is provided and shown in Figure 2. In this section, the solution method is presented. We illustrate the model and the solution method by a numerical example in the next section.
4. Numerical example. In this section, a numerical example is provided to illustrate the mathematical model and the optimization method. The following parameters are used in this example: Example parameters p = 3(number of products)

Solution
There are three stages(one for each item) in this example. We obtain the global optimum solution using the proposed method.
Stage 1: n = 1,the first stage,the first item In this stage we have P H = 5, and replenishment(ordering) time is zero, so k 1 can be six different values (0 to 5). The required space for each action is shown in Table  2. According to this table k 1 = 5 is infeasible because Cap < 800.25(j 1 < 0), so the vehicle cannot carry this amount of the first product.
In the first stage, the state can be a continuous value between 0 and 800(Cap), but we do not know its exact value, so we should consider different values of it. Different values of state are shown in Table 3. Stage 2: n = 2,the second stage,the second item k 2 can be six values, so the required and remaining space for each action is shown in Table 4. In this stage, we should combine different values of i 1 and k 2 v 2 to obtain other values of i 2 . Different values of i 2 and i 2 shown in Table 5. We can obtain r(2, i 2 , k 2 ) using equation 22. For any value of i 2 we have: r(2, i 2 , 0) = 11305; r(2, i 2 , 1) = 11163; r(2, i 2 , 2) = 11033; r(2, i 2 , 3) = 10910; r(2, i 2 , 4) = 10799; r(2, i 2 , 5) = 11278. f (2, i 2 ) is calculated with the same process as the previous stage; these values are shown in Table 6.
Stage 3: n = 3,the final stage,the third item Required and remaining space for each action in this stage is shown in Table 7.
Given what was said in the explanation of the method, in the last stage, the state is equal to all of the available capacity, so i 3 = Cap.
The remaining capacity is 36.5, and the capacity constraint is not violated, so the optimum solution is feasible. Note that, the obtained solution is the global minimum of the inventory system.
The inventory level of each item over time is presented in Figure 3. The result shows that since the demand function of the third item is exponential, the maximum amount of vehicle capacity is assigned to the purchase of this item. During the shortage period, the demand for product 3 increases dramatically over time. Given the high costs of shortages and lost sales, if the amount of shortage of this product increases, the total costs will increase. So, in order to reduce the costs of shortages, the order quantity of this item is more than the other items. Notice that, according to the capacity constraint, ts 3 = 3 is the maximum possible value for this variable.
In this section, a numerical example is solved in detail to illustrate the solution method. • According to the results, it is necessary to pay attention to the demand function of each product; products with exponential demand function will increase the shortage and opportunity lost costs and we must increase the ordering quantity of these products, and we lost the opportunity to order other items. • The manager can focus on items with linear demand rates. If it is necessary to order items with exponential demand function, the company must make a trade-off between the costs and benefits of these items. • This paper showed that we could add realistic assumptions (such as ordering in discrete times) to the model, and the obtained results can be used in the real world. The manager should use these assumptions to make the results more usable and reliable.
• The results of this paper showed that the storages play an important role in inventory systems, and we cannot ignore them easily (like many of previous works). The manager should pay attention to the shortages to make customers happy and do not let them leave the company easily.
6. Conclusions. Many researchers studied inventory models for deteriorating items, but just a few studies consider multi-item models with capacity or budget constraints. This is because of the nonlinear behavior of these models and the complexity of nonlinear optimization methods. On the other hand, because of simplification of solution methods, representing of non-convex models (like models with allowable quantity discounts), which are commonly being used, has been avoided. Hence, representing an optimization method, which can fill a part of the mentioned gap, is drastically significant. In this study, we presented a multi-item inventory model for deteriorating items with allowable shortage. Discrete time variables and capacity constraint are used to make the proposed model more realistic. Due to the discrete variables and capacity constraint, the presented model cannot be optimized by conventional methods. Dynamic programming is implemented to solve the problem. By providing a numerical example, we showed that the proposed solution method can solve these problems. The results show that most of the available capacity is allocated to items with a higher amount of shortages to reduce the shortage costs. For further studies, the proposed model could have several extensions. We can extend the model by considering more realistic assumptions such as uncertainty in demand rate. As well as, investigating the effect of discount, inflation, and advanced payments could be interesting.