MULTI-LOCATION TRANSSHIPMENT PROBLEM WITH BACKORDERED AND LOST SALES Deniz Özdemir*†
Enver Yücesan‡
Yale T. Herer§
ABSTRACT We consider coordination among stocking locations through replenishment strategies that explicitly take into account lateral transshipments, i.e., transfer of a product among locations at the same echelon level. The basic contribution of our research is the incorporation of supply capacity into the traditional emergency transshipment model. We formulate the capacitated production case as a network flow problem embedded in a stochastic optimization problem. Moreover, our model extends the existing literature by considering backordered and lost demand, simultaneously. We develop a solution procedure based on infinitesimal perturbation analysis (IPA) to solve the stochastic optimization problem numerically. We analyze the impact on system behavior and on stocking locations’ performance when the supplier may fail to fulfill all the replenishment orders. We assume that certain amount of the unmet demand is satisfied in the coming periods while rest of the unmet demand is lost. RESUMEN La presente investigación aborda el análisis y la coordinación entre distribuidores a través de estrategias de reabastecimiento que solo toman en cuenta los “transshipments” laterales en la cadena de distribución, es decir, transferir un producto entre instalaciones en un mismo nivel de la cadena. La contribución básica de esta investigación es incorporar lo referente a la capacidad en el modelo de “transshipment” tradicional. Se formulan de capacidad del suministro como un problema de flujo de red capacitado incorporado en una estructura de optimización estocástica. Se desarrolla un procedimiento de solución basado en el Análisis de Perturbación Infinitesimal para resolver el problema de optimización estocástica numéricamente. Se analiza el impacto en la conducta del sistema y en la actuación de situaciones abastecer cuando el proveedor no puede cumplir todos los órdenes de reabastecimiento. Se asume que el cierta cantidad de exceso de demanda que no puede satisfacerse del inventario en mano será diferido y cubierto cuando el inventario llegue a estar disponible mientras el alguna de la demanda que no se puede satisfacer dentro de un corto retraso de tiempo puede perderse. Esta investigación extiende la literatura para considerar el demande diferida y la posibilidad de ventas perdidas, simultáneamente. * †
Corresponding Author
Graduate Program in Systems Engineering, Universidad Autónoma de Nuevo León, AP 111 – F, Cd. Universitaria, San Nicolás de los Garza, NL 66450, México. Phone: +52 (0)81 1492-0368, Fax: 52 (0)81 1052-3321, email :
[email protected] ‡ INSEAD, Technology and Operations Management Area, Boulevard de Constance 77305 Fontainebleau Cedex, France. Phone: +33 (0)1 60 72 40 17, Fax: +33 (0)1 60 74 55 00 email :
[email protected] § Technion, Faculty of Industrial Engineering and Management, Haifa 32000, Israel. Phone: (972-4) 829-4423, Fax: (972-4) 829-5688, email:
[email protected]
1. INTRODUCTION Physical pooling of inventories has been widely used in practice to reduce cost and improve customer service.
However, information pooling, which entails the sharing of inventory among stocking
locations through lateral transshipments, has been less frequent.
Transshipments, the monitored
movement of material between locations at the same echelon, provide an effective mechanism for correcting discrepancies between the locations’ observed demand and their available inventory. As a result, transshipments lead to cost reductions and improved service without necessarily increasing system-wide inventories. In our research, we focus on collaborative planning and replenishment policies via information pooling and, in particular, on transshipments as a way to improve both cost and service. Our study is motivated by observations from various industries. Inventory-pooling strategies to hedge against the risk of supply disruption are quite common in retailing. Different retail stores or dealerships pool inventory to increase the safety stock of their products. Container shipping lines pool their containers through an exchange. Transshipments are increasingly common in apparel, fashion goods, and toys, particularly by those retailers with brick and click1 outlets. All these transshipment practices, however, represent a reactive approach to unexpected stockouts. We believe that, if we take transshipment opportunities into account during the planning phase, they can work as an effective mechanism for reducing cost and improving service. Therefore, our approach will be to plan the replenishment policy proactively considering the existing transshipment option as secondary supply during the review period. The literature on transshipments has generally addressed either problems with two retailers, e.g., Tagaras (1989), Tagaras and Cohen (1992), Robinson (1990) and Herer and Rashit (1999), or problems with multiple identical retailers, e.g., Krishnan and Rao (1965), Jönsson and Silver (1987), and Robinson (1990). In contrast, we consider multiple retailers, who may differ both in their cost structures and in their demand parameters, as in Herer, Tzur, and Yücesan (2005). We further consider 1
Companies that have a network of physical stores and sell through internet site as well, e.g. Officedepot, Liverpool, Sears,...etc.
1
a supplier with limited production capacity as in Jönsson and Silver (1987), who aim to minimize the total expected end-of-period backorders at stocking locations by using transshipment before observing demand to reassure an adequate inventory allocation. In our setting, the total amount of product supplied to N locations is restricted for each time period. When total replenishment orders exceed total supply, not all locations will be fully replenished. Therefore, a rule for the allocation of the available quantity among stocking locations must also be specified. In practice excess demand that cannot be satisfied from on-hand stock may either be backordered and filled when inventory becomes available or may be lost, if it cannot be filled within a short delay. In our system both the backlogging and lost sales options are present, at different costs to the supplier. Backlogging one unit of item is less costly than losing that demand. Since the supplier is capacitated, when the unmet demand is large, the supplier may prefer to lose those sales. Such a modeling approach is unifying and more realistic than the systems with only backlogging or lost sales assumption. Other recent work on transshipments includes Archibald et al. (1997), Bertrand and Bookbinder (1998), Tagaras (1999), Rudi et al. (2001), Herer and Tzur (2001, 2003), Slikker et al. (2004), Bendoly (2004), Dong and Rudi (2004), and Wong et al. (2005). We propose a simulation-based optimization approach for solving the multi-location transshipment problem with supplier capacity. To minimize the total system costs, the objective is to find the appropriate inventory policies, which are typically a base stock order-up-to policy. Given a modified order-up-to-S policy, we use a network flow framework to determine a myopically optimal transshipment policy between any pair of stocking locations. Simulation-based derivative estimates help the search for an improved policy while allowing for complex features that are typically outside of the scope of analytical models.
Infinitesimal
perturbation analysis (IPA) is an efficient simulation-based optimization technique (Ho et al. 1979). With IPA, instead of using finite differences in a gradient search method, we use the mean value of the sample path derivative, which is obtained through a single simulation. Glasserman (1991) established the general conditions for the unbiasedness of the IPA estimator. Applications of IPA have been 2
reported in simulations of Markov chains (Glasserman 1992), inventory models (Fu 1994), manufacturing systems (Glasserman 1994), finance (Fu and Hu 1997), and control charts for statistical process control (Fu and Hu 1999). IPA-based methods have also been introduced to analyze supply chain problems (Glasserman and Tayur 1995, Herer et al. 2006). The remainder of the paper is organized as follows: In the following section, we introduce the capacitated transshipment problem and the notation used in the paper. Then, determining the replenishment quantities incorporating various allocation rules under limited supplier capacity is explained. After, explaining the policy for replenishments and transshipments together with the formulation, the details of the solution technique is presented. We illustrate the solution technique with a numerical study and discuss the findings. We conclude with final remarks. 2. THE MODEL We consider a supplier serving N retailers, or stocking locations, which face random customer demand. The demand distribution of each stocking location in a period is assumed to be known and stationary over time. The stocking locations review their inventory periodically and replenishment orders are placed with the supplier that has a finite total production capacity, Cprod. In any period, transshipments provide a means to reconcile demand-supply mismatches. Within each period, events occur in the following order: the first event in each period is the arrival of replenishment orders placed in the previous period. These orders are used to increase inventory. Next in the period is the occurrence of demand. Since demand represents the only uncertain event of the period, once it is observed, all the decisions of the period, namely, the determination of the transshipment and replenishment quantities, are taken. The transshipment transfers are then made immediately, and subsequently the demand is satisfied. Certain amount (predetermined percentage of the actual demand) of the unsatisfied demand is backlogged and rest of the unsatisfied demand is lost. At this point, inventories, backlogs, and lost demand are observed, and holding and penalty costs, respectively, are incurred. The remaining inventory is carried to the next period.
3
We consider modified base stock policies for replenishment. The policy is “modified” in the following sense. In a base stock policy, when the supplier does not have a capacity constraint, the inventory positions at all stocking locations are raised up to Si units at the beginning of each period. Given the finite supplier capacity, however, the locations may not receive the full replenishment quantity ordered in the previous period. Therefore, order-up-to levels may not be attained at the beginning of each period. When replenishment through the supplier is capacitated, different allocation rules are considered to specify how the supplier rations its limited capacity among the locations. 2.1. Notation In developing our model, we use the following parameters:
c i = unit procurement cost at stocking location i ; tˆij = direct transshipment cost per unit transshipped from stocking location i to stocking location j; this is the additional administrative and logistics costs (packaging, re-labeling, transferring, etc.) per unit due to transshipment.
t ij = effective transshipment cost, or simply transshipment cost, per unit transshipped from stocking location i to stocking location j, t ij = tˆij + ci − c j ;
hi = holding cost incurred at stocking location i per unit held per period; bi = penalty cost incurred at stocking location i per unit of backlogged demand per period. p i = penalty cost incurred at stocking location i per unit of lost demand per period, where pi ≥ bi We assume (as was assumed in Tagaras (1989), Robinson (1990) and Herer and Rashit (1999) as well as others) the following relationships regarding the problem parameters:
hi < h j + t ij
i, j = 1,…,N
b j < p j < bi + t ij < pi + t ij t ij < hi + b j < hi + p j
i, j = 1,…,N i, j = 1,…,N
4
In the first relationship, we assume that it is not worthwhile to transship between two locations, each having a surplus. Similarly, in the second inequality, we assume that it is not worthwhile to transship between two locations, each having a shortage. And finally, we assume that if there is a shortage at one of the stocking locations and surplus at another, lateral transshipments are (myopically), cost advantageous. These inequalities ensure that transshipment from location i to location j is economically justifiable only if location i has excess inventory and location j has shortage. In addition, we have
Di = random variable associated with the periodic demand at location i with E[Di] = µi E ∑ Di ); i
I in = net inventory level at stocking location i at the beginning of period n after replenishment. I in is the net inventory level in period n after the arrival of replenishment orders from the previous period, but before demand is observed.
I in0 = net inventory level at stocking location i at the end of period n. Three decisions need to be made for each stocking location every period: Transshipment quantities between any pair of stocking locations, replenishment quantities and backlogged demand quantities in case of unsufficient on-hand inventory. The associated decision variables are the following: Si = target inventory level (or order-up-to level) at stocking location i at the beginning of each period;
FBni M j = number of items transshipped from stocking location i to stocking location j in period n;
FEni M i : shortage at stocking location i , backordered and satisfied through replenishment in period n (last two notations ares motivated by the network flow formulation in section 4);
5
Rin = number of items received from the supplier by stocking location i in period n+1 that were ordered from the supplier in period n. Note that, when production is capacitated, the number of items received is not necessarily equal to the number of items ordered. 3. DETERMINING THE REPLENISHMENT QUANTITIES In any period n, the net inventory level at stocking location i at the end of period ( I in0 ) is the sum of the inventory level in period n, immediately after demand is observed ( I in − d in ), and the difference between the total quantity received (via transshipments from other locations, ∑ FBn M ) and sent (via j i j: j ≠i
transshipments to other locations,
n ∑ FB M ) during period n. Therefore in period n+1, the net i j
j: j ≠i
inventory level at stocking location i ( I in +1 ) immediately before demand ( d in +1 ) is observed, is the sum of the on-hand inventory level in period n at the end of period n ( I i+0 ( n) ) and items received from the supplier in period n ( Rin ) In each period, the replenishment quantity Rin is the minimum of remaining production capacity ( C prod −
∑R j ≠i
n j
) and the difference between the order-up-to value and
the inventory level at the end of the period at location i . Therefore, the sample path of the system in any period n can be described as follows:
I in0 = I in +
∑
j: j ≠i
FBn M − j
i
∑
j: j ≠i
FBn M − d in , i
j
I in +1 = I i+0 (n ) + Rin ,
i = 1,…,N
i = 1,…,N
(
Rin = min C prod − ∑ R nj , S i − I in0 j ≠i
)
(1)
(2)
under complete pooling, FBn M , the transshipment quantity from stocking location i to j is equal to i j
6
n BiMj
F
+ + n n n n n n = minIi −di − ∑FBiMk ,dj −Ij − ∑FBkMj k≠j;k≠i k≠ j;k≠i
i≠j.
(3)
The total cost of the system in period n is given by: N
N
N
N
N
i =1
i =1
i =1
(
)
N
TCn = ∑∑ tij FBni M j + ∑ hi I i+0 (n) + ∑ bi FEni M i + ∑ pi I i−0 (n) − FEni M i + ∑ ci d i , i =1 j =1
i =1
where I i+0 ( n) = max{0, I in0 } is the inventory held during period n and I i−0 ( n) = max{0, - I in0 } is the total unsatisfied demand. The unit purchase cost at location i is multiplied by the demand at location
i and not by the replenishment quantity at location i since the procurement cost differentials are included in the transshipment costs. When total replenishment orders exceed total supply capacity, not all locations will be able to attain their base stock levels. We will refer to this difference between the order-up-to level (Si) and the inventory level at location i at the beginning of period n+1 ( I in+1 ) as the shortfall at location i at the end of period n. We will use the shortfall values later in the analysis. Moreover, for the allocation of the available supplier capacity among stocking locations, we implement two allocation rules: (i) shortfall balancing rule; and (iii) equal allocation rule. Details of the allocation rules can be found in Ozdemir et al. (2005). 4. DETERMINING THE TRANSSHIPMENT QUANTITIES In each period, the replenishment and transshipment quantities must be determined. Herer et al. (2005), which focused on the uncapacitated version of our problem with total backlogging, proved that, if transshipments are only made to compensate for an actual shortage (instead of building up inventory at another stocking location), there exists an optimal order-up-to S = (S1, S2, …, SN) policy for all possible stationary transshipment policies. For the capacitated case, their characterization of the optimal replenishment policy is an open problem. Nevertheless, since the transshipment policy is stationary and the fixed ordering cost is negligible, we will continue to adhere to an order-up-to S replenishment policy. 7
I1-(n) +
I1 (n)
B1
d1
M
E1
I1+(n+1)
-
I2 (n) I2+(n)
B2
I3-(n) I3+(n)
B3
d2
M E
I2+(n+1)
d3
M
E3
Cprod
I3+(n+1)
R
Figure 1. Network flow representation of the problem for period n Once demand is observed, for a given base stock level, it is possible to solve the transshipment decision problem via a network flow formulation. After solving for the myopically optimal transshipment decision, instead of using Ri values obtained through the LP, we will make the replenishment decision in accordance with one of the allocation rules. We adapt the complete network flow problem and the associated LP formulation approach of Herer et al. (2005) to model the multi-location capacitated transshipment problem. The network flow representation of the problem is illustrated in Figure 1 for a 3-retailer configuration. To keep the notation consistent with their paper, we will use the following decision variables in our LP formulation:
FBni M j : transshipment quantity from stocking location i to stocking location j in period n; FBni Ei : inventory held at stocking location i during period n, which is denoted by I i+0 (n) previously;
I i− (n) : shortage at stocking location i in period n, which translates into lost sales; n : total replenishment for stocking location i in period n; FRE i
I i+ (n + 1) : on-hand inventory at stocking location i in the beginning of period n+1, after arrival of replenishment orders. In the network flow problem formulation (as depicted in Figure 1), we have a source node, Bi , to represent the beginning, i.e., initial inventory at stocking location i , after replenishment orders arrive, 8
and a source node, R , to represent the replenishment that is requested in the period but arrives at the start of the next period. The sink node associated with the demand at retailer i is denoted by M i . Similarly, we denote by Ei the ending inventory at stocking location i , including units on order from the supplier. We use the letter ‘F’ to denote the flows in the network and subscripts to indicate the starting and ending nodes of the flows; thus, FBni M j is the flow in the network from node Bi to Mj in period n. 4. 1. LP Formulation with Backlogged Demand and Lost Sales Thus, the formulation for the case where unsatisfied demand is lost is as follows:
~
( Pn )
min
N N N N N TC = ∑∑ tij FBni M j + ∑ hi FBni Ei + ∑ bi FEni M i + ∑ pi I i− (n) i =1 i =1 i =1 i =1 j =1
subject to N
∑ FBni M j + FBniEi = I i+ (n),
i = 1, …, N
(4)
I i+ (n + 1) ≤ S i
i = 1, …, N
(5)
j =1
N
n ≤ C prod , ∑ FRE i
(6)
i =1 N
∑F
n BjMi
+ FEni M i + I i− (n) = d in ,
i = 1, …, N
(7)
n FBni Ei + FRE − FEni M i = I i+ (n + 1), i
i = 1, …, N
(8)
FEni M i ≤ β ⋅ d in ,
i = 1, …, N
(9)
j =1
I i+ (n + 1) ≥ 0,
i = 1, …, N (10) While on-hand inventory at the beginning of period n+1 or lost sales levels at period n at stocking location i ( I i+ (n + 1) and I i− (n ) , respectively) are decision variables, the value of on-hand inventory
~
at the beginning of period n ( I i+ (n ) ) is calculated from ( Pn −1 ) and is thus known at period n.
~
Therefore, I i+ (n ) is parameter in ( Pn ). 9
The constraint sets (4) and (8) ensure the balance of the inventory position of each stocking location at the beginning and at the end of each period, respectively. Constraint set (7) guarantees that the observed demand at location i (di) will be satisfied either from the location’s own inventory ( FBni M i ), transshipped from another location ( FBnj M i ), backlogged and satisfied through the replenishment from the supplier ( FEni M i ) or lost ( I i− (n) ). The backlogged demand cannot be more than β percent of the actual demand, is captured in constraint set (9). Moreover, due to the supplier capacity constraint, the inventory position may not attain the order-up-to levels, Si, which is captured by constraint set (5). Finally, constraint (6) guarantees that total replenishment to all stocking locations will be at most Cprod units, reflecting supplier capacity. Non-negativity constraints (10) are also included. The objective is to minimize the cost of demand-supply mismatch (inventory holding and shortage penalty costs) and transshipment costs. 5. THE SOLUTION ALGORITHM For the capacitated transshipment problem, determining the exact order-up-to levels is analytically difficult. To compute the order-up-to-S values, we therefore use a sample-path-based optimization procedure, based on IPA, to minimize the total average cost per period. In IPA, the idea is to use the expected value of the sample path derivative obtained via simulation, instead of using the derivative of the expected cost, in a gradient search algorithm to update the Si values. In particular, we start with arbitrary order-up-to levels, Si, for each stocking location. After randomly generating an instance of the demand at each stocking location, an LP formulation is constructed in a deterministic fashion to
~
compute the transshipment quantities, i.e., to solve problem ( Pn ). The solution of the LP provides us with a set of replenishment quantities. These replenishment quantities reflect the allocation of limited supplier capacity under the priority based allocation rule. However, since we want to experiment with various different allocation rules, we determine the replenishment quantities and the gradient values for that particular period based on the replenishment allocation rule used.
10
INITIALIZE S = (S10 , S 20 ,..., S N0 ) UPDATE S = (S1, S 2 ,..., S N )
STOP
GENERATE d = (d 1,..., d N )
SOLVE LP: TRANSSHIPMENTS REPLENISHMENT ALLOCATION COMPILE GRADIENTS COMPUTE GRADIENTS
Figure 2. Basic modules of the solution algorithm The fact that, for a linear program, the dual value of a constraint is the derivative of the objective function with respect to the right-hand side of that constraint is already used by Swaminathan and Tayur (1999). To calculate the gradient values in our setting, however, we need to go further. In particular, we need to calculate the gradient over one complete regenerative cycle, two consecutive periods in which all stocking locations simultaneously reach their order-up-to levels, Si, which is often more than a single period. Therefore, we need to propagate the gradients through the periods in the cycle. Moreover, since we do not use the replenishment quantities (Ri) calculated by the LP, the shadow prices provided by the sensitivity analysis output of the LP solution will not be helpful. As a consequence, we use the LP to compute the transshipment quantities, but not the replenishment quantities; we further use the LP output to accumulate the IPA gradients ( ∂TC / ∂S i ), which are used in a path search algorithm to determine the optimal order-up-to levels.
This is indeed the
specialization of stochastic approximation to the capacitated transshipment problem. The stochastic optimization algorithm outlined in Figure 2 exploits this property; gradient calculations are presented in Appendix, for technical details one can refer to Özdemir (2004). When supply capacity is limited, however, it may take several periods of supply to fulfill all replenishment requests received in a single period. Therefore, we need to establish that the number of periods to fulfill all replenishment requests (i.e., the length of the regenerative cycle) is finite so that eventually all locations reach their order-up-to levels. In other words, we need to establish the stability of the replenishment policy. This is also done in Özdemir (2004). 11
6. COMPUTATIONAL STUDY We analyze the impact of different factors on transshipment relations with limited production capacity under 5 configurations of 10 stocking locations. In all configurations, we consider stocking locations with identical cost parameters. In particular, we set the holding cost to hi = $ 1 penalty cost for backordering to bi = $ 4 and penalty cost of lost sales to pi = $ 6 for all ten locations. Each location faces an independent demand distributed uniformly over (0, 200). As summarized in Table 1, we consider five alternative system configurations with different unit transshipment costs, tij, for units transshipped from stocking location i to stocking location j.
Note that tij = ∞ implies that
transshipments are not allowed between locations i and j. Table 1: System Configurations System 1 2 3 4 5
t1i ∞ 0.5 0.5 0.5 0.5
ti1 ∞ ∞ 0.5 0.5 0.5
tij ∞ ∞ ∞ 1.0 0.5
As a base case, in system #1, no material movement is allowed among stocking locations, turning the system into 10 independent newsvendors. In system #2, only the first stocking location can transship to the other stocking locations. In system #3, transshipments from all stocking locations to the first stocking location are also allowed. In systems #4 and #5, all material movement is allowed. In system #4, however, transshipments between any two stocking locations (which do not include location #1) are twice as expensive. For each system, we generate forty-five scenarios with nine different supplier capacities and five different backordering percentage values. The values used are: Cprod= {1050, 1100, 1150, 1200, 1250, 1300, 1400, 1500, ∞}. β = {0, 0.25, 0.5, 0.75, 1}. β = 0 and β = 1 capture the benchmark cases, where all unsatisfied demand will be lost and all unsatisfied demand will be backordered, respectively. In general, the selection of effective values for algorithm parameters is a difficult problem; we set the total number of steps for the path search to K= 2000, the number of regenerative cycles at each step to U= 2000, and the step size to α k = 1000 k . As a stopping criterion, we compare the computed 12
order-up-to levels over 1000 iterations and require that these values do not differ by more than 1. In all of our experiments, the convergence criterion was satisfied before 2000 steps. 450
beta=0.0 beta=0.25 beta=0.50 beta=0.75 beta=1
400
Total Cost
350
300
250
200 1050
1100
1150
1200
1250
1300
1400
1500
INF
Production Capacity
Figure 3. Total Cost Levels for System # 5 For all the scenarios, when production capacity increases, total cost of the systems decrease. In particular, switching from system # 1, a configuration without transshipments, to system # 2, a configuration with limited transshipment flexibility, results in large cost savings. Moreover, since we assume that unit lost sale cost is higher than backlog cost, when backlogging is not allowed, i.e. β=0, total cost figure is higher for all system configurations in dependent from production capacity values. When backlogging is allowed for system # 5, we observed that for tight capacities, there exist lower cost option with partial backlogging. As it can be seen in Figure 3, when production capacity is lower than 1250 (25 % more than the total average demand) allowing only 50% percent of the demand to be backlogged gives us lower total cost with respect to backlogging most of the unsatisfied demand. For the systems other than system 5, when backlogging is allowed total cost is relatively stable for different beta values. We have similar observations about the total inventory. As can be seen in Figure 4, when all unsatisfied demand is lost total inventory carried in any system is higher than the scenarios where some of the unsatisfied demand is backlogged. This observation is valid for all system configurations 13
and production capacity values. Nevertheless, it is much more pronunced for the configuration of system # 1 where transshipment is not allowed. We also observe that the inventory levels decrease as the production capacity increases. Nevertheless, this impact is practically insignificant. System # 1
System # 2
1800
1400
1750
1350
1300 Total S_i
Total S_i
1700
1650
1600
1250
1200
1550
1150
1500 1050
1100
1150
1200
1250
1300
1400
1500
INF
1100 1050
Production Capacity System # 3
1150
1200
1250
1300
1400
1500
INF
Production Capacity System # 4
1400
1400
1350
1350
1300
1300 Total S_i
Total S_i
1100
1250
1200
beta=0.0 beta=0.25 beta=0.50 beta=0.75 beta=1
1250
1200
1150
1150
1100 1050 1100 1150 1200 1250 1300 1400 1500 Production Capacity
INF
1100 1050 1100 1150 1200 1250 1300 1400 1500 Production Capacity
INF
Figure 4. Total Inventory Levels for Systems # 2, 3, 4 and 5 7. SUMMARY We consider a supply chain, which consists of N stocking locations and one supplier. The locations may be coordinated through replenishment strategies and lateral transshipments. The supplier has limited production capacity. Therefore, total amount of product supplied to N locations is limited for each time period. When total replenishment orders exceed total supply, not all locations will be able to attain their base stock values. Therefore, different allocation rules are considered to specify how the supplier rations its limited capacity among the locations. Certain amount of the unmet demand will be satisfied in the coming periods while the rest of the unmet customer demand is lost. We team up the modeling flexibility of simulation with stochastic optimization to address the multi-location transshipment problem. With this numerical approach, we can study problems with non-identical costs and correlated demand structures.
14
ACKNOWLEDGEMENTS This research has been partially supported by Universidad Autonoma de Nuevo Leon under its Scientific and Technological Research Support Program (grant No. PAICYT CA1266-06) and a grant from PriceWaterhouseCoopers to INSEAD on high-performance organizations. REFERENCES Archibald, T.W., A.A.E. Sassen, and L.C. Thomas. (1997). An Optimal Policy for a Two-Depot Inventory problem with Stock Transfer. Management Science Vol. 43, pp. 173-183. Bendoly, E. (2004). Integrated Inventory Pooling for Firms Servicing Both On-line and Store Demand. Computers & Operations Research, Vol. 31, pp. 1465-1480. Bertrand, L.P. and J.H. Bookbinder. (1998). Stock Redistribution in Two-Echelon Logistics Systems. Operational Research Society, Vol. 49, pp. 966-975. Dong, L., and N. Rudi. (2004). Who Benefits from Transshipment? Exogenous vs. Endogenous Wholesale Prices. Management Science Vol. 50, pp. 645-657. Fu, M.C. (1994). Sample Path Derivatives for (s, S) Inventory Systems. Operations Research Vol. 42, pp. 351-364. Fu, M.C., and Hu, J.Q. (1997). Conditional Monte Carlo: Gradient Estimation and Optimization Applications. Kluwer Academic Publishers, Boston, USA. Fu, M.C., and Hu, J.Q. (1999). Efficient Design and Sensitivity Analysis of Control Charts using Monte Carlo Simulation. Management Science Vol. 45, pp. 395-413. Glasserman, P. (1991). Gradient Estimation via Perturbation Analysis. Kluwer Academic Publishers, Boston, USA. Glasserman, P. (1992). Derivative Estimates from Simulation of Continuous-Time Markov Chains. Operations Research Vol. 40, pp. 292-308. Glasserman, P. (1994). Perturbation Analysis of Production Networks. In Stochastic Modeling and Analysis of Manufacturing Systems (Yao, Ed.). Springer-Verlag, New York, USA.. Glasserman, P. and S. Tayur. (1995). Sensitivity Analysis for Base Stock Levels in Multi-Echelon Production-Inventory Systems. Management Science Vol. 41, p. 263-281. Herer, Y.T. and A. Rashit. (1999). Lateral Stock Transshipments in a Two-Location Inventory System with Fixed and Joint Replenishment Costs. Naval Research Logistics Vol. 46, pp. 525-547. Herer, Y.T., Tzur, M., and Yücesan, E., (2006). The multi-location transshipment problem, IIE Transactions Vol. 38, pp. 185-200. Herer, Y.T. and Tzur M. (2001). The dynamic transshipment problem, Naval Research Logistics Vol. 48, pp. 386-408. Herer, Y.T. and M. Tzur. (2003). Optimal and heuristic algorithms for the multi-location dynamic transshipment problem with fixed transshipment costs, IIE Transactions Vol. 35, pp. 419-432. Ho, Y.C., M.A. Eyler, and T.T. Chien. (1979). A Gradient Technique for General Buffer Storage Design in a Serial Production Line. International Journal of Production Research Vol. 17, pp. 557580.
15
Jönsson, H. and E.A. Silver. (1987). Analysis of a Two-Echelon Inventory Control System with Complete Redistribution. Management Science Vol. 33, pp. 215-227. Krishnan, K.S. and V. R. K. Rao. (1965). Inventory Control in N Warehouses. Journal of Industrial Engineering Vol. 16, pp. 212-215. Ozdemir, D. (2004). Collaborative Planning and Replenishment Policies. PhD Dissertation in Management, INSEAD, Technology (and Operations) Management Area, France. Ozdemir, D, Yucesan, E. and Herer, Y.T. (2005). Multi-location Transshipment Problem with Capacitated Production. Technical Report PISIS-2005-03, Graduate Program in Systems Engineering, UANL, San Nicolás de los Garza, México. Robinson, L.W. (1990). Optimal and Approximate Policies in Multiperiod, Multilocation Inventory Models with Transshipments. Operations Research Vol. 38, pp. 278-295. Rudi, N., S. Kapur, and D. Pyke. (2001). A Two-location Inventory Model with Transshipment and Local Decision Making. Management Science Vol. 47, pp. 1668-1680. Slikker M., Fransoo J. and M. Wouters. (2005). Cooperation Between Multiple News-vendors with Transshipments, European Journal of Operational Research, Vol. 167(2), pp. 370-380. Swaminathan, J. and S. Tayur. (1999). Stochastic Programming Models for Managing Product Variety. In: Quantitative Models for Supply Chain Management (Tayur, Ganeshan, and Magazine, Eds.) pp. 585-622, Kluwer, Boston, USA. Tagaras, G. (1989). Effects of Pooling on the Optimization and Service Levels of Two-Location Inventory Systems. IIE Transactions Vol. 21, pp. 250-257. Tagaras, G. (1999). Pooling in Multi-Location Periodic Inventory Distribution Systems. Omega Vol. 27, pp. 39-59. Tagaras, G. and M. Cohen. (1992). Pooling in Two-Location Inventory Systems with Non-Negligible Replenishment Lead Times. Management Science Vol. 38, pp. 1067-1083. Wong W., Cattrysse D. and D. Van Oudheusden. (2005). Inventory Pooling of Repairable Spare Parts With Non-zero Lateral Transshipment Time and Delayed Lateral Transshipments, European Journal of Operational Research, Vol. 165, pp. 207-218.
16
APPENDIX Incorporation of Allocation rules In the algorithm, we accumulate the derivative of the total cost with respect to Si for each period throughout a regenerative cycle. Since we need to propagate the gradients through the periods in a regenerative cycle, the sensitivity analysis output of the LP cannot be directly used. In the first period of any regenerative cycle, the impact of an infinitesimal change in Si will be limited to the inventory level at location i . However, moving through a regenerative cycle, the effect of an infinitesimal change in Si will not in general be limited to the inventory level at location i . The propagation of a change in Si will depend on the replenishment allocation rule of the supplier and the transshipment relationship among the locations. Since regeneration may take several periods, we need to monitor the propagation of a perturbation across these periods. We will capture the perturbation propagation of the gradients via an N×N coefficient matrix EffectS. We refer to the jth row of the EffectS matrix as EffectS(j). We calculate the EffectS matrix in period n and use it in period n+1. Let us denote the derivative of the inventory position of location i at the beginning of the n+1st period with respect to a change in the inventory position of location k at the
beginning of period n when the base stock level of location j, Sj is perturbed by
dI in +1 dI kn
. Then, we Sj
can update EffectS(j)n vector for each period n, iteratively by multiplying with the first-order partial
derivative matrix of
I in+1
n +1 dI with respect to i dI n k
. Sj
In each period, for a given allocation rule, depending on the existence of backlogged demand, lost
n +1 dI sales and the existence of an active transshipment flow path between any two sets, i n dI k
Sj
values
can be calculated. Ozdemir (2004) presents these calculations for the case where all unsatisfied demand is backlogged. 17
In this paper, we calculate the possible values of
dI in +1 dI kn
for simultaneous backlogs and lost sales Sj
case through decision trees. Thus, in each period, the values are retrieved from the decision trees to
update the values of
dI in +1 dI in +1 dTC and iteratively. For shortfall balancing rule the dS j dS j dI kn
values Sj
can be calculated using the decision trees shown in Figure A-1 and A-2. The development of these decision trees will be further discussed below.
FIGURE A-1: Decision tree for balancing shortfall rule for j ∈ Set 2
18
FIGURE A-2: Decision tree for balancing shortfall rule for j ∈ Set 3 , when Sj is perturbed In the first period of any regenerative cycle, since there is no history of propagation, an infinitesimal change in Si will affect the inventory level at location i in period 2. Thus, the initial condition after the first period is reflected by the vector EffectS(i) whose ith element is 1 and all other elements are 0.
Denote the matrices
n +1
∂I i ∂I n k
S
j
=
∂ I 1n
∂ I 1nN
L
∂ I 1n − 1 S
M
O
M
∂ dI 1n
L
∂ I Nn
∂ I 1n − 1 S
∂I
n −1 N S
j
j
∂ I Nn − 1
S
j
j
by dIS for j ∈ Set 2 and dIS’j for
j ∈ Set 3 . When we are balancing the shortfall levels, location j will reach its order-up-to level, i.e., j ∈ Set1 , only in the last period of the cycle. If this is the case, then EffectS(j) vectors are not needed to update the gradient of the period. Recall that the basic steps of the full algorithm are presented in Figure 2. The details of replenishment allocation module, where the gradients are calculated before compilation will be as follows:
19
5.3.62. Form dIS matrix using decision tree found in Figure A-1 5.3.7. For each location k ∈ Set 3 form dIS’k matrix using decision tree found in Figure A-2 5.3.8. For each location k, 5.3.8.1. If k ∈ Set 3 then update newEffectS(k)=EffectS(k).dIS’k 5.3.8.2. If k ∈ Set 2 then update newEffectS(k)=EffectS(k).dIS 5.3.8.3. If k ∈ Set1 then newEffectS(k)=Ik 5.3.9. Update EffectS(k)=newEffectS(k) for k=1,…,N
Gradient calculation of a cycle with shortfall balancing rule
Under the shortfall balancing rule, the value
dI in +1 dI kn
depends on the shortfall value of the Sj
locations i and k at the end of the period n as well as the maximum shortfall quantity, at the end of period n+1, SfMax. At the end of each period, the shortfall at location i will be equal to:
(
Shortfall i = S i − FBi Ei − FEi M i + FREi
0 = S i − FBi Ei − FEi M i SfMax
(
)
)
if SfMax = 0 if FREi = 0
if SfMax > 0 and FREi ≥ 0
Note that, in definition of Shortfalli, FBi Ei and FEi M i are determined through the solution of the network flow problem, while the value of FREi is determined through the shortfall balancing allocation rule. Based on the shortfall values and transshipment activities, each location will belong to one and only one of the following three mutually exclusive and collectively exhaustive sets:
Set1 = {i : Shortfalli = 0}
{
}
Set 2 = i : FREi = 0 2
This module corresponds to the steps 5.3.6-5.3.9 of the full algorithm, which is described in detail in Ozdemir et al (2005).
20
Set 3 = {i : Shortfalli = SfMax} Set1 contains the indices of the locations that reach their order-up-to levels after replenishment orders have arrived and backlogs have been satisfied at the beginning of next period. Since SfMax will be equal to zero only if the shortfall value of all locations are zero, Set1 will either be an empty set or include all the locations’ indices.
Set 2 contains the indices of locations that are not replenished
because their shortfall level at the beginning of next period is already less than SfMax , and Set 3 contains the indices of locations that receive replenishment such that their shortfall level at the beginning of the next period is equal to SfMax . We divide Set 2 and Set 3 into 3 subsets based on their backlogs, lost sales and active transshipment relationships:
{
Set ( 2 a ) = i : FREi = 0 and FBi M j = FB j M i = 0 for all j
}
Set ( 2b ) = i : FRE i = 0, FEi M i = 0 and either FBi M > 0 or FB * M i > 0 for at least one j * ∈ Set 2 j j Set ( 2c ) = i : FRE i = 0, FEi M i = 0 and either FBi M * > 0 or FB * M i > 0 for at least one j * ∈ Set 3 j j
{
Set (3a ) = i : Shortfalli = SfMax and either I i− (n) = 0 or FBi M j = FB j M i = 0 for all j
}
Set (3b ) = i : Shortfalli = SfMax, FEi M i = 0 and either FBi M * > 0 or FB * M i > 0 for at least one j * ∈ Set 2 j j * Set (3c ) = i : Shortfalli = SfMax, FEi M i = 0 and either FBi M * > 0 or FB * M i > 0 for at least one j ∈ Set 3 j j − Set (3d ) = i : Shortfalli = SfMax and I i (n) > 0
{
}
Set (•a ) is the set of locations which either have a backlog at the end of the period or do not have any active transshipment flows, while Set (•b ) and Set (•c ) are the set of locations that do not have any backlogs and there exists an active transshipment flow3 path between a location from Set 2 and Set 3 , respectively. Finally, Set (•d ) is the set of locations which have lost sales at the end of the period. In
3
If there exists a path from node Bi to Mk on the basic solution tree that does not pass through the node R, this path is referred as an active transshipment flow path 21
Set (•b) [or Set (•c ) ], we will denote the index of the location that has the active transshipment flow path from Set 2 [or Set 3 ] with superscript ‘*’, e.g., j*. Consequently,
For j ∈ Set1 ∪ Set 2 ,
For j ∈ Set 3 ,
dI in +1 dI kn
dI in+1 dI kn
Sj
Sj
1 1 = Set (3) 0
1 1 − = Set (3) 1 1 − Set (3) 0
∂I in +1 ∂I kn
values are as follows: Sj
if k ∈ Set ( 2 a ) ∪ Set1 , I k- (n) = 0 and i = k or k ∈ Set ( 2b ) ∪ Set (3b ) , i = i *and I i-* (n) = 0 if k ∈ Set (3a ) , i ∈ Set 3 or k ∈ Set ( 2c ) ∪ Set (3c ) , I i-* (n) = 0 and i ∈ Set 3 otherwise
if k ∈ Set ( 2 a ) and i = k or k ∈ Set ( 2b ) ∪ Set (3b ) , i = i *and I i-* (n) = 0 or k ∈ Set ( 2c ) ∪ Set (3a ) ∪ Set (3c ) , and i = j
if k ∈ Set ( 2 a ) ∪ Set ( 2b ) ∪ Set (3b ) , I i-* (n) = 0, i ∈ Set 3 and i ≠ j if k ∈ Set ( 2 a ) ∪ Set ( 2b ) ∪ Set (3b ) , I i-* (n) = 0, i ∈ Set 3 and i = j otherwise
where i* is the index of the location has the active transshipment flow path such that ( FE * M * > 0 and FBk M * ≥ 0 ) or ( FBk M * > 0 ) at period n and Set (3) is the cardinality of Set 3 , i i i i
i.e., the number of locations having the maximum shortfall. The
∂I in +1 ∂I kn
values can also be Sj
calculated using the decision trees that are shown in Figure A-1 and A-2. Gradient calculation of a cycle with equal allocation rule
22
When implementing the equal allocation rule, each location will belong to one and only one of the sets Set1, or Set2 depending on the end of period inventory, which is also the beginning inventory of the next period. Set1 is the index of the locations which reach their order-up-to levels at the end of the period and Set2 is the index of locations that are replenished by an equal amount, which is not enough for them to reach their order-up-to level. We divide each set into 4 subsets based on their backlogs, lost sales and active transshipment relationships: Set(·a) is the set of locations which either has backlog at the end of the period (before replenishment arrives at the beginning of period n + 1) or do not have any active transshipment flows. On the contrary, Set(·b) and Set(·c) are the sets of locations that do not have any backlogs and there exists an active transshipment flow path between a location from Set1 and Set2, respectively. Finally, Set (•d ) is the set of locations which have lost sales at the end of the period .After the equal allocation rule is implemented so that the replenishment quantities Rin and beginning inventory values, I in +1 are determined, the sets for period n can be defined as follows:
{
Set (1a ) = i : I i+ (n + 1 ) = S i and either FEi M i > 0 or FBi M j = FB j M i = 0 for all j
{ = {i : I (n + 1 ) = S , F + i
Set (1b ) = i : I (n + 1 ) = S i , FEi M i = 0 and either FBi M Set (1c )
+ i
i
{
Ei M i
= 0 and either FBi M
Set (1d ) = i : I i+ (n + 1 ) = S i and I i− (n) > 0
{
}
+ i + i
} > 0 for at least one j ∈ Set }
j*
> 0 or FB * M i > 0 for at least one j * ∈ Set 2
j*
> 0 or FB * M i
j
j
*
3
Set ( 2 a ) = i : I (n + 1 ) < S i and either FEi M i > 0 or FBi M j = FB j M i = 0 for all j
{ = {i : I (n + 1 ) < S , F
Set ( 2b ) = i : I (n + 1 ) < S i , FEi M i = 0 and either FBi M Set ( 2c )
{
+ i
i
Ei M i
= 0 and either FBi M
Set ( 2 d ) = i : I i+ (n + 1 ) < S i and I i− (n) > 0
}
}
}
} > 0 for at least one j ∈ Set }
j
> 0 or FB * M i > 0 for at least one j * ∈ Set 2
j*
> 0 or FB * M i
j
j
*
3
In Set (•b ) [or Set (•c ) ], we will denote the index of the location that has the active transshipment flow
path from Set1 [or Set 2 ] with superscript ‘*’, e.g., j*. Consequently,
∂I in +1 ∂I kn
values are as follows: Sj
23
For j ∈ Set 2 ,
For j ∈ Set1 ,
dI in +1 dI kn
dI in +1 dI kn
Sj
Sj
1 1 = Set ( 2 ) 0 1 = 1 − Set ( 2) 1 − 1 Set ( 2) 0
if k ∈ Set ( 2 a ) , I k- (n) = 0 and i = k or k ∈ Set (1c ) ∪ Set ( 2 c ) , i = i * and I i-* (n) = 0 if k ∈ Set (1a ) , i ∈ Set 2 or k ∈ Set (1b ) ∪ Set ( 2b ) , I i-* (n) = 0 and i ∈ Set 2 otherwise
if k ∈ Set (1a ) ∪ Set (1b ) ∪ Set( 1c) and i = j or k ∈ Set ( 2 a ) , E k M k > 0 and i = j or k ∈ Set ( 2 a ) , E k M k = 0 and i = k or k ∈ Set ( 2b ) ∪ Set ( 2 c ) , I i-* (n) = 0 and i = {k , j}
if k ∈ Set ( 2 a ) ∪ Set ( 2b ) ∪ Set (1c ) , I i-* (n) = 0, i ∈ Set 2 and i ≠ j if k ∈ Set ( 2 a ) and i = k or k ∈ Set (1c ) ∪ Set ( 2b ) , I i-* (n) = 0, and i = i * otherwise
where i* is the index of the location has the active transshipment flow path such that ( FE * M * > 0 and FBk M * ≥ 0 ) or ( FBk M * > 0 ) at period n and Set ( 2 ) is the cardinality of Set 2 , i
i
i
i
i.e., the number of locations replenished up to less than their basestock level. The
∂I in +1 ∂I kn
values Sj
can also be calculated using the decision trees that are shown in Figure A-3 and A-4.
24
FIGURE A-3: Decision tree for equal allocation rule for j ∈ Set 2
FIGURE A-4: Decision tree for equal allocation rule for j ∈ Set1 , when Sj is perturbed
25