BUSI4498 Advanced Operations Analysis
Stochastic Inventory Models
Dr Vahid Akbari
NUBS
Presentation outline
Overview of continuous inventory policies
(R, Q) model for fast moving items
(s, S) model
(S-1, S) model for slow moving items
Newsvendor model for items with a short selling period
Main reference: Nahmias Chapters 5
2
Introduction
Deterministic models: demand, lead time known
No need for buffer stocks
Place order when inventory position = demand during lead
time
Objective: minimise cost
Stochastic models: demand is uncertain
Deterministic models provide basis – sometimes also good
approximation for stochastic systems (e.g. if random
variation << predictable variation)
Models dealing explicitly with demand uncertainty
Objective: minimise expected cost (s.t. service level)
3
Overview of inventory policies
I(t) (R, Q) (R, Q): continuous review
Reorder point – reorder quantity
model: order Q units when the
Q
Q inventory position reaches level R. The
Q units arrive in stock after lead time t.
R
‘black line’ denotes inventory level =
t t stock on hand
‘green dotted line’ denotes the
(s, S) inventory position = stock on hand plus
I(t) stock on order (in-transit) – backorders
S (s, S): continuous review
q1 q2 Reorder point – order up to level
model: when the inventory position
s reaches level s, order an amount to
bring it back to target level S.
t
t 4
Overview of inventory policies
(T, Q)
I(t)
(T, S)
I(t) S
q1 q2
Q Q
t
t t t
t
T T t T T
inspection inspection inspection inspection
(T, S): periodic review – order up
(T, Q): periodic review - to model: at the beginning of every
reorder quantity model: at the review period T, order an amount to
beginning of every review period bring the inventory position back to
T, order Q units. The Q units the target level S. The units arrive in
arrive in stock after lead time t. stock after lead time t. 5
(R,Q) models: reorder point/order quantity
systems for fast moving items
I(t)
R+Q
R = reorder point
Q = reorder quantity
Q Q L = lead time
L L
R
Inventory position I(t) = stock-on-hand + on order – backorders
Net stock = stock-on-hand – backorders
Rule: if inventory position R, order Q
6
Key assumptions in basic (R,Q) model
Continuous review
Stochastic but stationary demand; expected demand rate l
units per year
Constant lead time L
Stock-outs can only occur during the replenishment lead
time → in (R, Q) model, we are interested in the demand
D during the lead time (probability distribution)
Expected demand during lead time L : E(D) = m = lL
Standard deviation s = var(D)½
Backordering, #backorders small compared to ave. inventory
Decision variables: Q, R ?
Costs: Setup cost K (£ per order); Per unit purchase or
production cost c (£ per unit); Holding cost h (£ per unit per
year); Stock-out cost p (£ per unit)
7
Cost optimisation: expected cost function per year
Holding cost: (negative inventory is ignored)
Expected inventory varies linearly between level SS and SS + Q
Safety Stock (SS): expected on-hand inventory just before an
order arrives
R = E(D) + SS = lL + SS (or SS = R – lL)
Average inventory = SS + Q/2 = R – lL + Q/2
Ave. holding cost = h(R – lL + Q/2)
Setup cost:
cfr. EOQ: the number of cycles (setups) per unit time = l/Q
Average setup cost per unit time = Kl/Q
Proportional ordering cost:
lc independent of R and Q, constant over any long time interval
→ ignore
8
n(R): expected number of stock-outs during a cycle T
I(t)
L
R
E(D) = llL
L= expected demand
during lead time
SS = safety stock
n(R) :expected number of
stock-outs during a cycle
9
Cost Optimisation: Expected Cost Per Year
Penalty cost:
Only during lead time shortages may occur.
n(R) = E(excess demand during lead time in one period)
= E(max(D – R, 0))
=> n(R) = (x R)f(x)dx
R
Expected penalty cost per year = pn(R)/T = pn(R)l/Q
Total expected cost per year:
G(Q, R) = h(R – lL + Q/2) + Kl/Q + pn(R)l/Q
10
Optimal Q and R
Take first derivatives and set to zero:
G (Q, R ) h Kl pln (R ) 2l[K pn (R )]
2 0 Q* Eq(1)
Q 2 Q Q 2 h
G (Q, R) pl dn( R)
h 0
R Q dR
d ( x R) f ( x)dx
dn( R)
R
f ( x)dx (1 F ( R))
dR dR R
1 F ( R* ) Qh / pl Eq(2)
Note 1: F(R) is probability that demand during lead time is R
Note 2: Two equations are coupled via R.
11
Iterative solution procedure
Optimisation approach: Iterative solution procedure until
two successive values of Q and R are the same.
Step 0: Start with Eq. (1) Q = EOQ
Step 1: Find R from Eq. (2), compute n(R)
Step 2: Update Q (substitute n(R) in Eq. (1))
Step 3: Stop if convergence; otherwise go to (1)
Note: if demand D during lead time is normally distributed
N(l, s): n(R) is computed by using L(z): Standard Loss
Function (see Tables): n(R) = sL(z)
1 t2
L( z )
2 z
(t z)exp(- )dt
2
12
Example
Demand rate: l = 2400 per year; h → annual interest rate:
30%; c = £40 per unit; K = £500 per order; L = 1 months;
demand during lead time ~ N( m = lL = 200, s = 50);
shortage cost is p = £100 per unit. Calculate Q and R.
Iteration 1
2Kl 2(500)(2400) Table: z 2.01
Q0 447
h (0.3)(40) R0 = lL + zs = 200 + 2.01(50) 301
Qh (447)(12) L(z) = 0.0083
1 F ( R0 ) 0 0.0224
pl (100)(2400) n(R0) = 50(0.0083) = 0.415
13
Example cont’d
Iteration 2
2(2400)[500 100(0.415)] Table: z 1.99
Q1 465
12 R1 = lL + zs = 200 + 1.99(50) 300
Q1h (465)(12) L(z) = 0.0087
1 F(R 1) 0.0233
pl (100)(2400) n(R1) = 50(0.087) = 0.435
Iteration 3
Stop
2(2400)[500 100(0.435)]
Q2 466 Table: z 1.99
12
R2 = lL + zs = 200 + 1.99(50) 300
Q2 h (466)(12)
1 F (R2 ) 0.0233
pl (100)(2400)
The optimal policy is Q = 466 and R = 300.
14
(R,Q) Model with Lost Sales
Backordering: previous formulas → typically also good
approximation for lost sales case (if likelihood of being out
of stock is small)
Otherwise, modify Eq. (2)
Cost function (holding cost)
G(Q, R) = h(R – lL + n(R) + Q/2) + Kl/Q + pn(R)l/Q
(When replenishment order arrives, the inventory is
increased by the full amount of the order Q.)
Eq(2): G (Q, R ) pln' ( R)
h hn' ( R) 0
R Q
1 F ( R* ) Qh /(Qh pl )
15
Service Level Approach in (R,Q) Systems
Why?
Cost of stock-out p is difficult to estimate (intangible components:
loss of goodwill, delays …)
Type 1 Service: Probability of not stocking-out during lead time (a)
Decoupling calculation of R and Q
Determine R to satisfy F(R) = a
Set Q = EOQ
Type 2 Service (Fill rate): Proportion of demand that immediately
met from stock (b)
Need to satisfy: n(R)/Q = 1 – b
Approximate Q = EOQ
Find R to solve n(R) = EOQ(1 – b)
16
Example service levels
Demand rate: l = 2400 per year; h→ annual interest rate: 30%;
c = £40 per unit; p = £100 per unit; K = £500 per order; L = 1
months; demand during lead time ~ N(200, 50); Calculate R for
type 1 and type 2 service of 98% (a = 0.98 and b = 0.98)
Type 1 service:
F(R) = 0.98 → Table: z = 2.05
Set R = m + zs = 200 + (2.05)(50) = 302.5 303
Q = EOQ 447
Type 2 service
n(R) = EOQ(1 – b) → L(z) = EOQ(1 – b)/s = (447)(0.02)/(50)
= 0.1788
L(z) = 0.1788 → Table: z = 0.563
Set R = m + zs = 200 + (0.563)(50) 228
17
A better estimate for Q (Type 2 service)
Solve p from Eq.(2): p Qh /[(1 F( R ))l ]
2l{K Qhn (R ) /[(1 F( R ))l ]}
Substitute in Eq.(1): Q
h
This is a quadratic equation in Q. The positive root of this equation
is:
2lK n (R )
2
n (R )
Q (3) SOQ formula
1 F(R ) h 1 F(R )
Service level order quantity
Solve (3) simultaneously with n(R) = (1 –b)Q
18
Scaling of lead time demand
Scaling of lead time demand
Suppose monthly demand N(l, s) ~ N(200, 50) and lead
time L = 3 months (assume type 1 service 98%, z =
2.05)
R lL zs L 600 z50 3 778
Lead time variability
Suppose monthly demand N(l, s) ~ N(200, 50) and lead
time L = N(mL, sL) = N(3, 1) months (assume type 1
service 98%, z = 2.05)
R lmL z s 2 m L l2s L2 600 z 502 * 3 2002 *12 1047
Safety stock depends on: the variability of demand,
the variability of lead time, the length of lead time,
the type and desired level of service
19
(s, S) model
s,S is a minimum/maximum inventory
policy. When the inventory level on-
S hand falls below a minimum, s, the site
will generate a request for a
q1 q2 replenishment order that will restore the
on-hand inventory to a target, or
s maximum, number, S.
The main difference between s,S and
t R,Q is that the s,S takes into account
t
exactly how far below the reorder level
the inventory is when the request for
replenishment is generated.
For the optimal strategy in s,S model:
First treat it as a (R,Q) model and find 𝑅 ∗ and 𝑄 ∗ ,
Then set:
𝒔∗ = 𝑹∗
𝑺 ∗ = 𝑹 ∗ + 𝑸∗
20
(S-1, S) models: slow moving items
For some items: only very few transactions available – normal
distribution is typically a poor fit; better are Poisson; compound
distribution (transaction sizes & occurrences) or empirical.
Classical models (R, Q) are no longer applicable when demand is very low
e.g., what if EOQ = 0.1? There is no saw tooth.
Solution: use simple rules for SMI (unless it is a very expensive or very
critical item) or apply (S-1; S) models.
(S-1, S) model:
Continuous review, order level models (R = S-1, S)
Equivalent to R = S-1 and Q = 1
Only one parameter S (order size is one) = base stock level
S = Inventory position = stock on hand + stock on order –
backorders
Key issue: fix S for predetermined service level or via cost
minimisation (note: no order cost in these models)
21
Evolution of inventory in (S-1, S)
I(t)
(S = 2)
3
2
1
0
L L L t
L L
L
on hand 2 1 2 1 0 1 2 1 0 0 0 1 2
backorders 0 0 0 0 0 0 0 0 0 1 0 0 0
on order 0 1 0 1 2 1 0 1 2 3 2 1 0
inv position 2 2 2 2 2 2 2 2 2 2 2 2 2
Inventory position always S
22
(S-1, S) model with Poisson demand
If demand is Poisson with parameter l; the probability that n
demands occur within t time units is then:
pn(t) = (lt)nexp(-lt)/(n!)
Assuming L = lead time and = S base stock level, one can
show that:
Type I service level (S) = F(S-1) = Sd pd(L) with d = 0, …, S-1
Expected Backorder level B(S) = Sd (d-S) pd(L) with d = S, …, ∞
Expected Inventory level (S) = S – lL + B(S)
23
(S-1, S) model with Poisson demand:
Example
Annual demand for a component X is l = 1.2 units per year
(assume Poisson); the lead time L is 6 months. Determine S for a
service level of at least 95% (99%).
Demand during lead time is: lL = 0.6 units
pn(L) = (lL)nexp(-lL)/(n!)
l = 0.6
d pd() Spd()
0 0.54881 0.54881 For d 2; Service level= 0.97688 so
for at least 95% service level, S = 3
1 0.32929 0.87810
2 0.09879 0.97688 For d 3; Service level= 0.99664 so
3 0.01976 0.99664 for at least 99% service level S = 4
4 0.00296 0.99961
5 0.00036 0.99996
6 0.00004 1.00000
7 0.00000 1.00000
8 0.00000 1.00000
24
The newsvendor model
Single period model; typically for perishable products or
products with very short sales period / life cycle
Example: Manufacturer of Christmas lights; demand is
uncertain and peaks just prior to Christmas (otherwise zero). If
demand is not met, sales are lost. Unsold light sets are sold
after Christmas at a steep discount (Production cost = £1 per
set; Revenue (regular sale) = £5 per set; (discount) = £0.5;
Demand N(m, s) = N(10,000; 2000))
How much should we produce?
25
Newsvendor model: A cost minimization
approach
Parameters:
Q = # production/orders
D = demand (random var.); density function f(x); cdf F(x)
co = Overage cost (loss of excess production / supply)
cu = Underage cost (loss of profit for under supply)
Approach
Develop expression for cost G(D, Q)
Determine the expected value of cost function
Determine Q* that minimises expected cost
Cost function:
G(D, Q) = co(Q – D) if Q > D
cu(D – Q) if Q < D
26
Newsvendor model
Cost function: G(D, Q) = comax(0, Q – D) + cumax(0, D – Q)
Expected cost: G(Q) = E[G(D, Q)]
G(Q) = c o max (0, Q x)f(x)dx c u max (0, x Q)f(x)dx
0 0
Q
= c o (Q x)f(x)dx c u (x Q)f(x)dx
0 Q
Optimal Q → (first derivative of expected cost function = 0 &
check if minimum)
G' (Q) c oF(Q) c u (1 F(Q)) 0 F(Q* )
cu Critical
(c o c u ) ratio
F(Q*) is probability that the demand does not exceed Q*
27
Newsvendor: example
Example: Demand ~ N(m; s) = N(10,000; 2000)
Critical ratio: F(Q*) = cu / (cu + co) = 4 / (4 + 0.5) = 0.89
0.00025 zs
0.0002
0.00015
f(Q)
0.0001 Area = 0.89
0.00005
0
2000 4000 6000 8000 10000 12000 14000 16000 18000
Q* = m + zs z can be found in from standard normal distribution
N(0, 1) tables, tabulating (z, F(z))
F(z) = 0.89, z = 1.23
Q* = 10,000 + (1.23)(2000) = 12,460
28
Newsvendor model: A profit maximization
approach
Parameters:
Q = # production/orders
D = demand (random var.); density function f(x); cdf F(x)
c = purchase cost (loss of excess production / supply)
p = market selling price
s = salvage value (value of leftover inventory)
Expected Profit
П(D, Q) = p E[min(Q,D)] + s E[max(0, Q – D)]- cQ
Q Q
= p xf(x)dx p Qf(x)dx s (Q - x)f(x)dx cQ
0 Q 0
First derivative: d П(D, Q) /dQ=p(1-F(Q))+sF(Q)-c
=> F(Q*)=(p-c)/(p-s)
Relevance to cost minimization model:
c u =p-c
c o =c-s 29