Strategic Safety Stocks in Supply
Chains: Update on Recent Work
Stephen C. Graves
MIT, E53-347
sgraves@mit.edu
http://web.mit.edu/sgraves/www/
Joint work with Sean Willems, Boston University,
Katerina Lesnaia, Oracle, Tor Schoenmeyr, FirstSolar
Page 1
Stephen C. Graves Copyright 2010 All Rights Reserved
Overview
• Motivation and assumptions for SIP model
• Prior work – review of base model &
example (joint with Willems)
• Recent work – extend to account for
capacity (joint with Schoenmeyr)
• Recent work – extend to include evolving
forecasts (joint with Schoenmeyr)
• Summary
Papers available on request!
Page 2
Stephen C. Graves Copyright 2010 All Rights Reserved
Strategic Safety Stock Model: Intent
• Tactical model to determine the amount and
positioning of safety stocks in supply chains
• Tactical model to support supply chain
improvement teams
• Simple model, easily accessible, runs on PC,
understandable inputs/outputs; academic version
available from www.sipmodel.com
• Commercialized by Optiant; applications support
both tactical and operational decisions
Page 3
Stephen C. Graves Copyright 2010 All Rights Reserved
Assumptions
• Supply chain modeled by an acyclic graph
• Deterministic processing time for each
stage
• No capacity constraints
• Deterministic yield
• Periodic review, base stock control for
each stage; common review period and
no lot sizing
Page 4
Stephen C. Graves Copyright 2010 All Rights Reserved
Assumptions
• Fixed service time between stages where
service time is the decision variable
• Each stage quotes same service time to all
adjacent downstream stages
• Stationary, bounded demand process for
each end item
• Each stage provides 100% service:
“Guaranteed service model”
Page 5
Stephen C. Graves Copyright 2010 All Rights Reserved
Review of guaranteed-service base-stock problem
Orders d(t)
Orders d(t)
Stage k
Processing
Inventory
Service time
Sk 1
Processing time
Tk
Service time
Sk
At time t  S k node k must deliver d(t) to the downstream node from its inventory
At time t  Sk 1, d(t) units are delivered as raw material from node k + 1, and at
time t  Tk  Sk 1 the d(t) units are ready as inventory at node k
Stage k must have a base stock level equal to max demand over
the net replenishment time Sk 1  Tk  Sk   k
Page 6
Stephen C. Graves Copyright 2010 All Rights Reserved
Base stock mechanics
B is base stock level.
SI
S k 1 ; S
I (t) is inventory at end of time t.
Sk
Demand arrives:
received
d0
…
dt-SI-T-1
…
dt-SI-T
dt-S
…
dt
shipped
d0
…
dt-SI-T
received
shipped
I
Page 7
d0
…
dt-S
Stephen C. Graves Copyright 2010 All Rights Reserved
Key results for guaranteed service,
bounded demand
I k  t   Bk  d k  t  Sk 1  Tk  1  d k  t  Sk 1  Tk  2  
I k  t   0  Bk  Max  d k  t  Sk 1  Tk  1 
 dk t  Sk 
 d k  t  S k    Dk  S k 1  Tk  S k 
