kay-resnick

21
A Multi-Scenario Multi-Period Transshipment Model Cherise Kay and Deborah Resnick May 9, 2001 Independent Study Project Under the direction of Mark Daskin Northwestern University Department of Industrial Engineering and Management Sciences

Transcript of kay-resnick

Page 1: kay-resnick

A Multi-Scenario Multi-Period Transshipment Model

Cherise Kay and Deborah Resnick May 9, 2001

Independent Study Project Under the direction of Mark Daskin

Northwestern University Department of Industrial Engineering and Management Sciences

Page 2: kay-resnick

1

Introduction The Internet has changed consumer behavior significantly. Online purchasing has provided buyers with more options and consequently, they are more demanding. They look for the company that can provide the fastest, most convenient service. If a store is unable to fill a customer’s needs immediately, the store has a high risk of losing the customer’s business on that item and future sales. As a result, the cost associated with stock-outs is rising. As the Internet becomes accessible to more and more people, companies need to be thinking about how to adjust to the needs of this growing group of customers.1 Retailers need to develop new processes that increase the probability that products are available when customers demand them. At the same time, they must continually balance the cost of carrying too much inventory. Allowing transshipments between retail facilities is one way to reduce the risk of shortages. A transshipment is a lateral transfer of inventory from a facility with excess stock to a facility in need. Transshipping inventory between facilities is often a cheaper and more feasible option than increasing the number of shipments from the supplier. The frequency of shipments from a supplier can be limited by minimum order quantities, long supplier lead times, or the physical distance between the supplier and distribution centers. Risk pooling is another advantage of transshipments. Companies have to place orders with the supplier before knowing what the demands for the upcoming periods will be. Transshipments are a method of redistributing inventory as actual demands are realized. By transshipping inventory a company avoids holding and shortage costs at locations where actual demand varied from anticipated demand. In this way, transshipments are an effective method for dealing with stochastic demands and improving performance and reliability. However, transshipments require significant communication and information sharing throughout the supply chain. Fortunately, the Internet and other technology are giving companies more effective means of communicating with each other. Unlike previous EDI (Electronic Data Interchange) systems that only large companies could afford, information sharing mechanisms are now affordable, accessible, and scalable to large and small companies. Therefore, transshipment policies are an important problem to study due to their increasing relevance across many industries and types of companies. In this paper, we consider the impact of transshipments on ordering and inventory policies. We consider a system with a single supplier, a centralized distribution center, and multiple retail facilities. Shipments are made from the supplier to the distribution center on a periodic basis, and transshipments between facilities can occur between shipments from the supplier. Transshipment decisions are made at the end of each period, and the products that are transshipped can only be used to fill demand in the next period.

1 According to Nielsen/NetRatings Global Internet Index, 379 million people had Internet access in their homes by March 2001. 56% of American adults have Internet access and the number of Americans that used the Web to buy products increased by 14 million in the last half of 2000. <http://cyberatlas.internet.com/big_picture/geographics/article/0,,5911_594751,00.html>

Page 3: kay-resnick

2

Relevant Literature There has been a sizable amount of work done on transshipment problems. Transshipments have been studied for emergency replenishment and perishable goods applications. Krishnan and Rao (1965) laid the groundwork for much of the transshipment research by analyzing a two-location, single period inventory problem. In their model, transshipments occurred after demand was known but before it had to be fulfilled. Transshipments therefore served as an emergency way to fill demands that would have otherwise gone unfilled. They assumed that all the retailers had identical cost parameters. Tagaras (1989) did an extension of that model, examining a two-location problem where cost parameters varied from facility to facility. He also established the conditions for complete inventory pooling. Robinson (1990) discussed solution techniques for specific cases of these types of problems over multiple periods. All of these papers assumed that transshipments had a zero lead-time and occurred instantaneously. When a product is transshipped, that product can be used to fulfill demand in that period. These authors have shown and emphasized the risk pooling benefits associated with these types of transshipment policies. Tagaras and Cohen (1992) analyzed a problem where replenishment lead times from the supplier are non-negligible, but they still assumed that transshipments had a zero lead-time. Another area of research considers problems where transshipments occur before demand is realized. Gross (1963) did the preliminary research in this area, discussing the optimal stocking/shipment policies when transshipment decisions must be made before demand for that period is realized. Das (1975) extended that model by allowing transshipments to occur both before and after demands were realized. Hoadley and Heyman (1977) examined a one-period model that incorporated shipments from the warehouse, transshipments before demand was realized, and higher cost expedited transshipments after demand was realized. The Hoadley and Heyman model also allowed facilities to return excess stock (at a cost). In the model discussed in this paper, facilities are not allowed to return excess stock. Numerous papers have been written analyzing solution techniques and computational results for various transshipment problems. Karmarkar and Patel (1977) considered the single period transshipment problem, and Karmarkar (1987) extended the analysis for multi-period problems. Others have used simulation or stochastic programming techniques to find solutions or upper and lower bounds to these problems. This paper differs from previous transshipment research because we include a lead-time for transshipments. We consider a multi-period problem where transshipments can only be used to fulfill demands in future periods. We feel that this is a more realistic modeling assumption for many real world applications. Unfortunately, including lead times and having to make transshipment decisions a priori significantly complicates the transshipment problem.

