Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
L = lead-time.
R+Q
R
Inventory level
L L
Inventory level
L L Time
Figure 3.2 (s, S) policy, periodic review.
When the inventory position declines to or below s,
we order up to the maximum level S.
3.3.1 Classical Economic Order
Quantity Model
Harris (1913), Wilson (1934), Erlenkotter
(1989)
- Demand is constant and continuous.
- Ordering and holding costs are constant over
time.
- The batch quantity does not need to be an
integer.
- The whole batch quantity is delivered at the
same time.
- No shortages are allowed.
Notation:
H = holding cost per unit and time unit
Q = batch quantity
Q/d Time
Figure 3.3 Development of inventory level over
time.
Q d
C h A (3.1)
2 Q
dC h d
2 A0 (3.2)
dQ 2 Q
2 Ad
Q
*
(3.3)
h
Q(1-d/p)
Q/p
Time
Q/d
Q(1 d / p) d. (3.6)
C h A
2 Q
2 Ad
Q
*
. (3.7)
h(1 d / p )
3.3.4 Quantity Discounts
v = price per unit for Q < Q0, i.e., the
normal price,
Holding cost
h= h0 + rv for Q Q0,
3.3.3 More General Models
Example 3.2
d: constant customer demand
Two machine production rates: p1 > p2 > d,
Two machine set up costs: A1 and A2
The fixed cost of the transportation of a batch of
goods from machine 2 to the warehouse: A3
The holding cost before machine 1 is h1 per unit
and time unit. The holding cost is h2 and after
machine 2 it is h3.
Optimal Batch size?
1 M1 2 M2 3 4
Time
Q/p1 Q/d
Stock level between machines 1 and 2 (2)
Time
Q/p1
Q/p2
Time
Q/p2
Time
Transportation Q/d
Holding Cost Calculation:
Q(Q / p1 ) d
h h
2Q / d p1
p2 Q
Q(1 )
p1 p2 Qd p1 p2 Qd 1 1
h ( ) ( )
2Q / d 2 p1 p2 2 p2 p1
Q d d d d d
C h 1 ( )h 2 ( 1)h 3 (A1 A 2 A 3 )
2 p1 p 2 p1 p2 Q (3.8)
2(A1 A 2 A 3 )d
Q *
d d d d
h1 ( )h 2 ( 1)h 3
p1 p 2 p1 p2
(3.9)
Q d
C dv (h0 rv ) A for Q Q0 (3.10)
2 Q
Q d (3.11)
C dv (h0 rv) A for Q Q0
2 Q
QQ Q0 Q
2 Ad
Q . (3.14)
h0 rv
C 2 Ad (h0 rv ) dv . (3.15)
Since v > v we know that Q < Q< Q0
Q0 d
C (Q0 ) dv ( h0 rv ) A
. (3.16)
2 Q0
The optimal solution is the minimum of (3.15)
and (3.16).
Incremental Discounts
v3=0.7
A3
v2=0.8
A2
v1=1
A1
Q1=1000 Q2=2500
d =36500 , r =0.3
A1=A=15
A2=A1 +(c1-c2)Q1=15+(1-0.8)*1000=215
A3=A2 +(c2-c3)Q2=215+(0.8-0.7)*2500=465
2dAi
EOQi=
vi r
Procedure
Candidate oi from each segment
EOQi if feasible
Oi = Qi if EOQi > Qi
Qi-1 if EOQi < Qi-1
Q* =best of all Oi
Example
EOQ1=1910 > Q1 O1=Q1=1000
Q*=12714
3.3.5 Backorders Allowed
b1= shortage penalty cost per unit and time unit.
x = fraction of demand that is backordered.
Inventory level
Q(1-x)
Time
-Qx
Q/d
hb1 , (3.20)
2Ad hb1
C
*
.(3.21)
( h b1 )
Example 3.4
Time
Q/3000 Q/1000
Time
Q/3000 Q/1000
Q(1-x)
Time
-Qx
Q/1000
Q Q Q 2 1000
C (10 15) (1 x) 15 x 75
2
1000
6 2 2 Q
The optimal solution is x* = 15/90 = 1/6, and Q* = 310.
3.3.6 Time-varying Demand
T = number of periods
A = ordering cost,
f k min f k ,t , (3.22)
1 t k
f k ,t f t 1 A h( d t 1 2d t 2 ... ( k t )d k ) . (3.23)
Example 3.6
T =10, A = $300, h = $1 per unit and period.
Table 3.1 Solution, fk,t , of Example 3.6.
Period t 1 2 3 4 5 6 7 8 9 10
dt 50 60 90 70 30 100 60 40 80 20
k=t 300 600 660 840 1030 1090 1370 1450 1530 1770
k=t+1 360 690 730 870 1130 1150 1410 1530 1550
k=t+5 1530
Table 3.2 Optimal batch sizes in
Example 3.6.
Period t 1 2 3 4 5 6 7 8 9 10
t1 t2 t3 t
1ST SIMPLIFICATION
- DISCRETE TIME
- PRODUCTION AT THE BEGINNING OF THE PERIOD.
- HOLDING COST BASED ON AVERAGE INVENTORY IN EACH
PERIOD
- FINITE TIME
T
V (S ) A(ti )e r ( i 1)
i 1
FUDGE THE DISCOUNT RATE INTO
INTEREST EXPENSE
T
V ( S ) A(i )
i 1
AVERAGE COST
1 T
V ( S ) A(i )
T i 1
2ND SIMPLIFICATION
It = AVERAGE INVENTORY
= It + dt = It-1 + Qt - dt
T
COST V [ t A cQt h I t ]
t 1
THEOREM: ANY OPTIMAL SOLUTION MUST SATISFY
I) It Qt+1 = 0 (I.E. Qt+1 > 0 It = 0
It > 0 Qt+ 1 = 0)
II) IT = 0
PROOF.
FIRST PRODUCTION WILL CERTAINLY NOT COME UNTIL
APERIOD (t+1) FOR WHICH dt+l > O. FOR ANY
FOLLOWING PRODUCTION PT. IF (I) DOES NOT HOLD,
THEN DECREASE PRECEDING PRODUCTION BY It AND
INCREASE Qt+l BY It GIVING A BETTER SOLUTION.
EXERCISE: COMPLETE THE PROOF IF THE
PREVIOUS PRODUCTION IS LESS THAN It.
ALSO SHOW IT MUST BE ZERO.
P R R P R R
FOR A COMPLETE SOLUTION, WE NEED TO KNOW
- THAT K IS AN R-POINT
- OPTIMAL SOLUTION FOR PERIOD K+1 TO T.
R R
III) SIMPLIFY THE COST FUNCTION Qt = dt ,
AND THUS THE PORTION OF COSTS GIVEN BY
1
('SUNK' COST) = t h d t IS CONSTANT.
c Q
2
REDUCED COST C(T) = At + h It
FURTHER, LET t=12 AND t=9 BE THE NEXT TO THE LAST
R~POINT. THEN THE COST C(9,12).
-D10
GENERAL FORNULA
n
C ( j, n) A h (k j 1)d k
k j 1
CT-1(T) = C(T-1) + A
Cj(T) = Cj(T-1) + (T-j-1) h dT, 1j<T1
II II II
C(j) + C(j,T) = C(j) + C(j,T-1) + (T-j-1)hdt
ALGORITHM
LET j*(T) BE IMMEDIATELY PRECEDING R-POINT
FOR THE OPTIMAL SOLUTION TO THE T-PERIOD
PROBLEM. LET f*(T) BE THE FIRST
1) SET T = 0, C(0) = 0, j*(0) = -1, f*(0) = 0
(UNDEFINED)
2) SAVE C(T), j*(T), f*(T), Cj(T), 0 j T -1
(UNDEFINED FIRST TIME)
3) INCREASE T BY 1
4) CT-1(T) = C(T-1) + A
Cj(T) = Cj (T-1) + (T-j-1)hdT , 0 j < T -1
(DON'T USE FIRST TIME)
5) C (T ) j MIN
0,1...( T 1)
[C j (T )]
8) GO TO STEP 2.
REMARKS
T = 2, C(2) = MIN
j 0,1
C j (2) = 2.4, j*(2) = 0, f*(2) = 2
C0(2) = C0(1) + (2-0-1)hd2 = 2 + 1(.2)2 = 2.4*
C1(2) = C(1) + A = 2 + 2 = 4
T = 3, C(3) = MIN
j 0,1, 2
C j (3) = 3.6, j*(3) = 0, f*(3) = 3
C0(3) = C0 (2) + (3-0-1)hd3 = 2.4 + 2(.2)3 = 3.6*
C1(3) = C1(2) + 1(.2)3 = 4 + .6 = 4.6
C2 (3) = C(2) + A = 2.4 + 2 =4.4
T = 4, C(4) = jMIN
0,1, 2,3
C j (4)
C0(4) = C0 (3) + (4-0-1)hd2 = 3.6 + 3(.2)2 = 4.8*
C1(4) = C1 (3) + 2(.2)2 = 4.6 + .8 = 5.4
C2(4) = C2 (3) + 1(.2)2 = 4.4 + .4 = 4.8*
C3(4) = C(3) + A = 3.6 + 2 = 5.6.
n1 n
A h ( j 1)d j A h ( j 1)d j
j 2
j 2 . (3.25)
n 1 n
Example 3.7
A = $300 and h = $1 per unit and period.
Table 3.3 Demands in Example 3.7.
Period t 1 2 3 4 5 6 7 8 9 10
dt 50 60 90 70 30 100 60 40 80 20
Period t 1 2 3 4 5 6 7 8 9 10
Quantity 200 100 200 100
Period t 1 2 3 4 5 6 7 8 9 10
dt 50 60 90 70 30 100 60 40 80 20
2 periods 60 300,
2 periods 30 300,
Period t 1 2 3 4 5 6 7 8 9 10
Quantity 200 200 200
AVERAGE DEMAND: AVERAGE DEMAND FOR 10
PERIODS IS 60. IF STATIONARY, EOQ MODEL WOULD
IMPLY T* = 2 A / dh 10 . ROUNDING THIS TO 3
YIELD THE PLAN (1-3) (4-6) (7-9)(10).
REMARKS
of fj:
j 1
f
j
k
fi
i k 1
k 1
f j i , k =2, 3, 4,....; j k. (3.28)
To determine
E ( Z 2 ) E {E ( Z 2 K )} E {Var ( Z K ) ( E ( Z K )) 2 } E {KVar ( J ) K 2 ( E ( J )) 2 }.
(3.31)
Using E ( K 2 ) Var ( K ) ( E ( K )) 2 2 ,
2 E ( Z 2 ) 2 E {K Var ( J ) K 2 ( E ( J )) 2 } 2
Var ( J ) ( 2 )( E ( J )) 2 2 Var ( J ) ( E ( J )) 2
E ( J ) j 2 f j
2
j 1
(3.32)
(3.35)
But Qj1 pi , j 1 for a Markov chain. Given
demand size k, pij(D=k)=0 or 1, and for a
given j it is one for exactly one i.
So, i1 pij ( D k ) 1. Then,
Q
Q Q
pi , j pij ( D k ) P( D k )
i 1 i 1 k
Q
pij ( D k ) P( D k )
k i 1
Q
P( D k ) pij ( D k ) P( D k ) 1
k i 1 k
. (3.36)
With normally distributed demand, the
continuous inventory position is uniformly
distributed on the interval [R, R + Q], if we can
ignore the possibilities of negative demand.
L=lead time (constant)
IL=inventory level
D(t, t + ) = D( ) =stochastic demand in the
interval ( t, t + ].
Consider that the system has reached a steady
state by time t .
IL(t + L) = IP(t) - D(t, t + L). (3.37)
IP(t) uniform distribution on (R+1,R+Q)
IL(t+L) IP(t) R+Q
Since t is arbitrary, so is t+L. So we obtain the
steady state distribution of IL.
IL=j , IP(t)=k
Need to consider k j
IL(t+L) = IP(t)-D(t,t+L) =k-(k-j) =j
Consider compound Poisson demand
1 R Q
P(IL j) P(D(L) k j) j R Q (3.38)
Q k max{R 1, j}
1 Q
P(D(L) k ( j r )) P(IL j r R 0).
Q k max{ 1, j r}
(3.39)
In the special case of an S policy,
R = S - 1 and Q = 1 and (3.38) can be
simplified to
P(IL j) P(D(L) S j) jS (3.40)
G(x) (v)dv ( x) 1
x
, (3.43)
0
-3.5 -2.5 -1.5 -0.5 0.5 1.5 2.5 3.5
(3.45)
Example 3.9
=2, L=5. Continuous review (R,Q) policy
For j =1,
1 14 10k 1 10
P( IL 1) e 0.106
5 k 10 (k 1)!
the normal approximation, = 10 and =101/2
10 x 1 x4
F ( x) G ( ) G( );
5 10 10 see (3.44)
It is reasonable to compare P(IL = j )
by F( j + 0.5) - F( j - 0.5)
SS R R L. . (3.46)
Replace (3.44) by the equivalent expression
SS x SS Q x
F( x ) G G
Q . (3.47)
3.4.3 Service levels
SS k (3.49)
Finally we get the reorder point as R = SS + .
Table 3.6 illustrates how the safety
factor grows with service level S1.
1 u 1 u
(u R ) du ( u R Q ) du
R R Q
R R Q
G
G ,
(3.55)
3.4.8 Shortage cost per unit and
time unit
We optimize the reorder point by balancing
backorder costs against holding costs
(x)+ = max(x, 0),
(x)- = max(-x, 0).
Using x+- x- = x,
the total cost rate =h IL+ + b1IL
= hIL + (h + b1)(IL).
For the compound Poisson demand, we can
use (3.38) to obtain the average costs per
time unit,
C hE (IL) (h b1 ) E ( IL )
Q 1 1
h( R ) (h b1 ) P( IL j )
2 j (3.56)
Where E(IL)=average inventory R+(Q+1)/2 minus
average lead time demand
1 1
jP ( IL j ) j[ P( IL j ) P( IL j 1)]
1 1
jP ( IL j ) jP( IL j 1)
1 1 1
jP ( IL j ) ( j 1)P( IL j 1) P( IL j 1)
1 2 1
jP ( IL j ) iP( IL i ) P( IL j 1)
1 1 1
jP ( IL j ) iP( IL i ) (1) P( IL 1) P( IL j 1)
1
P( IL 1) P( IL j 1)
2
P( IL 1) P( IL i )
1
P( IL j )
From (3.39), P(IL j R r) P(IL j 1 R r 1)
Thus,
Q 1 1
C( r ) h ( r ) (h b1 ) P(IL j 1 R r 1)
2 j
Q 1 0
h (r ) (h b1 ) P(IL j R r 1)
2 j
0 1 R Q u x
h (R Q / 2 ) (h b1 )
G dudx
Q R
R Q u
h (R Q / 2 ) (h b1 ) G du .
Q R
. (3.60)
Uses (3.44), y=-x/ , and G()=0.
dC R Q R
h (h b1 ) G G h (h b1 )(S 2 1)
dR Q
b1 (h b1 )S 2 b1 (h b1 )S 3 .
(3.61)
Uses S3=1-F(0), (3.52) and (3.44).
Chose R when Q is given. Newsboy chooses
R+Q.
Since dC/dR is increasing with R, C is a
convex function of R. The optimal R is
obtained for dC/dR = 0,
b1
S3
h b1 (3.62)
hS3
b1
1 S3
(3.63)
S3(R*)=P(IL>0|r=R*)=Prob(D(L)R*+Q)
(R*+Q)=b1/(h+b1)
Exercise: Use (3.42) and (3.43) to derive
1
H(x) G(v)dv (x 1)(1 (x)) x(x)
2
2
x (3.64)
Since H(x) = - G(x), H(x) is decreasing and
convex.
H(x)
0
-3.5 -2.5 -1.5 -0.5 0.5 1.5 2.5 3.5
2 R R Q
C h (R Q / 2 ) (h b1 ) H H
Q
(3.65)
3.4.12 The newsboy model
Single period with stochastic demand
Penalty costs associated with ordering both too
much and too little
x = stochastic period demand,
S = ordered amount,
Co = overage cost, i.e., the cost per unit for a
remaining inventory at the end of the period,
cu = underage cost, i.e., the cost per unit for
unsatisfied period demand.
For a given demand x the costs are
1 x
c 0 (S ) (c o c u ) ( x S) ( )dx
S
(3.83)
S
c 0 (S ) (c o c u ) G .
To find the optimal solution,
dC S
c o (c o c u )( ( ) 1) 0,
dS (3.84)
or,
S cu
( ) .
co cu
(3.85)
It is easy to see that C is convex, so (3.85)
provides the optimal solution.
Compare with (3.62).
Example 3.12
co = 25, cu = 50, = 300, = 60,
Applying (3.85) we obtain the optimal
solution from
S 300 50
( ) 0.6667,
60 25 50
implying that
S 300
0.43,
60
S 326
This problem concerns a single period.
The simple newsboy solution (3.85) is,
however, also common in multi-period
settings.
3.5 Joint optimization of order quantity and
reorder point
3.5.1 Discrete demand
= L
IL(t + L) = IP(t) - D(L). (3.98)
(S - 1, S) policy with S = k, i.e., R = k - 1 and Q = 1. Then IP(t)=k at
all time.
P(IL j) P(D(L) k j), j k.
(3.99)
Let g(k) be the average holding and shortage costs per time unit.
1
g(k) h E(IL) (h b1 ) E(IL ) h(k ) (h b1 ) P(IL j).
j
(3.100)
From section 3.4.8, g(k) is convex, g(k) |k| .
The inventory position is uniform on [R + 1, R + Q].
A 1 R Q
C(R, Q) g(k).
Q Q k R 1 (3.101)
C (Q) min C ( R, Q) C ( R * (Q), Q).
R
A min g (k )
k
A g (k *)
(3.102)
Q = 1 R*(1) = k*- 1.
A 1
C (2) min [ g ( R 1) g ( R 2)]
2 2 R
Since g(k) is convex, the second best k is k*-1 or k*+1.
Case (1): g(k*-1) g(k*+1)
then g(k*-1)+ g(k*) g(k*)+ g(k*+1)
if R*(2) = R*(1)-1= k*-2
g(R*(2) +1)+ g(R *(2) +2) = g(k*-1)+ g(k*)
if R*(2) = R*(1)= k*-1
g(R*(2) +1)+ g(R *(2) +2) = g(k*)+ g(k*+1)
Case (1): R*(2) = R*(1) -1
Case (2): g(k*-1) > g(k*+1) R*(2) = R*(1)
Then g(R*(1) ) g(R*(1)+2 ) R*(2) = R*(1)-1
Otherwise, R*(2) = R*(1)
Also,
A 1
C (2) min[ g ( R * (1)), g ( R * (1) 2)]
2 2
1
g ( R * (1) 1)
2
C (1) 1
min[ g ( R * (1)), g ( R * (1) 2)]
2 2
General Step:
C(Q 1) C(Q)
Q
Q 1
Q1 1 .
min g(R * (Q), g(R * (Q) Q 1)
(3.104)
C(Q + 1) C(Q) if and only if
min{g(R*(Q), g(R*(Q) + Q + 1} C(Q).
min{g(R*(Q), g(R*(Q) + Q + 1} is increasing with Q.
Let Q* be the smallest Q such that C(Q + 1) C(Q).
C(Q) C(Q*) for any Q Q*.
Q* and R*(Q*) provides the optimal solution.
3.5.2 An iterative technique: Continuous Case
By adding the average setup cost per time unit
to the cost expression in (3.65) we have
2 R R Q A
C(R , Q) h (R Q / 2 ) (h b1 )
H H .
Q Q
(3.107)
C R Q R
h (h b1 ) G G .
R Q
(3.108)
The resulting R decreases with Q.
C 2 R R Q Q R Q A
h / 2 (h b1 ) 2
H H G 2 .
Q Q Q
(3.109)
Start by determining the batch quantity
Q 2A / h
0
(3.110)
Determine reorder point R0 from (3.108) and C / R 0
2A 2(h b1 ) 2 R i R i Q i Q i R i Q i
Q i 1
H H G .
h h
(3.111)
Determine the reorder point R1 corresponding to Q1 from (3.108)
Qi+1 Qi Ri+1 Ri
0 1 2 3 4 5
Iteration i
Order quantity 70.71 87.91 93.08 94.59 95.03 95.15
Qi