For Dk      z 
E  I k  t    Bk     Sk 1  Tk  Sk   z Sk 1  Tk  Sk
Page 8
Stephen C. Graves Copyright 2010 All Rights Reserved
Review of guaranteed-service base-stock problem
Stage k+1
Stage k
Processing Inventory
Tk 1
Safety
stock
Stage k-1
Processing Inventory
Sk 1
Tk
z Sk  2  Tk 1  Sk 1
Processing Inventory
Sk
z Sk 1  Tk  Sk
Tk 1
Sk 1
z Sk 1  Tk  Sk
If we view the service times as decision variables we get a global optimization problem:
N
min  hk z S k 1  Tk  S k
Sk
k 1
S k  0 k
S1  s1
S k 1  Tk  S k  0 k
Page 9
Stephen C. Graves Copyright 2010 All Rights Reserved
Review of guaranteed-service base-stock problem
N
min  hk S k 1  Tk  S k
Sk
k 1
S k  0 k
S1  s1
S k 1  Tk  S k  0 k
Simpson (1958): Solve serial system through enumeration. “All-or-nothing”
property of optimal solution (i.e., either Sk  0 or Sk  Sk 1  Tk )
Graves and Willems (2000): Solve spanning tree system through
polynomial-time dynamic programming (Lesnaia, 2004). Fast enough for
large, real-life applications.
Page 10
Stephen C. Graves Copyright 2010 All Rights Reserved
Algorithmic Results
• For serial systems, Simpson (1958) showed the all or
nothing property for solution
• Graves and Willems (2000) developed a pseudopolynomial DP for spanning trees; also Graves (1988),
Inderfurth (1991) and Inderfurth and Minner (1998)
• Lesnaia (2004) provides polynomial DP for spanning tree
and specialized algorithm for any two layer network
• General network is NP hard (Lesnaia, 2004); optimum
occurs at an extreme point for concave bound function
• Several exact and heuristic algorithms for general
networks: Humair and Willems (2006, 2008); Lesnaia
(2004); Minner (2000); Magnanti et al. (2006)
Page 11
Stephen C. Graves Copyright 2010 All Rights Reserved
KIMES 100
Page 12
Stephen C. Graves Copyright 2010 All Rights Reserved
Supply Chain: Before
Page 13
Stephen C. Graves Copyright 2010 All Rights Reserved
Supply Chain: Lead Times
Page 14
Stephen C. Graves Copyright 2010 All Rights Reserved
Supply Chain: Costs
Page 15
Stephen C. Graves Copyright 2010 All Rights Reserved
Supply Chain: Optimized
Page 16
Stephen C. Graves Copyright 2010 All Rights Reserved
Supply Chain: Implemented
Page 17
Stephen C. Graves Copyright 2010 All Rights Reserved
Supply-Chain
Page 18
Stephen C. Graves Copyright 2010 All Rights Reserved
KIMES 100
• Project results
–Sizing finished goods inventory
–Assess where to target lead-time
reduction efforts
–Framework to work with suppliers on
purchasing long lead-time parts
Page 19
Stephen C. Graves Copyright 2010 All Rights Reserved
Key Benefits & Learning
• Shows value from “holistic” perspective
• Formalizes inventory-related supply chain costs, and
provides an optimal benchmark
• Provides framework and standard terminology for crossfunctional debate
• Shows the effectiveness of inventory, strategically
positioned in a few places to de-couple the supply chain
• De-couple supply chain prior to a high-cost added stage;
and prior to product explosion
• Most leverage from lead time reduction
Page 20
Stephen C. Graves Copyright 2010 All Rights Reserved
Battery Supply Chain
Page 21
Stephen C. Graves Copyright 2010 All Rights Reserved
HP Supplies Inventory Modeling Project
Suppliers
Factories
Regions
Customers
Answer the
bulk pen
inventory
question…
… in the context
of what is best
for the system
Page 22
Stephen C. Graves Copyright 2010 All Rights Reserved
# Models Built
8000
7000
6000
5000
4000
3000
IPG Builds Roughly 1000 Network Models per Year
standard training class and tier based
support
2000
1000
0
2001
2002
2003
2004
2005
2006
2007
2008 2009
Key Limitations, circa 2000
•
•
•
•
•
•
Stationary demand assumptions
No capacity constraints
DP algorithm for spanning tree only
Deterministic lead times
Common review period
Common service time to all downstream
customers
Page 24
Stephen C. Graves Copyright 2010 All Rights Reserved
Strategic safety stocks in supply chains with
evolving forecasts
• Same assumptions as for base case, but now there
is an evolving forecast for the end item demand
• Guaranteed service model – each stage commits to
a guaranteed service but now for a bound on
forecast errors
• Each stage uses a forecast-based ordering policy,
rather than a base stock policy
Page 25
Stephen C. Graves Copyright 2010 All Rights Reserved
Forecast evolution model Graves et al. (1986), Heath and Jackson (1994)
ft (t  i) is our forecast, in period t, for demand in period t + i
The forecast is initialized as ft (t  H ) at the horizon
Each period the forecasts are revised
Current forecast is demand ft (t )  d (t )
ft (t  i)  ft 1 (t  i)  ft (t  i)
forecast revision
Assumptions (“rational forecasts”):
(A1) ft (t  i) are i.i.d. R.V.
(A2) E[ft ( j )]  0
Unlike previous authors, we make no assumptions about ft (t  H )
We show an equivalence with this model and general, state-space
models of demand (e.g., ARIMA)
Page 26
Stephen C. Graves Copyright 2010 All Rights Reserved
Lk  Sk 1   j 1T j cumulative lead time
k
Order placed by stage k
Forecast-based order policy:
Pk (t ) 
f t (t  Lk )
Scheduled future demand