Page 4: kay-resnick

3

The Transshipment Model The first step in developing a model to solve the transshipment problem was to define the way the network operates. As a result, the following assumptions were made for this problem:

1. One supplier fills the demands of this network. 2. The supplier ships to the network’s distribution centers. Distribution centers then

ship to each of the facilities. 3. The number of facilities and their locations are already specified. 4. There is infinite capacity at the distribution centers and facilities. 5. Transshipments can occur between any of the facilities. 6. If there is a shortage at a facility in period t, the sale is considered lost. In addition,

there is a shortage cost incurred as a result of the loss in customer loyalty. 7. A facility fills its own demand before shipping out to other facilities. 8. Transshipments occur at the end of each period and can be used to fill demands in

the next period. 9. The supplier can only ship to the distribution centers every five periods (i.e. the

beginning of every week), but shipments from the distribution centers and transshipments can occur in every period (i.e. daily).

10. Demand is forecasted by using the previous period’s demand to predict the current period’s demand.

11. Holding inventory between periods is modeled as a transshipment from one facility to itself.

12. Excess inventory cannot be returned to the supplier. 13. The facilities do not compete with one another.

Appendix A is a visual representation of the network. In this network, goods are received by the facilities before the demands are realized. As time continues, the stock at each facility is used to fill demands for that period. Excess stock can be held as inventory or transshipped to other facilities. In both of these situations, the goods can be used to fulfill the next period’s demand. Appendix B depicts the time flow in which events occur in the network. The model that we created works to minimize the total cost incurred throughout the network. Total cost includes fixed costs, shipping costs, inventory costs, and shortage costs. We created a multi-scenario model in order to simulate stochastic demand. Each scenario contains a different set of demands, and the model works to find one compromise solution that will work reasonably well for each of the possible scenarios. This final solution may not be the optimal ordering policy for any of the individual scenarios. The compromise solution specifies a consistent quantity to be shipped from the supplier to the warehouse and the warehouse to each facility. These amounts are consistent across all scenarios. The transshipment policy is unique for each scenario and is the mechanism for dealing with variability in demand.

Page 5: kay-resnick

4

To evaluate the effectiveness of the compromised solution, the objective of the multi-scenario model is to minimize regret over all of the scenarios. Regret is defined to be the difference between the cost for each scenario using the compromise solution and the optimal cost if the problem was solved for only that scenario. Before running our model, we needed to determine the optimal solution for each of the suggested scenarios. As a result, a single scenario model was created. The objective of this model was to minimize the total costs for each scenario. The inputs were the deterministic demands of each facility along with the costs related to shipping and storing. This model was run for each scenario. The solutions were used as inputs to the multi-scenario model in order to calculate the regret for each scenario. In formulating the multi-scenario model, we defined the following notation: Indices and Sets K = Set of all scenarios indexed by k W = Set of all distribution centers indexed by w I = Set of all facilities indexed by i and j T = Time index; t = 1 à period 1 Inputs and Parameters n = Number of periods sw = Cost per unit to ship from the supplier to distribution center w cwi = Cost per unit to ship from distribution center w to facility i fij = Cost per unit to transship from facility i to facility j ë = Unit shortage cost öw = Fixed cost associated with locating a distribution center dik

t = Demand at facility i in period t for scenario k

