For j=1,2

advertisement
Inventory Management (Deterministic Model):
Powers-of-Two Policies
Prof. Dr. Jinxing Xie
Department of Mathematical Sciences
Tsinghua University, Beijing 100084, China
http://faculty.math.tsinghua.edu.cn/~jxie
Email: jxie@ math.tsinghua.edu.cn
Voice: (86-10)62787812 Fax: (86-10)62785847
Office: Rm. 1202, New Science Building
1
经济订货批量(EOQ)基本模型
基本模型(Single Stage System):
库存 I(t)
斜率 = 
Q
T
时间 t 2
经济订货批量(EOQ)模型
Ignoring the variable cost (as a fixed constant),
k hQ k hT k
h
G T   
 
  gT , g 
T
2 T
2
T
2
k
2k
T 

g
h
*
2k
Q 
h
*
 
G T  2kh  2 kg
*
Harris (1913): Square-root formula
3
EOQ: Sensitivity analysis
k hT k hQ
k
2k
*
G T   


T 

T
2
Q
2
g
h
 
G T *  2kh  2 kg
2k
Q 
h
*
g  h / 2
• If λ is changed to λ’, then
Q* ' / Q*  ' / 
In order to lower Q* by half,λ must decrease by 75%
• Suppose we use the ‘wrong’ value Q instead of Q*
G/G*  ε(Q/Q* ),ε( x)  0.5( x  1/x)
Suppose we overestimate Q* by one-third (Q/Q*=4/3),
the cost penalty is only 1/24 (G/G*=25/24).
• In this sense, EOQ model is robust.
4
EOQ:Powers-of-Two Policy
k hQ k hT k
h
G T   
 
  gT , g 
T
2 T
2
T
2
Consider a powers-of-two policy, i.e., T = 2l TL
(TL <= T * is the basic planning period, e.g., a shift).
What’s the performance of the policy?
Find the smallest nonnegative integer value l:
  
G2 T   G2
l 1

T 
G 2 TL  G 2 TL
l
l 1
l
L
L
1 *
l
*
T  2 TL  2T
2
5
EOQ:Powers-of-Two Policy
It is easy to see


*
 T* 
1
1
G
(
T
)




*
  G 2T   2 
G
 kg   2 

2
2 2


 2
Since G(T) is strictly convex,


*
1
G
(
T
)


l
*
G 2 TL  G( 2T )   2 


2 2

 2 G(T )  1.06G(T )
*
*
Assuming 2lTL is uniformly distributed over the
interval (2-0.5T*, 20.5T*), the average cost


EG 2 TL 
l

2T *
T*
2
(k/T  gT )dT
( 2
1
2
)T *
1 3

*
*


ln
2
G
(
T
)

1
.
02
G
(
T
)


2 4

6
Multi-stage (echelon) system
 Serial system (Love 1972, MS):
 Assembly system: IN-TREE (1984, MS):
7
Multi-stage system
 Distribution system
 General
8
Serial System
Demand
1
J-1
J
Graph G=(N(G),A(G))=(N,A)
Nested Policy
Production does not occur at a stage unless it also
occurs at all of the immediate successors.
Theorem. (Love 1972; Schwarz 1973)
For a serial system it is optimal to follow a nested
policy, i.e. Ti = ni Ti+1 where ni is a positive integer.
9
10
Two Stage System: Echelon Inventory
ni = 3
QW
Time
Retailer
inventory level
Two-stage
Process
Warehouse inventory level
Sequential stocking points with level demand
QR
Time
Actual physical inventory level at the particular location
11
Echelon inventory of the warehouse item
Echelon Inventory
Echelon Inventory
Inventory on hand in this stage and all its successors
Echelon Inventory Holding Cost
Incremental Inventory Holding Cost
hi  h 
'
i
h
( j ,i )A
'
j
hi’ is the conventional holding cost rate.
In a serial system (i > 1):
'
'
hi  hi  hi 1
12
Two Stage System: Echelon Inventory
1
2
T1
Warehouse inventory level
Sequential stocking points with level demand
QW
1
2
T2
Retailer
inventory level
Time
QR
Time
Actual physical inventory level at the particular location
13
Echelon inventory of the warehouse item
Echelon Inventory vs. On-hand
Inventory: 2 Stage Example
2
h
i
Ti
 h1