Lk 1
 f (t  i)
i 0
t
.
Downstream schedule changes
For zero service times, this corresponds to orders in a simple (no lot sizing,
etc) MRP system.
For zero service times, the forecast-based orders have some local optimality
properties (Aviv, 2003)
Both the forecast evolution model, and similar order mechanisms have been
considered before; new contribution is to consider non-zero service times in a
global optimization problem
Page 27
Stephen C. Graves Copyright 2010 All Rights Reserved
We can use the equations for the evolving forecast and the order
policy to derive the inventory
t  k t  Lk
I k (t  Sk 1  Tk )  I    fi ( j )
0
k
i t 1 j i
Safety stock
constant
Forecast revisions
t  k t  Lk
If we can find a bound on the sum:
  f ( j )
i t 1 j i
and set the safety stock level to
i
t
t  k t  Lk


0
I k  max    fi ( j ) 
i t 1 j i

then the stage can guarantee service; i.e.,
Page 28
Ik t   0
Stephen C. Graves Copyright 2010 All Rights Reserved
How might we set the bound?
tL
 D
For the cumulative forecast error:
j t 1
Define
j
 ft ( j ) 
 tL

F ( L)      D j  f t ( j )  
 j t 1

D is demand RV;
σ() is now a
function too!
F ( L) can be calculated from historical data on demand and forecasts
We find that
 t  k t  Lk

    fi ( j )   F 2  Lk   F 2  Lk 1 
 i t 1 j i

which we propose as a bound. By setting the safety stock level
I k0  z F 2  Lk   F 2  Lk 1 
we have a valid (probabilistic) bound. Loosely speaking, the stages
will provide guaranteed service as long as the cumulative forecast
errors are smaller than zF ( L )
Page 29
Stephen C. Graves Copyright 2010 All Rights Reserved
L2
L3
Forecast error
L1
1
2
3
4
5
6
7
8
9
10
j
Time into the future
Optimization problem: how do we find the least cost safety stock
configuration that maintains guaranteed service for any forecast/demand
realization within the bounds
N
min  hk F 2  Lk   F 2  Lk 1 
Sk
k 1
Lk  Sk 1   j 1 T j
k
k
Sk  0 k
S1  s1
Sk 1  Tk  Sk  0 k
Page 30
Stephen C. Graves Copyright 2010 All Rights Reserved
Forecast problem
Base stock problem
N
min  hk F 2  Lk   F 2  Lk 1 
Sk
N
min  hk z S k 1  Tk  S k
k 1
Lk  Sk 1   j 1 T j
k
Sk
k
k 1
S k  0 k
Sk  0 k
S1  s1
S1  s1
S k 1  Tk  S k  0 k
Sk 1  Tk  Sk  0 k
The problem is very similar to the base stock problem solved by Simpson
(1958), and extended by Graves and Willems (2000) and others.
Under some mild assumptions about the forecasts, we show that the allor-nothing property holds
We can use existing, effective algorithms to find optimal service times,
after modifying the bound function
Page 31
Stephen C. Graves Copyright 2010 All Rights Reserved
Managerial insight nugget
• Assuming forecast revisions at time t are
independent and with proposed bound on
forecast errors:
I  z S k 1  Tk  S k 
0
k
j  Lk

j  Lk 1 1
 2  D  t  j  ; ft  t  j  