D = Weight that ensures shipments from the supplier only occur every five periods hi = Initial inventory at facility i át

= { 1 if period t is a period where the supplier can ship to the distribution center 0 if not } vw = Initial inventory at distribution center w ok = Optimal solution in scenario k Decision Variables Pik

t = Shortage amount at facility i at end of period t for scenario k

Xijkt = Units transshipped from facility i to facility j in period t for scenario k

Ywit = Units shipped from distribution center w to facility i in period t

Zwt = Units shipped from supplier to distribution center w in period t

Rk = Regret in scenario k Uik

t = { 1 if there is a shortage at facility i in period t for scenario k

0 if not }

Page 6: kay-resnick

5

The following optimization model minimizes the expected regret for the multi-scenario transshipment problem. minimize Σk Rk (1) subject to: Rk = (Σw öw + Σi (hifii + Σt (ëPik

t + Σw (swZwt (2)

+ cwiYwit) + Σj fijXijk

t))) – ok ∀ k Σw Ywi

t + Σj Xijkt-1 ≥ dik

t-1 ∀ k, i, t in 2..n (3) Σw Zw

t ≥ Σt-5,t-1 Σi átdik

t-1 ∀ k, t in 6..n (4) Σw Ywi

1 + hi – dik1 – Σj Xijk

1 + Pik1 = 0 ∀ k, i (5)

Σw Ywi

t + Σj Xjikt-1 – dik

t – Σj Xijkt + Pik

t = 0 ∀ k, i, t in 2..n (6) Σj Xijk

t ≤ D(1 – Uikt) ∀ k, i, t (7)

Pik

t ≤ diktUik

t ∀ k, i, t (8) Σi Ywi

t ≤ vw + Σt2=1,t-1 (Zwt2 – Σi Ywi

t2) ∀ w, t (9) Dát ≥ Zw

t ∀ w, t (10) As previously stated, the objective function (1) minimizes the expected regret. Constraint (2) establishes the regret value for each scenario. Constraint (3) stipulates that the forecasted demand is based on the demand of the previous period. Constraint (4) implies that the amount ordered from the supplier in each shipping period should be based on the total demand incurred since the previous shipping period. Constraints (5) and (6) stipulate that the amount into each facility equals the demand of the facility plus the amount shipped out. Constraint (7) guarantees that no transshipment occurs from a facility until that facility’s demands are filled. Constraint (8) stipulates that a shortage amount must not be greater than the demand at that facility. Constraint (9) prohibits shipping more products from the distribution center than it has received from the supplier. Constraint (10) stipulates that the supplier can only ship to the distribution center in specified periods.

Page 7: kay-resnick

6

The Data There were several important considerations when preparing the data for the model. In particular, costs had to be assigned so that they made sense relative to each other. For example, it was important that the shortage cost be reasonably high relative to shipping costs. If shortage costs were too low, there would be no incentive to order anything from the supplier. Similarly, we wanted to ensure that it was cheaper for a facility to receive the product directly from the warehouse rather than through a series of transshipments. In other words,

cwj < cwi + fij ∀ w, i, j

According to the triangle inequality, direct transshipments between any two facilities should always be cheaper than transshipping indirectly through another facility. We also decided to vary the transshipment costs between facilities. This was to model the fact that some facilities might be closer together and therefore cheaper to ship between. Additionally, in order to make transshipments worthwhile, the costs had to be set up so that it was cheaper to transship an item than to simultaneously incur the holding cost at one facility and a shortage at another. This constraint can be written:

fij < ë + fii ∀ i , j After establishing each of the cost parameters, it was then necessary to determine the most appropriate way to model demand. We decided to model demand at each facility as independent and normally distributed. Each facility had a slightly different mean and variance as a way of modeling the fact that facilities serve different markets with varying characteristics. Table 1 shows the parameters used to generate demand at each facility. Table 1 Facility A B C D E Mean 100 90 90 110 130 Standard Deviation 10 10 8 10 15 It was assumed that these facilities and their demands were completely independent. Higher than anticipated demand at one facility had no impact on demand at the other facilities. Additionally, demand was not transferable from one facility to another. We chose to examine a system with one distribution center, five facilities, and ten periods. We used the Random Number Generator in Excel to generate 50 random demands for each facility based on the demand distributions in Table 1. This was enough data for 5 scenarios with 10 periods each. The scenarios modeled demand uncertainty and demonstrate the potential variations in actual demand. The data for the multi-scenario model is in Appendix C.

