You are on page 1of 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
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>

1
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.

2
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.

3
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
Xijk t = 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 }

4
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 (ëPikt + Σ w (s wZwt (2)


+ cwiYwit ) + Σ j fijXijkt ))) – ok ∀k

Σ w Ywit + Σ j Xijkt-1 ≥ dikt-1 ∀ k, i, t in 2..n (3)

Σ w Zwt ≥ Σ t-5,t-1 Σ i át dikt-1 ∀ k, t in 6..n (4)

Σ w Ywi1 + hi – dik1 – Σ j Xijk1 + Pik1 = 0 ∀ k, i (5)

Σ w Ywit + Σ j Xjikt-1 – dikt – Σ j Xijkt + Pikt = 0 ∀ k, i, t in 2..n (6)

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

Pikt ≤ dikt Uikt ∀ k, i, t (8)

Σ i Ywit ≤ vw + Σ t2=1,t-1 (Zwt2 – Σ i Ywit2) ∀ w, t (9)

Dát ≥ Zwt ∀ 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.

5
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.

6
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 Total % Approx.
Cost Regret Difference 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
# Frequency Max shortage Avg. shortage
Shortages of shortage amount amount
Case 1 – transshipments 8 3.56% 13 7.25
Case 2 – no transshipping 15 6.67% 40 12.8

7
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. Total Qty. Avg. Qty. Std. dev.
Shipped to Shipped to Shipped to for amt.
warehouse facilities facilities 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

8
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.

9
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

10
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.

11
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;

12
param costwf (tr): W:= A 1
B1
C1
D1
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;

13
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]);

14
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];

15
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]);

16
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];

17
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;

18
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];

19
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.

20

You might also like