Page 32
Stephen C. Graves Copyright 2010 All Rights Reserved
• Electronic test system manufactured by Teradyne, Inc.
• 3,866 part/locations
• Used real data on supply chain topology, lead times, costs of parts
Page 33
Stephen C. Graves Copyright 2010 All Rights Reserved
Correlation forecast - demand
1.2
1
0.8
0.6
0.4
0.2
0
-0.2
0
1
2
3
4
5
6
7
8
9
10
Weeks into the future
• Schedule contained booked and “preliminary” orders, and got
increasingly locked down as the date of delivery approach
• The schedule was effectively a forecast, and we used data on past
schedule changes to calculate F(L)
• As a forecast of actual demand, it was fairly accurate in the short
term but useless >10 weeks out
Page 34
Stephen C. Graves Copyright 2010 All Rights Reserved
Total cost
?
? ???
25.5% improvement
Difficult to compare with
current situation because
no consistent optimization
procedure/ service level
used
Current
Optimal base stock
Optimal forecast/MRP
• In the forecasted case, most savings were far downstream, where forecasts were
accurate
• Optimization time ~1 minute on a laptop computer
• Schoenmeyr thesis discusses generalizations for multi-product networks
Page 35
Stephen C. Graves Copyright 2010 All Rights Reserved
2
Base stock policy (Graves-Willems)
Total holding costs
5 week forecast
10 week forecast (current)
1
20 week forecast
0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Total lead time (weeks)
Page 36
Stephen C. Graves Copyright 2010 All Rights Reserved
Summary of results
• We
have shown how to map the optimization method
used for base stock systems, so that it can be used for
forecast-driven (push) systems
• This approach enables optimization of large system
with
• Evolving schedule in make-to-order context
• Evolving demand forecast in make-to-stock context
• Benefit relative to base stock case depends on
forecast quality; in one case study it was ~25%
Page 37
Stephen C. Graves Copyright 2010 All Rights Reserved
Strategic safety stocks in supply chains with
capacity constraints
• Same assumptions as before, but now there can be
a capacity constraint at each stage
• Guaranteed service model – each stage commits to
a guaranteed service for bounded demand
• Deterministic production lead time T
• Each stage follows a base stock policy, subject to
capacity constraint
Page 38
Stephen C. Graves Copyright 2010 All Rights Reserved
Open problem: what if there are capacity constraints?
Orders d(t)
Orders d(t)
Stage k
“stuck”
units
Service time
Sk 1
 ck / period
Processing
Processing time
Inventory
Tk
Service time
Sk
Now z Sk 1  Tk  Sk may not be enough safety stock, because
any units that get “stuck” will be delayed.
Q: How much extra inventory do we need?
Q: How do we optimize a supply chain with one or more capacity constraints?
Q: Do the structural results from before (“all or nothing”) hold up?
Page 39
Stephen C. Graves Copyright 2010 All Rights Reserved
Q: How much extra inventory do we need?
A: The base stock level for the node with capacity constraint can be calculated
with a functional transformation of the unconstrained base stock level.
In general
Original base stock level/order bound: B( )  D( ), for   Sk 1  Tk  Sk
Base stock with capacity constraint:
B( )  ( D)( )  max D(  n)  ck n
n0
Page 40
Stephen C. Graves Copyright 2010 All Rights Reserved
Q: How much extra inventory do we need?
A: The base stock level for the node with capacity constraint can be calculated
with a functional transformation of the unconstrained base stock level.
Common example
Original base stock level/order bound:
Base stock with
capacity constraint:
B( )  D( )    2 

2
ck 
(ck   )

B( )  ( D)( )  

D  

2
for  
(ck   ) 2
2
for  
(ck   )2
The base stock grows hyperbolically as we decrease capacity. On the other
hand, if the capacity constraint is large enough it becomes irrelevant.
Page 41
Stephen C. Graves Copyright 2010 All Rights Reserved

2
ck 
(ck   )

( D)( )  

D  

2
for  
(ck   ) 2
for  
2
(ck   ) 2
D( )    2 
With a capacity
constraint, we permit
negative net
replenishment time
A stage with a capacity
constraint needs safety stock
even at zero net
replenishment time
Page 42
For sufficiently large net
replenishment times the
capacity constraint does not
matter
Stephen C. Graves Copyright 2010 All Rights Reserved
Q: How do we optimize a supply chain with one or more capacity constraints?
A: We have shown how to calculate new base
stock levels for a single stage. Other stages
are not affected (orders placed/delivered as
before). Hence after transforming affected
bounds, we can use existing optimization
procedures.
Q: Do the structural results from before (“all or nothing”) hold up?
A: The functional transformation
( D)( )  max D(  n)  ck n
n 0
preserves concavity, and hence the “all or nothing” property holds.
Page 43
Stephen C. Graves Copyright 2010 All Rights Reserved
But can we do better?
CensoredOrders
orders dd(kt()t )
Orders d k(t1)(t )
Stage k
BLk (t )
“stuck”
units
Service time
Sk 1
 ck / period