Page 8: kay-resnick

7

Computational Results In this section we analyze the computational results of the multi-scenario transshipment model. We compare the results to two variations of the model. One is the multiple scenario problem with the same data but where transshipments are not allowed. The second is a deterministic problem where demands are known. For ease of reference, we name each of these problems as follows:

Case 1: Multiple Scenario, transshipments allowed Case 2: Multiple Scenario, transshipments not allowed (facilities are completely independent) Case 3: Deterministic Case

Each model was written in AMPL and run off a UNIX machine using the cplex solver. Appendix D, E and F show the AMPL models for Cases 1, 2, and 3 respectively. Table 2 summarizes the costs associated with each problem. Table 2 Total

Cost Total

Regret %

Difference Approx.

Solution time

Iterations Case 1 419,863 22,896 5.77% 16 seconds 8792 Case 2 425,686 28,719 7.23% 1 second 182 Case 3 396,967 1 second ~88 iterations/scenario It is not surprising that Case 3, the deterministic case, had the lowest total cost. Orders could be placed knowing exactly what future demand would be. There was no need to hold safety stock because there was no potential variability in demand. It was also the easiest problem to solve. Unlike the deterministic case, in Case 1 and 2 the shipping plan solution had to be a compromise solution that would best accommodate both expected demand and fluctuations from expected demand. When transshipments between facilities were allowed (Case 1), a better solution was found. However, the difference in computation time between the cases was fairly significant even for this small problem. Therefore, it was important to analyze the differences in the solutions in order to assess the value of transshipments. One would expect to see significant differences in the holding policies and the frequency of shortages between a model that allows transshipments and one that does not. Table 3 summarizes the shortage patterns for Case 1 and Case 2. Table 3 #

Shortages Frequency of shortage

Max shortage amount

Avg. shortage amount

Case 1 – transshipments 8 3.56% 13 7.25 Case 2 – no transshipping 15 6.67% 40 12.8

Page 9: kay-resnick

8

There were significantly more shortages when transshipments between facilities were not allowed. Shortages occurred more frequently in Case 2 because it was less flexible. If a facility experienced unexpectedly high demands in one period, it had to use inventory that was intended for future periods, ultimately resulting in shortages. Alternatively, when shipments were allowed (Case 1), a facility that had seen lower than expected demands could share its excess stock with facilities experiencing a shortage. The system incurred the transshipment cost but avoided holding and shortage costs. It is also important to notice the difference in the average and maximum shortage quantities for the two cases. The transshipment model did a much better job of minimizing the severity of a shortage problem. In the deterministic case, there were no shortages. The exact amount required was sent from the supplier to the warehouse and each of the facilities. Transshipments were not utilized because it is cheaper to ship directly from the warehouse to a facility than from the warehouse to a facility via another facility. Since total shipping costs were lower than the penalty cost associated with having a shortage, there were no shortages. The impact of allowing transshipments on the amount of inventory held was also of interest. Table 4 summarizes the differences in holding policies between the model that allowed transshipments and the one that did not. Table 4 Avg. quantity inventory

held over a period Case 1 – transshipments allowed 14.89 Case 2 – no transshipments 27.83

As Table 4 demonstrates, there is a significant difference in the quantity of inventory held at each facility. This can be an important consideration and argument for transshipments if facilities have limited capacities, products are perishable, or products are seasonal. Another characteristic of the transshipment model we were curious to investigate was the extent to which allowing transshipments would lead to decreased safety stock requirements as a result of risk pooling. We did not anticipate seeing tremendous risk pooling savings because in this model transshipment decisions had to be made before demand was realized. Table 5 displays the shipping quantities for the transshipment model as compared to the case where transshipments were not allowed. Table 5 Total Qty.

Shipped to warehouse

Total Qty. Shipped to facilities

Avg. Qty. Shipped to facilities

Std. dev. for amt. shipped

Case 1 – transshipments allowed 5549 4785 106.33 21.47 Case 2 –no transshipments 5556 4895 108.78 23.21

