Inventory Management Extensions to EOQ Chris Caplice ESD.260/15.770/1.260 Logistics Systems

advertisement
Inventory Management
Extensions to EOQ
Chris Caplice
ESD.260/15.770/1.260 Logistics Systems
Oct 2006
Agenda
Review of Basic EOQ
Non-instantaneous Leadtime
Finite Replenishment (EPQ)
Multiple Locations
Discounting
MIT Center for Transportation & Logistics – ESD.260
2
© Chris Caplice, MIT
Economic Order Quantity (EOQ)
Finding the order quantity Q (and frequency T) that
minimizes the total relevant cost.
AD vrQ
TRC[Q] =
+
Q
2
2 AD
Q* =
vr
T* =
2A
Dvr
TRC* = 2 ADvr
MIT Center for Transportation & Logistics – ESD.260
3
© Chris Caplice, MIT
Assumptions: Basic EOQ Model
Demand
„
„
„
Discounts
Constant vs Variable
Known vs Random
Continuous vs Discrete
Instantaneous
Constant or Variable
(deterministic/stochastic)
Dependence of items
„
„
„
Independent
Correlated
Indentured
Continuous
Periodic
One
Multi (>1)
None
Uniform with time
„
„
„
Single Period
Finite Period
Infinite
„
„
One
Many
„
„
Single Stage
Multi-Stage
Form of Product
Unlimited
Limited / Constrained
MIT Center for Transportation & Logistics – ESD.260
„
„
Number of Items
Capacity / Resources
„
„
None
All orders are backordered
Lost orders
Substitution
Planning Horizon
Number of Echelons
„
„
„
„
„
„
Perishability
Review Time
„
„
None
All Units or Incremental
Excess Demand (Shortages)
Lead time
„
„
„
„
4
© Chris Caplice, MIT
Extensions: Leadtime
Order Leadtime
Demand
„
„
Positive (nonzero)
Deterministic
Impact
„
„
„
Order
Receive
Does this change Q*?
What is my new policy?
What is my new avg
IOH?
L = Order Leadtime
Inventory On Order
Inventory
On
Hand
MIT Center for Transportation & Logistics – ESD.260
EOQ Inventory Policy:
Order Q* units when IOH = DL
5
© Chris Caplice, MIT
Extensions: Finite Replenishment
Inventory becomes available at a rate of m units/time
rather than all at one time
„
„
„
Does this change Q*?
What is my new policy?
What is my new avg IOH?
Q(1-D/m)
Inventory
On
Hand
Slope = m-D
⎛ D⎞
Q ⎜1 − ⎟ vr
AD
m⎠
+ ⎝
TRC[Q] =
2
Q
Slope = -D
MIT Center for Transportation & Logistics – ESD.260
⎛ ⎛ D⎞⎞
2 AD
EPQ =
= EOQ ⎜ ⎜1 − ⎟ ⎟
⎜ ⎝ m⎠⎟
⎛ D⎞
⎝
⎠
vr ⎜1 − ⎟
⎝ m⎠
6
−1
© Chris Caplice, MIT
Extensions: Multiple Locations
Suppose that instead of one location satisfying all demand, there
are n locations.
„
„
Each location serves di = D/n units of demand
Identical (uniform) demand at each location
„
„
„
What is my new inventory policy?
What is my new average Inventory on Hand?
How much is this better or worse than a single location?
Questions
Q*
1
1
2 AD
Q* =
vr
Q*
IOH =
TRC* = 2 DAvr
2
MIT Center for Transportation & Logistics – ESD.260
q1*
2
3
qi* =
versus
2 Adi
2 AD
=
vr
vrn
n ⎛q
IOH = ∑ i =1 ⎜
⎝ 2
*
i
7
q2*
q3*
TRC* = 2nDAvr
⎞
⎛ Q*⎞
=
n
⎟
⎜
⎟
⎝ 2 ⎠
⎠
© Chris Caplice, MIT
Extensions: Multiple Locations
What if I reduce number of stocking locations from M to N?
M
TRC*[M ]
2MDAvr
=
=
N
TRC*[ N ]
2 NDAvr
What if my sub-regions do not have uniform demand?
Is this a reduction in safety stock, cycle stock, or both?
How dependent is this effect on inventory policy at each site?
„
„
„
EOQ Policy (order qEOQ* when IOHi=0)
Fixed Order Size (Always order a full truckload at a time)
Days of Supply (Always order a month’s supply)
MIT Center for Transportation & Logistics – ESD.260
8
© Chris Caplice, MIT
Extensions: Multiple Locations
Fixed Order Size, e.g. only order full truckloads
Days of Supply, e.g. order at start of each month
For a Single Location
Policy
EOQ
FOS
DOS
Q*
QFOS
QDOS
Order Size
Average IOH
Q*/2
QFOS/2
QDOS/2
Order Cost
OEOQ
OFOS
ODOS
Holding Cost
HEOQ
HFOS
HDOS
OEOQ + HEOQ
OFOS + HFOS
ODOS + HDOS
Total Cost
For N Locations
Policy
EOQ
FOS
DOS
q*
QFOS
qDOS
Average IOH
√N(Q*/2)
N(QFOS/2)
QDOS/2
Order Cost
√N( OEOQ)
OFOS
N(ODOS)
Holding Cost
√N (HEOQ)
N(HFOS)
HDOS
√N (OEOQ+HEOQ)
OFOS+NHFOS
NODOS+HDOS
Order Size
Total Cost
MIT Center for Transportation & Logistics – ESD.260
9
Example
DATA
A=
500
D = 2000
r=
0.25
v=
50
N=
4
Trk Cap =
500
DOS = 0.083
30
$/order
Units/year
$/$/year
$/unit
locations
units/shipment
years
days
Single Location
Policy
Order Size
Average IOH
Order Cost
Holding Cost
Total Cost
EOQ
FOS
400
500
200
250
$ 2,500 $ 2,000 $
$ 2,500 $ 3,125 $
$ 5,000 $ 5,125 $
DOS
4 Locations
Policy
Order Size
Average IOH
Order Cost
Holding Cost
Total Cost
EOQ
FOS
200
500
400
1000
$ 5,000 $ 2,000 $
$ 5,000 $ 12,500 $
$ 10,000 $ 14,500 $
DOS
167
83
6,000
1,042
7,042
42
21
24,000
1,042
25,042
© Chris Caplice, MIT
Extensions: Discounts
All Units Discount
„
„
Discount applies to all units purchased if total amount exceeds
the break point quantity
Examples?
Incremental Discount
„
„
Discount applies only to the quantity purchased that exceeds
the break point quantity
Examples?
One Time Only Discount
„
„
Less common – but not unheard of!
A one time only discount applies to all units you order right now
(no quantity minimum or limit)
How will different discounting strategies impact your lot sizing
decision?
What cost elements are relevant?
MIT Center for Transportation & Logistics – ESD.260
10
© Chris Caplice, MIT
Extensions: All Units Discounts
Two Cases to Examine . . .
⎧v0
v=⎨
⎩ v0 (1 − d )
0 ≤ Q ≤ Qb
Qb ≤ Q
AD v0 rQ
⎧
Dv
+
+
0 ≤ Q ≤ Qb
0
⎪
Q
2
⎪
TRC = ⎨
⎪ Dv (1 − d ) + AD + v0 (1 − d ) rQ
Qb ≤ Q
⎪⎩ 0
Q
2
Qb
$112,000
$110,000
Where
d = Discount
v0 = Base unit price
Qb = Break quantity
Total Cost
$108,000
$106,000
$104,000
$102,000
Typically, Q* < Qb but
what if Q* > Qb?
$100,000
$98,000
100
200
300
400
500
600
700
800
900 1000
Order Quantity (Lot Size)
TC2
MIT Center for Transportation & Logistics – ESD.260
TC1
11
© Chris Caplice, MIT
Extensions: All Units Discounts
Simple efficient algorithm
1.
2.
3.
Find EOQ with discount (EOQd)
If EOQd≥Qb then pick EOQd
Otherwise, go to 3
Solve for TRC(Q*) and TRC(Qb)
If TRC(Q*) < TRC(Qb) then pick Q*
Otherwise, pick Qb
Can be extended to more than one break point
Example:
D=2000 Units/yr
r=.25
A=$500
v0 = $50
Discount of 2% off if Q≥500
MIT Center for Transportation & Logistics – ESD.260
12
© Chris Caplice, MIT
Extensions: Incremental Discounts
Total
Purchase
Cost
Discount only applies to quantity above breakpoint
Trade-off between lower purchase cost and higher carrying costs
Cost of units ordered below each breakpoint are essentially ‘fixed’
v1
v2
v0
v1Q1
v0Q1
(v0-v1)Q1
Q1
MIT Center for Transportation & Logistics – ESD.260
Q2
13
Units
© Chris Caplice, MIT
Extensions: Incremental Discounts
Efficient algorithm
1.
2.
3.
4.
Find Fixed Cost per breakpoint, Fi, for each break
Find EOQi for each range – including the Fi
If EOQi is not within allowable range, go to next I
Otherwise, find TRCi using effective cost per unit, vei
Pick EOQi with lowest TRC
Can be extended to more than one break point
Fi = Fi −1 + ( vi −1 − vi ) Qi
F0 = 0
2 D ( A + Fi )
EOQi =
rvi
MIT Center for Transportation & Logistics – ESD.260
vi EOQi + Fi
v =
EOQi
e
i
14
© Chris Caplice, MIT
Example: Incremental Discounts
Price Breaks:
10% off for 500 to <1000 units
20% off for 1000 or more units
i=2
i=1
i=0
vi
$40
$45
$50
Qbi
1,000
500
0
Fi
7,500
2,500
0
EOQi
1,789
OK
1,033
X
400
OK
vei
$44.19
Purch
Order
Hold
TRCi
D=2000 Units/yr
r=.25
A=$500
v0 = $50
$50
$ 88,384
$
559
$ 9,882
$ 98,825
MIT Center for Transportation & Logistics – ESD.260
$100,000
$ 2,500
$ 2,500
$ 105,000
15
© Chris Caplice, MIT
Extensions: One Time Discount
Suppose you are offered a One Time deal!
Should you take it?
vg = One time good deal purchase price ($/unit)
Qg = One time good deal order quantity (units)
TCsp=TC over time covered by special purchase ($)
MIT Center for Transportation & Logistics – ESD.260
16
© Chris Caplice, MIT
Extensions: One Time Discount
Compare Options: Not Special Price vs. Special Price
„
Find TC for normal price
TC = (CycleTime)(TC * + PurchaseCost )
⎛ Qg ⎞
⎛ Qg
TC = ⎜
⎟ 2 ArvD + ⎜
⎝ D⎠
⎝ D
„
⎞
⎟ vD
⎠
Find the Savings (TC-TCSP)
Savings = TC − TCSP
⎛ ⎛ Qg ⎞
⎛ Qg
= ⎜⎜
⎟ 2 ArvD + ⎜
⎝ D
⎝⎝ D ⎠
MIT Center for Transportation & Logistics – ESD.260
⎞
⎞ ⎞ ⎛
⎛ Qg ⎞⎛ Qg ⎞
⎟ vD ⎟ − ⎜ vg Qg + rvg ⎜
⎟⎜
⎟ + A⎟
⎠ ⎠ ⎝
⎝ 2 ⎠⎝ D ⎠
⎠
17
© Chris Caplice, MIT
Extensions: One Time Discount
„
Finding 1st and 2nd order conditions (Maximize Savings)
⎛ 2rvg Qg ⎞
dS
⎛1⎞
= 0 = ⎜ ⎟ 2 AvrD + ( v − vg ) − ⎜
⎟
d (Qg )
D
2
D
⎝ ⎠
⎝
⎠
⎛ 2rvg
d 2S
= −⎜
2
d (Qg )
⎝ 2D
„
So that the Optimal Quantity to buy is
⎛ D
Q =⎜
⎜ Drv
g
⎝
*
g
„
⎞
⎟<0
⎠
Cleaning this up gives:
MIT Center for Transportation & Logistics – ESD.260
D ( v − vg )
⎞
⎟⎟ 2 ArvD +
rvg
⎠
⎛ v
Q =Q ⎜
⎜v
⎝ g
*
g
18
*
⎞ D ( v − vg )
⎟⎟ +
rvg
⎠
© Chris Caplice, MIT
Take-Aways
EOQ is a good place to start for most analysis
EOQ can be extended to cover
„
„
„
Non-zero leadtimes
Finite replenishment systems
Multiple locations
Š
Š
„
Square Root law rests on implicit assumptions
Distribution of demand and inventory policy will impact
results
Discounts
Š
Š
Purchase price (v) becomes relevant
Common in practice (economies of scale)
MIT Center for Transportation & Logistics – ESD.260
19
© Chris Caplice, MIT
Questions?
Comments?
Suggestions?
Download