Short Summary on EOQ Model (Probabilistic)

February 22, 2019 - 6 minutes
Miscellaneous EOQ

Similar to the previous post, the book is Winston, W. L., & Goldberg, J. B. (2004). Operations research: applications and algorithms (Vol. 3). Belmont^ eCalif Calif: Thomson/Brooks/Cole.

1. Single-Period Decision Models

A decision maker begins by choosing a value \(q\) of a decision variable. Then a random variable \(D\) assumes a value \(d\). Finally, a cost \(c(d, q)\) is incurred. The decision maker’s goal is to choose \(q\) to minimize expected cost.

Assuming a discrete random variable \(D\) with \(P(D = d) = p(d)\), let \(E(q)\) expected cost given \(q\), then \(E(q) = \sum_{d}p(d)c(d,q)\). Let \(q^\star\) be the optimized \(q\), i.e, \(E(q^\star)\) is minimized, then

\[\begin{equation} E(q^\star + 1) - E(q^\star) \geq 0 \text{ } \qquad \text{} (1) \end{equation}\]

2. News Vendor Problem

Let \(c_o\) be overstocking cost and \(c_u\) for understoking cost. \(f(d)\) be some term does NOT involved \(q\), then \[ c(d,q) = \left\{\begin{array}{ll} c_oq + f(d) &, d \leq q\\ -c_uq + f(d)&, d \geq q + 1 \end{array}\right. \]

A fraction \(P(D \leq q)\) of time, ordering \(q + 1\) will cost \(c_o\) more and \(1 - P(D \leq q)\) of time, ordering \(q + 1\) will cost \(c_u\) less. On average, ordering \(q + 1\) will cost \[c_oP(D \leq q) - c_u[1 - P(D \leq q)]\] Using the property of equation \((1)\), we have \[E(q+1) - E(q) = c_oP(D \leq q) - c_u[1 - P(D \leq q)] \geq 0 \Rightarrow P(D\leq q) \geq \frac{c_u}{c_o + c_u}\] Let \(F(q) = P( D \leq q)\), then \(F(q^\star) \geq \dfrac{c_u}{c_o + c_u}\). If \(F(q)\) is continuous, then \(F(q^\star) = \dfrac{c_u}{c_o + c_u}\)

3. Determination of Reorder Point and Order Quantity with Uncertain Demand

  • \(K\) = ordering cost
  • \(h\) = holding cost/unit/year
  • \(L\) = leading time (known)
  • \(q\) = order quantity
  • \(D\) = random demand with mean \(E(D), \mathrm{Var}(D), \sigma_{D}\)
  • \(c_B\) = cost for backlogged shortage
  • \(c_{LS}\) = cost for lost sale

Let \(X\) be demand during lead time, then \[E(X) = LE(D) \qquad \mathrm{Var}(X) = L(\mathrm{Var}(D)) \qquad \sigma_X = \sigma_D\sqrt{L}\]

Let \(r\) is the re-order point, then \(r - E(X)\) is the amount of inventory held in excess of lead time demand to meet shortages that may occur before an order arrives. \(B_r\) be number of back orders during a cycle under re-order point \(r\). Assuming \(q^\star\) can be approximated by EOQ, \(D\) is continuous. The objective function is

\[ \begin{aligned} \text{objective: } TC(q, r) &= \text{ordering} + \text{holding} + \text{shortage}\\ &= KE(D)/q + h/2 \cdot (q+r-E(X) + r - E(X)) + c_BE(B_r)E(D)/q \end{aligned} \] Using marginal analysis, the increase of holding will reduce shortage, for increment \(\Delta\), which resulted the holding cost go up to \(h\Delta = h(q/2+r+\Delta-E(X))-H(Q/2+R-E(X))\) corresponds to \(\Delta E(X)c_B P(X\geq r)/q\), the reduction of shortage cost, it is optimized when increment equals reduction, i.e \(h\Delta = \Delta E(X)c_BP(X \geq r)/q \Rightarrow\)

  • If the shortage are backlogged, then apprximated optimal solution (detail omitted) is,

\[EOQ = q^\star = \sqrt{\frac{2KE(D)}{h}} \qquad \text{ and } \qquad P(X \geq r^\star) = \frac{hq^\star}{c_BE(D)}\]

  • If the shortage result in lost sales, then approximated optimal solution is,

\[EOQ = q^\star = \sqrt{\frac{2KE(D)}{h}} \qquad \text{ and } \qquad P(X \geq r^\star) = \frac{hq^\star}{hq^\star + c_{LS}E(D)}\] Note:

  • We obtain the equation by setting \(\Delta = 1\)
  • expected inventory in lost sales case = (expected inventory in back-ordered case) + (expected number of shortages per cycle).

4. Determination of Reorder Point: The Service Level Approach

Since it may be difficult to determine the exact cost of a shortage or lost sale, it is often desirable to choose a reorder point that meets a desired service level.

  • \(\text{SLM}_{1}\) the expected fraction (usually expressed as a percentage) of all demand that is met on time.

  • \(\text{SLM}_{2}\) the expected number of cycles per year during which a shortage occurs.

Using the same notation, we can express the expected shortage per cycle as \(E(B_r)\) and per year as \(E(B_r)E(D)/q\) and hence

\[1 - \text{SLM}_1 = \frac{\text{expected shortage per year}}{\text{expected demand per year}} = \frac{E(B_r)E(D)/q}{E(D)} = \frac{E(B_r)}{q}\]

Normal Loss function, \(\mathrm{NL}(y)\), is defined by the fact that \(\sigma_X\mathrm{NL}(y)\) is the expected number of shortage occuring duing a lead time if

(1). lead time demand is normal with mean \(E(X)\) and standard deviation \(\sigma_X\)

(2). re-order point is \(E(X) + y\sigma_X\)

The value of \(\mathrm{NL}(y)\) can be found on Table 13.

Note: theoretical computation of standard normal loss

\[\mathrm{NL}(Z) = \int_{Z}^{\infty}(t-Z)\phi(t)dt = \int_{Z}^{\infty}(t-Z)\cdot \frac{1}{\sqrt{2\pi}}\exp\left\{-\frac{t^2}{2}\right\}dt\]

An R implementation is as follows, a nice post illustrate some applications.

# compute normal loss function
NL <- function(x) ifelse(x == Inf, 0, dnorm(x) - x * pnorm(x, lower.tail = FALSE))

# compute inverse of normal loss function
invNL <- function(y) uniroot(function(x) NL(x) - y, interval = c(-10,10))$root

A property of the normal loss function is: \(\mathrm{NL}(y) = \mathrm{NL}(-y) - y\).

For a EOQ quantity \(q\) (determination see later),

  • If lead time is normally distributed, then for a desired value of \(\text{SLM}_1\), the re-order point \(r\) is found from

\[\mathrm{NL}\left(\frac{r-E(X)}{\sigma_X}\right) = \frac{q(1-\text{SLM}_1)}{\sigma_X}\]

  • If lead time demand is continuous random variable, let desired \(\text{SLM}_2 = s_0\) shortages per year, the re-order point \(r\) is

\[P(X \geq r) = \frac{s_0\cdot q}{E(D)}\]

  • If lead time is discrete, everthing is the same as previous, then the re-order point is the smallest value of \(r\) satisfying

\[P(X > r) \leq \frac{s_0\cdot q}{E(D)}\]

5. (R, S) Periodic Review Policy

On-order inventory level is the sum of on-hand inventory and inventory on order.

  • \(R\) = time (in year) between reviews
  • \(J\) = cost of reviewing inventory level
  • \(D_{L+R}\) = (random) demand within during time interval of length \(L+R\)
  • \(E(D_{L+R}), \sigma_{L+R}\) = mean and standard deviation accordingly

Every \(R\) units of time (e.g. year), we review the inventory level and place an order to bring our on-hand inventory level up to \(S\). Given a value of \(R\), we determine the value of \(S\), the objective function

\[ \begin{aligned} \text{objective: } TC(S) &= \text{reviewing} + \text{ordering} + \text{purchasing} +\text{holding} + \text{shortage}\\ &= J/R + K/R + pD + h \left[S - E(D_{L+R}) + \frac{E(D)R}{2} \right] + \text{shortage} \end{aligned} \]

For increment of \(S\) denoted by \(\Delta\) (increase from \(S\) to \(S+\Delta\)), holding cost increased by \(h\Delta\) and reduce of shortage is \((1/R)c_B\Delta P(D_{L+R} \geq S)\), it is minimized when increase equals decrease, i.e. \(h\Delta = (1/R)c_B\Delta P(D_{L+R}\geq S)\)

\[P(D_{L+R} \geq S) = \frac{Rh}{c_B} \qquad \text{ or } \qquad P(D_{L+S} \geq S) \geq \frac{Rh}{Rh+c_{LS}}\]

under differnet shortage result assumptions by setting \(\Delta = 1\).

The given value of \(R\) above can be determined by \(R = \dfrac{EOQ}{E(D)}\) with \(EOQ = \sqrt{\dfrac{2(K+J)E(D)}{h}}\).

6. ABC Classification

This is an Empirical Rules,

  • the 5%–20% of all items accounting for 55%–65% of sales are Type A items;
  • the 20%–30% of all items accounting for 20%–40% of sales are Type B items;
  • the 50%–75% of all items that account for 5%–25% of all sales are Type C items.

By concentrating effort on Type A (and possibly Type B) items, we can achieve substantial cost reductions.

7. Exchange Curves

Exchange curves (and exchange surfaces) are used to display trade-offs between various objectives. For example, an exchange curve may display the trade-off between annual ordering costs and average dollar level of inventory. An exchange curve can be used to compare how various ordering policies compare with respect to several objectives.

Short Summary on EOQ Model (Deterministic)

February 12, 2019 - 3 minutes
Miscellaneous EOQ