The total quantity shipped to the warehouse and the quantity shipped to the facilities were slightly lower when transshipments were allowed, but not by a significant margin. One

Page 10: kay-resnick

9

possible explanation is the way we set up our model. The model required ordering based on demands in the previous periods. A model that ordered based on the demand distribution might have demonstrated more significant risk pooling benefits. A second factor that could account for the minimal savings is the data set used in running the model. If demand distributions and cost parameters were different, the results might have varied significantly. Conclusions and Future Research It is clear that establishing a system of transshipments between networked facilities can be an effective cost saving method to handle stochastic demands, particularly if shortage and holding costs are high. The case where transshipments were allowed performed better on all dimensions than the model where all facilities were independent. However, one must consider that the transshipment problem is a much harder problem to solve and requires significant communication and cooperation between facilities. There are many extensions to this problem that are opportunities for future research. It would be interesting to analyze the sensitivity of the model to different cost parameters. One could look at how effective and useful transshipments might be for a particular industry or product. Additionally, although the problem considered here was too big for the student version of AMPL to solve, it was still a relatively small problem. As a result, it would be interesting to look at expansions of the model considered here. It would be interesting to see how results would change if the network included multiple distribution centers or the number of facilities was varied. One could also look at the impact of varying the time required for transshipments or the consequences of having capacities at each of the warehouses and facilities. One improvement to this model would be to refine our ability to model stochastic demands. One potential method is the stochastic programming techniques suggested by Birge and Louveaux (1997). Doing this would eliminate the need for scenarios which clearly bias the solution results. An easier improvement would be to run this problem with many more scenarios. One could also try to find a solution that worked reasonably well for situations where actual demand was consistently lower or higher than predicted demands. This would be helpful because in practice demands are often not independent. Incorporating these changes into the problem would make the model more representative of real world problems.

Page 11: kay-resnick

10

Appendix A Network Illustration

The flow of goods occurs in the direction of the arrows. This illustration is consistent for every time period. Supplier (Occurs every 5 periods) Distribution Center Facility Facility Facility Facility Facility Demands Demands Demands Demands Demands

Page 12: kay-resnick

11

Appendix B Network Time Flow

(time continuum) (period t-1) (period t) (end of period t) Excess inventory Quantity required to fulfill demand from previous period Quantity transshipped from Quantity held as excess other facilities inventory for next period

Quantity shipped in (1) from distribution Quantity shipped to center other facilities for next period

Demands realized

(1) If a shortage exists in period t, neither excess inventory nor transshipments can occur.

Page 13: kay-resnick

12

Appendix C Data for Multi-Scenario Model

set SCENARIO:=1 2 3 4 5; set WRHSE:= W; set FACIL:= A B C D E; set TIME:=1 2 3 4 5 6 7 8 9 10; param numperiods= 10; param initialInventoryWarehouse:= W 0; param costsw = W 2; param short:= 25; param fixed:= W 10000; param weight:= 10000; param optimal := 1 74450 2 78805 3 81698 4 79836

5 82178; param initialInventory:= A 0 B 0 C 0 D 0 E 0; param costff (tr): A B C D E:= A 1 2 3 4 5 B 2 1 2 3 4 C 3 2 1 2 3 D 4 3 2 1 2 E 5 4 3 2 1; param shippingperiod:= 1 1 2 0 3 0 4 0 5 0 6 1 7 0 8 0 9 0 10 0;

Page 14: kay-resnick

13