T1
 h2
T2
2
2
2
T2
' T1
' T2
 h1 (

)  h2
2
2
2
i 1
h
'
1
T1
2
 (h  h )
'
2
'
1
T2
2
Theorem. The total carrying cost are the same whether
they are calculated using echelon or on-hand
inventories.
14
Optimization Problem
J
Ti
i 1
2
z  min [ki / Ti  hi
s.t.
Ti  niTi 1,
J

i 1
2
]  [ki / Ti  giTi ], gi  hi
ni {1,2,...}
(*)
Ti  Ti 1  0
Relaxation: Ignoring the constraints (*).
What’s the relationship between these two problems?
Theorem. The optimal cost (zLB) of the relaxed problem
is a lower bound on the cost of any feasible policy.
15
Relaxed Problem
J
Ti
i 1
2
z  min [ki / Ti  hi

i 1
2
]  [ki / Ti  giTi ], gi  hi
Ti  Ti 1 ( 0)
s.t.
J
(n-1) constraints
Given any subset A= of N\{J}, assume the strict
equalities in A= hold, i.e. A= ={i:Ti=Ti+1}.
Partition {Nm | m  N \ A }
1
2
Cluster N3
3
4
5
N5
J-2
NJ-2
J-1
J
NJ
Nm  { prev(m)  1,...,m}
Prev(m) = cluster index just before m;
Next(m) = cluster index just after m;
prev(3)=0.
next(J)=0.
16
Subproblem for Cluster Nm
zm  min [ki / Ti  giTi ]
iN m
s.t.
Ti  Ti 1 ( 0),i  Nm
The optimal solution is given by the EOQ formula
Ti  T (m)   ( N m ) , i  N m
*
*
k (m)
 (m) 
, k (m)   ki , g (m)   gi
g (m)
iN m
iN m
z  2 k ( Nm ) g ( Nm )
*
m
zLB 
z
iN m
*
i
This solution may be infeasible for the relaxed problem.
feasibility
 ( Nm )   ( Nnext( m) ), m  J
(1)
But even it is feasible, it may not be optimal for the
17
relaxed problem.
Optimality
Optimality requires:
If cut Nm into (Nm-, Nm+), where for any prev(m)<j<m,
Nm  { prev(m)  1,..., j}, Nm  { j 1,...,m}
 ( Nm )   ( Nm )
(2)
Theorem. The conditions (1) and (2) are necessary and
sufficient for T*(m) to be optimal for the relaxed
problem.
Proof. (Omitted. Can be found in Zipkin 2000).
18
Algorithm for the relaxed problem
Set Nj ={j}, j=1,2,…,J;
2. For j=1,2,…,J, do:
While prev(j) ≠ 0 and π(Nprev(j)) ≤ π(Nj) :
Reset Nj = Nprev(j) U Nj
1.
Theorem. The above algorithm determines an optimal
partition, and so the corresponding solution solves the
relaxed problem in O(J) time.
Proof. (Omitted. Can be found in Zipkin 2000).
19
An Example
J=4, λ=1, hj=1, Kj=(4,8,2,2)
 gj=1/2
Initialize: Set Nj ={j}, j=1,2,…,4; π(Nj) =(8, 16, 4, 4)
j=1: prev(1) = 0, so no change
j=2: prev(2)=1≠0 and π(N1)=8 ≤ π(N2)=16 :
Reset N2={1,2}, K(N2)=12, G(N2)=1, π(N2)=12
prev(2)=0, so no change
j=3: π(N2)=12>π(N3)=4, so no change
j=4: prev(4)=3≠0 and π(N3)=4 ≤ π(N4)=4 :
Reset N4={3,4}, K(N4)=4, G(N4)=1, π(N4)=4
prev(4)=2 and π(N2)=12 >π(N4)=4 , so no change
20
An Example (Continued)
J=4, λ=1, hj=1, Kj=(4,8,2,2)
 gj=1/2
