IEEM 517 Inventory Control – Dynamic Lot Sizing LEARNING OBJECTIVES 1. Understand that heuristics based on the EOQ (Economic Order Quantity) model may perform poorly for dynamic lot sizing 2. Learn what optimal solution approaches are available for dynamic lot sizing 3. Learn to choose the right approach for a given situation 1 1 CONTENTS 2 • Modeling Assumptions and Formulation • Heuristic Solution Approaches • Optimal Solution Approaches • Summary FUNDMENTAL ASSUMPTION: DYNAMIC DEMAND 3 Demand changes over time horizon because: • Seasonality of demand (e.g., Sun’s hockey stick) • Pricing/promotions (e.g., 30% off at McDonald’s) • Product life cycles (e.g., IBM‘s PC production) • Lumpy order schedule (e.g., Solectron’s production) 2 4 MODELING ASSUMPTIONS 1. Production is instantaneous 2. No delivery leadtime 3. Demand is deterministic and known 4. Demand can change over time 5. A production run incurs a fixed setup cost, regardless of production quantity 6. Consider the case of a single product 7. No backorders allowed 8. Finite planning horizon Å Major change in assumptions compared to the EOQ model MODEL PARAMETERS AND DECISION VARIABLE t Index for time period, t = 1, …, T, where T represents the length of planning horizon Dt Demand in period t (in units) ct Unit production cost in period t (in dollars per unit) At Setup cost to produce one lot in period t (in dollars) ht Holding cost to carry one unit of inventory from period t to period t+1 (in dollars per unit per period) zt Binary decision variable 5 = 1 if production happens in period t = 0 otherwise Qt Lot size in period t (in units) It Inventory left over at the end of period t (in units) decision variables 3 6 COMMENTS AND ISSUES • We adopt discrete time periods • Besides the demand, some other factors (e.g., unit production cost, setup cost, and unit inventory holding cost) can also change over time • Given the sequence of demand over time, we basically need to determine when and how much to produce • The objective is still to minimize total setup, inventory holding, and production costs for the entire planning horizon • If the holding cost consists of only the interest on money tied up in inventory, if i is the effective annual interest rate, and if periods are weeks, ht = ict/52 7 FORMULATION: INTEGER LINEAR PROGRAMMING Minimize ∑t=1T (Atzt + htIt + ctQt) Subject to It = It-1 + Qt - Dt for t = 1, 2, …, T Qt ≤ Mzt for t = 1, 2, …, T It, Qt ≥ 0, zt binary for t = 1, 2, …, T IT = 0 4 8 CONTENTS • Modeling Assumptions and Formulation • Heuristic Solution Approaches • Optimal Solution Approaches • Summary 9 HEURISTICS Heuristic Rational from the EOQ Model 1. Lot-for-Lot None 2. Period Order Quantity Directly apply the EOQ model by estimating data 3. Part-Period Balancing At optimality, setup cost equals inventory holding cost 4. Silver-Meal We minimize the summation of the setup cost and the inventory cost per unit time (e.g., per year) 5. Least Unit Cost We minimize the summation of the setup cost and the inventory cost allocated to each product unit (since the demand rate is constant) 5 10 EXAMPLE A manufacturing company has given the demand data for the next five months. Demand is deterministic but changes over time. Production runs can be made only at the beginning of a month. The production cost, the setup cost, and the inventory holding cost are all known and are actually constant over time. No backorders are allowed. t 1 2 3 4 5 Dt 27 22 13 19 12 ct 100 100 100 100 100 At 200 200 200 200 200 ht 10 10 10 10 10 LOT-FOR-LOT HEURISTIC Basic idea Set up a production run in each period and produce the exact quantity that is demanded for that period. Algorithm Set the production quantity Qt in period t the same as the demand Dt in that period Solution D = (27, 22, 13, 19, 12), ct = 100, At = 200, and ht = 10 11 6 PERIOD ORDER QUANTITY HEURISTIC Basic idea Use the EOQ formula to determine a lot size. This lot size can be translated to an integer cycle length T. This heuristic then produces every T periods to meet demand in those periods (no more and no less). Algorithm 1. Transfer the data under the dynamic environment to a static environment 12 2. Apply the EOQ model to compute the lot size 3. Transfer this lot size to the corresponding cycle length and then make the cycle length an integer number PERIOD ORDER QUANTITY: SOLUTION 13 D = (27, 22, 13, 19, 12), ct = 100, At = 200, and ht = 10 7 PART-PERIOD BALANCING HEURISTIC Basic idea Determine the cycle length by balancing the inventory holding cost incurred during the cycle length with the setup cost incurred in the current period Algorithm 1. Let the current period be period t = 1 2. Compute Ht,τ the inventory holding cost if we produce in period t and cover demand up to period τ, where Ht, τ = ∑ mτ =t +1 ∑ mn=−t1hnDm 3. Select τ for which Ht,τ is closest to the setup cost At 4. Set period τ+1 as the current period and repeat until the end of the planning horizon PART-PERIOD BALANCING: SOLUTION 14 15 D = (27, 22, 13, 19, 12), ct = 100, At = 200, and ht = 10 8 16 SILVER-MEAL HEURISTIC Basic idea Determine the cycle length such that average per-period cost of setup and inventory holding is small Algorithm 1. Let the current period be period t = 1 2. Compute Jt,τ, the average per-period setup plus inventory holding cost if we produce in period t and cover demand up to period τ , where Jt,τ = A t + ∑ mτ = t +1 ∑ mn=−t1hnDm τ − t +1 3. Select the nearest value of τ for which Jt,τ < Jt,τ+1 4. Set period τ+1 as the current period and repeat until the end of the planning horizon SILVER-MEAL: SOLUTION 17 D = (27, 22, 13, 19, 12), ct = 100, At = 200, and ht = 10 9 LEAST UNIT COST HEURISTIC Basic idea Determine the cycle length such that average per-unit cost of setup and inventory holding is small Algorithm 1. Let the current period be period t = 1 2. Compute Kt,τ, the average per-unit setup plus inventory holding cost if we produce in period t and cover demand up to period τ , where A + ∑ mτ = t +1 ∑ mn=−t1hnDm K t,τ = t ∑ mτ =tDm 3. Select the nearest value of τ for which Kt,τ < Kt,τ+1 4. Set period τ+1 as the current period and repeat until the end of the planning horizon LEAST UNIT COST: SOLUTION 18 19 D = (27, 22, 13, 19, 12), ct = 100, At = 200, and ht = 10 10 20 CONTENTS • Modeling Assumptions and Formulation • Heuristic Solution Approaches • Optimal Solution Approaches • Summary OPTIMAL SOLUTION APPROACHES Approach Solution time Software implementation 1. Integer LP Exponential in problem scale Easy to implement with existing software packages 2. Wagner-Whitin Algorithm (Forward DP) 21 (our focus in this lecture) Polynomial in problem scale Implementation may not be easy 3. DP (backward) 11 22 INTEGER LP: SOLUTION By using the previous formulation of integer LP and Microsoft Excel, we get z* = (1, 1, 0, 1, 0), Q* = (27, 35, 0, 31, 0), and I* = (0, 13, 0, 12, 0), which yields a minimum total cost as $850 + $9,300 23 WAGNER-WHITIN: SETUP Definitions TCt* Cost of an optimal production schedule over the first t time periods Wt,τ Cost of producing in period t and covering demand up to period τ Yt,τ Cost of a production schedule from period 1 to period τ by - following an optimal production schedule for periods 1 through t-1 - producing in period t and covering demand up to period τ 1 2 “Optimal“ t-1 τ t Qt = Dt +... + Dτ W t,τ TCt-1* Yt,τ = TC*t-1 + Wt,τ 12 24 WAGNER-WHITIN: RECURSION Forward recursion relationship TCτ* = minimize Yt,τ = minimize (TC*t-1 + Wt,τ ) t = 1: Y1,τ t = 2: Y2,τ t = 3: Y3,τ over 1 ≤ t ≤ τ W1,τ W2,τ TC1* W3,τ TC2* TCτ* t = τ: Wτ-1,τ TCτ-2* t = τ-1: Yτ-1,τ W τ,τ TCτ-1* Yτ,τ 1 2 3 τ-1 τ WAGNER-WHITIN: PROPERTY ONE 25 Boundary condition It-1Qt = 0 Common sense It is typically never optimal to both carry inventory into a period and produce in that period simultaneously Implications 1. Produce only when the beginning inventory is zero 2. Produce exactly the quantity that cover demand for an integral number of time periods 13 WAGNER-WHITIN: PROPERTY TWO 26 Planning Horizon Theorem If in solving the τ-period problem, it is optimal to produce in period jτ* (jτ* ≤ τ) to cover demand up to period τ, then in solving the s-period problem (s > τ), it is optimal to meet the demand of period s by producing in period jτ* or later jτ* τ s Common sense If it is optimal to produce in period 4 (= jτ*) to meet the demand in period 6 (= τ), it is typically never optimal to produce in period 2 (< jτ*) and meet the demand in period 8 (= s). To meet the demand in period 8 (= s), we should produce in period 4 (= jτ*) or later Implication The recursion can be simplified to TCτ* = minimize Yt,τ = minimize (TC*t-1 + Wt,τ ) over jτ−1* ≤ t ≤ τ WAGNER-WHITIN: ALGORITHM 1. The algorithm requires zero initial and ending inventory: Adjust demand such that initial and ending inventory is zero 2. Start with first period, i.e., τ = 1. Since all demand must be met, the solution to the one-period problem is j1* = 1. Compute TC1* = Y1,1 = W1,1 3. Set τ = τ + 1. If τ > T, stop. The algorithm terminates with the optimal solution If τ ≤ T, a. Compute Yt,τ = TC*t-1 + Wt,τ for all t satisfying jτ−1* ≤ t ≤ τ b. Compute TCτ* = minimize Yt,τ over jτ−1* ≤ t ≤ τ c. Go to Step 3 27 14 28 WAGNER-WHITIN: SOLUTION D = (27, 22, 13, 19, 12), ct = 100, At = 200, and ht = 10 Planning horizon τ 1 2 3 4 5 Y1,τ Y2,τ Y3,τ Y4,τ Y5,τ TCτ* jτ* WAGNER-WHITIN: SOLUTION 29 15 30 CONTENTS • Modeling Assumptions and Formulation • Heuristic Solution Approaches • Optimal Solution Approaches • Summary 31 COMPARISON OF SOLUTIONS Algorithm Production setup z Optimal algorithms Integer LP Wagner-Whitin (1, 1, 0, 1, 0) (1, 1, 0, 1, 0) Heuristics Lot-for-lot Period order quantity Part-period balancing Silver-Meal Least unit cost (1, 1, 1, 1, 1) (1, 0, 1, 0, 1) (1, 0, 1, 0, 1) (1, 1, 0, 1, 0) (1, 1, 1, 0, 1) Setup plus inventory holding cost 850 850 1,000 1,010 1,010 850 Å also optimal 990 16 32 SUMMARY • In dynamic-demand environments, algorithms that are constructed for dynamic settings perform much better than algorithms that are designed for constant-demand environments • When choosing an algorithm, trade-offs must be made High WagnerWhitin Part-Period Balancing Silver-Meal Least Unit Cost Solution quality Low Integer LP Lot-for-lot Period Order Quantity Short Long Solution time ANNOUNCEMENTS 33 • For the Dynamic Lot Sizing model, read Section 2.3 and Section 3.1.6 • Lab 3 will be held on Tuesday, March 15 - Time: 5:00pm – 6:50pm - Location: IS Lab of IEEM Dept (Room 3207) - Content: Solution approaches of Dynamic Lot Sizing 17