param costwf (tr): W:= A 1 B 1 C 1 D 1 E 1; param demand := [*,*,1]: 1 2 3 4 5 6 7 8 9 10:= A 85 107 91 96 89 131 109 114 89 123 B 75 97 81 86 79 60 82 84 84 82 C 71 91 79 97 95 67 99 71 103 96 D 97 118 102 111 125 84 116 116 118 104 E 110 142 118 131 153 94 119 131 108 127 [*,*,2]: 1 2 3 4 5 6 7 8 9 10:= A 75 95 96 84 105 104 96 122 102 107 B 66 91 96 67 95 96 91 96 100 87 C 72 95 107 91 90 86 73 85 87 89 D 97 114 101 100 114 111 112 121 127 107 E 163 139 141 132 170 102 124 121 133 152 [*,*,3]: 1 2 3 4 5 6 7 8 9 10:= A 93 113 103 77 106 114 98 116 107 106 B 90 96 103 92 81 80 101 75 91 94 C 99 87 88 94 101 81 99 89 77 76 D 110 123 123 100 125 90 123 115 115 106 E 145 123 139 141 156 148 154 121 123 158 [*,*,4]: 1 2 3 4 5 6 7 8 9 10:= A 117 114 89 107 109 100 106 115 99 103 B 101 106 110 86 95 75 96 90 84 93 C 95 108 100 90 93 95 97 86 91 83 D 116 101 102 122 107 84 124 110 93 112 E 134 113 130 152 115 124 136 142 136 126 [*,*,5]: 1 2 3 4 5 6 7 8 9 10:= A 98 97 96 110 103 114 114 96 100 131 B 89 104 72 102 84 95 87 72 88 103 C 85 98 96 89 87 89 95 86 90 81 D 101 103 102 101 105 120 110 115 104 100 E 104 165 95 146 133 153 118 163 130 109;

Page 15: kay-resnick

14

Appendix D AMPL Model for Case 1 – Transshipment Model

set SCENARIO; set WRHSE; set FACIL; # facilities set TIME; param numperiods>=0; param costsw {WRHSE} >=0; param costwf {WRHSE, FACIL} >=0; param costff {FACIL, FACIL} >=0; param short>=0; param fixed {WRHSE} >=0; param demand {FACIL, TIME,SCENARIO} >=0; param weight >=0; param initialInventory {i in FACIL}>=0; param shippingperiod {t in TIME} binary; param initialInventoryWarehouse {w in WRHSE}>=0; param optimal {s in SCENARIO}>=0; var shortamt {i in FACIL, t in TIME, s in SCENARIO}>=0; var shipff {i in FACIL, j in FACIL, t in TIME, s in SCENARIO}>=0; var shipwf {w in WRHSE, i in FACIL, t in TIME}>=0; var shipsw {w in WRHSE, t in TIME}>=0; var shortage {i in FACIL, t in TIME,s in SCENARIO} binary; var regret {s in SCENARIO}; minimize TotalRegret: sum {s in SCENARIO} regret[s]; subject to RegretForEachScenario {z in SCENARIO}: regret[z]= (sum {w in WRHSE} (fixed[w])+ sum {i in FACIL} (initialInventory[i]*costff[i,i] + sum {t in TIME} (short*shortamt[i,t,z]+ sum {w in WRHSE} (costsw[w]*shipsw[w,t]+costwf[w,i]*shipwf[w,i,t])+ sum {j in FACIL} costff[i,j]*shipff[i,j,t,z])))+ - optimal[z]; subject to PreviousDemand1 {i in FACIL, t in 2..numperiods, s in SCENARIO}:

sum{w in WRHSE} shipwf[w,i,t] + sum{j in FACIL} shipff[j,i,t-1,s] >= demand [i,t-1,s];

subject to PreviousDemand2 {t in 6..numperiods, s in SCENARIO}: sum {w in WRHSE} shipsw[w,t]>= sum{t-5..t-1, i in FACIL}

(shippingperiod[t]*demand[i,t,s]);

Page 16: kay-resnick

15

subject to BalanceInPeriod1 {i in FACIL, s in SCENARIO}: sum {w in WRHSE} shipwf[w,i,1] + initialInventory[i] - demand[i,1,s] –

sum {j in FACIL} shipff[i,j,1,s] + shortamt[i,1,s]=0; subject to Balance {i in FACIL, t in 2..numperiods, s in SCENARIO}: sum {w in WRHSE} shipwf[w,i,t]+sum {j in FACIL} shipff[j,i,t-1,s] - demand[i,t,s] - sum {j in FACIL} shipff[i,j,t,s] + shortamt[i,t,s]=0; subject to shiplimit {i in FACIL, t in TIME, s in SCENARIO}: sum {j in FACIL} shipff[i,j,t,s]<=weight*(1-shortage[i,t,s]); subject to shortagelimit {i in FACIL, t in TIME, s in SCENARIO}: shortamt[i,t,s] <=demand[i,t,s] * shortage[i,t,s] ; subject to shiplimitfromDC {w in WRHSE, t in TIME}: sum {i in FACIL} shipwf[w,i,t]<=initialInventoryWarehouse[w]+sum {t2 in 1..t-1}