Optimal Partition: P*={N2,N4}, N2={1,2}, N4={3,4}
π(N2)=12,π(N4)=4
Optimal Solution to the Relaxed Problem:
T1*= T2*= (π(N2))0.5=120.5 = 3.464,
T3*= T4*= (π(N4))0.5=40.5 = 2,
The cost zLB = 4+2*(12)0.5 =10.928
21
Powers-of Two Policies
J
Ti
i 1
2
z  min [k i / Ti  hi

i 1
2
]  [k i / Ti  giTi ], gi  hi
li {...,2,1,0,1,2,...} Ti  Ti 1  0
Ti  2li TL ,
s.t.
J
Approximation: Use the same partition P* = U Nm

*
T
(m)
Ti  2 TL  T (m)
i  Nm
li  round(log2
)
TL
Ti+: Resolve ties by rounding down: round(3.5)=3
li
*

T
20.5  i *  20.5
Ti
Theorem.
z 

 2 z
LB
1  z LB

 2
 1.06z LB

2 2

22
An Example (Continued)
J=4, λ=1, hj=1, Kj=(4,8,2,2)
 gj=1/2
Optimal Solution to the Relaxed Problem:
T1*= T2*= (π(N2))0.5=120.5 = 3.464,
T3*= T4*= (π(N4))0.5=40.5 = 2,
The cost zLB = 4+2*(12)0.5 =10.928
Take TL=1:
log2 (3.464) = 1.79  2; log2 (2) = 1.0  1
T1+= T2+= 22=4, T3+= T4+= 21 = 2,
The cost z+ =11  z+ / zLB = 1.007
23
Without Base-Period
For given TL, denote the cost above by z+(TL).
Choose a base period TL to minimize the cost z+(TL).
First, only need to consider TL in interval [1,2) :
Doubles or halves TL will not change Ti+ !
Then, what happens to Ti+ when TL changes from 1 to 2?
*
T
(m)
li


*
)
Ti  2 TL  T (m)  T (m),i  Nm li  round(log2
TL
li = li(m) remains unchanged  Ti+ is linear in TL.
2. li drops by 1 at a breakpoint  new Ti+ is linear in TL.
1.
24
Without Base-Period
For each m, T+(m) is a piecewise function with two
pieces. 
All T+ is a piecewise function with at most |P|+1 pieces.
Within each piece, the cost function can be optimized by
an EOQ formula. 
Select the best one from them, and denote the cost as z’.
Theorem.


1
 z LB  1.02 z LB
z  

(ln
2
)
2


'
Proof. See next page. (Can be found in Zipkin 2000)
25
Break Point
*
T (m)
)
Ti  2 TL  T (m)  T (m),i  Nm li  round(log2
TL
T+(m) is a piecewise function with two pieces.
 What’s the break point χ(m)? Considerχ(m) >1:
log2 T * (m)  (li  1)  0.5  v(m)
 ( m)  2 v ( m )
*
v(m) : fract ionalpart of
T (m )
log2
 (li  1)  0.5,0  v(m)  1
χ(m )
log2 (T * (m)  0.5)

li

*
*


T
( m) 
Proposition.
0. 5
2 
TL ,1  TL   (m)
 ( m) 



T ( m)  
*

T
( m) 
2-0.5
TL ,  (m)  TL  2



  ( m) 

26
Proof of the Theorem
z’ = min { z+(TL), 1≤TL<2}
 Any weighted average of z+(TL) is an upper bound of z’

2
1 1
1 ln2 x
dx  1
2
f(x)=1/(xln2) is a probability density
(i.e. weight) function over [1,2):
z '   f ( x) z  ( x)dx  
1
2
1



1 1
T ( m)  
*
dx
m zm  *
ln2 x 
 T ( m)  
0.5
-0.5


(
m
)
2



z LB
2 x dx
2 x  dx 
    
 

1  
 ( m)
ln2 

(
m
)
x


  ( m)  x 
z LB  20.5
dy 
z LB

 1.02z LB
2-0.5  ( y)  
ln2 
y  (ln2) 2
27
One-warehouse N-retailer System
28
One-warehouse N-retailer System
29
Review of this lecture:
---- Powers-of-Two Polices
 Can be used to Tree System
 Single stage
 Serial system
 Assembly system
 Distribution system
 How about non-tree system?
 General system
30
Download