I have the chance to take a look on EOQ (Econmic Ordering Quantity) models recently, I simply made a short summary for quick recall.
The book I use is Winston, W. L., & Goldberg, J. B. (2004). Operations research: applications and algorithms (Vol. 3). Belmont^ eCalif Calif: Thomson/Brooks/Cole.
1. Assumption and Notation
Repetitive ordering, Constant Demand, Constant Lead Time, Continuous Ordering.
- \(K\) = setup or ordering cost
- \(h\) = cost of holding one unit for one unit of time
- \(D\) = demand rate per unit time
- \(r\) = rate at which firm can make product per unit time \((r>D)\)
- \(s\) = cost of being one unit short for one unit of time
2. Basic EOQ model
\(D\) known constant; \(K\) known and fixed; Lead time \(L = 0\), NO shortage, holding cost \(h\) known. \[ \begin{aligned} \text{objective: } TC(q) &= \text{ordering} + \text{purchasing} + \text{holding}\\ &= K \cdot D/q + p\cdot D + h \cdot (q/2) \cdot (q/D) \cdot (D/q)\\ &= KD/q + pD + hq/2\\ \Rightarrow q^\star &= \sqrt{\frac{2KD}{h}} \end{aligned} \] \(D/q\star\) orders are placed each unit of time. If holding cost is expressed in terms of holding one dollar for one year, denote by \(h_d\), the solution above will replace \(h\) by \(ph_d\).
re-order point (12 month year) for \(L \neq 0\): \((D \cdot T/12)\cdot 1_{\{T<EOQ\}} + [(D \cdot T/12) \% q^\star]\cdot 1_{\{T > EOQ\}}\)
3. Quantity Discount Model
- If \(q < b_1\), each item cost \(p_1\)
- If \(b_1 < q < b_2\), each item cost \(p_2\)
- If \(b_{k-1} < q < b_k = \infty\), each item cost \(p_k\)
Beginning with the lowest price, determine for each price the order quantity (\(q_i^\star\)) that minimizes total annual costs for \(b_{i-1} \leq q < b_i\).
Continue determining \(q_k^\star, q_{k-1}^\star, \ldots\) until one of the \(q_i^\star\)’s (call \(q_{i'}^\star\)) is admissible; from observation 2, this will mean that \(q_{i'}^\star = EOQ_{i'}\) The optimal order quantity will be the member of \(\{q_k^\star, q_{k-1}^\star, \ldots, q_{i'}^\star\}\) with the smallest value of \(TC(q)\), the objective function is same as basic EOQ and \(h\) can also be replaced by \(ph_d\).
If \(EOQ_i\) is admissible, then \(q_i^\star = EOQ_i\). If \(EOQ_i < b_{i-1}\), then \(q_i^\star = b_{i-1}\).
4. Continuous Rate Model
In this model, instead of purchasing, we use produce internally. The objective function becomes (use graph to help) \[TC(q) = \text{ordering} + \text{holding} = K\cdot\frac{D}{q}+ h\cdot \frac{(r-D)}{2}\cdot \frac{q}{r}\]
\[\text{optimal run size} = \sqrt{\frac{2KDr}{h(r-D)}} = EOQ\cdot \sqrt{\frac{r}{r-D}} = q^\star\cdot \sqrt{\frac{r}{r-D}}\]
5. EOQ with Back Orders Allowed
The objective function is \[ \begin{aligned} T(q,M) &= \text{ordering} + \text{holding} + \text{shortage}\\ & = K \cdot \frac{D}{q} + h\cdot \frac{M}{2}\cdot \frac{M}{D}\cdot\frac{D}{q} + \frac{1}{2}(q-M)\left(\frac{q-M}{D}\right)s\cdot\frac{D}{q}\\ &= \frac{KD}{q} + \frac{M^2h}{2q} + \frac{(q-M)^2s}{2q} \end{aligned} \]
- \(q^\star\) = optimal order quantity
- \(M^\star\) = maximum inventory level under optimal ordering policy
- \(q^\star - M^\star\) = maximum shortage occurring under optimal ordering policy
- \(q^\star = \sqrt{\frac{2KD(h+s)}{hs}} = EOQ\sqrt{\frac{h+s}{s}}\)
- \(M^\star = \sqrt{\frac{2KDs}{h(h+s)}} = EOQ\sqrt{\frac{s}{h+s}}\)