Inventory Control Models Ch 4 (Known Demands) R. R. Lindeke IE 3265, Production And Operations Management Reasons for Holding Inventories Economies of Scale Uncertainty in delivery lead-times Speculation. Changing Costs Over Time Smoothing: to account for seasonality and/or Bottlenecks Demand Uncertainty Costs of Maintaining Control System Characteristics of Inventory Systems Demand May Be Known or Uncertain May be Changing or Unchanging in Time Lead Times - time that elapses from placement of order until it’s arrival. Can assume known or unknown. Review Time. Is system reviewed periodically or is system state known at all times? Characteristics of Inventory Systems Treatment of Excess Demand. Backorder all Excess Demand Lose all excess demand Backorder some and lose some Inventory who’s quality changes over time perishability obsolescence Real Inventory Systems: ABC ideas This was the true basis of Pareto’s Economic Analysis! In a typical Inventory System most companies find that their inventory items can be generally classified as: A Items (the 10 - 20% of sku’s) that represent up to 80% of the inventory value B Items (the 20 – 30%) of the inventory items that represent nearly all the remaining worth C Items the remaining 50 – 70% of the inventory items sku’s) stored in small quantities and/or worth very little Real Inventory Systems: ABC ideas and Control A Items must be well studied and controlled to minimize expense C Items tend to be overstocked to ensure no runouts but require only occasional review See mhia.org – there is an “e-lesson” on the principles of ABC Inventory management – check it out! – do the on-line lesson! Relevant Inventory Costs Holding Costs - Costs proportional to the quantity of inventory held. Includes: 1. 2. 3. 4. Physical Cost of Space (3%) Taxes and Insurance (2 %) Breakage Spoilage and Deterioration (1%) Opportunity Cost of alternative investment. (18%) Here these holding issues total: 24% Therefore, in inventory systems, the holding cost would be taken as: h .24*Cost of product Lets Try one: Problem 4, page 193 – cost of inventory Find h first (yearly and monthly) Total holding cost for the given period: THC = $26666.67 Average Annual Holding Cost assumes an average monthly inventory of trucks based on on hand data $3333 Relevant Costs (continued) Ordering Cost (or Production Cost). Includes both fixed and variable components slope = c K C(x) = K + cx for x > 0; 0 for x = 0. Relevant Costs (continued) Penalty or Shortage Costs. All costs that accrue when insufficient stock is available to meet demand. These include: Loss of revenue due to lost demand Costs of book-keeping for backordered demands Loss of goodwill for being unable to satisfy demands when they occur. Relevant Costs (continued) When computing Penalty or Shortage Costs inventory managers generally assume cost is proportional to number of units of excess demand that will go unfulfilled. The Simple EOQ Model – the most fundamental of all! Assumptions: 1. Demand is fixed at l units per unit time – typically assumed at an annual rate (use care). 2. Shortages are not allowed. 3. Orders are received instantaneously. (this will be relaxed later). Simple EOQ Model (cont.) Assumptions (cont.): 4. Order quantity is fixed at a value “Q” per cycle. (we will find this as an optimal value) 5. Cost structure: a) includes fixed and marginal order costs (K + cx) b) includes holding cost at h per unit held per unit time. Inventory Levels for the EOQ Model The Average Annual Cost Function G(Q) Modeling Inventory: K cQ G(Q) T hQ 2 K : setup cost c: Unit cost Q T: cycle length T= l h: holding cost % of unit cost Subbing Q/l for T K cQ hQ G (Q) Q 2 l Kl hQ G (Q) lc Q 2 Finding an Optimal Level of ‘Q’ – the so-called EOQ Requires us to take derivative of the G(Q) equation with respect to Q Then, Set derivative equal to Zero: Kl h G (Q) 0 2 Q 2 ' Now, Solve for Q Properties of the EOQ (optimal) Solution 2K l Q h Q is increasing with both K and l and decreasing with h Q changes as the square root of these quantities Q is independent of the proportional order cost, c. (except as it relates to the value of h = I*c) Try ONE! A company sells 145 boxes of BlueMountain BobBons/week (a candy) Over the past several months, the demand has been steady The store uses 25% as a ‘holding factor’ Candy costs $8/bx and sells for $12.50/bx Cost of making an order is $35 Determine EOQ (Q*) and how often an order should be placed Plugging and chugging: 2 * 35 * 7540 513.7 514 h = $8*.25 = $2 Q 2 l = 145*52 = * Q T 514 .068 yr 7540 l 7540 or: 514 3.54 wk 145 * Annual Inventory Cost: Then, In your teams: Compute Pr. 10, pg 201 35 7540 514 2 G Q 7540 8 514 2 G Q 513.42 514 60320 $61347.42 Cost of Ordering & Holding: 513.42 + 514 = $1027.42 But, Orders usually take time to arrive! This is a realistic relaxation of the EOQ ideas – but it doesn’t change the model This requires the user to know the order “Lead Time” And then they trigger an order at a point before the delivery is needed to assure no stock outs In our example, what if lead time is 1 week? We should place an order when we have 145 boxes in stock (the one week draw down) Note make sure lead time units match units in T! But, Orders usually take time to arrive! What happens when order lead times exceed T? We proceed just as before (but we compute /T) is the lead time is units that match T Here, lets assume = 6 weeks then: /T = 6/3.545 = 1.69 – in the Blue Mount Bon-Bon case Place order: 1.69 cycles before we need product! Trip Point is then 0.69*Q* = .69*514 = 356 boxes This trip point is not for the next stock out but the one after that (1.69 T or 6 weeks from now!) – be very careful!!! Sensitivity Analysis Let G(Q) be the average annual holding and setup cost function given by G (Q) K l / Q hQ / 2 and let G* be the optimal average annual cost. Then it can be shown that: G (Q) 1 Q * Q G* 2 Q Q * Sensitivity We find that this model is quite robust to Q errors if holding costs are relatively low We find, for a given Q – a mistake in the ordering quantity that Q* + Q has smaller error than Q* - Q (Error means we incur extra inventory maintenance costs – a penalty cost) That is, we tend to have a smaller penalty cost if we order too much compared to too little Inventory Levels for Finite Production Rate Model EOQ With Finite Production Rate Suppose that items are produced internally at a rate P (> λ, the consumption rate). Then the optimal production quantity to minimize average annual holding and set up costs has the same form as the EOQ, namely: 2k l Q h' Except that h’ is defined as h’= h(1- λ/P) This is based on solving: K hH G (Q) T 2 K l hQ G (Q) 1 l / P Q 2 P is annual production rate H is maximum on hand quantity H Q 1 l P Lets Try one: We work for Sam’s Active Suspensions They sell after market kits for car “Tooners” They have an annual demand of 650 units Production rate is 4/day (working at 250 d/y) Setup takes 2 technicians working 45 minutes @$21/hour and requires an expendable tool costing $25 Continuing: Each kit costs $275 Sam’s uses MARR of 18%, tax at 3%, insurance at 2% and space cost of 1% Determine h, Q*, H, T and break T down to: T1 = production time in a cycle (Q*/P) T2 = non producing time in a cycle (T – T1) Engineering Teams: (You can) Do It Quantity Discount Models All Units Discounts: the discount is applied to ALL of the units in the order. Gives rise to an order cost function such as that pictured in Figure 4-9 All-Units Discount Order Cost Function Quantity Discount Models Incremental Discounts: the discount is applied only to the number of units above the breakpoint. Gives rise to an order cost function such as that pictured in Figure 4-10. Incremental Discount Order Cost Function Properties of the Optimal Solutions For all units discounts, the optimal will occur at the bottom of one of the cost curves or at a breakpoint. (It is generally at a breakpoint.). One compares the cost at the largest realizable EOQ and all of the breakpoints beyond it. (See Figure 4-11). For incremental discounts, the optimal will always occur at a realizable EOQ value. Compare costs at all realizable EOQ’s. (See Figure 4-12). All-Units Discount Average Annual Cost Function To Find EOQ in ‘All Units’ discount case: Compute Q* for each cost level Check for Feasibility (the Q computed is applicable to the range) – we say it is “Realizable” Compute G(Q*) for each of the realizable Q*’s and the break points. Chose Q* as the one that has lowest G(Q) Lets Try one: Product cost is $6.50 in orders <600, $3.50 above 600. Organizational I is 34% K is $300 and annual demand is 900 Q 2 300 900 Q 2 300 900 * 1 * 2 0.34 6.50 495 0.34 3.50 674 Lets Try one: Both of these are Realizable (the value is ‘in range’) Compute G(Q) for both and breakpoint (600) G(Q) = cl + (l*K)/Q + (h*Q)/2 G (495) 900 (6.50) 900 300 495 .34 6.5 495 .34 3.5 674 2 G (495) $6942.43 G (674) 900 (3.50) 900 300 674 2 G (674) $3951.62 G (600) 900 (6.50) G (600) $3957.00 900 300 600 .34 6.5 600 2 Order 674 at a time! Average Annual Cost Function for Incremental Discount Schedule In an Incremental Case: Cost is a strictly varying function of Q -- It varies by interval! Calculate a C(Q) for the applied schedule Divide by Q to convert it to a “unit cost” function Build G(Q) equations for each interval Find Q* from each G(Q) Equation (derivative!) Check if “Realizable” Compute G(Q*) for realizable Q*’s Trying the previous problem (but as Incremental Case): Cost Function: Basically states that we pay 6.50 for each unit up to 600 then 3.50 for each unit ordered beyond 601: C(Q) = 6.5(Q), Q < 600 C(Q) = 3.5(Q – 600) + 6.5*600, Q 600 C(Q)/Q = 6.5, Q < 600 (order up to 600) C(Q)/Q = 3.5 + ((3900 – 2100)/Q), Q 600 or C(Q)/Q = 3.5 + (1800)/Q (orders beyond 601) Trying the previous but as Incremental Case: For the First Interval: Q* = [(2*300*900)/(.34*6.50)] = 495 (realizable) For order > 600, find Q* by writing a G(Q) equation and then optimizing: [G(Q) = cl + (l*K)/Q + (h*Q)/2] 1800 300 900 1800 Q2 G2 (Q2* ) 900 3.5 0.34 3.5 2 Q Q Q 2 2 2 900 2100 Q .34 3.5 .34 900 G2 (Q2* ) 900 3.5 2 Q2 2 Differentiating G2(Q) d G2 Q2 900 2100 .34 3.5 0 0 2 dQ2 Q2 2 Set equal to 0 and solve for Q2 900 2100 2 2 Q 2 Q 0.595 0 Realizable! 900 2100 0.595 1783 Now Compute G(Q) for both and “cusp” G(495) = 900*6.5 + (300*900)/495 + .34((6.5*495)/2) = $6942.43 G(600) = 900*6.5 +(300*900/600) + .34((6.5*600)/2) = $6963.00 G(1763) = 900*(3.5 +(1800/1783)) + (300*900)/1783 + .34*(3.5 +(1800/1783))*(1783/2) = $5590.67 Lowest cost – purchase 1783 about every 2 years! Properties of the Optimal Solutions Lets jump back into our teams and do some! TRY 22b and 23 on Pg 211 Resource Constrained MultiProduct Systems Consider an inventory system of n items in which the total amount available to spend is C and items cost respectively c1, c2, . . ., cn. Then this imposes the following constraint on the system: c1Q1 c2Q2 ... cnQn C Resource Constrained MultiProduct Systems When the condition that: c1 / h1 c2 / h2 ... cn / hn is met, the solution procedure is straightforward. If the condition is not met, one must use an iterative procedure involving Lagrange Multipliers. EOQ Models for Production Planning Consider n items with known demand rates, production rates, holding costs, and set-up costs. The objective is to produce each item once in a production cycle. For the problem to be feasible the following equation must be true: n lj P j 1 j 1 Issues: We are interested in controlling Family MAKESPAN (we wish to produce all products within our chosen cycle time) Underlying Assumptions: Setup Cost (times) are not Sequence Dependent (this assumption is not always accurate as we will later see) Plants uses a “Rotation” Policy that produces a single ‘batch’ of each product each cycle – a mixed line balance assumption EOQ Models for Production Planning The method of solution is to express the average annual cost function in terms of the cycle time, T. The optimal cycle time has the following mathematical form: n T* 2 K j j 1 n h j 1 j ' l j We must assure that this time allows for all setups and all production times. Working forward: This last statement means: (sj+(Qj/Pj)) T sj is set up time Of course: Qj = lj*T So – with substitution: (sj+((lj*T )/Pj) T Or: T((sj/(1- lj/Pj)) = Tmin Finally, we must Choose T(chosen cycle time) = MAX(T*,Tmin) Lets Try Problem 30 ITEM Mon Req’r Daily Req’r h= .2*c l/P h’ Setup Time Setup Cost Unit Cost Daily Pr. Rate Mon. Pr. Rate J55R 125 6.25 4 .045 3.82 1.2 $102 $20 140 2800 H223 140 7 7 .032 6.78 0.8 $68 $35 220 4400 K-18R 45 2.25 0.6 .023 0.58 6 2.2 $187 $12 100 2000 Z-344 240 12 9 .073 8.34 3.1 $263. 5 $45 165 3300 Given: 20 days/month and 12 month/year; $85/hr for setup Compute the Following – in teams!: n 2Kj j 1 T n l j h'j j 1 n TMin s j 1 j n lj 1 j 1 Pj Topt T , TMin MAX Lot Size: Topt Demand Rate Uptime; Drawdown Time; Utilization