supply chains: eoq and extensions - university of...
TRANSCRIPT
Department of Industrial Engineering
Supply Chains:EOQ and Extensions
Jayant Rajgopal, Ph.D., P.E.
Department of Industrial Engineering
University of Pittsburgh
Pittsburgh, PA 15261
Department of Industrial Engineering
Department of Industrial Engineering
Recall that there are three main decisionswith an inventory control system:
1. The review interval (I) (how often…)
2. The reorder point (R) (when…)
3. The order quantity (Q) (how much…)
We will focus on continuous review systems (I=0),and initially, on demand that is static (i.e., steadyover time).
Let us first look at decision 3 – the order quantity (Q)
© Jayant Rajgopal, 2016
Department of Industrial Engineering
Order Quantity - Reorder Point Systemaka (Q,R) System
“When your pills get down to four,
Go ahead, and order some more!”
These models are applicable to independentdemand items that have static demand (i.e.,demand that is “reasonably” constant over time).
© Jayant Rajgopal, 2016
Department of Industrial Engineering
Assumptions
1. Continuous Review: The system inventory ismonitored continuously and when it reaches avalue R an order is immediately placed for anamount Q
2. The entire order arrives after a time L (thereplenishment lead-time) and in general, this time isstochastic
3. Demand arrivals occur stochastically, one at a time
4. There is a backorder or shortage penalty for unfilleddemand
© Jayant Rajgopal, 2016
Department of Industrial Engineering
Sample Inventory ProfileON-HAND INVENTORY
TIME
R
AverageLead-TimeDemand
Q
Q
Q
Lead-TimeDemand
Lead-TimeDemand
Lead-TimeDemand
Lead-Time Lead-Time Lead-Time
ORDER CYCLE 1 ORDER CYCLE 2 ORDER CYCLE 3
Lead-Time Demand (DLT):
• In Cycle 1: DLT < R
• In Cycle 2: DLT < R
• In Cycle 3: DLT > R ⇒STOCKOUT!!
R: Reorder Point
Q: Order Quantity
0
Department of Industrial Engineering
NotationD = Stationary demand per unit time (assumed to be “steady” with some
constant mean, but varying stochastically around the mean)
µD = Expected value of demand-per-unit-time
σD = Standard Deviation of demand-per-unit-time
L = Replenishment lead-time
µL = Expected value of lead-time
σL = Standard Deviation of lead-time
DLT= Lead-time demand (random variable…)
µDLT = Expected value of lead-time demand
σDLT = Standard Deviation of lead-time demand
NOTE: All time units above MUST be consistent!© Jayant Rajgopal, 2016
Department of Industrial Engineering
The Economic Order Quantity (EOQ)Model (F. W. Harris, 1914)
Let us start with a very simple (simplistic?) model assumingthat everything is deterministic so that we don’t need anysafety stock as long as we plan correctly. In particular, wealso assume that
• The demand rate is constant at D units per unit time (i.e.,σD = 0 so that we can simply use D instead of mD).
• Lead time = 0
• Entire order is available at one time
© Jayant Rajgopal, 2016
Department of Industrial Engineering
Inventory Profile with the EOQassumptions
Ordercycle 1
Ordercycle 2
Ordercycle 3
Q
T TTime
Slope = -D
Inventory
© Jayant Rajgopal, 2016
Department of Industrial Engineering
Economic Order Quantity (EOQ) Model(F. W. Harris, 1914)
Let Q = order quantity (to be determined)
Clearly, there are
• n = D/Q orders per year, and
• each order cycle covers T=1/n=Q/D time periods.
So, average annual order costs= n(A+cQ)=�
�
Suppose X = area under each triangle in the inventory profile
⇒ Average Inventory =�
�
�
���
�
�
�
So, average annual inventory costs =�
�=
�
�
© Jayant Rajgopal, 2016
Q
T T
X
Department of Industrial Engineering
Total Annual Cost (TAC) per unit time (order costs + holding costs) is
The quantity��
�
�
�that depends on Q is also called the Total
Variable Cost (TVC) per unit time, i.e.,
To find optimal Q we differentiate TAC(Q) w.r.t. Q and set it to zero:
�
© Jayant Rajgopal, 2016
Derivation of the EOQ Formula
Department of Industrial Engineering
The value���
�is called the Economic Order Quantity:
∗
In particular, the minimum total annual cost using the EOQ is equal to
∗∗
∗
© Jayant Rajgopal, 2016
Department of Industrial Engineering
0
2000
4000
6000
8000
10000
12000
14000
16000
18000
0.00 20.00 40.00 60.00 80.00 100.00 120.00
EOQ
© Jayant Rajgopal, 2016
1Note that 2
2 2
*
*
AD Q hADh
Q= =
EOQ=Q* Q
AD/QhQ/2
TVC(Q)
Cost
Department of Industrial Engineering
The EOQ is very robust w.r.t. the estimatesof the various parameters in the formula
• Very little increase in the TVC for even ±20% variation in the valuecomputed for the EOQ
To see this, suppose we use some other Q instead of Q*= EOQ = ,
so that TVC(Q) = AD/Q+hQ/2; while TVC(Q*)= AD/Q* +hQ*/2= .
Then 1 £ ∗
���
���
���
���
∗
∗
• If Q/Q* (or Q*/Q) is 1.20 then the above ratio = 1.0167; if Q/Q* is 1.5 it is1.083 and if Q/Q*=2 it is 1.25. So, a 20% error in Q increases costs byless than 2%; even a 100% error in Q increases costs by only 25%!
© Jayant Rajgopal, 2016
Department of Industrial Engineering
A warehouse regularly orders four products from four different distributors. Thecharacteristics of the items are as follows; the last column gives the order quantities thatare currently in use.
It is estimated by the company's accountants that the holding costs are about 25 cents onthe dollar annually. However, there is no clear agreement on this point - one section of theproduction team is of the view that holding costs are a lot higher (perhaps as high as 40%of an item’s value annually), while another section feels they are a lot lower (perhaps aslow as 15%). Similarly, there is no clear consensus on the order placement costs. Thecurrent is estimate is $7.50 per order; however estimates run anywhere between $5 and$20 per order. The current order quantities in use have basically "come down through theyears" and are consensus values.
As a new industrial engineer at the company, demonstrate how you could use the EOQformula to find order quantities. Also show how this would reduce costs under differentpossibilities for the order placement and holding costs.
Suppose that no more than 20 orders can be handled annually. How would you modifyyour plans?
Item Annual Usage (D) Price (c) Dollar Volume (D$) Order Quantity Q
A 1,000 $30 $30,000 500
B 200 $5 $1,000 20
C 3,000 $1 $3,000 3,000
D 500 $50 $25,000 1,000
© Jayant Rajgopal, 2016
Department of Industrial Engineering
We can readily adapt the EOQ toaccount for uncertainty or constraints
Item Demand Value Dollar Volume Order Quantities
j D C D$ Current Q Q*=EOQ Q+
A 1000 $30 30,000 500 45 122
B 200 $5 1,000 20 49 133
C 3000 $1 3,000 3000 424 1154
D 500 $50 25,000 100 24 65
© Jayant Rajgopal, 2016
Suppose we compute the EOQ for each item j byusing the consensus estimates for i and A, that is,
=
Department of Industrial Engineering
Item (Qj/2)×cj nj=Dj/Qj ( �∗/2)×cj nj
*=Dj/ �∗ ( �
�/2)×c ��=Dj/ �
�
A 7500 2 675 22.2 1830 8.2
B 50 10 122.50 4.1 332.5 1.5
C 1500 1 212 7.1 577 2.6
D 2500 5 600 20.8 1625 7.7
(Σ) 11,500 18 1609.50 54.2 4364.5 20
= (0.25*11,500) + (7.50*18)= 2887.50 + 135 =$3022.50
0.25*1609.50 + 7.50*54.2= 402.38+406.50 =$808.88
0.25*4364.5 + 7.50*20= 1091.13+150 =$1241.13
© Jayant Rajgopal, 2016
Note: n+=(20/54.2)×n*, or Q+=(54.2/20)×Q*
Note that total cost given any Qj and nj =
� � �
Department of Industrial Engineering
Performance/Cost Analysis
From our analysis: With Q, we get 18 orders & average inventory = $11,550
With Q* we get 54.2 orders & average inventory =$1,609.5
Base Case: A = $7.50, i= $0.25/$/year
Q ≡(18*7.50)+(11,550*0.25) = 135+2,888 =$3,023
Q*≡(54.2*7.50)+(1,609.5*0.25) = 407+403= $810 (savings=$2,213)
Worst Possible Case: A = $20, i = $0.15/$/year
Q ≡(18*20)+(11,550*0.15) = 360+1,733 = $2,092
Q*≡(54.2*20)+(1,609.5*0.15) = 1,084+241= $1,325 (savings=$767)
Best Possible Case: K= $5, i= $0.40/$/year
Q ≡(18*5)+(11,550*0.4) = 90+4,620 = $4,710
Q*≡(54.2*5)+(1,609.5*0.4) = 271+644= $915 (savings=$3,795)
© Jayant Rajgopal, 2016
Department of Industrial Engineering
Quantity DiscountsCase 1: “All-units” discount schedule
c1 is the discounted price and Qb is called the “break-point.” Consider the valueof TAC(Q) as a function of Q:
Qb
c0 c1
TAC(Q) TAC(Q)
TAC(Q)
c0
c0
c0
c1c1
c1
Qb Qb
Qb
Q* =
Q* =
Q* =
© Jayant Rajgopal, 2016
If 0<Q<Qb then unit price=c0
TAC(Q) = AD/Q + (ic0)Q/2 + Dc0
If Q≥Qb then unit price=c1 (<c0)TAC(Q) = AD/Q + (ic1)Q/2 + Dc1
Department of Industrial Engineering
MULTIPLE PRICE BREAKS:
0 <Q<Q0 ⇒ c=c0
Q0≤Q<Q1 ⇒ c=c1
: : :Qj-1≤Q<Qj ⇒ c=cj etc., where c0>c1>c2>...
The TAC(Q) curves may look as shown below
DEFINITION: An EOQ computed via EOQ = � is said to be
realizable if its value lies within the range for which cj holds
TAC(Q)
Q
© Jayant Rajgopal, 2016
Department of Industrial Engineering
FACT: The optimal lot size Q* is equal to the largest realizableEOQ, or a break-point above the largest realizable EOQ.
Procedure:
1. Set c = the cheapest per-unit cost available
2. Compute EOQ =
3. If the value is realizable, go to Step 5
4. Else, set c = the next cheapest per-unit cost and go back to Step 2
5. Compute TAC(Q) with Q equal to the EOQ just found as well asfor all Qb values that are greater than this EOQ - be careful to usethe correct values for c in all cases.
6. Set Q* to the value of Q in Step 5 that has the least value forTAC(Q)
© Jayant Rajgopal, 2016
Department of Industrial Engineering
All-units Quantity Discounts: An Example
D=4000/yr A=$40 i=20%
Unit price c uses the following discount schedule
Lot Size (Q) Unit Price (c)
0<Q<500 $ 2.55
500≤Q<2250 $ 2.50
2250≤Q<3200 $ 2.45
3200≤Q<5250 $ 2.40
Q≥5250 $ 2.35
© Jayant Rajgopal,2016
Department of Industrial Engineering
Case 2: Incremental Quantity Discounts
If Q<Qb we spend C(Q) = c0Q to buy the batch of items in the order
On the other hand, if Q>Qb we spend C(Q) = c0Qb + c1(Q-Qb) to buy the batch ofitems in the order. Thus the average price per item is c*= C(Q)/Q
Since there are D/Q orders per year TAC =Annual average setup cost = AD/Q
+ Annual average purchase cost = Dc*
+ Annual average holding cost = (ic*)(Q/2)
Qb
c0c1
Qb Q
TAC
© Jayant Rajgopal, 2016
If 0<Q<Qb thenunit price=c0
f Q≥Qb then unit price=c0 forthe first Qb units and c1 (<c0) forthe remaining items
Department of Industrial Engineering
The same idea can be extended to multiple break points...
The minimum always occurs at the minimum of one of the totalcost curves representing the different c* =C(Q)/Q.
So the procedure would be
1. Find c*= C(Q)/Q as an algebraic expression for each priceinterval,
2. Substitute c* from Step 1 into TAC = {AD/Q + (ic*)(Q/2) +Dc*}, and find the value of Q for which this function isminimized. Do this separately for each price interval.
3. Check if the corresponding Q values are realizable or not.
4. For all realizable values, check the TAC and pick the valuethat yields the smallest value for the TAC.
© Jayant Rajgopal, 2016
Department of Industrial Engineering
Note that
• each C(Q)/Q reduces to an expression of the form α1+(α2/Q) where α1 and α2
are constants
• There is thus a simple closed form expression for expressing the minimizingvalue of Q in Step 2
An Example
D=600/yr.; A=$8; i=20%
Unit price c* uses the following discount schedule
Lot Size (Q) C(Q) c* = C(Q)/Q
0<Q<500 $ 0.30Q 0.30
500≤Q<1,000 $150+0.29(Q-500) (0.29 + 5/Q)
Q≥1,000 $295+0.28(Q-1000) (0.28 + 15/Q)
© Jayant Rajgopal, 2016
Department of Industrial Engineering
Ordering with Announced Price ChangeSuppose we KNOW that unit price is going up at some timet* in the future. What should be done to take advantage oftoday’s lower price?
• Order too little ⇒ not taking sufficient advantage of thelower price
• Order too much ⇒ the extra holding cost might negatesavings from lower price/unit
On the last regularly scheduled order before c increases,we order a larger than normal quantity of Q′ units
This order will last for t′=Q′/D time units
After this order runs out we use the new EOQ found using(c+Dc)
© Jayant Rajgopal, 2016
Department of Industrial Engineering
So the holding cost incurred for the last unit used from this batch = ht′ = hQ′/D. Thesavings on this last item from the lower price paid = $Dc.
Question: Should we have bought this last unit or used a smaller Q′ ?
The marginal costs and benefits of the last unit (cost from holding it in inventoryand benefit from the lower unit price) will offset each other if
Dc = hQ′ /D
Thus we should use Q′ = DDc/h (unless of course, the current EOQ is alreadylarger than this…).
© Jayant Rajgopal, 2016
$c per unit $(c+Dc) per unit
t*
current EOQ New (smaller) EOQ
t′
Q′
Department of Industrial Engineering
Extension to Finite Production Rates
T1T2
Production(uptime)
No Production(downtime)
Time
Inventory
P-D -D
Q
IMAX
© Jayant Rajgopal, 2016
Suppose P = production rate (in units produced/unit time)• For a stable system, P must be greater than D.
Department of Industrial Engineering
Finite Production Rates
T=T1+T2 = cycle time =
n = no. of cycles per unit time
Uptime T1= (time taken to produce a batch of Q units at the rate of P units/unit
time)
Downtime T2=T-T1 = =
IMAX = (P-D)T1 = (P-D) = Q =Q∆ (where∆=1- )
� ��� � ���
� �
��� ���
© Jayant Rajgopal, 2016
T1T2
P-D -D
Q
IMAX
Department of Industrial Engineering
Notice that this is identical to the TAC for the EOQ derivation exceptthat the holding cost is now h∆ (rather than h)!
Thus, if we define h′=h∆ = h(1-D/P), then the optimum batch size(also referred to as the Economic Production Quantity, or EPQ) isgiven by
∗
and
© Jayant Rajgopal, 2016