Inventory Control
IME 451, Lecture 3
Economic Order Quantity
• Harris (1913) developed this basic, widely
used model to find economic lot sizes
• Balancing inventory holding costs against
setup (or order) costs
• Assumptions
• Production is instantaneous, no capacity constraint
• Delivery is immediate, no time lag
• Demand is deterministic, no uncertainty
• Demand is constant over time
• A production run incurs a fixed setup cost
• Products can be analyzed individually (single product only
or no interactions such as shared resources or machines)
EOQ Variables
• D = demand rate (in units per year)
• c = unit production cost, not counting setup or
inventory cost (in dollars per unit)
• A = fixed setup (ordering) cost to produce
(purchase) a lot (in dollars)
• h = holding cost (in dollars per unit per year); if
holding costs are only due to interest then h=ic
where i is the annual interest rate
• Q = lot size (in units); this is the decision
variable
EOQ Derivation
• Total annual cost Y(Q) hQ AD
Y (Q) cD
2 Q
• Find the minimum Y(Q) by dY (Q) h AD
setting derivative w.r.t. Q 2 0
dQ 2 Q
equal to 0
• Check that the second dY 2 (Q) AD
derivative is positive for any 2
dQ 2 Q3
positive Q (convex function,
so Q* is a min, not a max) 2 AD
• Solve first derivative for Q* Q
*
h
Problems with EOQ
• How realistic are assumptions (Instantaneous
production? Deterministic demand?)
• Setup costs may be difficult to estimate, especially in
production environments rather than purchasing
systems
• Average number of lots per year, F D
F
• Total inventory investment, I Q
cD
• Time between orders, T I
2F
Q 2A
T T
*
D hD
Sensitivity of EOQ Models
• Holding and setup costs are fairly insensitive to
lot size
• Errors caused by restricting lot sizes to powers
of 2 are minimal (no more than 6%)
• Powers of 2 ordering can facilitate sharing truck
resources (one week, two weeks, four weeks…)
• Extensions involve non-instantaneous
production (economic production lot model),
backorders, major and minor setups, and
quantity discounts
Dynamic Lot Sizing (Wagner
Whitin)
• Notation
t = a time period = 1, 2, …, T where T is the planning horizon
Dt = demand in period t (in units)
ct = unit production cost (in dollars per unit)
At = setup cost to produce a lot in period t (in dollars)
ht = holding cost to carry a unit of inventory from period t to
period t+1 (in dollars per unit per period)
It = inventory (in units) leftover at the end of period t
Qt = lot size for period t (in units); there are T decision variables,
one for each period
Wagner Whitin Procedure
• Qt will be 0 or will be Dt, Dt+Dt+1 , Dt+Dt+1+Dt+2 ...
• Produce nothing or produce exactly enough to
cover the current period plus some integer
number of future periods
• Produce for the first period in the first period
• For each subsequent period, decide whether it
is more economical to produce that period’s
demand in the current period or any previous
period
• Follow example in book, pp. 60-61
Models for Uncertain Demand
• Finding statistical reorder points to account for
randomness in demand
• News Vendor – single replenishment; vendor
buys paper at start of day and discards any
leftover at end of day
• Base Stock – replenish inventory one unit at a
time but carry base stock to cover lag time
• (Q,r) model – when inventory reaches or falls
below level r, order a quantity of Q items
News Vendor Model
• Assumptions
• Products are separable, consider 1 at a time
• Planning is for a single period only
• Demand is random
• Deliveries are made in advance of demand
• Costs of overage or underage are linear
• Notation
• X = demand (in units), a random variable with mean and
standard deviation
• G(x) = P(X<=x) = c.d.f. of demand
• cs = cost (in dollars) per unit of shortage
• co = cost (in dollars) per unit of overage
• Q = production or order quantity (in units); this is the
decision variable
News Vendor Equations
• To balance overage vs cs
G (Q )
*
shortage costs, choose order co cs
quantity Q*
• Assume that G is normal, Q *
cs
G (Q )
*
where is the cdf of the co cs
standard normal function
• Find z in a standard normal
Q*
table (Table 1 at end of text) z
• Solve for Q* Q z
*
Base Stock Model
• Assumptions
• Products can be analyzed individually
• Demands occur one at a time
• Unfilled demand is backordered
• Replenishment leadtimes are fixed and known
• Replenishments are ordered one at a time
• Notation
• l = replenishment leadtime (in days), assumed constant
• X = demand during replenishment leadtime (in units)
• G(x) = P(X<=x) = c.d.f. probability demand during
replenishment leadtime is less than or equal to x
• = E[X] = mean demand (in units) during leadtime l
• = E[X] = standard deviation of demand (in units) during
leadtime l
Base Stock Model
• Notation (continued)
• h = cost to carry one unit of inventory for one year
• b = cost to carry one unit of backorder for one year
• r = reorder point (in units)
• R = r + 1 = base stock level (in units)
• s = r - = safety stock level (in units)
• S( R ) = fill rate or service level, fraction of orders filled
from stock as a function of R
• B( R ) = average outstanding backorders
• I( R ) = average on-hand inventory
• Inventory position = on-hand inventory –
backorders + orders
Base Stock Equations
• For this model, at all times inventory position = R
• Service level, S( R ) = G (R – 1)
• Backorders are 0 if x < R R
B( R) [1 G ( x)]
• Backorders are x-R if x>=R x 0
• Expected backorder level B( R )
• I ( R ) = R – + B( R )
• Use table 2.5 to find fill rates
b
G( R )
*
R * z
bh
(Q,r) Model
• Assumptions
• Similar to base stock except
• There is a fixed cost for each replenishment
order, OR
• There is a constraint on the number of orders per
year
• Decide how much safety stock to carry to
cover leadtimes AND what quantity to
order
(Q,r) Notation
• D = expected demand per year (in units)
• l = replenishment leadtime (in days)
• X = demand during replenishment leadtime (in units), random variable
• = E[X] = Dl/365 = expected demand (in units) during leadtime l
• = E[X] = standard deviation of demand (in units) during leadtime l
• G(x) = P(X<=x) = c.d.f. probability demand during replenishment leadtime is less than or equal
to x
• A = setup cost per replenishment (in dollars)
• c = unit production cost (in dollars per unit)
• h = cost to carry one unit of inventory for one year
• k = cost per stockout
• b = cost to carry one unit of backorder for one year
• r = reorder point (in units)
• Q = replenishment quantity
• s = r - = safety stock level (in units)
• F (Q,r) = order frequency, as a fuction of Q and r
• S( Q,r ) = fill rate or service level, fraction of orders filled from stock as a function of Q and r
• B( Q,r ) = average outstanding backorders
• I( Q,r ) = average on-hand inventory
(Q,r) Equations
• Replenishment quantity Q affects cycle stock,
inventory that is held to avoid excessive
replenishment costs (like EOQ)
• Reorder point r affects safety stock, inventory
held to avoid stockouts (like Base Stock)
• Either minimize:
min fixedsetup cos t backorder cos t holding cos t
Q ,r
or
min fixedsetup cos t stockout cos t holding cos t
Q ,r
Fixed Setup Cost & Backorder Cost
• Fixed setup (or order) cost
• First, set number of orders per year
• Then, find annual fixed order costs
D D
F (Q, r ) F (Q, r ) A A
Q Q
• Backorder Cost
• Inventory position is uniformly distributed between r+1 and
r+Q
• Averaging the backorder level over the range r+1 to r+Q
1
B (Q, r ) B (r 1) ... B (r Q)
Q
Stockout Cost in (Q,r) Model
• Penalizes poor customer service
• Charge a cost each time a stockout occurs
• Charge a penalty that is proportional to the time a customer
waits to have their order filled
1
S (Q, r ) 1 B (r ) B (r Q)
Q
• Approximations
• Type I (base stock) – computes # of stockouts per cycle,
underestimates S(Q,r)
S (Q, r ) G (r )
• Type II – neglects B(Q,r) term, also underestimates S(Q,r)
B(r )
S (Q, r ) 1
Q
Holding Costs in (Q,r) Model
• Inventory holding cost = hI(Q,r)
• First equation approximates and underestimates
average inventory, since demand is variable and
thus backorders sometimes occur
(Q s ) ( s 1) Q 1 Q 1
I (Q, r ) s r
2 2 2
• Exact formulation:
Q 1
I (Q, r ) r B(Q, r )
2
Backorder Cost Approach
• Compute Q and r values that minimize:
• approximate, since B(r) replaces B(Q,r)
D Q 1
Y (Q, r ) A bB (r ) h r B(r )
Q 2
• Optimal Q* and r* b
2 AD G (r*)
Q*
h bh
• Then, assume normal distribution for lead
time as in base stock model
r * z
Stockout Cost Approach
• Compute Q and r values that minimize:
• approximate, since B(r) replaces B(Q,r)
D B(r ) Q 1
Y (Q, r ) A kD h r B(r )
Q Q 2
• Optimal Q* and r* 2 AD G (r*)
kD
Q* kD hQ
h
• Assume normal distribution for lead time
r * z
• Note: larger Q results in smaller r* because a smaller
reorder point is needed to achieve the same fill rate
(Q,r) Insights
• Cycle stock increases as replenishment frequency
decreases
• Safety stock provides a buffer against stockouts
• The base stock model is a (Q,r) model where Q=1
• Increasing annual demand (D) increases Q
• Increasing demand during leadtime increases r (thus,
high annual demand or long leadtimes require
inventory)
• Increased demand variability increases r (for most
parts where high fill rates are desired)
• Increased holding costs (h) decreases both Q and r
(if it is expensive to hold inventory, avoid doing so!)