(shipsw[w,t2] - sum{i in FACIL} shipwf[w,i,t2]); subject to ShipToDC {w in WRHSE, t in TIME}: weight*shippingperiod[t] >= shipsw[w,t];

Page 17: kay-resnick

16

Appendix E AMPL Model for Case 2 – No Transshipment Model

set SCENARIO; set WRHSE; set FACIL; # facilities set TIME; param numperiods>=0; param costsw {WRHSE} >=0; param costwf {WRHSE, FACIL} >=0; param holdcost {FACIL} >=1; param short>=0; param fixed {WRHSE} >=0; param demand {FACIL, TIME,SCENARIO} >=0; param weight >=0; param initialInventory {i in FACIL}>=0; param shippingperiod {t in TIME} binary; param initialInventoryWarehouse {w in WRHSE}>=0; param optimal {s in SCENARIO}>=0; var shortamt {i in FACIL, t in TIME, s in SCENARIO}>=0; var hold {i in FACIL, t in TIME, s in SCENARIO}>=0; var shipwf {w in WRHSE, i in FACIL, t in TIME}>=0; var shipsw {w in WRHSE, t in TIME}>=0; var shortage {i in FACIL, t in TIME,s in SCENARIO} binary; var regret {s in SCENARIO}; minimize TotalRegret: sum {s in SCENARIO} regret[s]; subject to RegretForEachScenario {z in SCENARIO}: regret[z]= (sum {w in WRHSE} (fixed[w])+ sum {i in FACIL} (initialInventory[i]*holdcost[i] + sum {t in TIME} (short*shortamt[i,t,z]+ sum {w in WRHSE} (costsw[w]*shipsw[w,t]+costwf[w,i]*shipwf[w,i,t])+ holdcost[i]*hold[i,t,z]))) - optimal[z]; subject to PreviousDemand1 {i in FACIL, t in 2..numperiods, s in SCENARIO}: sum {w in WRHSE} shipwf[w,i,t] + hold[i,t-1,s] >= demand [i,t-1,s]; subject to PreviousDemand2 {t in 6..numperiods, s in SCENARIO}: sum {w in WRHSE} shipsw[w,t] >= sum{t-5..t-1, i in FACIL}

(shippingperiod[t] *demand[i,t,s]);

Page 18: kay-resnick

17

subject to BalanceInPeriod1 {i in FACIL, s in SCENARIO}: sum {w in WRHSE} shipwf[w,i,1]+initialInventory[i] - demand[i,1,s] - hold[i,1,s] +shortamt[i,1,s]=0; subject to Balance {i in FACIL, t in 2..numperiods, s in SCENARIO}: sum {w in WRHSE} shipwf[w,i,t]+hold[i,t-1,s] - demand[i,t,s]

- hold[i,t,s] + shortamt[i,t,s]=0; subject to shortagelimit {i in FACIL, t in TIME, s in SCENARIO}: shortamt[i,t,s] <=demand[i,t,s] * shortage[i,t,s] ; subject to shiplimitfromDC {w in WRHSE, t in TIME}:

sum {i in FACIL} shipwf[w,i,t] <= initialInventoryWarehouse[w] + sum {t2 in 1..t-1} (shipsw[w,t2] - sum{i in FACIL} shipwf[w,i,t2]);

subject to ShipToDC {w in WRHSE, t in TIME}: weight*shippingperiod[t] >= shipsw[w,t];

Page 19: kay-resnick

18

Appendix F AMPL Model for Case 3 – Deterministic Case

