Inventory Control IME 451, Lecture 3 Economic Order Quantity • • • Harris (1913) developed this basic, widely used model to find economic lot sizes Balancing inventory holding costs against setup (or order) costs Assumptions • • • • • • Production is instantaneous, no capacity constraint Delivery is immediate, no time lag Demand is deterministic, no uncertainty Demand is constant over time A production run incurs a fixed setup cost Products can be analyzed individually (single product only or no interactions such as shared resources or machines) EOQ Variables • • • • • D = demand rate (in units per year) c = unit production cost, not counting setup or inventory cost (in dollars per unit) A = fixed setup (ordering) cost to produce (purchase) a lot (in dollars) h = holding cost (in dollars per unit per year); if holding costs are only due to interest then h=ic where i is the annual interest rate Q = lot size (in units); this is the decision variable EOQ Derivation • Total annual cost Y(Q) hQ AD Y (Q) cD 2 Q • Find the minimum Y(Q) by dY (Q) h AD 2 0 setting derivative w.r.t. Q dQ 2 Q equal to 0 • Check that the second dY 2 (Q) AD 2 derivative is positive for any dQ2 Q3 positive Q (convex function, so Q* is a min, not a max) 2 AD * Q • Solve first derivative for Q* h Problems with EOQ • • • • • How realistic are assumptions (Instantaneous production? Deterministic demand?) Setup costs may be difficult to estimate, especially in production environments rather than purchasing systems D Average number of lots per year, F F Q Total inventory investment, I cD Time between orders, T I Q T D 2F 2A T hD * Sensitivity of EOQ Models • • • • Holding and setup costs are fairly insensitive to lot size Errors caused by restricting lot sizes to powers of 2 are minimal (no more than 6%) Powers of 2 ordering can facilitate sharing truck resources (one week, two weeks, four weeks…) Extensions involve non-instantaneous production (economic production lot model), backorders, major and minor setups, and quantity discounts Dynamic Lot Sizing (Wagner Whitin) • Notation t = a time period = 1, 2, …, T where T is the planning horizon Dt = demand in period t (in units) ct = unit production cost (in dollars per unit) At = setup cost to produce a lot in period t (in dollars) ht = holding cost to carry a unit of inventory from period t to period t+1 (in dollars per unit per period) It = inventory (in units) leftover at the end of period t Qt = lot size for period t (in units); there are T decision variables, one for each period Wagner Whitin Procedure • • • • • Qt will be 0 or will be Dt, Dt+Dt+1 , Dt+Dt+1+Dt+2 ... Produce nothing or produce exactly enough to cover the current period plus some integer number of future periods Produce for the first period in the first period For each subsequent period, decide whether it is more economical to produce that period’s demand in the current period or any previous period Follow example in book, pp. 60-61 Models for Uncertain Demand • • • • Finding statistical reorder points to account for randomness in demand News Vendor – single replenishment; vendor buys paper at start of day and discards any leftover at end of day Base Stock – replenish inventory one unit at a time but carry base stock to cover lag time (Q,r) model – when inventory reaches or falls below level r, order a quantity of Q items News Vendor Model • Assumptions • • • • • • Products are separable, consider 1 at a time Planning is for a single period only Demand is random Deliveries are made in advance of demand Costs of overage or underage are linear Notation • • • • • X = demand (in units), a random variable with mean m and standard deviation s G(x) = P(X<=x) = c.d.f. of demand cs = cost (in dollars) per unit of shortage co = cost (in dollars) per unit of overage Q = production or order quantity (in units); this is the decision variable News Vendor Equations cs * • To balance overage vs G (Q ) co cs shortage costs, choose order quantity Q* * • Assume that G is normal, cs Q m * G(Q ) F where F is the cdf of the s co cs standard normal function • Find z in a standard normal Q* m z table (Table 1 at end of text) s • Solve for Q* Q* m zs Base Stock Model • Assumptions • • • • • • Products can be analyzed individually Demands occur one at a time Unfilled demand is backordered Replenishment leadtimes are fixed and known Replenishments are ordered one at a time Notation • • • • • l = replenishment leadtime (in days), assumed constant X = demand during replenishment leadtime (in units) G(x) = P(X<=x) = c.d.f. probability demand during replenishment leadtime is less than or equal to x q = E[X] = mean demand (in units) during leadtime l s = E[X] = standard deviation of demand (in units) during leadtime l Base Stock Model • Notation (continued) • • • • • • • • • h = cost to carry one unit of inventory for one year b = cost to carry one unit of backorder for one year r = reorder point (in units) R = r + 1 = base stock level (in units) s = r - q = safety stock level (in units) S( R ) = fill rate or service level, fraction of orders filled from stock as a function of R B( R ) = average outstanding backorders I( R ) = average on-hand inventory Inventory position = on-hand inventory – backorders + orders Base Stock Equations • • • • • • • For this model, at all times inventory position = R Service level, S( R ) = G (R – 1) R Backorders are 0 if x < R B( R) q [1 G( x)] Backorders are x-R if x>=R x 0 Expected backorder level B( R ) I ( R ) = R – q + B( R ) Use table 2.5 to find fill rates b * G(R ) R* q zs bh (Q,r) Model • Assumptions • • • • Similar to base stock except There is a fixed cost for each replenishment order, OR There is a constraint on the number of orders per year Decide how much safety stock to carry to cover leadtimes AND what quantity to order (Q,r) Notation • • • • • • • • • • • • • • • • • • D = expected demand per year (in units) l = replenishment leadtime (in days) X = demand during replenishment leadtime (in units), random variable q = E[X] = Dl/365 = expected demand (in units) during leadtime l s = E[X] = standard deviation of demand (in units) during leadtime l G(x) = P(X<=x) = c.d.f. probability demand during replenishment leadtime is less than or equal to x A = setup cost per replenishment (in dollars) c = unit production cost (in dollars per unit) h = cost to carry one unit of inventory for one year k = cost per stockout b = cost to carry one unit of backorder for one year r = reorder point (in units) Q = replenishment quantity s = r - q = safety stock level (in units) F (Q,r) = order frequency, as a fuction of Q and r S( Q,r ) = fill rate or service level, fraction of orders filled from stock as a function of Q and r B( Q,r ) = average outstanding backorders I( Q,r ) = average on-hand inventory (Q,r) Equations • Replenishment quantity Q affects cycle stock, inventory that is held to avoid excessive replenishment costs (like EOQ) • Reorder point r affects safety stock, inventory held to avoid stockouts (like Base Stock) • Either minimize: min fixedsetup cos t backorder cos t holding cos t Q ,r or min fixedsetup cos t stockout cos t holding cos t Q,r Fixed Setup Cost & Backorder Cost • Fixed setup (or order) cost • First, set number of orders per year • Then, find annual fixed order costs D F (Q, r ) Q D F (Q, r ) A A Q • Backorder Cost • Inventory position is uniformly distributed between r+1 and r+Q • Averaging the backorder level over the range r+1 to r+Q 1 B(Q, r ) B(r 1) ... B(r Q) Q Stockout Cost in (Q,r) Model • Penalizes poor customer service • Charge a cost each time a stockout occurs • Charge a penalty that is proportional to the time a customer waits to have their order filled 1 S (Q, r ) 1 B(r ) B(r Q) Q • Approximations • Type I (base stock) – computes # of stockouts per cycle, underestimates S(Q,r) S (Q, r ) G(r ) • Type II – neglects B(Q,r) term, also underestimates S(Q,r) S (Q, r ) 1 B(r ) Q Holding Costs in (Q,r) Model • Inventory holding cost = hI(Q,r) • First equation approximates and underestimates average inventory, since demand is variable and thus backorders sometimes occur I (Q, r ) (Q s) ( s 1) Q 1 Q 1 s r q 2 2 2 • Exact formulation: I (Q, r ) Q 1 r q B(Q, r ) 2 Backorder Cost Approach • Compute Q and r values that minimize: • approximate, since B(r) replaces B(Q,r) D Q 1 Y (Q, r ) A bB(r ) h r q B( r ) Q 2 • Optimal Q* and r* 2 AD Q* h b G (r*) bh • Then, assume normal distribution for lead time as in base stock model r* q zs Stockout Cost Approach • Compute Q and r values that minimize: • approximate, since B(r) replaces B(Q,r) Y (Q, r ) D B(r ) Q 1 A kD h r q B( r ) Q Q 2 • Optimal Q* and r* 2 AD Q* h G (r*) • Assume normal distribution for lead time kD kD hQ r* q zs • Note: larger Q results in smaller r* because a smaller reorder point is needed to achieve the same fill rate (Q,r) Insights • Cycle stock increases as replenishment frequency decreases • Safety stock provides a buffer against stockouts • The base stock model is a (Q,r) model where Q=1 • Increasing annual demand (D) increases Q • Increasing demand during leadtime increases r (thus, high annual demand or long leadtimes require inventory) • Increased demand variability increases r (for most parts where high fill rates are desired) • Increased holding costs (h) decreases both Q and r (if it is expensive to hold inventory, avoid doing so!)