Advanced Inventory Management Summary PDF
Document Details
Uploaded by HonoredPeony6179
Tags
Summary
This document summarizes advanced inventory management concepts, including different inventory control systems, policies (s, Q), and various model variants. It covers topics like safety stock, lead times, and inventory position, and discusses different demand specifications and costs. It also briefly introduces time-based fill rates and order fill rates.
Full Transcript
Advanced Inventory Management summary 1. Inventory control systems 1.1 Overview inventory control policies - Black decreasing line → Demand - Green line → Receipt of replenishment - Red arrow → Shortage = demand goes beyond the inventory. - Black star → Decision to replenish...
Advanced Inventory Management summary 1. Inventory control systems 1.1 Overview inventory control policies - Black decreasing line → Demand - Green line → Receipt of replenishment - Red arrow → Shortage = demand goes beyond the inventory. - Black star → Decision to replenish - Purple line → Lead time = time in between the decision to replenish inventory and the receipt of replenishment order. - Yellow line → Replenishment cycle = period between the receipt of two subsequent replenishment orders. On-hand/physical stock = physically on the shelf (always ≥ 0). Stockout = event that customer demand exceeds on-hand stock. Backorders/backlog = amount of unfilled demand waiting to be filled when a replenishment order arrives. Safety stock/buffer stock = average (expected) net stock just before a replenishment order arrives (usually ≥ 0, but may be < 0). Net stock/inventory level = on-hand – backorders (may be < 0 and ≥ 0). If negative: backorders. Inventory position/economic inventory = on-hand + on-order – backorders – committed (may be < 0 and ≥ 0). For example: replenish if inventory position ≤ s. Continuous vs period review → place replenishment order at any point in time or only at specific points in time. Ex: only on Monday. Less safety stock needed under continuous review. Periodic review facilitates multi-item coordination (order/transport multiple items from same supplier at the same time). Fixed vs variable lot size → Restricted by packaging units or not. Ex: only order in multiples of pallets/box/barrel/container/FTL. Continuous review Periodic review Fixed lot size (s, Q) or (s, nQ) (R, s, Q) or (R, s, nQ) Variable lot size (s, S) (R, S) or (R, s, S) Inventory control policies categories: (s, Q) → replenish when IP drops at/below reorder point s and order quantity is a fixed lot size Q. - Safety stock should cover uncertainty in demand during the lead time. - s = expected lead time demand + safety stock. If demand size > 1, so net stock is not exactly s but goes below s: include undershoot → order quantity = lead time demand + undershoot. If ≤ s, no stock-out. One-for-one demand: undershoot = 0. - (s, nQ) → lot size is an integer multiple of Q such that inventory position is raised to level above s. (s, S) → replenish when IP drops s and variable lot size S – IP. - If one-for-one demand with S = s+Q → equivalent to (s, Q). - Otherwise → lot size ≥ S – s due to undershoot. safety stock should cover uncertainty undershoot plus lead time demand. (R, s, Q) → review IP every R period and reorder Q if IP ≤ s. - Additional undershoot due to waiting for next review period. - (R, s, nQ) → lot size is an integer multiple of Q such that inventory position is raised to level above s. (R, S) → replenish every R period and variable lot size is such that IP is raised to order-up-to level S. - Safety stock should cover uncertainty in demand during lead time plus review period (L+R). Higher safety stock than (s, S). - (R, s, S) → replenish when IP drops s at review and variable lot size S – IP. Undershoot due to waiting for next review period. Model variants: - Backordering (customer willing to wait for product) vs lost sales (customer goes to somebody else) → difference insignificant for high service levels. - Demand specification: o Fast movers → continuous: Normal (mostly chosen, but probability of being negative should be small), Lognormal, Gamma. o Slow movers → discrete: Poisson, (negative) binomial, compound Poisson. o Rule of thumb: continuous distribution does not work if mean lead time demand stock can be high: lost profit, expediting, alternative supplier. - Costs if demand co*F(S). o Break-even point: cu*[1-F(S)] = co*F(S) → F(S) = cu/(cu+co). - Impact of ordering the Sth unit under discrete demand: o Avoid cu if D ≥ S → expected cost reduction cu*P{D≥S} = cu*[1 - P{D≤S-1}] o co if not selling Sth unit, so if D < S → expected cost increase co*P{D≤S-1} o Increase S as long as co*P{D≤S-1} < cu*[1 - P{D≤S-1}] → P{D≤S-1} < cu/(cu+co). Thus: the optimal S is the smallest S satisfying: P{D≤S} ≥ cu/(cu+co). 2. (s, Q) systems – service level models per SKU 2.1 (s, Q) systems – EOQ Assumptions basic model: - No undershoot (IP = s when releasing replenishment order) - Unbiased demand forecast - Replenishment lead time is deterministic - Forecast errors in lead time demand has Normal distribution → fast mover - Complete backorder (no lost sales) - Negligible backorder probability after receipt of replenishment order Calculate the Economic Order Quantity (EOQ): - Demand/year or month D, value/piece v, holding cost rate r (if demand per month, this also per month), costs A per order: - Average inventory: Q/2 - # cycles/year = # orders/year: D/Q - Cycle length: Q/D - Total cost/year: TC(Q) = AD/Q + vrQ/2 o Order cost: A*D/Q o Cycle stock cost: vr*Q/2 2𝐴𝐷 - EOQ: Q* = √ → average cycle inventory = EOQ/2 𝑣𝑟 L = replenishment lead time 𝑥̂𝐿 = forecast demand over L f(x) = density function of lead time demand k = safety factor SS = safety stocks 1 1 − 𝑥2 φ(x) = standard normal density function: 𝜙(𝑥) = 𝑒 2 √2𝜋 𝑥 Φ(x) = standard normal distribution function: Φ(𝑥) = ∫−∞ 𝜙(𝑦)𝑑𝑦 (s, Q) systems – cycle service level Probability P1 of no stockout per replenishment cycle (cycle service level): - Replenish when IP = s. - After lead time L, all outstanding orders are physical stock that can satisfy demand. - Inventory is minimum just before replenishment order arrives. - Sufficient products if the demand during lead time ≤ s. P1 = P{Sufficient inventory in replenishment cycle} = P{Lead time demand ≤ s} = P{Forecast error lead time demand ≤ SS} → s = 𝑥̂𝐿 + SS → Forecast error = Actual lead time demand - 𝑥̂𝐿 If demand during lead time ~ N(𝑥̂𝐿 , σL), then SS = k* σL and: 𝑠 − 𝑥̂𝐿 𝑃1 = Φ( ) = Φ (k) → 𝑘 = Φ−1 (𝑃1 ) = NORM.S.INV(P1) 𝜎𝐿 If k = 1.48, 93% below and 7% above. Mean lead time demand (𝑥̂𝐿 ) = average demand/week (D) * lead time (L) (If average demand/month known: average demand/month * 12/52) Standard deviation lead time demand (σL) = standard deviation/week (σ) * √lead time (L) (If standard deviation/month known: standard deviation/month * √12/52) Total average inventory = Average cycle inventory + safety stock = EOQ/2 + SS Total annual holding costs = total average inventory * annual holding costs Two-bin system as an (s, Q) system: Two bins for item storage: Bin 2 has capacity s and Bin 1 has capacity Q. Use items from Bin 1 until empty, and place order when Bin 2 needs to be opened. When order arrives, refill Bin 2 first and then Bin 1. This is only valid if the number of outstanding orders is at most 1. So, previous order should have been arrived when Bin 1 is empty, so IP = IL (level). 2.2 (s, Q) systems – (volume) fill rate Fraction P2 of demand satisfied directly from shelf (volume fill rate). 𝐸𝑥𝑝𝑒𝑐𝑡𝑒𝑑 𝑆ℎ𝑜𝑟𝑡𝑎𝑔𝑒 𝑃𝑒𝑟 𝑅𝑒𝑝𝑙𝑒𝑛𝑖𝑠ℎ𝑚𝑒𝑛𝑡 𝐶𝑦𝑐𝑙𝑒 𝑃2 = 1 − 𝐸𝑆𝑃𝑅𝐶 / 𝑄 = 1 − 𝐸𝑥𝑝𝑒𝑐𝑡𝑒𝑑 𝑑𝑒𝑚𝑎𝑛𝑑 𝑝𝑒𝑟 𝑟𝑒𝑝𝑙𝑒𝑛𝑖𝑠ℎ𝑚𝑒𝑛𝑡 𝑐𝑦𝑐𝑙𝑒 ∞ 𝐸𝑆𝑃𝑅𝐶 = ∫𝑠 (𝑥 − 𝑠)𝑓(𝑥)𝑑𝑥 = 𝜎𝐿 𝐺(𝑘) (x-s is all possible shortages) Normal Loss Function: ∞ 𝐺(𝑘) = ∫𝑘 (𝑦 − 𝑘)𝜙(𝑦)𝑑𝑦 = 𝜙(𝑘) − 𝑘 ∗ [1 − Φ(𝑘)] 𝑄(1 − 𝑃2 ) 𝐺(𝑘) = 𝜎𝐿 with 𝑆𝑆 = 𝑘𝜎𝐿 𝐺(−𝑘) = 𝑘 + 𝐺(𝑘) G(k) is decreasing if k is increasing. Thus, the required safety stock increases if: - Fill rate P2 increases - Standard deviation of forecast error of lead time demand σL increases - Lot size Q decreases 2.3 (s, Q) systems – time-based fill rate Time-based fill rate = fraction of demand delivered within period T. T ≥ L → No safety stock needed, move Customer Order Decoupling Point (CODP) upstream. Time needed to deliver demand is greater than or equal to the lead time. T < L → Two options: - Deterministic L: Calculate SS based on lead time L-T. - Stochastic L (random variable): use max{L-T, 0} = (L-T)+. Example: lead time has a Normal distribution with mean mL and standard deviation sL. Probability of negative lead time should be negligible. Then: 𝑇 − 𝑚𝐿 o 𝐸[(𝐿 − 𝑇)+ ] = 𝑠𝐿 𝐺(𝑧𝐿 ) = 𝑠𝐿 𝐺( 𝑠𝐿 ) o 𝑣𝑎𝑟[{(𝐿 − 𝑇)+ }2 ] = 𝐸[{(𝐿 − 𝑇) } ] − {𝐸[(𝐿 − 𝑇)+ ]2 } + 2 o 𝐸[{(𝐿 − 𝑇)+ }2 ] = 𝑠𝐿2 {(𝑧𝐿2 + 1)[1 − Φ(𝑧𝐿 )] − 𝑧𝐿 𝜙(𝑧𝐿 )} = 2H(𝑧𝐿 ) → B3 costing 2.3.1 (s, Q) systems – ready rate Fraction of time P3 during which net stock is positive (ready rate). 𝜎𝐿 𝑄 Use distribution of net stock NS from B3 costing: 𝑃3 = 1 − 𝐹𝑁𝑆 (0) = 1 − 𝑄 [𝐺(𝑘) − 𝐺(𝑘 + 𝜎𝐿 )] Under Normal demand: decision rules P3 and P2 equivalent. 2.3.2 (s, Q) systems – TBS Time Between Stockout occasions (TBS). Stockout occurs with probability 1-Φ(k). So, stockout occurs on average every 1/[1- Φ(k)] cycles. Cycle length is Q/D so: 𝑄 1 𝑇𝐵𝑆 = ∗ 𝐷 1 − Φ(𝑘) 𝑄 𝑘 = Φ−1 (1 − 𝐷 ∗ 𝑇𝐵𝑆 ) 2.4 Order (line) fill rate and costs Customer only satisfied if they receive exactly the amount they asked for or if they receive exactly the quantity of multiple SKUs. Order line = demand quantity for a single SKU. Example: Order lines: - SKU A: 10 - SKU B: 5 - SKU C: 3 On hand: - SKU A: 9 - SKU B: 9 - SKU C: 7 Volume fill: - SKU A: 9/10 = 0.9 - SKU B: 5/5 = 1.0 - SKU C: 3/3 = 1.0 Order line fill rate (OLFR): 2/3 = 0.667 (two out of three order lines can be met) Order fill rate (OFR): 0/1 = 0.0 (zero out of one order can be met) On-Time-In-Full (OTIF) = order line filled if on hand inventory is sufficient for complete order line. Compound Poisson demand: Poisson arrivals with rate λ and order line size J. Process order lines first customer first serve (FCFS). NS = IP – DL. Order line of customer can be met if NS just prior to arrival ≥ order line size J. This equals the steady state distribution of NS, because of the Poisson Arrivals See Time Averages (PASTA) rule. 𝑂𝐿𝐹𝑅 = 𝑃{𝑁𝑆 ≥ 𝐽} = 𝑃{𝐷𝐿 + 𝐽 ≤ 𝐼𝑃} If all states between s+1 and s+Q are accessible: IP ~ discrete uniform: 1 𝑂𝐿𝐹𝑅 = ∑𝑠+𝑄 𝑥=𝑠+1 𝑃{𝐷𝐿 + 𝐽 ≤ 𝑥} 𝑄 (𝜆𝐿)𝑛 𝑒 −𝜆𝐿 𝑃{𝐷𝐿 + 𝐽 ≤ 𝑥} = ∑∞ 𝑛=0 𝑛! 𝑃{𝑋𝑛+1 ≤ 𝑥} with Xn = cumulative demand of n customers (X1=J) 𝑃{𝑋𝑛+1 ≤ 𝑥} = ∑𝑥𝑗=1 𝑃{𝐽 = 𝑗}𝑃{𝑋𝑛 ≤ 𝑥 − 𝑗} If a lot of customers, use continuous approximation: 1 𝑠+𝑄 1 𝑠+𝑄 𝑥−𝜇 𝑂𝐿𝐹𝑅 = 𝑄 ∫𝑠 𝑃{𝐷𝐿 + 𝐽 ≤ 𝑥}𝑑𝑥 = 𝑄 ∫𝑠 Φ(𝜎 ) 𝑑𝑥 𝜇 = 𝐸[𝐷𝐿 + 𝐽] = (𝜆𝐿 + 1)𝐸[ 𝐽 ] 𝜎 2 = 𝑉𝑎𝑟[𝐷𝐿 + 𝐽] = (𝜆𝐿 + 1)𝑉𝑎𝑟[ 𝐽 ] + (𝐸[ 𝐽 ])2 𝜆𝐿 Solve this: 𝑥−𝜇 1 - Integral transformation: 𝑦 = 𝜎 and 𝑑𝑦 = 𝜎 𝑑𝑥 𝜎 𝑠−𝜇 𝑠+𝑄−𝜇 - 𝑂𝐿𝐹𝑅 = 1 − 𝑄 {𝐺( 𝜎 ) − 𝐺( 𝜎 )} → similar to volume fill rate, but distribution of DL + J instead of DL. Demand order lines independent: - qi = probability that SKU i is included in order - OLFRi = order line fill rate for SKU i - 𝑂𝐹𝑅 = ∑𝐼𝑖=1 𝑞𝑖 𝑂𝐿𝐹𝑅𝑖 Demand order lines correlated: certain SKU groups ordered together, in related quantities. Ex: products of an assembly. 2.4.1 Costs per customer order line short (B4) TRC(k) = replenishment costs + carrying costs + shortage costs 𝐴𝐷 𝑄 𝐷 𝜎𝐿 𝐺(𝑘) 𝑇𝑅𝐶(𝑘) ≈ 𝑄 + ( 2 + 𝑘𝜎𝐿 )𝑣𝑟 + 𝐵4 ∗ 𝑄 ∗ ẑ 𝐷 - → cycles/year 𝑄 - 𝜎𝐿 𝐺(𝑘) → expected shortage per replenishment cycle (ESPRC) - ẑ = average units ordered per line 𝜎𝐿 𝐺(𝑘) - ẑ → number of order lines that we miss per cycle = expected shortage per replenishment cycle/average units ordered per line. 𝑄𝑟𝑣ẑ 𝑘 = Φ−1 (1 − ) 𝐵4 𝐷 Assumptions: - FCFS order handling. - Every order line has the same weight. 3. Forecasting/time series analysis Basic exponential smoothing for fast movers 3.1 Forecasting: basics Time horizon → period you would like to forecast ahead. Short (several months), medium (between few months and 1-2 years), long (several years). Time bucket → forecast per day, week, month, year. Aggregation level → individual item, family of items, turnover of product group. This course: individual SKU, short time horizon with focus on demand during L (+R) and, small time buckets. σL: standard deviation of forecast error over lead time. Better forecast → lower σL → less SS/higher service level. Basic forecasting: - Time Series Analysis (TSA) → extrapolation of historic data. - Causal models → relate demand to explanatory variables. - Human judgement → impact of promotions, competitor reactions, macroeconomic conditions, new products introductions… Total costs of forecasting based on balancing costs of forecast errors and operating the procedure. Components TSA: - Level a - Trend b → increasing or decreasing - Seasonal variations F → ex: Christmas or weekends in supermarket - Random fluctuations, or residue, or forecast error ε → not predictable Try to get the predictable part as large as possible! Three steps: 1. Select model of demand pattern → is there a trend or seasonal effect? 2. Estimate parameters → based on statistical method or subjective (similarity between items) a. Initialization b. Updating based on demand info → learn over time 3. Generate forecasts Methods parameter estimation and forecasting: - Regression (medium-range forecasting): specify relation between dependent variable (demand) and ≥ 1 independent variable(s) that are correlated to the dependent variable. - Moving average: average of last N observations with equal weights. - Exponential smoothing: gives gradually declining weights to historic data. Basic model types of this course: - Level model: 𝐷𝑡 = 𝑎 + 𝜀𝑡 - Trend model: 𝐷𝑡 = 𝑎 + 𝑏𝑡 + 𝜀𝑡 - Trend-seasonal model: 𝐷𝑡 = (𝑎 + 𝑏𝑡) ∗ 𝐹𝑡 + 𝜀𝑡 Regression: - 𝐷𝑡 = 𝑎 + 𝑏𝑥𝑡 + 𝜀𝑡 with xt the dependent variable - Linear regression: model is linear in the parameters a and b - Assumption: errors εt are independent and ~ N(0, σ). Then, we can find the best estimators for a and b (denoted by â and b^) using least squares criterion: o n observations for Dt and xt: min ∑𝑛𝑡=1(𝐷𝑡 − 𝑎 − 𝑏𝑥𝑡 )2 𝑎,𝑏 n n n 1 D x i i − Di xi 1 n 1 n Di − bˆ xi n i =1 i =1 bˆ = i =1 2 and aˆ = n 1 n n i =1 n i =1 x 2 i − xi n i =1 i =1 → regression add-in Excel - Only useful if accurate info on dependent variable(s) xt corresponding to future demand Dt: Time: xt = t. Ex: demand for ice cream next summer depends on average day temperature but really hard to predict. 3.2 Forecasting – Moving average and exponential smoothing for level and trend model Moving average: Level model: 𝐷𝑡 = 𝑎 + 𝜀𝑡 1 1. Update moving average after new demand info: â𝑡 = â𝑡−1 + 𝑁 (𝐷𝑡 − 𝐷𝑡−𝑁 ) 1 - Estimate at end of period t: average of last N observations: â𝑡 = ∑𝑁−1 𝑖=0 𝐷𝑡−𝑖 𝑁 - Estimator: min sum of squared errors of last N observations. - â has a mean a and standard deviation 𝜎𝜀 /√𝑁 - Choice of N: old data provides less info. Typical 3 ≤ N ≤ 12 2. Initialize: for â use average demand in first periods. 3. Forecast: in period t for period t+τ: Ď𝑡,𝑡+𝜏 = â𝑡 , ∀𝜏 ≥ 1 Weights historical demand info: 10): o Non-erratic (CV ≤0.5) → Normal o Erratic (CV >0.5) → Gamma/Lognormal - Discrete demand/slow moving (mean lead time demand EOQ Method: 1. Start with Q=EOQ 2. Calculate safety factor k 3. Calculate new lot size Q 4. Repeat 2+3 until convergence (example: change in TRC(k,Q) is negligible) 5.4 Costs per unit short per unit time (B3) Fractional charge B3 per unit short per unit time: - Shortage probability/ESPRC not sufficient because they include info upon duration of shortage and focus on end of cycle. - Expected backorders E[BO] at arbitrary point in time, but average begin and end not possible, because behaviour is not linear. IP(t) → inventory position at time t. One lead time L later, all outstanding orders have turned into net stock NS(t+L). Demand during (t, t+L), has to be subtracted. Replenishment orders released after t have not arrived yet: 𝑁𝑆(𝑡 + 𝐿) = 𝐼𝑃(𝑡) − 𝐷(𝑡, 𝑡 + 𝐿) → if t goes to infinite: 𝑁𝑆 = 𝐼𝑃 − 𝐷𝐿 𝐸[𝐵𝑂] = 𝐸[𝑀𝑎𝑥{−𝑁𝑆, 0}] Inventory position: - Continuous: varies between s and s+Q. - Discrete: varies between s+1 and S+Q. - Poisson demand: IP has a discrete uniform distribution on {s+1, s+2,.., s+Q}, which follows from: - Compound Poisson demand: same is true if all values of IP between s+1 and s+Q can be reached. - Normally distrusted demand: approximate distribution of IP by a continuous uniform distribution on [s, s+Q]. Accurate, provided that probability of negative demand is negligible. 𝑢−𝑥−𝑥̂𝐿 Given that IP = u (s s+Q. Expected shortage start replenishment cycle: 𝜎𝐿 𝐺(𝑘 + ). 𝜎𝐿 𝑄 Then, ESPRC = 𝜎𝐿 𝐺(𝑘) − 𝜎𝐿 𝐺(𝑘 + 𝜎 ). 𝐿 If P2 is high, small impact so don’t bother about this correction. 𝑄 𝑄(1 − 𝑃2 ) 𝜎𝐿 𝐺(𝑘) − 𝜎𝐿 𝐺(𝑘 + ) = → approximation for inverse of G(k) not sufficient anymore, but 𝜎𝐿 𝜎𝐿 Solver or Goal Seek in Excel is. Average on-hand stock: - OH at end of replenishment cycle ≈ SS and at start ≈ SS+Q, so average ≈ SS + Q/2. - Other method, include backorders: o 𝐸[𝑁𝑆] = 𝐸[𝑂𝐻] − 𝐸[𝐵𝑎𝑐𝑘𝑜𝑟𝑑𝑒𝑟𝑠] o End replenishment cycle: 𝐸[𝑁𝑆] = 𝑘𝜎𝐿 and 𝐸[𝐵𝑎𝑐𝑘𝑜𝑟𝑑𝑒𝑟𝑠] = 𝜎𝐿 𝐺(𝑘). So, 𝐸[𝑂𝐻] = 𝜎𝐿 {𝑘 + 𝐺(𝑘)}. o Start replenishment cycle: 𝐸[𝑁𝑆] = 𝑄 + 𝑘𝜎𝐿 and 𝐸[𝐵𝑎𝑐𝑘𝑜𝑟𝑑𝑒𝑟𝑠] = 𝜎𝐿 𝐺(𝑘 + 𝑄/𝜎𝐿 ). So, 𝐸[𝑂𝐻] = 𝑄 + 𝜎𝐿 {𝑘 + 𝐺(𝑘 + 𝑄/𝜎𝐿 )}. These backorders are relatively small compared to NS. o Average E[OH]: 𝐸[𝑂𝐻] = 𝑄/2 + 𝑘𝜎𝐿. o This is more precise, but on-hand stock does not decrease linearly during replenishment cycle because of expected backorders (NS does). 6.2 Lost sales models Demand during cycle is Q+ESPRC instead of Q for the fill rate P2: 𝐸𝑆𝑃𝑅𝐶 𝜎𝐿 𝐺(𝑘) - 𝑃2 = 1 − 𝑄+𝐸𝑆𝑃𝑅𝐶 =1 − 𝑄+𝜎𝐿 𝐺(𝑘) (1−𝑃2 )𝑄 - 𝐺(𝑘) = 𝑃2 ∗𝜎𝐿 - kLS < kBO, so value of G(k) should be larger to get same fill rate. - If very high P2, safety factors of lost sales and backordering almost the same. 6.3 Lead time variability Additional assumption: crossing of orders not permitted (replenishment order that is received later than another replenishment order but ordered earlier). This means that lead times are correlated, but we ignore this. Two approaches to estimate σL with stochastic lead times: 1. Measure actual demand over L. - We cannot compute the σL directly if lead times are overlapping because observations are correlated, and standard estimator of lead time demand variation is biased. Safety stock may be too low because of positive correlation, so lead time demand is underestimated. Use only non-overlapping periods to estimate correlation. Exclude the ones that overlap. - Alternative for P1 measure: use order statistics x(1)≤ x(2)≤.. ≤ x(n) with n+1 intervals. Find x(k) such that P1 ≈ k/(n+1). Use interpolation to find reorder point. 2. Measure demand and L separately, combine both distributions. - Specify mean and variance of demand per period Dp and L, assume that demand and L are independent. - Calculation fill rate is the same, but with other formula for σL: 𝜎𝐿 = √𝐸[𝐿]𝑉𝑎𝑟[𝐷𝑝 ] + 𝐸 2 [𝐷𝑝 ]𝑉𝑎𝑟[𝐿] E[L] is expected lead time, var[Dp] is standard deviation of demand ^2, E2[Dp] is expected demand ^2, var[L] is standard deviation of lead time ^2. - Var[L] causes serious increase in SS, so strive for Var[L] reduction. - Two ways to decrease a high σL: reduce Var[Dp] or reduce Var[L]. Second option has more impact. - In practice: D and L are not always independent. Two options: o D high → stock low → pressure on expediting → L short o D high → high workload at supplier → L long 6.4 Non-Normal forecast errors of lead time demand Problem nonnormal lead time demand: a normal distribution represents negative values for lead 𝜎 time demand. Probability of negative demand should be negligible, criterion: 𝑥̂𝐿 ≤ 0.5. 𝐿 Then, P{DL0.05) results in underestimation of safety stock for Normal distribution, because of the negative demand. 6.5 Slow movers 𝜆𝑖 𝑒 −𝜆 Use discrete PDF if 𝑥̂𝐿 1: generalize control rule for B2 costing: ≤𝐵 ∑𝑄 𝑗=1 𝐹(𝑠+𝑗) 2𝐷 Shortage costs B1 per shortage occasion (given Q≥1) Shortage if DL ≥ s+1, with probability 1-F(s). Average on-hand inventory: ∑𝑠𝑗=0(𝑠 − 𝑗)𝑓(𝑗). Total Relevant Costs per year: 𝐷 - 𝑇𝑅𝐶 = 𝑣𝑟 ∑𝑠𝑗=0(𝑠 − 𝑗)𝑓(𝑗) + 𝐵1 𝑄 [1 − 𝐹(𝑠)]. 𝑓(𝑠+1) 𝑄𝑣𝑟 - Find smallest value of s for which TRC(s) ≤ TRC(s+1): 𝐹(𝑠) ≤ 𝐵 𝐷. 1 Fill rate P2 Lead time demand with Poisson distribution with mean λ. Q=1: use PASTA and P{NS≤0}. 1 − 𝑃2 = 1 − 𝐹(𝑆 − 1) or 𝑃2 = 𝐹(𝑠) 𝑓(𝑠+1) 𝑟 Find re-order point: Find smallest value for s for which holds: 𝐹(𝑠+1) ≤ 𝐵 2𝐷 Q>1: 𝑃2 = 1 − 𝐸𝑆𝑃𝑅𝐶/𝑄 with 𝐸𝑆𝑃𝑅𝐶 = ∑∞ 𝑛=𝑠+1(𝑛 − 𝑠)𝑓(𝑛) = 𝜆[1 − 𝐹(𝑠 − 1)] − 𝑠[1 − 𝐹(𝑠)] Expected shortage start of cycle (This may be crucial for a small Q): 𝐸𝑆𝑆𝐶 = ∑∞ 𝑛=𝑠+𝑄+1(𝑛 − 𝑠 − 𝑄)𝑓(𝑛) = 𝜆[1 − 𝐹(𝑠 + 𝑄 − 1)] − (𝑠 + 𝑄)[1 − 𝐹(𝑠 + 𝑄)] 6.6 Intermittent demand Compound Poisson distribution: # of arrivals in time t has Poisson distr with mean λt and demand per customer Dc with fj = P{Dc = j} has E[Dc] and Var[Dc]: 𝐸[𝐷𝐿 ] = 𝜆𝐿𝐸[𝐷𝑐 ] and 𝑉𝑎𝑟[𝐷𝐿 ] = 𝜆𝐿𝐸[𝐷𝑐 2 ] So, variance-to-mean ratio = ≥ 1 Negative binomial: variance-to-mean ratio > 1. Binomial: variance-to-mean ratio < 1. 1 𝑃{𝑁𝑆 = 𝑗} = ∑𝑠+𝑄 𝑘=𝑚𝑎𝑥{𝑗,𝑠+1} 𝑃{𝐷𝐿 = 𝑘 − 𝑗} 𝑄 𝑗−1 Total demand of k customers fj(k): 𝑓𝑗 (𝑘) = ∑𝑖=𝑘−1 𝑓𝑖 (𝑘 − 1)𝑓𝑗−𝑖 The demand of k-1 customer is i, so demand of kth customer is j-i. 𝑗 (𝜆𝐿)𝑘 𝑒 −𝜆𝐿 Lead time demand: 𝑃{𝐷𝐿 = 𝑗} = ∑𝑘=1 𝑘! 𝑓𝑗 (𝑘) Ready rate: P{NS ≥ 1} ∑𝑠+𝑄 ∞ 𝑗=1 𝑃{𝑁𝑆=𝑗} ∑𝑘=1∗𝑚𝑖𝑛{𝑘,𝑗}∗𝑓𝑘 Volume fill rate: 𝑃2 = 𝐸[𝐷𝑐 ] 𝑠+𝑄 𝑗 Order line fill rate: 𝑂𝐿𝐹𝑅 = ∑𝑗=1 𝑃{𝑁𝑆 = 𝑗} ∗ 𝑃{𝐷𝑐 ≤ 𝑗} with 𝑃{𝐷𝑐 ≤ 𝑗} = ∑𝑖=1 𝑓𝑖 6.7 Non-stationary demand Nonstationary demand: demand change with time because of seasonality/trend. Option 1: - Forecast procedure provides 𝑥̂𝑡,𝑡+𝐿 and update for σt,t+L every period. - Apply static model to compute s, based on 𝑥̂𝑡,𝑡+𝐿 and σt,t+L. - σt,t+L does not vary with level of point forecast. Option 2: - Use static decision rules. - Use model to relate σt,t+L to 𝑥̂𝑡,𝑡+𝐿 , example: 𝜎𝑡,𝑡+𝐿 = 𝑐1 (𝑥̂𝑡,𝑡+𝐿 )𝑐2. - Select parameters c1 and c2 using linear regression: 𝑙𝑛(𝜎𝑡,𝑡+𝐿 ) = 𝑙𝑛(𝑐1 ) + 𝑐2 𝑙𝑛(𝑥̂𝑡,𝑡+𝐿 ). - Implementation: o From historic data: construct groups of ‘similar’ point forecasts (x1..xn) with observed forecast errors e1..en for the lead time demand. o For each group k=1..K, estimate mean point forecast mk and standard deviation of all forecast errors in the group σk. Sufficient observations in group is needed! o Regression: 𝑙𝑛(𝜎𝑘 ) = 𝑙𝑛(𝑐1 ) + 𝑐2 𝑙𝑛(𝑚𝑘 ) o Data from similar SKUs can be used to estimate (c1, c2) - Special case: c2=1: o Assume that lead time demand has constant coefficient of variation c1 and 𝑆𝑆 = 𝑘𝜎𝑡,𝑡+𝐿 = 𝑘𝑐1 𝑥̂𝑡,𝑡+𝐿. o Then, SS is proportional to forecast demand. o Express SS in periods instead of # of items. - Another implementation: find an estimator of c1 using maximum likelihood method (no grouping needed): o 𝜎𝑡,𝑡+𝐿 = 𝑐1 𝑥̂𝑡,𝑡+𝐿 with point forecasts x1..xn and observed forecast errors e1..en. o Log likelihood function, assuming unbiased forecasts: 𝑛 1 𝐿𝑜𝑔𝐿(𝑒1 ,.. , 𝑒𝑛 |𝑐1 ) = −𝑛 𝑙𝑛(𝑐1 ) − 2 𝑙𝑛(2𝜋) − ∑𝑛𝑖=1 𝑙𝑛(𝑥𝑖 ) − 2𝑐12 ∑𝑛𝑖=1(𝑒𝑖 /𝑥𝑖 )2 1 𝑐1 = √𝑛 ∑𝑛𝑖=1(𝑒𝑖 /𝑥𝑖 )2 6.8 Undershoot (order when inventory position >E[Y]): - Consider sequence customer order Yi (i.i.d.) and threshold for total demand T. - Limiting distribution of Z = Σ𝑌𝑖 – T if T->∞ (sum over Yi until the first time we pass T). o Continuous random variable Y: 𝐸[𝑌 2 ] 𝐸[𝑌 3 ] 1 𝐸[𝑌 2 ] 2 𝐸[𝑍] = 2𝐸[𝑌] and 𝑉𝑎𝑟[𝑍] = 3𝐸[𝑌] − ( 4 𝐸[𝑌] ) o Discrete random variable Y (T integer): 𝐸[𝑌 2 ] 1 𝐸[𝑌 3 ] 1 𝐸[𝑌 2 ] 2 1 𝐸[𝑍] = 2𝐸[𝑌] − 2 and 𝑉𝑎𝑟[𝑍] = 3𝐸[𝑌] − ( 4 𝐸[𝑌] ) − 12 Second moment of random variable: 𝐸[𝑌 2 ] = 𝑉𝑎𝑟[𝑌] + 𝐸 2 [𝑌] Third moment of random variable: - Discrete uniform {1..N}: 𝐸[𝑌 3 ] = 𝑁(𝑁 + 1)2 /4 - Poisson (𝜆): 𝐸[𝑌 3 ] = 𝜆 + 3𝜆2 + 𝜆3 - Normal N(μ,σ): 𝐸[𝑌 3 ] = 3𝜇𝜎 2 +𝜇3 𝑄 1.0 𝑐𝑣[𝑌] ≤ 1 Define cv[Y] = SD[Y] / E[Y] → Rule of thumb: ≥{ 𝐸[𝑌] 1.5 ∗ 𝑐𝑣 2 [𝑌] 𝑐𝑣[𝑌] > 1 Safety stock computations: - Safety stocks: replace 𝜎𝐿 by 𝜎𝐿 + 𝑢𝑛𝑑𝑒𝑟𝑠ℎ𝑜𝑜𝑡. - Reorder point: replace 𝑥̂𝐿 by 𝑥̂𝐿 + 𝑚𝑒𝑎𝑛 𝑢𝑛𝑑𝑒𝑟𝑠ℎ𝑜𝑜𝑡. - Average demand replenishment cycle: in principle Q, but in some cases undershoot exceeds Q. Then, order multiple Q’s to raise inventory position above s (average demand > Q) → (s, nQ) system. Example: order 2Q if undershoot Z is between Q and 2Q: 1 2𝑄 𝑃{𝑄 ≤ 𝑍 ≤ 2𝑄} = 𝐸[𝑌] ∫𝑄 1 − 𝐹𝑌 (𝑦)𝑑𝑦 7. Other inventory control systems 7.1 (R, S) systems (R, S) system → Simple periodic review system: replenish every R period, with (variable) order size such that IP is raised to S (= order-up-to-level/base stock level). Probability of no demand during R is negligible and value R predetermined. S should be sufficient to cover all demand until arrival of next order (so during L+R). (s, Q) (R, S) L R+L s S Q RD(or 𝑥̂𝑅 ) RD → average (but not constant) lot size s is a minimum IP, while S is a maximum IP. Modifications notations compared to (s, Q) system: - 𝑥̂𝑅+𝐿 = forecast demand over R+L - σR+L = standard deviation of demand forecast error over R+L - fR+L(x) = density function of demand during R+L ~ N(𝑥̂𝑅+𝐿 , σR+L) - SS = safety stock: 𝑆𝑆 = 𝑘𝜎𝑅+𝐿 and 𝑆 = 𝑥̂𝑅+𝐿 + 𝑆𝑆 - On-hand stock ≈ 𝑘𝜎𝑅+𝐿 + 𝐷𝑅/2 𝑆 − 𝑥̂𝑅+𝐿 - Cycle service level: 𝑃1 = 𝐹𝑅+𝐿 (𝑆) = Φ( 𝜎𝑅+𝐿 ) = Φ(𝑘) ∞ - Expected Shortage Per Replenishment Cycle: 𝐸𝑆𝑃𝑅𝐶 ≈ ∫𝑆 (𝑥 − 𝑆)𝑓𝑅+𝐿 (𝑥)𝑑𝑥 If demand has a Normal distribution: 𝐸𝑆𝑃𝑅𝐶 = 𝜎𝑅+𝐿 𝐺(𝑘) Not all decision rules same as (s, Q) system, examples: - NS = IP-DL still holds, but IP doe not have a uniform distribution on a fixed interval. - Correction shortage start replenishment cycle different, we find for fill rate: 𝜎 ̂ 𝑥 𝜎𝑅+𝐿 𝐺(𝑘) − 𝜎𝐿 𝐺(𝑘 𝑅+𝐿 + 𝑅 ) 𝜎𝐿 𝜎𝐿 𝑥̂𝑅 = 1 − 𝑃2 7.2 (s, S) systems (s, S) systems → Continuous review period. Reorder at or below s to order-up-to-level S. Two options: - Unit size demand: (s, S) is identical to (s, Q) with Q=S-s. - Otherwise: (s, S) different from (s, Q) due to undershoot. Order size = S - s + undershoot. Why use (s, S)? - Total costs of an (s, S) system ≤ total costs of best (s, Q) system. - Optimal policy for single item inventory control in single location is of (s, S) type. But: variable lot size may be drawback: take fixed number of units in box, on pallet,.. Z = undershoot: 𝑠 = 𝐸[𝑍] + 𝑥̂𝐿 + 𝑘 ∗ 𝑆𝐷[𝐷𝐿 + 𝑍], with 𝑆𝐷[𝐷𝐿 + 𝑍] = √𝑉𝑎𝑟[𝐷𝐿 ] + 𝑉𝑎𝑟[𝑍] In general: include Z in computation of (S – s) and k, example B1 costing: - Order size is S-s+Z, so average order size is S-s+E[Z] 2𝐴𝐷+2𝐷𝐵1 [1−Φ(𝑘)] 2𝐴𝐷+2𝐷𝐵1 [1−Φ(𝑘)] - 𝑄=√ 𝑣𝑟 → 𝑆 − 𝑠=√ 𝑣𝑟 − 𝐸[𝑍] 𝐷𝐵1 𝐷𝐵1 - 𝑘 = √2𝑙𝑛(𝜎 𝑣𝑟𝑄 ) → 𝑘 = √2𝑙𝑛(𝑆𝐷[𝐷 ) 𝐿 √2𝜋 𝐿 +𝑍]𝑣𝑟(𝑆−𝑠+𝐸[𝑍]) √2𝜋 Decision rules (s, S) systems: - If DL and Z independent: 𝑉𝑎𝑟[𝐷𝐿 + 𝑍] = 𝑉𝑎𝑟[𝐷𝐿 ] + 𝑉𝑎𝑟[𝑍] - Continuous distribution with customer order size Y: 𝐸[𝑌 2 ] 𝐸[𝑌 3 ] 1 𝐸[𝑌 2 ] 2 𝐸[𝑍] = 2𝐸[𝑌] and 𝑉𝑎𝑟[𝑍] = 3𝐸[𝑌] − ( 4 𝐸[𝑌] ) - Other costs and service models: o Replace DL by DL+Z o Average lot size: Q = S − s + E[Z] - If demand is erratic (highly variable demand size) → impact more complex - Small undershoot may be ignored - Analysis based on 𝑁𝑆 = 𝐼𝑃 − 𝐷𝐿 may not be simply translated to an (s, S) system: o (s, Q) system: IP ~ Uniform[s, s+Q] o (s, S) system: IP does not have a uniform distribution on [s, S] 7.3 (R, s, S) and (R, s, Q) systems Green line: Next review (R, s, S) systems → Periodic review period. Reorder at or below s to order-up-to-level S. Similar to (s, S), but review every R periods. Most (s, S) are (R, s, S) with R=1. Undershoot problem serious: because of waiting time until review. Even undershoot if all customer orders are unit sized. Decision rules: - Exact optimal values of R, s and S are difficult, so use optimizations. See SPT 7.5. - B3 costing: carrying charge r is per review interval and not per year. - Fill rate constraint P2 under normal demand: assume that R is given, and S - s is given. For example: EOQ – E[undershoot] as for (s, S) systems. - Undershoot: based on DR (demand during R) as transaction size, because replenishment opportunities every R periods only. 𝐸[𝐷𝑅 2 ] 𝜎𝑅 2 +𝑥̂𝑅 2 𝐸[𝑍] ≈ = 2𝐸[𝐷𝑅 ] 2𝑥̂𝑅 𝜎𝑅 2 +𝑥̂𝑅 2 - Expected order size: 𝑆 − 𝑠 + 2𝑥̂𝑅 - Expected shortage per replenishment cycle for given s: ̂𝑅+𝐿 𝑠−𝑥 ̂𝐿 𝑠−𝑥 𝜎𝑅+𝐿 2 𝐽 ( ) − 𝜎𝑅 2 𝐽 ( ) 𝜎𝑅+𝐿 𝜎𝐿 𝐸𝑆𝑃𝑅𝐶 ≈ 2𝑥̂𝑅 ∞ where 𝐽(𝑘) = ∫𝑘 (𝑦 − 𝑘)2 𝜙(𝑦)𝑑𝑦 = (1 + 𝑘 2 )[1 − Φ(𝑘)] − 𝑘𝜙(𝑘) → 𝐻(𝑘) = 𝐽(𝑘)/2 𝑠 − 𝑥̂ Delete 𝜎𝑅 2 𝐽 ( 𝜎 𝐿 ) if: P2 ≥ 0.09, R/L is not too small, and σL not too large. 𝐿 𝜎 2 𝐽(𝑘) - Using 𝑠 = 𝑥̂𝑅+𝐿 + 𝑘𝜎𝑅+𝐿 we find: 𝐸𝑆𝑃𝑅𝐶 = (1 − 𝑃2 ) ∗ 𝑙𝑜𝑡 𝑠𝑖𝑧𝑒 = 𝑅+𝐿̂ 2𝑥𝑅 (example: SPT p. 335/336) (R, s, Q) systems → Periodic review period. Reorder at or below s with a lot size of Q. 𝜎𝑅+𝐿 2 𝐽(𝑘) 𝐸𝑆𝑃𝑅𝐶 = (1 − 𝑃2 ) ∗ 𝑄 = 2𝑥̂𝑅 Simpler approach (when R is small): use (s, Q) logic with undershoot Z based on demand during R (mean E[DR], standard deviation σR). - Reorder point: 𝑠 ≈ 𝐸[𝑍] + 𝐸[𝐷𝐿 ] + 𝑘 ∗ 𝑆𝐷[𝐷𝐿 + 𝑍] with 𝑆𝐷[𝐷𝐿 + 𝑍] = √𝑉𝑎𝑟[𝐷𝐿 ] + 𝑉𝑎𝑟[𝑍] where DL is lead time demand. 𝐸[𝐷 2 ] 𝜎𝑅 2 +{𝐸[𝐷𝑅 ]}2 - 𝐸[𝑍] ≈ 2𝐸[𝐷𝑅 ] = 2𝑥̂𝑅 − 1/2 (in case of discrete demand distribution) 𝑅 𝐸[𝐷𝑅 3 ] 𝐸[𝐷𝑅 2 ] 2 - 𝑉𝑎𝑟[𝑍] ≈ 3𝐸[𝐷𝑅 ] − 1/4 ( 𝐸[𝐷𝑅 ] ) − 1/12 8. Multi-item inventory systems Multi-item coordination → useful for items stocked at same location and sharing same supplier or transportation mode/production facility. Advantages: savings on… - … purchasing costs: quantity discounts depending on total order size - … transportation costs: create for example full truckload - … ordering costs: setup is cheaper for items within same product family - … ease of scheduling: managers think in terms of suppliers rather than SKUs Disadvantages: - More inventory: trade-off against reduced costs - More complexity: higher system control costs - Reduced flexibility/more variation in customer service on item basis 8.1 Joint replenishment (deterministic demand) – cycle stock Split setup costs in two parts: 1. Setup per family (A) 2. Minor setup within family (ai for item i) When we order one SKU within family, we can order other SKUs within same family as well. Coordination via timing of orders. Example with basic period of 1 week: - SKU 1: order once every week - SKU 2: order once every two weeks (but always together with SKU 1) - SKU 3: order once every four weeks (but always together with SKU 1+2) 2𝐴𝐷 𝐸𝑂𝑄 2𝐴 𝐸𝑂𝑄 = √ 𝑣𝑟 → 𝑇𝐸𝑂𝑄 = 𝐷 = √𝑟𝐷𝑣 with TEOQ is time supply of item. Simple policy, decision variables: - Basic replenishment time interval T for the product family. - Factors mi such that item i is replenished every miT periods. - Lot size item i: 𝑄𝑖 = 𝐷𝑖 𝑚𝑖 𝑇 - Replenishment cycle with length T has total relevant costs: 𝑇𝑅𝐶(𝑇, 𝑚1.. 𝑚𝑛 ) = 𝑠𝑒𝑡𝑢𝑝 𝑐𝑜𝑠𝑡𝑠 𝑖𝑛 𝑇 + 𝑎𝑣𝑒𝑟𝑎𝑔𝑒 𝑐𝑦𝑐𝑙𝑒 𝑠𝑡𝑜𝑐𝑘 𝑖𝑡𝑒𝑚 𝑖 One setup for item i every mith cycle. 𝐴+∑𝑛 𝑖=1 𝑎𝑖 /𝑚𝑖 𝐷𝑖 𝑚 𝑖 𝑇 𝑇𝑅𝐶(𝑇, 𝑚1.. 𝑚𝑛 ) = + ∑𝑛𝑖=1 𝑟𝑣𝑖 𝑇 2 2(𝐴+∑𝑛 𝑖=1 𝑎𝑖 /𝑚𝑖 ) - Optimal replenishment interval: 𝑇 ∗ = √ 𝑟 ∑𝑛 𝑖=1 𝑣𝑖 𝑚𝑖 𝐷𝑖 - Substitute T* in formula of TRC: 𝑇𝑅𝐶(𝑚1.. 𝑚𝑛 ) = √2(𝐴 + ∑𝑛𝑖=1 𝑎𝑖 /𝑚𝑖 )𝑟 ∑𝑛𝑖=1 𝑣𝑖 𝑚𝑖 𝐷𝑖 Finding optimum mi is hard: mi’s interact and should be integer. 1. Method 1: derive a near-optimal solution by relaxing integer constraint. 𝑎𝑗 ∑𝑛 𝑖=1 𝑣𝑖 𝑚𝑖 𝐷𝑖 - 𝑚𝑗2 = 𝑣 𝐴+∑𝑛 𝑗 𝐷𝑗 𝑖=1 𝑎𝑖 /𝑚𝑖 𝑎𝑗 - Second ratio is same for all mj’s. Sort mj’s in non-decreasing order to increase. 𝑣 𝑗 𝐷𝑗 - Set smallest mj to 𝑚𝑗∗ = 1. This is the SKU that we order every week. - Renumber the SKUs according to increasing mi. 𝑎𝑗 𝐷1 𝑣1 - Approximate mj, given m1=1: 𝑚𝑗 = √𝑣 → round to integer! 𝑗 𝐷𝑗 𝐴+𝑎1 - Calculate T* 1a. Variant: Roundy’s 98 percent approximation - Powers-of-two policies: limit the solution to replenishment intervals that can be expressed as 𝑚𝑇 = 2𝑛 𝑇 with n integer and T a base period. - Costs higher, but advantage is that we obtain relatively simple cyclic schedules. - Cycle length: 2𝑀𝑎𝑥{𝑛(𝑖)} ∗ 𝑇 - Performance: o If we can choose mi for a given base period T, the maximum cost increase is 6%. o If we can choose mi as well as the base period T, the maximum cost increase is 2%. 2. Method 2 (variant of method 1): 𝑎𝑗 - Sort items to non-decreasing 𝑣. 𝑗 𝐷𝑗 - Smallest replenishment interval for item 1. Assign family setup costs A to item 1. 𝑎𝑗 - Same interval for all items with 𝑣 < (𝐴 + 𝑎1 )/(𝑣1 𝐷1 ). Merge by summing up 𝑗 𝐷𝑗 the setup costs as well as the turnover Divi. - Compute smallest replenishment interval using TEOQ with A+a1 as setup costs. - Compute replenishment interval for other items. - Synchronization: round intervals to 𝑅 ∗ = 2𝑚 𝑇 (integer m, base period T) ▪ Select m if it holds that 2𝑚 ≤ 𝑅 ∗ ≤ √2 ∗ 2𝑚 ▪ Select m+1 if it holds that √2 ∗ 2𝑚 ≤ 𝑅 ∗ ≤ 2𝑚+1 8.2 Joint replenishment (stochastic demand) – safety stock Trade-off: reduction in setup costs vs increase in holding costs (cycle stock + safety stock). Approaches: - Continuous review o Based on item inventory positions → Can-order (Si, ci, si) systems ▪ Order trigger if IPi of item i in a family drops to or blow si (must-order point). ▪ Then, also order items in the same family for which IPj ≤ cj (can-order point). ▪ For each item j: cj > sj ▪ Decompose N-item problem in N single item problems. ▪ Common assumption: compound Poisson demand. ▪ Number of control parameters: 3N o Based on aggregate sales Q → (Q, Si) systems (or: (Q, si, Si)) ▪ Replenish when aggregate sales since last order equals Q. Raise all item inventory positions to level Si ▪ If Poisson demand: time between replenishment orders has an Erlang (Q, λ0) distribution with λ0 is the overall demand rate. ▪ Number of parameters: N+1 - Periodic review (both suitable for fast movers, no assumption of Poisson demand) o (R, Si) with coordination via choice of R → joint replenishment frequency ▪ Number of parameters: N+1 ▪ Simple policy but “equal order frequency” is not necessarily appropriate o (R, si, Si) with coordination via choice of R → variant with reorder level o (Ri, Si) policy for item i ▪ Coordination boils down to selection of Ri (time supply). ▪ Drawback: limits trade-off between setup costs cycle stock costs. ▪ Number of parameters: 2N. A lot of parameters, but easy approach to find them: two-step sequential approach. Solve deterministic multi-item lot sizing problem (time supplies Ti = Ri). Then, find Si from standard (R, S) to set safety stocks. - Continuous/periodic review: o (Q, Si, T) with time T ▪ Little demand for some SKUs and much demand for some other SKUs. This method prevents that you wait for the low demand SKUs. ▪ Replenishment order when aggregate consumption since last order equals Q or when time T has elapsed since last replenishment. Raise all item inventory positions to level Si. ▪ Special cases: Equivalent to (Q, Si) if T->∞ Equivalent to (R, Si) with T=R if Q->∞ ▪ Number of parameters: N+2 ▪ Disadvantage: (compound) Poisson demand in order to facilitate analysis. But, does this hold in practice. 9. Multi Echelon Systems Part 1 Decentralized Systems (Installation stock policies) How much total system safety stock and where to stock? - Balance between upstream and downstream stock → more stock at central warehouse (CW) to reduce the safety stocks at local warehouses (LW). Typology multi-echelon: - Serial system (special case) → each stock point has at most 1 predecessor and at most 1 successor: - Distribution system → at most 1 predecessor and multiple successors possible: - Assembly systems → at most one successor and multiple predecessors possible: - Mixed systems → multiple successors and/or multiple predecessors possible: Upstream = stages to the left. Downstream = stages to the right. Serial systems with installation (decentralized) stock Assumptions: - N stages/warehouses - Each stage can hold inventory - Constant lead times - Demand that cannot be satisfied from stock is backordered o Stage N receives supplies from an outside supplier - No reward to batch orders/shipments - Continuous review - Stochastic demand that only occurs at the last stage o Assume Poisson demand with rate λ - Assume base stock policy (Reorder at or below S-1 to order-up-to-level S. Thus, order after every time demand comes in) o Stage j monitors own IP, experiences demand and places order. o Base stock levels at stage j are denoted by Sj - Demand at stage 1 triggers demand at stage 2, and so on o Every stage immediately experiences original demand o Demand at each stage follows same Poisson process 𝐼𝑁𝑗 (𝑡) = 𝐼𝑗 (𝑡) − 𝐵𝑗 (𝑡) → 𝐼𝑗 (𝑡) = (𝐼𝑁𝑗 (𝑡))+ and 𝐵𝑗 (𝑡) = (−𝐼𝑁𝑗 (𝑡))+ - 𝐼𝑗 (𝑡) = inventory at stage j at t - 𝐵𝑗 (𝑡) = backorders at stage j at t - 𝐼𝑁𝑗 (𝑡) = net inventory at stage j at t 𝐼𝑃𝑗 (𝑡) = 𝐼𝑁𝑗 (𝑡) − 𝐼𝑂𝑗 (𝑡) - 𝐼𝑃𝑗 (𝑡) = inventory position at stage j at t - 𝐼𝑂𝑗 (𝑡) = inventory on order at stage j at t Due to base stock policy: 𝐼𝑃𝑗 (𝑡) = 𝑆𝑗 for any j at t Look ahead approach = look from time t to t+Lj: - 𝐼𝑁𝑗 (𝑡 + 𝐿𝑗 ) = 𝑆𝑗 − 𝐵𝑗+1 (𝑡) − 𝐷𝑗 (𝑡, 𝑡 + 𝐿𝑗 ) - 𝐼𝑗 (𝑡 + 𝐿𝑗 ) = (𝑆𝑗 − 𝐵𝑗+1 (𝑡) − 𝐷𝑗 (𝑡, 𝑡 + 𝐿𝑗 ))+ - 𝐵𝑗 (𝑡 + 𝐿𝑗 ) = (𝐷𝑗 (𝑡, 𝑡 + 𝐿𝑗 ) − 𝑆𝑗 + 𝐵𝑗+1 (𝑡))+ Note: Backorder is from WH upstream because that is the demand that cannot be met from stock. Note: 𝐷𝑗 (𝑡, 𝑡 + 𝐿𝑗 ) has a Poisson distribution with mean λLj. However, we are interested in the long run and demand is stationary + independent over time, so drop index t and Lj: - 𝐼𝑁𝑗 = 𝑆𝑗 − 𝐵𝑗+1 − 𝐷𝑗 + - 𝐼𝑗 = (𝑆𝑗 − 𝐵𝑗+1 − 𝐷𝑗 ) + - 𝐵𝑗 = (𝐷𝑗 + 𝐵𝑗+1 − 𝑆𝑗 ) Note: Dj is demand during lead time, but normally we would use Dj,Lj but don’t make it complicated. Note: 𝐼𝑁𝑁 = 𝑆𝑁 − 𝐷𝑁 since supplier of N has ample stock, so backorders do not occur. Serial systems with installation stock → N = 2 Start with stage 2 Calculate 𝐵2 = (𝐷2 − 𝑆2 )+ or 𝐼2 = (𝑆2 − 𝐷2 )+: 𝑃(𝐷2 = 𝑆2 + 𝑥), 𝑥 > 0 - 𝑃(𝐵2 = 𝑥) = { 𝑃(𝐷2 ≤ 𝑆2 ), 𝑥 = 0 𝑃(𝐷2 = 𝑆2 − 𝑥), 𝑥 > 0 - 𝑃(𝐼2 = 𝑥) = { 𝑃(𝐷2 ≥ 𝑆2 ), 𝑥 = 0 𝐷2 ~ 𝑃𝑂𝐼(𝜆𝐿2 ): 𝑒 −𝜆𝐿2 (𝜆𝐿2 )𝑆2+𝑥 (𝑆2 +𝑥)! , 𝑥>0 - 𝑃(𝐵2 = 𝑥) = { 𝑒 −𝜆𝐿2 (𝜆𝐿2 )𝑢 ∑𝑆𝑢=0 2 , 𝑥=0 𝑢! 𝑒 −𝜆𝐿 𝑆 2 (𝜆𝐿2 ) 2 −𝑥 (𝑆2 −𝑥)! , 𝑥>0 - 𝑃(𝐼2 = 𝑥) = { 2 𝑆 −1 𝑒 −𝜆𝐿2 (𝜆𝐿 2) 𝑢 1 − ∑𝑢=0 𝑢! , 𝑥=0 𝑒 −𝜆𝐿2 (𝜆𝐿2 )𝑆2+𝑥 𝐸[𝐵2 ] = ∑∞ ∞ 𝑥=1 𝑥𝑃(𝐵2 = 𝑥) = ∑𝑥=1 𝑥 (𝑆2 +𝑥)! 𝑒 −𝜆𝐿2 (𝜆𝐿2 )𝑆2+𝑥 𝑉[𝐵2 ] = 𝐸[𝐵2 2 ] − 𝐸[𝐵2 ]2 ; 𝐸[𝐵2 2 ] = ∑∞ 2 ∞ 𝑥=1 𝑥 𝑃(𝐵2 = 𝑥) = ∑𝑥=1 𝑥 2 (𝑆2 +𝑥)! Then, stage 1 𝐵1 = (𝐵2 +𝐷1 − 𝑆1 )+ 𝑍1 = 𝐵2 + 𝐷1 → approximation for distribution 𝐸[𝑍1 ] = 𝐸[𝐵2 + 𝐷1 ] = 𝐸[𝐵2 ] + 𝐸[𝐷1 ] 𝑉[𝑍1 ] = 𝑉[𝐵2 + 𝐷1 ] = 𝑉[𝐵2 ] + 𝑉[𝐷1 ] Note: needed for all 𝑍𝑗 = 𝐵𝑗+1 + 𝐷𝑗 for all j = 1,…,N-1 in the general case Assume that 𝑍1 = 𝐵2 + 𝐷1 has a negative binomial (NB) distribution with n1 and p1 (𝑍1 ~𝑁𝐵(𝑛1 , 𝑝1 )), obtained from first two moments of the distribution: 𝐸[𝑍 ] - 𝑝1 = 1 − 𝑉[𝑍1 ] 1 𝐸[𝑍1 ]2 - 𝑛1 = 𝑉[𝑍1 ]−𝐸[𝑍1 ] So 𝐵1 = (𝑍1 − 𝑆1 )+: 𝑃(𝑍1 = 𝑆1 + 𝑥), 𝑥 > 0 - 𝑃(𝐵1 = 𝑥) = { 𝑃(𝑍1 ≤ 𝑆1 ), 𝑥 = 0 𝑃(𝑍1 = 𝑆1 − 𝑥), 𝑥 > 0 - 𝑃(𝐼1 = 𝑥) = { 𝑃(𝑍1 ≥ 𝑆1 ), 𝑥 = 0 𝑍1 ~𝑁𝐵(𝑛1 , 𝑝1 ): Γ(𝑛1 +𝑆1 +𝑥) 𝑝 𝑆1 +𝑥 (1 − 𝑝1 )𝑛1 , 𝑥 > 0 Γ(𝑛1 )(𝑆1 +𝑥)! 1 - 𝑃(𝐵1 = 𝑥) = { 𝑆 Γ(𝑛 +𝑢) 1 ∑𝑢=0 1 𝑝 𝑢 (1 − 𝑝1 )𝑛1 , 𝑥 = 0 Γ(𝑛1 )𝑢! 1 Γ(𝑛1 +𝑆1 −𝑥) 𝑝 𝑆1 −𝑥 (1 − 𝑝1 )𝑛1 , Γ(𝑛1 )(𝑆1 −𝑥)! 1 𝑥>0 - 𝑃(𝐼1 = 𝑥) = { 𝑆1 −1 Γ(𝑛1 +𝑢) 1 − ∑𝑢=0 𝑝 𝑢 (1 − 𝑝1 )𝑛1 , 𝑥 = 0 Γ(𝑛1 )𝑢! 1 Negative binomial: distr of # successes until n1th failure, each trial has success probability of p1. Γ(𝑛1 +𝑥) 𝑃(𝑍1 = 𝑥) = Γ(𝑛1 ) 𝑥! 𝑝1 𝑥 (1 − 𝑝1 )𝑛1 Gamma function 𝛤(𝑥): extension of factorial to real numbers 𝛤(𝑥) = (𝑥 − 1)𝛤(𝑋 − 1) 𝛤(𝑥) = (𝑥 − 1)!, 𝑥 = 1,2, … 𝛤(2) = 𝛤(1) = 1 𝑆1 𝐸[𝐼1 ] = ∑𝑥=0 𝑥𝑃(𝐼1 = 𝑥) 𝐸[𝐵1 ] = 𝐸[𝐼1 ]−𝑆1 + 𝐸[𝐷1 ] + 𝐸[𝐵2 ] Cost functions: - 𝐸[𝐼𝑇𝑗 ] = 𝜆𝐿𝑗 , 𝐼𝑇0 = 0 - 𝐸𝑇𝑅𝐶 = ∑𝑁 𝑁 𝑗=1 ℎ𝑗 𝐸[𝐼𝑗 ] + 𝑏𝐸[𝐵1 ] + ∑𝑗=1 ℎ𝑗 𝐸[𝐼𝑇𝑗−1 ] Note: only the backorders at the last stage are penalized. We cannot simply choose Sj independently. If we keep more in one stage, we may want to keep less in other stages. Distribution systems with installation (decentralized) stock Assumptions: - Continuous review - Installation base stock policies - External demand only at local warehouses/retailers, each with Poisson process - Demand at central warehouse also Poisson o Due to continuous review, each demand at LW triggers an order o Due to superposition of independent Poisson processes N = number of LWs Lj = lead time LW j L0 = replenishment lead time CW λj = demand rate LW j λ0 = ∑𝑁𝑗=1 𝜆𝑗 total demand rate at CW Sj = order-up-to-level Look ahead approach: - 𝐼𝑁0 (𝑡 + 𝐿0 ) = 𝑆0 − 𝐷0 (𝐿0 ) - 𝐷0 (𝐿0 ) has a Poisson distribution with mean 𝜆0 𝐿0 - 𝑃(𝐼𝑁0 = 𝑗) = 𝑃(𝐷0 (𝐿0 ) = 𝑆0 − 𝑗) o From Palm’s theorem, it’s also true if lead times are independent stochastic variables with mean λ0L0. Analysis CW is same as analysis of the most upstream stage in serial systems: 𝑃(𝐷0 (𝐿0 ) = 𝑆0 + 𝑥), 𝑥 > 0 𝑃(𝐵0 = 𝑥) = { 𝑃(𝐷0 (𝐿0 ) ≤ 𝑆0 ), 𝑥 = 0 𝑃(𝐷0 (𝐿0 ) = 𝑆0 − 𝑥), 𝑥 > 0 𝑃(𝐼0 = 𝑥) = { 𝑃(𝐷0 (𝐿0 ) ≥ 𝑆0 ), 𝑥 = 0 𝐼𝑁0 = 𝑆0 − 𝐷0 (𝐿0 ) 𝑆0 𝐸[𝐼0 ] = ∑𝑥=0 𝑥𝑃(𝐼0 = 𝑥) 𝐸[𝐵0 ] = 𝐸[𝐷0 (𝐿0 )] − 𝑆0 + 𝐸[𝐼0 ] 𝐷0 (𝐿0 )~ 𝑃𝑂𝐼(𝜆0 𝐿0 ): 𝑒 −𝜆0𝐿0 (𝜆0 𝐿0 )𝑆0+𝑥 (𝑆0 +𝑥)! , 𝑥>0 - 𝑃(𝐵0 = 𝑥) = { 𝑒 −𝜆0 𝐿0 (𝜆0 𝐿0 )𝑢 ∑𝑆𝑢=0 0 , 𝑥=0 𝑢! −𝜆 𝐿 𝑆 𝑒 0 0 (𝜆0 𝐿0 ) 0 −𝑥 (𝑆0 −𝑥)! , 𝑥>0 - 𝑃(𝐼0 = 𝑥) = { 0 𝑆 −1 𝑒 −𝜆0𝐿0 (𝜆0 𝐿0 )𝑢 1 − ∑𝑢=0 , 𝑥=0 𝑢! Analysis LW is difficult, so out of scope. METRIC → approximation method: - 𝑊0 = waiting time of replenishment request at CW due to stockout. - 𝐿̅𝑗 = 𝐿𝑗 + 𝑊0 → Since W0 is stochastic, this is also stochastic. To remove the stochastic, replace it by its mean: 𝐸[𝐿̅𝑗 ] = 𝐿𝑗 + 𝐸[𝑊0 ] with 𝐸[𝑊0 ] = 𝐸[𝐵0 ]/𝜆0 (backorders can be seen as waiting customers, so use Little’s Law) - Since we have a constant lead time, the inventory level distribution determination is the same as for the CW. - 𝐷𝑗 (𝐿̅𝑗 ) has a Poisson process with mean 𝜆𝑗 𝐸[𝐿̅𝑗 ] where 𝐸[𝐿̅𝑗 ] = 𝐿𝑗 + 𝐸[𝑊0 ] = 𝐿𝑗 + 𝐸[𝐵0 ]/𝜆0. 𝑃(𝐷𝑗 (𝐿̅𝑗 ) = 𝑆𝑗 + 𝑥), 𝑥 > 0 - 𝑃(𝐵𝑗 = 𝑥) = { 𝑃(𝐷𝑗 (𝐿̅𝑗 ) ≤ 𝑆𝑗 ), 𝑥 = 0 𝑃(𝐷𝑗 (𝐿̅𝑗 ) = 𝑆𝑗 − 𝑥), 𝑥 > 0 𝑃(𝐼𝑗 = 𝑥) = { 𝑃(𝐷𝑗 (𝐿̅𝑗 ) ≥ 𝑆𝑗 ), 𝑥 = 0 + + - 𝐼𝑁𝑗 = 𝐼𝑗 − 𝐵𝑗 ; 𝐼𝑁𝑗 = 𝑆𝑗 − 𝐷𝑗 (𝐿̅𝑗 ) with 𝐼𝑗 = (𝑆𝑗 − 𝐷𝑗 (𝐿̅𝑗 )) and 𝐵𝑗 = (𝐷𝑗 (𝐿̅𝑗 ) − 𝑆𝑗 ) - For 𝐷j ~ 𝑃𝑂𝐼(𝜆𝑗 𝐸[𝐿̅𝑗 ]) for 𝑗 = 1, … , 𝑁: ̅ ] −𝜆𝑗 𝐸[𝐿 𝑆 +𝑥 𝑒 𝑗 (𝜆𝑗 𝐸[𝐿̅𝑗 ]) 𝑗 (𝑆𝑗 +𝑥)! , 𝑥>0 𝑃(𝐵𝑗 = 𝑥) = ̅ ] −𝜆𝑗 𝐸[𝐿 𝑆 𝑒 𝑗 (𝜆𝑗 𝐸[𝐿̅𝑗 ])𝑢 ∑ 𝑗 , 𝑥=0 { 𝑢=0 𝑢! ̅ ] −𝜆𝑗 𝐸[𝐿 𝑆 −𝑥 𝑒 𝑗 (𝜆𝑗 𝐸[𝐿̅𝑗 ]) 𝑗 , 𝑥>0 (𝑆𝑗 −𝑥)! 𝑃(𝐼𝑗 = 𝑥) = ̅ ] −𝜆𝑗 𝐸[𝐿 𝑆𝑗 −1 𝑒 𝑗 𝑗 𝑗 (𝜆 𝐸[𝐿̅ ])𝑢 1− ∑𝑢=0 , 𝑥=0 { 𝑢! 𝑆𝑗 - 𝐸[𝐼𝑗 ] = ∑𝑥=0 𝑥𝑃(𝐼𝑗 = 𝑥) - 𝐸[𝐵𝑗 ] = 𝐸[𝐷𝑗 (𝐿̅𝑗 )] − 𝑆𝑗 + 𝐸[𝐼𝑗 ] - Advantages METRIC: simple and computationally efficient. Let’s assume continuous review order-up-to policy: - 𝑆𝑗 = order-up-to-level for LW j - ℎ𝑗 = holding cost/unit/time for j - 𝑏𝑗 = backorder cost/unit/time for j - 𝐶(𝑆0 , 𝑆1 , … , 𝑆𝑁 ) = total cost/time for all locations - 𝐶0 (𝑆0 ) = average holding costs/time at the CW - 𝐶𝑗 (𝑆0 , 𝑆𝑗 ) = average holding and backorder costs/time at LW j Total cost at CW: 𝐶0 (𝑆0 ) = ℎ0 𝐸[𝐼0 ] Total cost at LW j: 𝐶𝑗 (𝑆0 , 𝑆𝑗 ) = ℎ𝑗 𝐸[𝐼𝑗 ] + 𝑏𝑗 𝐸[𝐵𝑗 ] Total costs: 𝐶(𝑆0 , 𝑆1 , … , 𝑆𝑁 ) = 𝐶0 (𝑆0 ) + ∑𝑁𝑗=1 𝐶𝑗 (𝑆0 , 𝑆𝑗 ) For given S0: 𝐶𝑗 (𝑆0 , 𝑆𝑗 ) is convex in Sj (easy to find optimal). Lower bound 𝑆𝑗𝑙 can be found by optimizing Sj for shortest possible deterministic lead time Lj. Upper bound 𝑆𝑗𝑢 by optimizing Sj for longest possible lead time L0+Lj. Optimal 𝑆𝑖∗ (𝑆0 ) by starting with 𝑆𝑗 = 𝑆𝑗𝑙 and increasing Sj by one until minimizer of 𝐶𝑗 (𝑆0 , 𝑆𝑗 ) is found. Batching: - When CW applies installation stock (R0, Q0) policy, the IP at warehouse is uniformly distributed over R0+1, R0+2, …, R0 + Q0. 1 𝑅0 +𝑄0 - 𝑃(𝐼𝑁0 = 𝑥) = ∑𝑘=max 𝑄0 (𝑗,𝑅 +1) 𝑃(𝐷0 (𝐿0 ) = 𝑘 − 𝑗) write Poisson distribution. 0 - Optimization of reorder point does not change. - Most common: determine batch quantities in advance from a deterministic model (ex: EOQ) - Discrete demand: IP at CW has uniform distribution over R0+1, R0+2, …, R0 + Q0. Total costs 1 given by 𝐶(𝑅0 , 𝑄0 , 𝑆1 , … , 𝑆𝐽 ) = ∑𝑅0 +𝑄0 𝐶(𝑘, 𝑄0 , 𝑆1 , … , 𝑆𝐽 ). 𝑄0 𝑘=𝑅0 +1 Part 2a Centralized Systems (Echelon stock policies) Installation stock = takes into account only the local stock info. Echelon stock = does take into account the downstream stock. So, a more centralized control rather than local. 𝑅𝑛𝑖 ≤ 𝐼𝑃𝑛𝑖 (𝑡) ≤ 𝑅𝑛𝑖 + 𝑄𝑛 𝑅𝑛𝑒 ≤ 𝐼𝑃𝑛𝑒 (𝑡) ≤ 𝑅𝑛𝑒 + 𝑄𝑛 Installation n will only order if installation n-1 orders. Therefore, an installation stock policy can be represented by an echelon policy, but not the order way around: 𝑅𝑛𝑒 = 𝑅𝑛𝑖 + ∑𝑛−1 𝑖 𝑘=1 (𝑅𝑘 + 𝑄𝑘 ). A nested echelon stock order point policy can always be replaced by an equivalent installation stock 𝑒 𝑒 point policy: 𝐼𝑃𝑛𝑖 = 𝐼𝑃𝑛𝑒 − 𝐼𝑃𝑛−1 = 𝑅𝑛𝑒 + 𝑄𝑛 − 𝑅𝑛−1 − 𝑄𝑛−1. If 𝐼𝑃𝑛𝑖 (0) − 𝑅𝑛𝑖 is an integer multiple of 𝑄𝑛−1, then conversion is simple: 𝑒 𝐼𝑃𝑛𝑒 = 𝐼𝑃𝑛𝑖 + 𝐼𝑃𝑛−1 = 𝐼𝑃𝑛𝑖 + ∑𝑛−1 𝑖 𝑘=1 𝐼𝑃𝑛. But provided that lead times are integer multiples. Installation stock: - Advantages: simple implementation - Drawbacks: o Info in supply chain delayed o Decentralized installation stock policies can yield large demand fluctuations upstream the supply chain: bullwhip effect. o Echelon stock policy is a wider class of policies. - Especially perform well for small batch sizes and short lead times. Serial systems with echelon (centralized) stock Assumptions: - Continuous review - Demand that cannot be directly met from stock is backordered. - No incentive for batch ordering or setup costs. Notation: Lj = lead time for replenishments at installation j μ = average demand per time σ = standard deviation of period demand per time ej = echelon holding cost per unit per time at location j hj = holding costs per unit per time at location j (example: ℎ1 = 𝑒1 + 𝑒2 , ℎ2 = 𝑒2 ) Ij = installation stock inventory level at installation j INje = net echelon stock inventory level at installation j b1 = backorder cost per unit and per time Notation 2-echelon case: D(L) = stochastic demand during lead time L y2 = echelon stock inventory position at installation 2 y1 = in-transit echelon stock inventory position at installation 1 in period - Includes in-transit to installation 1 but does not count backorders. - So, stocks that stage 1 can rely on after L1-period from that time or part of IP that stage 1 can rely on after L1-period from that time. h2μL1 = expected inventory holding cost for units in transportation from installation 2 to 1. 𝑆1𝑖 = 𝑆1𝑒 ; 𝑆2𝑖 = 𝑆2𝑒 − 𝑆1𝑒 Echelon stage 2: 𝐼𝑁2𝑒 (𝑡 + 𝐿2 ) = 𝑦2 (𝑡) − 𝐷(𝑡, 𝑡 + 𝐿2 ), drop t: 𝐼2𝑖 = 𝐼𝑁2𝑒 − 𝑦1 𝐶2 (𝑦1 , 𝑦2 ) = ℎ2 𝐸[𝐼𝑁2𝑒 − 𝑦1 ] = ℎ2 𝐸[𝑦2 − 𝐷(𝐿2 ) − 𝑦1 ] = ℎ2 𝑦2 − ℎ2 𝑦1 − ℎ2 𝐸[𝐷(𝐿2 )] 𝐷(𝐿2 ): mean 𝜇𝐿2 and standard deviation 𝜎√𝐿2 Echelon stage 1: 𝐼𝑁1𝑒 (𝑡 + 𝐿1 ) = 𝑦1 (𝑡) − 𝐷(𝑡, 𝑡 + 𝐿1 ), drop t: 𝐼1𝑖 = 𝐸[(𝑦1 − 𝐷(𝐿1 ))+ ] and 𝐵𝑖 = 𝐸[(𝑦1 − 𝐷(𝐿1 ))− ] = 𝐸[(𝐷(𝐿1 ) − 𝑦1 )+ ] 𝐷(𝐿1 ): mean 𝜇𝐿1 and standard deviation 𝜎√𝐿1 𝐶1 (𝑦1 ) = ℎ1 𝐸[(𝑦1 − 𝐷(𝐿1 ))+ ] + 𝑏1 𝐸[(𝑦1 − 𝐷(𝐿1 ))− ] 𝐶2 (𝑦1 , 𝑦2 ) = ℎ2 𝑦2 − ℎ2 𝑦1 − ℎ2 𝐸[𝐷(𝐿2 )] 𝐶̃1 (𝑦1 ) = ℎ1 𝐸[(𝑦1 − 𝐷(𝐿1 ))+ ] + 𝑏1 𝐸[(𝑦1 − 𝐷(𝐿1 ))− ] − ℎ2 𝑦1 𝐸[(𝑦1 − 𝐷(𝐿1 )] = 𝐸[(𝑦1 − 𝐷(𝐿1 ))+ ]-𝐸[(𝑦1 − 𝐷(𝐿1 ))− ] 𝐶̃1 (𝑦1 ) = 𝑒1 𝑦1 − ℎ1 𝐸[𝐷(𝐿1 )] + (ℎ1 + 𝑏1 )𝐸[(𝑦1 − 𝐷(𝐿1 ))− ]: 𝑑𝐶̃1 (𝑦1 ) 𝑑 𝑑𝐶̃1 (𝑦1 ) 𝑑𝑦1 = 𝑒1 + (ℎ1 + 𝑏1 ) 𝑑𝑦 𝐸[(𝑦1 − 𝐷(𝐿1 ))− ] and 𝑑𝑦1 = 𝑒1 − (ℎ1 + 𝑏1 )(1 − 𝑃(𝐷(𝐿1 ) ≤ 𝑦1 )) 1 𝑑𝐶̃1 (𝑦1 ) Smallest 𝑦1 that satisfies 𝑑𝑦1 ≥0 𝑒2 +𝑏1 𝑆1𝑒 is the smallest 𝑦1 that satisfies 𝑃(𝐷(𝐿1 ) ≤ 𝑦1 )≥ (newsboy): ℎ1 +𝑏1 𝑒 +𝑏 𝑆1𝑒∗ = 𝐹𝐷1 −1 (ℎ2 +𝑏1 ) 1 1 𝑒 +𝑏 What happens when 𝑒1 → 0 (so 𝑒2 = ℎ2 → ℎ1 ), critical ratio ℎ2 +𝑏1 approaches to 1: 1 1 - If there is no difference in holding costs, we can move all stock to installation 1 - Retain stock at an upstream installation to allocate the stock to alternative lower level sites (pooling). This can be advantageous for distribution systems. 𝐶̃2 (𝑦2 ) = ℎ2 𝑦2 − ℎ2 𝐸[𝐷(𝐿2 )] + costs at installation 1 when the optimal policy is used. Use Shang and Song’s heuristic to find 𝑆2𝑒 : - Let 𝐹𝐷′ (𝑥) be the cumulative distribution of demand during time period 𝐿 𝑗 - Where 𝐷𝑗′ = 𝐷𝐿1 +⋯+𝐿𝑗 : echelon demand 𝐽 𝐽 𝑏+∑𝑖=2 𝑒𝑖 𝑏+∑𝑖=2 𝑒𝑖 - Then, 𝑆1𝑒∗ = 𝐹𝐷1′ −1 ( 𝐽 ), : minimum 𝑥 that satisfies 𝐹𝐷1′ (𝑥) ≥ 𝐽 𝑏+∑𝑖=1 𝑒𝑖 𝑏+∑𝑖=1 𝑒𝑖 - 𝑆𝐽𝑒∗ for 𝑗 = 2, … , 𝐽 is more complex - Two bounds 𝐽 𝑏+∑𝑖=𝑗+1 𝑒𝑖 𝑗 o 𝑆𝑗𝑒𝐿𝐵 = 𝐹𝐷′ −1 ( 𝐽 ), Newsvendor with holding cost ∑𝑖=1 𝑒𝑖 and backorder cost 𝑗 𝑏+∑𝑖=1 𝑒𝑖 𝑏 + ∑𝐽𝑖=𝑗+1 𝑒𝑖. 𝐽 𝑏+∑𝑖=𝑗+1 𝑒𝑖 o 𝑆𝑗𝑒𝑈𝐵 = 𝐹𝐷′ −1 ( 𝐽 ), Newsvendor with holding cost 𝑒𝑗 and backorder cost 𝑏 + 𝑗 𝑏+∑𝑖=𝑗 𝑒𝑖 ∑𝐽𝑖=𝑗+1 𝑒𝑖 𝐽 𝐽 1 1 𝑏+∑𝑖=𝑗+1 𝑒𝑖 𝑏+∑𝑖=𝑗+1 𝑒𝑖 - 𝑆𝑗𝑒𝑆&𝑆 = (𝑆𝑗𝐿𝐵 + 𝑆𝑗𝑈𝐵 ) = (𝐹𝐷′ −1 ( 𝐽 ) + 𝐹𝐷′ −1 ( 𝐽 )) 2 2 𝑗 𝑏+∑𝑖=1 𝑒𝑖 𝑗 𝑏+∑𝑖=𝑗 𝑒𝑖 Part 2b Guaranteed Service Model μj = mean demand per unit time at warehouse j σj = standard deviation of demand per unit time at warehouse j Lj = lead time at warehouse j Ij = on hand inventory at warehouse j Sj = order-up-to (base-stock) IP at warehouse j sjout = promised service time by warehouse j to its downstream (outbound) sjin = promised service time by upstream to warehouse j (inbound) kj = safety factor at warehouse j p(j) = set of immediate predecessors of warehouse j s(j) = set of immediate successors of warehouse j 𝑆𝑗 = 𝜇𝑗 ∗ 𝑛𝑒𝑡 𝑟𝑒𝑝𝑙𝑒𝑛𝑖𝑠ℎ𝑚𝑒𝑛𝑡 𝑡𝑖𝑚𝑒 + 𝑠𝑎𝑓𝑒𝑡𝑦 𝑠𝑡𝑜𝑐𝑘 = 𝜇𝑗 (𝐿𝑗 + 𝑠𝑗𝑖𝑛 − 𝑠𝑗𝑜𝑢𝑡 ) + 𝑘𝑗 𝜎𝑗 √𝐿𝑗 + 𝑠𝑗𝑖𝑛 − 𝑠𝑗𝑜𝑢𝑡 - If Sj is 0, we do not need to keep inventory. - Each stage satisfies it service commitment, so the promise to us 𝑠𝑗𝑖𝑛 and our promise to downstream 𝑠𝑗𝑜𝑢𝑡 is a limitation. Constraints MIP formulation - All systems: 𝑠𝑗𝑜𝑢𝑡 ≤ 𝐿𝑗 + 𝑠𝑗𝑖𝑛 𝑜𝑢𝑡 - Serial systems: 𝑠𝑗𝑖𝑛 = 𝑠𝑖=𝑝(𝑗) - Distribution systems: 𝑠𝑗𝑖𝑛 = 𝑠𝑖𝑜𝑢𝑡 for all 𝑗 ∈ 𝑠(𝑖) - Assembly systems: 𝑠𝑗𝑖𝑛 = max {𝑠𝑗𝑜𝑢𝑡 } 𝑖∈𝑝(𝑗) MIP formulation serial system: 𝑀𝑖𝑛 ∑𝑁 𝑗=1 ℎ𝑗 𝑘𝑗 𝜎𝑗 √𝐿𝑗 + 𝑠𝑗+1 − 𝑠𝑗 s.t. 0 ≤ 𝑠𝑗 ≤ 𝑠𝑗+1 + 𝐿𝑗 for 𝑗 = 2, … , 𝑁 𝑖𝑛 𝑠𝑗−1 = 𝑠𝑗𝑜𝑢𝑡 for 𝑗 = 1, … , 𝑁 where 𝑠𝑁+1 = 𝑠𝑁𝑖𝑛 , and 𝑠𝑗 = 𝑠𝑗𝑜𝑢𝑡 (= 𝑠𝑗−1 𝑖𝑛 ) for 𝑗 = 1, … , 𝑁 Example: