422. Graves-Willems
The guaranteed-service multi-echelon inventory model (Graves & Willems 2000). Each stage promises a service time (max lead time it’ll deliver in) to its downstream customer. Safety stocks are placed to make those service times achievable given bounded demand.
Used by Procter & Gamble, Hewlett-Packard, Intel, and most modern supply-chain network design software.
422.1. Setup
A network of stages (general topology — serial, assembly, distribution, or mixed). For each stage :
- : internal processing / production time at the stage
- : outbound service time to downstream — what stage commits to deliver in
- : inbound service time from upstream — what stage ‘s suppliers commit to deliver in
Customer-facing stages have (instant fulfillment) typically.
422.2. Net replenishment time
Stage ‘s net replenishment time — how long it must cover with safety stock:
— inbound time + processing time − outbound promise time. If you can absorb supplier and processing delays without breaking your downstream promise, is small (less safety stock needed).
Constraint: (can’t promise faster than the work takes).
422.3. Safety stock at each stage
Assume demand at the customer-facing stage is bounded by some upper-tail quantile (typical: over the relevant interval). Then safety stock at stage :
— the standard square-root-of-lead-time form, but with (net replenishment time) instead of pure lead time. The comes from the variance of demand over a time interval scaling linearly.
Total safety-stock cost across the network:
422.4. Optimization
Decision variables: the inbound / outbound service times at every stage.
Constraints:
- (the inbound time at is the slowest outbound from any upstream feeder)
- Customer-facing fixed (often )
Objective: minimize .
Algorithm:
- For trees / serial systems — dynamic programming, time
- For general networks — Magnanti et al. extension; MILP
422.5. Geometric intuition
Two extreme strategies for each stage:
- — hold no safety stock here, just pass the delay through (you must trust upstream / promise slower downstream)
- — hold enough safety stock to fully decouple from upstream (you can promise )
Optimal placement: tradeoff costs across all stages — concentrate inventory where holding is cheap (upstream, low ) and decoupling pays off most.
422.6. Risk pooling appears naturally
If two downstream stages share an upstream stage, the upstream stage’s safety stock covers their combined variability — naturally captures risk pooling.
422.7. When to use
- Generally — anywhere you have a multi-stage supply network and need safety-stock placement
- Works for assembly (multiple upstream feed one downstream)
- Works for distribution (one upstream feeds multiple downstream)
- Works for general DAG networks
422.8. Limitations vs Clark-Scarf
- Bounded (not stochastic) demand: the cost of -quantile coverage rather than full distributional optimality
- Service-time commitment assumed: real supply chains have stochastic delays even within commitments
- See Stochastic-service for the relaxation
422.9. See also
- Multi-Echelon — overview
- Clark-Scarf — stochastic-demand alternative
- Stochastic-service
- Safety Stock
- Risk Pooling