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 hT 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 hT 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 hT 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: G2 T G2 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 ] iN 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) iN m iN m z 2 k ( Nm ) g ( Nm ) * m zLB z iN 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 20.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