set SCENARIO; set WRHSE; set FACIL; # facilities set TIME; param numperiods>=0; param costsw {WRHSE} >=0; param costwf {WRHSE, FACIL} >=0; param costff {FACIL, FACIL} >=0; param short>=0; param fixed {WRHSE} >=0; param demand {FACIL, TIME,SCENARIO} >=0; param weight >=0; param initialInventory {i in FACIL}>=0; param shippingperiod {t in TIME} binary; param initialInventoryWarehouse {w in WRHSE}>=0; var shortamt {i in FACIL, t in TIME, s in SCENARIO}>=0; var shipff {i in FACIL, j in FACIL, t in TIME, s in SCENARIO}>=0; var shipwf {w in WRHSE, i in FACIL, t in TIME}>=0; var shipsw {w in WRHSE, t in TIME}>=0; var shortage {i in FACIL, t in TIME,s in SCENARIO} binary; minimize TotalCost: sum {s in SCENARIO} ( sum {w in WRHSE} (fixed[w]) + sum {i in FACIL} (initialInventory[i]*costff[i,i] + sum {t in TIME} (short*shortamt[i,t,s] + sum {w in WRHSE} (costsw[w]*shipsw[w,t] + costwf[w,i]*shipwf[w,i,t]) + sum {j in FACIL} costff[i,j]*shipff[i,j,t,s]))); subject to PreviousDemand1 {i in FACIL, t in 2..numperiods, s in SCENARIO}: sum {w in WRHSE} shipwf[w,i,t] + sum {j in FACIL} shipff[j,i,t-1,s]

>= demand [i,t-1,s]; subject to PreviousDemand2 {t in 6..numperiods, s in SCENARIO}:

sum {w in WRHSE} shipsw[w,t] >= sum{t-5..t-1, i in FACIL} (shippingperiod[t]*demand[i,t,s]);

subject to BalanceInPeriod1 {i in FACIL, s in SCENARIO}: sum {w in WRHSE} shipwf[w,i,1]+initialInventory[i] - demand[i,1,s] –

sum {j in FACIL} shipff[i,j,1,s] + shortamt[i,1,s] = 0;

Page 20: kay-resnick

19

subject to Balance {i in FACIL, t in 2..numperiods, s in SCENARIO}: sum {w in WRHSE} shipwf[w,i,t]+sum {j in FACIL} shipff[j,i,t-1,s] - demand[i,t,s] - sum {j in FACIL} shipff[i,j,t,s] + shortamt[i,t,s] = 0; subject to shiplimit {i in FACIL, t in TIME, s in SCENARIO}: sum {j in FACIL} shipff[i,j,t,s]<=weight*(1-shortage[i,t,s]); subject to shortagelimit {i in FACIL, t in TIME, s in SCENARIO}: shortamt[i,t,s] <=demand[i,t,s] * shortage[i,t,s] ; subject to shiplimitfromDC {w in WRHSE, t in TIME}: sum {i in FACIL} shipwf[w,i,t]<=initialInventoryWarehouse[w] +

sum {t2 in 1..t-1} (shipsw[w,t2] - sum{i in FACIL} shipwf[w,i,t2]); subject to ShipToDC {w in WRHSE, t in TIME}: weight*shippingperiod[t] >= shipsw[w,t];

Page 21: kay-resnick

20

References Birge, J.R. and F. Louveaux (1997). Introduction to Stochastic Programming. Springer

Series in Operations Research, New York. Das, C. (1975). Supply and Redistribution Rules for Two-Location Inventory Systems: One-

Period Analysis. Management Science, 21, 765-776. Gross, D. (1963). Centralized Inventory Control in Multilocation Supply Systems. Chap. 3

in H. Scarf, D. Gilford and M. Shelly (eds.), Multistage Inventory Models and Techniques. Stanford University Press, Stanford, California, 1963.

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, 46, 525-547.

Hoadley, B. and D.P. Heyman (1977). A Two-Echelon Inventory Model with Purchases,

Dispositions, Shipments, Returns and Transshipments. Naval Research Logistics Quarterly, 24, 1-19.

Karmarkar, U.S. (1987). The Multilocation Multiperiod Inventory Problem: Bounds and

Approximations. Management Science, 33, 86-94. Karmarkar and N.R. Patel (1977). The One-Period, N-Location Distribution Problem. Naval

Research Logistics Quarterly, 24, 559-575. Krishnan, K.S. and V.R.K. Rao (1965). Inventory Control in N Warehouses. Journal of

Industrial Engineering, 16, 212-215. Robinson, L.W. (1990). Optimal and Approximate Policies in Multiperiod, Multilocation

Inventory Models with Transshipments. Operations Research, 38, 278-295. Tagaras, G. (1989). Effects of pooling on the optimization and service levels of two-location

inventory systems. IIE Transactions, 21, 250-257. Tagaras, G. and M.A. Cohen (1992). Pooling in Two-Location Inventory Systems with Non-

Negligible Replenishment Lead Times. Management Science, 38, 1067-1083.