Processing
Processing time
Inventory
Tk
Service time
Sk
“Why should we ever order  ck units if we cannot process them
when they arrive?”
Place the censored order dk (t )  min(dk 1 (t )  BLk (t  1), ck )
where we keep a backlog of delayed orders BLk (t )  max BLk (t 1)  dk 1 (t )  ck ,0
Page 44
Stephen C. Graves Copyright 2010 All Rights Reserved
Q: But how much inventory do we need/ how do we optimize supply chain?
A: We find that base stock transformation remains the same but we need
another functional transformation to obtain a new bound for orders (demand)
placed by a censoring node  k 1Dk ( )  min(ck , Dk ( ))
Order bound
Dk 1 ( )   k 1Dk ( )
Dk ( )   k Dk 1 ( )
Dk 1 ( )   k 1Dk 2 ( )
Base stock
Bk 1 ( )   k 1Dk ( )
Bk ( )   k Dk 1 ( )
Bk 1 ( )   k 1Dk 2 ( )
 ck 1
 ck
 ck 1
Q: Do the structural results from before (“all or nothing”) hold up?
A: Yes. (Φ also preserves concavity)
Page 45
Stephen C. Graves Copyright 2010 All Rights Reserved
Serial system with 8 nodes and capacity constraint at node 3. Assumed processing
time 5 at each node; holding costs increase with 40% per stage.
Average Inventory
8
7
6
5
4
3
2
1
Total
cost
No capacity
constraint
0
0
0
17.9
0
0
0
17.9
2,377
Capacity constraint,
no censorship
0
0
15.5
0
0
15.5
0
12.6
2,433
Capacity constraint,
censorship
5
5
5
5
5
6.5
0
12.6
2,233
• Censorship reduces cost impact of constraint
• Censorship cost is sometimes even lower than uncapacitated problem!
• “Paradox”: Under censorship, add constraint → better solution
• Explanation 1: Censorship smoothes demand and reduces safety stocks
upstream
• Explanation 2: The (uncensored) local base stock policy is not optimal in a multistage system with guaranteed service
• It may be of interest to censor even in the absence of actual capacity constraints
Page 46
Stephen C. Graves Copyright 2010 All Rights Reserved
Summary of results for capacity constraints
• We can generalize the base stock model to incorporate capacity
constraints.
• For serial systems, we find exact analytical transformations, under which
existing algorithms can be used with small modifications
• Known structural results (“all-or-nothing”) hold.
• These results also hold if we censor orders with the capacity. The
necessary safety stocks are reduced.
• Censored orders sometimes lead to costs that are even lower than for the
same problem without capacity constraints (in many examples 30-40%
reductions by censoring the right amount at the right location)
• Development is for serial systems, and extends immediately to assembly
structures; more general networks require a calculus to combine bounds
Page 47
Stephen C. Graves Copyright 2010 All Rights Reserved
Overall Summary
• Motivation, assumptions and review of guaranteed service supply
chain model
• Extension for capacity
– Requires transformation of base stock and of demand bound
– Structural results and algorithms extend directly
– Capacity constraint can lead to lower cost solution
– Multi-item supply chains requires more work
• Extensions for evolving forecast
– Requires forecast-based ordering and bound on forecast errors
– Structural results and algorithms extend directly
– Incorporating forecast can lead to lower costs
– Multi-item supply chains requires more work
Page 48
Stephen C. Graves Copyright 2010 All Rights Reserved
Example demand data
600
500
Maximum Demand
Expected Demand
300
Safety Stock
200
100
20
18
16
14
12
10
8
6
4
2
0
0
Units
400
Net Replenishment Time
Page 49
Stephen C. Graves Copyright 2010 All Rights Reserved
When we have no forecast
 tL

F ( L)  z    D j  ft ( j )    z L
 j t 1

We then set the safety stock level
I k0  F 2  Lk   F 2  Lk 1   z Lk  Lk 1
 z S k 1  Tk  S k
to get the base-stock model !
Page 50
Stephen C. Graves Copyright 2010 All Rights Reserved