1 Introduction

The dynamic programming approach is one of the methods used in obtaining optimal solution for multi-stage inventory problems (other methods were discussed in [1, 2]). Fixed lifetime inventory model which include the assumptions that orders are placed every period can be formulated as a dynamic programming problem. This is exemplified by the works in [3, 4]. To use the method, the associated cost function is formulated as a recursive equation. The dynamic programming approach for the fixed lifetime inventory problem was extensively discussed in [4] and concluded that “Because the dimension of the state variable is proportional to the lifetime of the stock in periods, computing an optimal policy is feasible only for relatively short lifetimes. One quickly faces the “curse of dimensionality” that plagues many dynamic programming formulations. We re-examine the dynamic programming approach for the fixed lifetime inventory system using the model in [4] as a case study. Ordering policies were obtained for each period and the resulting equations were solved using MATHEMATICA 8. Numerical examples was carried out for items with lifetime between 3 and 21 periods.

1.1 Problems with existing

Obtaining optimal ordering policy for products whose lifetime is more than two periods was difficult because of the dimension of the state variables. The higher the lifetime of the product the more state variables to deal with. Too many variables complicate the computation of optimal policy. Fries introduce the dynamic programming method to handle this situation. Dynamic programming methods can be used to obtain optimal policy for products whose lifetimes are greater than two periods.

1.2 Fries model

Assumptions of Fries model.

  1. (i)

    Time is divided into discrete periods that are numbered backwards from the planning horizon.

  2. (ii)

    Units expire at the end of period \( m \)

  3. (iii)

    Leadtime is zero

  4. (iv)

    New order are placed depending on unexpired inventory

  5. (v)

    Expired units are removed from inventory

  6. (vi)

    No backlogging of demand.

  7. (vii)

    Issuing policy is FIFO.

The dynamic programming approach is applicable whenever we order \( m\, \) times in \( m \) periods. For example, if \( m = 4,\,\,m\,\,is\,\,lifetime\,\,of\,\,product \), we order four times in four periods. The number of useful periods remaining on the items brought forward after their first period in inventory is \( n = 3 \). New orders are received every period and items are issued from inventory following FIFO (oldest units first). Table 1 gives the model outlook for \( m = 4\,\, \).

Table 1 Model outlook for \( m = 4 \)

In Table 1, \( y_{1} \) arrives in period 1. At the start of period 2, items from the first order reduces to \( x_{12} \) and \( y_{2} \) arrives. At the start of period 3, items from the first and second orders reduces to \( x_{13} \,\,and\,\,x_{22} \) and \( y_{3} \) arrives. At the start of period 4, items from the first, second and third orders reduces to \( x_{14} \,,x_{23} \,\,and\,\,x_{32} \) and \( y_{4} \) arrives. The items from the first order will not go beyond period 4 since the lifetime of the product is 4. Any item from the first order not used to meet demand at the end of period 4 outdate and must be discarded. The process continues for the remaining orders. This was the dynamic process considered in [4]. The total cost function obtained is;

$$ \begin{aligned} & f_{n} (w) = \mathop {\hbox{min} }\limits_{y \ge 0} \{ - cW_{1} + V(w_{m - 1} ) + G_{n - 1} (w,y)\} ,\,\,w \ge 0,\,\,(n = 1,2,3, \ldots ) \\ & where \\ & G_{n - 1} (w,y) = cy + L(y) + \alpha \int\limits_{0}^{\infty } {f_{n - 1} (z)\,\,\phi (t)\,dt} \\ & L(y) = h\int\limits_{0}^{y} {(y - t)f(t)dt} + p\int\limits_{y}^{\infty } {(t - y)f(t)dt} \\ & V(x) = v\int\limits_{0}^{x} {(x - t)f(t)dt} \\ \end{aligned} $$
(1)
$$ \begin{aligned} & c = ordering\,\,\cos t \\ & h = holding\,\,\cos t \\ & p = shortage\,\,\cos t \\ & v = outdate\,\,\cos t \\ & \alpha = discounting\,\,factor,\,\,\,0 < \alpha < 1 \\ & m = lifetime \\ & y = order\,\,quantity \\ & w_{j} = w_{1} + w_{2} + \cdots + w_{m - 1} \,\,on\,\,hand\,\,inventory \\ & w = \,\,(w_{1} ,w_{2} , \ldots w_{m - 1} ) \ge 0 \\ \end{aligned} $$

The model in [4] has a parameter \( \overline{x} \), that determine whether to order or not to order. \( \overline{x} \) is defined as the positive solution to the equations

$$ L^{1} (x) + c = 0 $$
(2)

or

$$ L^{1} (x) + c - \alpha cF(x) = 0 $$
(3)

If \( x < \overline{x\,,} \) where \( x = x_{1} + x_{2} + \cdots + x_{m - 1} \), we order \( y \). Where \( y \) is the solution to the equation

$$ G^{1}_{n - 1} (w,y) = cy + L(y) + \alpha \int\limits_{0}^{\infty } {f_{n - 1} (z)\phi (t)dt} $$
(4)

If \( x\,\,\, \ge \,\,\,\overline{x} \) we do not order.

The time horizon in [4] is divided into three time eras, namely:

$$ n = 1,\,\,\,\,\,\,1\,\,\, < \,\,n\,\, < \,\,m\,\,\,\,\,\,\,and\,\,\,\,n\,\, \ge \,\,m $$

The decision to order or not to order in each era depends on whether or not the total inventory on hand is less than the critical number. For each time era in Eq. (1), we derive an equation for the critical number and the ordered quantity.

$$ \begin{aligned} & L(y) = h\int\limits_{0}^{y} {(y - t)f(t)dt} + p\int\limits_{y}^{\infty } {(t - y)f(t)dt} \\ & V(x) = v\int\limits_{0}^{x} {(x - t)f(t)dt} \\ & f_{n} (w) = \mathop {\hbox{min} }\limits_{y \ge 0} \left\{ { - cW_{1} + V(w_{m - 1} ) + G_{n - 1} (w,y)} \right\} \\ & G_{n - 1} (w,y) = cy + L(y) + \alpha \int\limits_{0}^{\infty } {f_{n - 1} (z)\phi (t)dt} \\ & f_{0} (w) = 0 \\ & f_{n} (w) = - cW_{1} + V(w_{m - 1} ) + cy + L(y) + \alpha \int\limits_{0}^{\infty } {f_{n - 1} (z)\phi (t)dt\,;\,\,n = 1,2,3, \ldots m - 1} \\ & f_{1} (w) = - cW_{1} + V(w_{m - 1} ) + cy + L(y) \\ & f_{2} (w) = - cW_{1} + V(w_{m - 1} ) + cy + L(y) + \alpha \int\limits_{0}^{\infty } {f_{1} (z)\phi (t)dt} \\ & f_{3} (w) = - cW_{1} + V(w_{m - 1} ) + cy + L(y) + \alpha \int\limits_{0}^{\infty } {f_{2} (z)\phi (t)dt} \\ & \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,. \\ & \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,. \\ & \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,. \\ & f_{m - 1} (w) = - cW_{1} + V(w_{m - 1} ) + cy + L(y) + \alpha \int\limits_{0}^{\infty } {f_{m - 2} (z)\phi (t)dt} \\ \end{aligned} $$

Case 1

\( n = 1 \)

If \( W_{1} \,\, < \,\,x^{*} \), order up to \( x^{*} \), otherwise, do not order; where \( x^{*} \) is the unique solution to the equation

$$ \begin{aligned} & L^{1} (x^{*} ) + c = 0\,\,\,and\,\,\,the\,\,\,\,demand\,\,\,\,density\,\,\,\,\,is\,\,\,f(t) = \lambda e^{ - \lambda t} \\ & where \\ & L(x^{*} ) = h\lambda \int\limits_{0}^{{x^{*} }} {(x^{*} - t)e^{ - \lambda t} dt} + p\lambda \int\limits_{x}^{\infty } {(t - x)e^{ - \lambda t} dt} \\ & L(x^{*} ) = h\lambda \left\{ {\int\limits_{0}^{x} {xe^{ - \lambda t} dt} - \int\limits_{0}^{x} {te^{ - \lambda t} dt} } \right\} + p\lambda \left\{ {\int\limits_{x}^{\infty } {te^{ - \lambda t} dt} - \int\limits_{x}^{\infty } {xe^{ - \lambda t} dt} } \right\} \\ & = h\lambda \left\{ {\left. {\frac{{ - xe^{ - \lambda t} }}{\lambda }} \right|_{t = 0}^{t = x} + \left. {(\frac{{te^{ - \lambda t} }}{\lambda } + \frac{{e^{ - \lambda t} }}{{\lambda^{2} }})} \right|_{t = 0}^{t = x} } \right\} + p\lambda \left\{ {\left. {(\frac{{ - te^{ - \lambda t} }}{\lambda } - \frac{{e^{ - \lambda t} }}{{\lambda^{2} }})} \right|_{t = x}^{t = \infty } + \left. {\frac{{ye^{ - \lambda t} }}{\lambda }} \right|_{t = x}^{t = \infty } } \right\} \\ & = h\lambda \left\{ {\frac{{ - xe^{ - x\lambda } }}{\lambda } + \frac{x}{\lambda } + \frac{{xe^{ - x\lambda } }}{\lambda } + \frac{{e^{ - x\lambda } }}{{\lambda^{2} }} - \frac{1}{{\lambda^{2} }}} \right\} + p\lambda \left\{ {\frac{{xe^{ - x\lambda } }}{\lambda } + \frac{{e^{ - x\lambda } }}{{\lambda^{2} }} - \frac{{xe^{ - x\lambda } }}{\lambda }} \right\} \\ & = h\lambda \left\{ {\frac{{ - xe^{ - x\lambda } }}{\lambda } + \frac{x}{\lambda } + \frac{{xe^{ - x\lambda } }}{\lambda } + \frac{{e^{ - x\lambda } }}{{\lambda^{2} }} - \frac{1}{{\lambda^{2} }}} \right\} + p\lambda \left\{ {\frac{{xe^{ - x\lambda } }}{\lambda } + \frac{{e^{ - x\lambda } }}{{\lambda^{2} }} - \frac{{xe^{ - x\lambda } }}{\lambda }} \right\} \\ & = hx + \frac{{he^{ - x\lambda } }}{\lambda } - \frac{h}{\lambda } + \frac{{pe^{ - x\lambda } }}{\lambda } \\ & = e^{ - x\lambda } \left\{ {\frac{h}{\lambda } + \frac{p}{\lambda }} \right\} + hx - \frac{h}{\lambda } \\ & so\,\,\,that \\ & \frac{dL}{{dx^{*} }} + c = 0,\,\,\,yields \\ & - e^{ - x\lambda } \{ h + p\} + h + c = 0 \\ & e^{ - x\lambda } (h + p) = h + c \\ & e^{ - x\lambda } = \frac{h + c}{h + p} \\ & x^{*} = \frac{{Log\left[ {\frac{h + c}{h + p}} \right]}}{ - \lambda } \\ \end{aligned} $$
(5)

This shows we can only proceed if \( c\, < \,p \).

To obtain \( W_{1} \), we differentiate \( f_{1} (w) \) with respect to \( y \) and evaluate at \( y = W_{1} \) Thereafter we compare the value of \( x \) from Eq. (5) with \( W_{1} \) obtained. If \( W_{1} \) obtained is less than \( x \) then we order up to \( x\,\, \) that is order \( y_{1} = x - W_{1} \) otherwise we do not order. Now

$$ \begin{aligned} & f_{1} (w) = - cW_{1} + V(w_{m - 1}) + cy + L(y) + \alpha \int\limits_{0}^{\infty} {f_{0} (w)\phi (t)dt} \\ & but\,\,f_{0} (w) = 0,\,\,so\,\,we\,\,have \\ & f_{1} (w) = - cW_{1} + V(w_{m - 1}) + cy + L(y) \\ & \left. {\frac{{\partial f_{1}}}{\partial y}} \right|_{{y = W_{1}}} = L^{1} (W_{1}) + c \\ \end{aligned} $$

\( W_{1} \) is the solution to the equation

$$ \begin{aligned} & L^{1} (W_{1} ) + c = 0 \\ & - e^{{ - W_{1} \lambda }} \left( {\frac{h}{\lambda } + \frac{p}{\lambda }} \right) + h + c = 0 \\ & e^{{ - W_{1} \lambda }} (h + p) = h + c \\ & e^{{ - W_{1} \lambda }} = \frac{h + c}{h + p} \\ & W_{1} = \frac{{Log\left[ {\frac{h + c}{h + p}} \right]}}{ - \lambda } \\ \end{aligned} $$
(5.1)

Case 2

\( 1 < n < m \).

If \( w \in A_{n} ,\,(\,where\,\,A_{n} \),is the ordering region) order up to \( y_{n}^{*} (w) > W_{1} \); otherwise, do not order; where \( y_{n}^{*} (w) \) solves.

\( G_{n - 1}^{1} \{ w,y_{n}^{*} (w)\} = 0\,\,and\,\,y_{n}^{*} (w) \le x \), and \( x \) is the solution to the equation

$$ \begin{aligned} & L^{1} (x) + c - \alpha cF(x) = 0 \\ & where \\ & F(x) = 1 - e^{ - \lambda t} \\ & L(x) = h\lambda \int\limits_{0}^{x} {(x - t)e^{ - \lambda t} dt + p\lambda \int\limits_{x}^{\infty } {(t - y)e^{ - \lambda t} dt} } \\ & L(x) = e^{ - x\lambda } \left\{ {\frac{h}{\lambda } + \frac{p}{\lambda }} \right\} + hx - \frac{h}{\lambda } \\ & \frac{dL}{dx} = - e^{ - x\lambda } (h + p) + h \\ & so\,\,\,that \\ & \frac{dL}{dx} + c - \alpha cF(x) = 0,\,\,\,\,\,\,\,\,\,\,\,\,\,\,yields \\ & - e^{ - x\lambda } (h + p) + h + c - \alpha c(1 - e^{ - x\lambda } ) = 0 \\ & - e^{ - x\lambda } (h + p) + h + c - \alpha c + \alpha ce^{ - x\lambda } = 0 \\ & e^{ - x\lambda } (h + p - \alpha c) = h + c - \alpha c \\ & e^{ - x\lambda } = \frac{h + c - \alpha c}{h + p - \alpha c} \\ & x^{*} = \frac{{Log\left[ {\frac{h + c - \alpha c}{h + p - \alpha c}} \right]}}{ - \lambda } \\ \end{aligned} $$
(6)

For each \( n = 2,3, \ldots m - 1 \), we compute \( y_{n} (w) \) from \( G_{n - 1}^{1} \{ w,y_{n} (w)\} = 0 \) and We compare \( y_{n} (w)\,\,\,with\,\,\,x \) obtained from (6). Tables 2 and 3 gives the required equations for computing \( y_{n} (w) \).

Table 2 \( G_{n - 1} (w,y),\,\,\,\,for\,\,\,some\,\,\,\,values\,\,\,of\,\,\,n \)
Table 3 \( G_{n - 1} (w,y),\,\,\,\,for\,\,\,some\,\,\,\,values\,\,\,of\,\,\,n \)
$$ \begin{aligned} & y_{2} \,\,is\,\,\,obtained\,\,\,from\,\,\,\,\,G_{1}^{1} (w,y) = 0 \\ & Now \\ & G_{1} (w,y) = cy + L(y) + \alpha \lambda \int\limits_{0}^{\infty } {( - cW_{1} + V(w_{m - 1} ) + cy + L(y))e^{ - \lambda t} dt} \\ & G_{1} (w,y) = cy + e^{ - \lambda y} (\frac{h}{\lambda } + \frac{p}{\lambda }) + hy - \frac{h}{\lambda } - cW_{1} \alpha + cy\alpha + vx\alpha - vx\alpha e^{ - x\lambda } - \frac{v\alpha }{\lambda } + \frac{{v\alpha e^{ - x\lambda } }}{\lambda } + vx\alpha e^{ - x\lambda } \\ & \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, + \frac{{\alpha e^{ - \lambda y} (h + p)}}{\lambda } + h\alpha y - \frac{h\alpha }{{\lambda^{2} }} \\ & so\,\,\,\,that \\ & \frac{{\partial G_{1} }}{\partial y} = c\alpha - \alpha e^{ - \lambda y} (h + p) + h\alpha + c - e^{ - \lambda y} (h + p) + h = 0 \\ & e^{ - \lambda y} (\alpha (h + p) + (h + p)) = c + h + c\alpha + h\alpha \\ & e^{ - \lambda y} = \frac{c + h + c\alpha + h\alpha }{\alpha (h + p) + h + p} \\ & y_{2} = \frac{{Log\left[ {\frac{c + h + c\alpha + h\alpha }{\alpha (h + p) + h + p}} \right]}}{ - \lambda } \\ & y_{2} = \frac{{Log\left[ {\frac{c + h)(1 + \alpha )}{(h + p)(1 + \alpha )}} \right]}}{ - \lambda } \\ \end{aligned} $$
$$ \begin{aligned} & y_{3} \,\,\,is\,\,obtained\,\,\,from\,\,\,\,\,G_{2}^{1} (w,y) = 0 \\ & Now \\ & \begin{aligned}G_{2} (w,y)& = cy + L(y) + \alpha \lambda \left\{ {\int\limits_{0}^{\infty } {\left( \vphantom{\int\limits_{0}^{\infty }}{ - cW_{1} + V(w_{m - 1} ) + cy + L(y)}\right.}}\right.\\&\quad + \left.{{\left.{\left[ {\alpha \lambda (\int\limits_{0}^{\infty } {( - cW_{1} + V(w_{m - 1} ) + cy + L(y))e^{ - \lambda t} dt)} } \right]}\, \right)} e^{ - \lambda t} dt} \right\}\end{aligned} \\ & \begin{aligned}G_{2} (w,y) &= cy + \frac{{e^{ - \lambda y} }}{\lambda }(h + p) + hy - \frac{h}{\lambda } - cW_{1} \alpha + cy\alpha + vx\alpha - vx\alpha e^{ - x\lambda } \\&\quad - \frac{v\alpha }{\lambda } + \frac{{v\alpha e^{ - x\lambda } }}{\lambda } + \frac{{\alpha e^{ - \lambda y} (h + p)}}{\lambda } + hy\alpha - \frac{h\alpha }{\lambda } - cW_{1} \alpha^{2}\\&\quad + cy\alpha^{2} + vx\alpha^{2} + vx\alpha^{2} e^{ - x\lambda } - \frac{{v\alpha^{2} }}{\lambda } + \frac{{v\alpha^{2} e^{ - x\lambda } }}{\lambda } + v\alpha^{2} xe^{ - x\lambda }\\&\quad + \frac{{\alpha^{2} e^{ - y\lambda } (h + p)}}{\lambda } + h\alpha^{2} y + \frac{h\alpha }{{\lambda^{2} }}\end{aligned} \\ & so\,\,\,that \\ & \begin{aligned}\frac{{\partial G_{2} }}{\partial y}& = c - e^{ - \lambda y} (h + p) + h + c\alpha - \alpha e^{ - \lambda y} (h + p) + h\alpha + c\alpha^{2} \\&\quad - \alpha^{2} e^{ - \lambda y} (h + p) + h\alpha^{2} = 0 \end{aligned}\\ & e^{ - \lambda y} (h + p + \alpha (h + p) + \alpha^{2} (h + p)) = c + h + c\alpha + h\alpha + c\alpha^{2} + h\alpha^{2} \\ & y_{3} = \frac{{Log\left[ {\frac{{c + h + c\alpha + h\alpha + c\alpha^{2} + h\alpha^{2} }}{{h + p + \alpha (h + p) + \alpha^{2} (h + p)}}} \right]}}{ - \lambda } \\ & y_{3} = \frac{{Log\left[ {\frac{{c(1 + \alpha + \alpha^{2} ) + h(1 + \alpha + \alpha^{2} )}}{{h + p(1 + \alpha + \alpha^{2} )}}} \right]}}{ - \lambda } \\ & y_{3} = \frac{{Log\left[ {\frac{{(c + h)(1 + \alpha + \alpha^{2} )}}{{(h + p)(1 + \alpha + \alpha^{2} )}}} \right]}}{ - \lambda } \\ \end{aligned} $$
$$ \begin{aligned} & y_{4} \,\,\,\,is\,\,\,\,obtained\,\,\,\,from\,\,\,\,\,G_{3}^{1} (w,y) = 0 \\ & G_{3} (w,y) = cy + L(y) \\ & + \lambda \alpha \,\left\{ {\int\limits_{0}^{\infty } {( - cW_{1} + V(w_{{m - 1}} ) + cy + L(y) + \left[ {\alpha \lambda \left( {\int\limits_{0}^{\infty } {( - cW_{1} + V(w_{{m - 1}} ) + cy + L(y)} } \right.} \right.} } \right. \\ & \left. {\left. {\left. { + [\alpha \lambda (\int\limits_{0}^{\infty } {( - cW_{1} + V(w_{{m - 1}} ) + cy + L(y))e^{{ - \lambda t}} dt)} } \right]} \right)e^{{ - \lambda t}} dt])e^{{ - \lambda t}} dt} \right\} \\ & so\,\,\,that \\ & \frac{{\partial G_{3} }}{{\partial y}} = c\alpha - \alpha e^{{ - \lambda y}} (h + p) + h\alpha + c\alpha ^{2} - \alpha ^{2} e^{{ - \lambda y}} (h + p) + h\alpha ^{2} + c\alpha ^{3} - \alpha ^{3} e^{{ - \lambda y}} (h + p) \\ & \,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, + h\alpha ^{3} + c - e^{{ - \lambda y}} (h + p) + h = 0 \\ & e^{{ - y\lambda }} = \frac{{h + c + h\alpha + c\alpha + h\alpha ^{2} + c\alpha ^{2} + h\alpha ^{3} + c\alpha ^{3} }}{{h + p + \alpha (h + p) + \alpha ^{2} (h + p) + \alpha ^{3} (h + p)}} \\ & y_{4} = \frac{{Log\left[ {\frac{{h + c + h\alpha + c\alpha + h\alpha ^{2} + c\alpha ^{2} + h\alpha ^{3} + c\alpha ^{3} }}{{h + p + \alpha (h + p) + \alpha ^{2} (h + p) + \alpha ^{3} (h + p)}}} \right]}}{{ - \lambda }} \\ & y_{4} = \frac{{Log\left[ {\frac{{(h + c)(1 + \alpha + \alpha ^{2} + \alpha ^{3} )}}{{(h + p)(1 + \alpha + \alpha ^{2} + \alpha ^{3} )}}} \right]}}{{ - \lambda }} \\ \end{aligned} $$
$$ \begin{aligned} & y_{5} \,\,is\,\,\,obtained\,\,\,from\,\,\,G_{4}^{1} = 0 \\ & G_{4} (w,y) = cy + L(y) \\ & + \alpha \lambda \left\{ {\int\limits_{0}^{\infty } {( - cW_{1} + V(w_{{m - 1}} ) + cy + L(y)}}\right. \\& \left.{{+ \left[ {\alpha \lambda \left( {\int\limits_{0}^{\infty } {( - cW_{1} + V(w_{{m - 1}} ) + cy + L(y))} } \right.} \right.} } \right. \\ & \left. {\left. { + \left. {\left[ {\alpha \lambda \left( {\int\limits_{0}^{\infty } {( - cW_{1} + V(w_{{m - 1}} ) + cy + L(y))}}\right.}\right.}\right.}\right.}\right. \\ & \quad\left.{\left.{\left.{\left.{\left.{{+ \left[ {\alpha \lambda \left( {\int\limits_{0}^{\infty } {( - cW_{1} + V(w_{{m - 1}} ) + cy + L(y))e^{{ - \lambda t}} dt} } \right)} \right]e^{{ - \lambda t}} dt} } \right)} \right]e^{{ - \lambda t}} dt} \right]} \right)e^{{ - \lambda t}} dt} \right\} \\ & G_{4}^{1} (w,y) = 0,\,\,\,\,yields \\ & y_{5} = \frac{{Log\left[ {\frac{{h + c + h\alpha + c\alpha + h\alpha ^{2} + c\alpha ^{2} + h\alpha ^{3} + c\alpha ^{3} + h\alpha ^{4} + c\alpha ^{4} }}{{h + p + \alpha (h + p) + \alpha ^{2} (h + p) + \alpha ^{3} (h + p) + \alpha ^{4} (h + p)}}} \right]}}{{ - \lambda }} \\ & y_{5} = \frac{{Log\left[ {\frac{{(h + c)(1 + \alpha + \alpha ^{2} + \alpha ^{3} + \alpha ^{4} )}}{{(h + p)(1 + \alpha + \alpha ^{2} + \alpha ^{3} + \alpha ^{4} )}}} \right]}}{{ - \lambda }} \\ \end{aligned} $$

A careful observation shows that the pattern for obtaining the order quantities can be generalized using Eq. (7)

$$ y_{n} = \frac{{Log\left[ {\frac{{h + c + \sum\nolimits_{i = 1}^{n - 1} {h\alpha^{i} + c\alpha^{i} } }}{{h + p + \sum\nolimits_{i = 1}^{n - 1} {\alpha^{i} (h + p)} }}} \right]}}{ - \lambda },\quad n = 2.3.4, \ldots m - 1 $$
(7)

Case 3

\( n \ge m \).

If \( W_{1} < \,\,x \), order up to \( y_{n} (w)\,\, > \,\,W_{1} \); otherwise do not order, where \( y_{n} (w)\,\,solves\,\,\,G_{n - 1}^{1} \{ w,y_{n} (w)\} = 0 \) and \( y_{n} (w)\,\, \le \,\,\,\,x \). The \( x^{*} \) in Eq. (6) for case 2 is the same for case 3.

1.3 Problem with Fries model

The application of Fries model is dependent on the availability and knowledge of computer. Inventory managers with little or no knowledge of the computers cannot apply the model. The model places new order every period, if the demand is low the amount of items outdating may be high and this is a major problem for the fixed lifetime inventory system.

2 Numerical examples

In this section, we give numerical examples for fixed lifetime products whose useful lifetimes are 3, 4, 12 and 21 periods. The results for each product is shown in Tables 4, 5, 6, and 7.

Table 4 Ordering policy for a product with 3 useful lifetime
Table 5 Ordering policy for a product with 4 useful lifetime
Table 6 Ordering policy for a product with 12 useful lifetime
Table 7 Ordering policy for a product with 21 useful lifetime

Example 1

Lifetime of product is 3. Using Eqs. (5) and (6) we obtain \( x^{*} \) for time era \( n = 1\,\,\,\,and\,\,\,1 < \,n < m \).

Analysis

We don’t order in period 1 because \( W_{1} = x^{*} \). We order 78.4839 in periods 2, 3, 4, and 5 since \( y_{{}} < x^{*} \). The CPU time is 0.48 s.

Example 2

Lifetime of product is 4. Using Eqs. (5) and (6) we obtain \( x^{*} \) for time era \( n = 1\,\,\,\,and\,\,\,1 < \,n < m \).

Analysis

We don’t order in period 1 because \( W_{1} = x^{*} \). We order 69.1485 in periods 2, 3, 4, 5, 6 and 7 respectively. The CPU time is 0.532 s.

Example 3

Lifetime of product is 12. Using Eqs. (5) and (6) we obtain \( x^{*} \) for time era \( n = 1\,\,\,\,and\,\,\,1 < \,n < m \).

Analysis

We don’t order in period 1 because \( W_{1} = x^{*} \). We order 95.3007 in periods 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 and 16 respectively. The CPU time is 0.63 s.

Example 4

Lifetime of product is 21. Using Eqs. (5) and (6) we obtain \( x^{*} \) for time era \( n = 1\,\,\,\,and\,\,\,1 < \,n < m \).

Analysis

we don’t order in period 1 because \( W_{1} = x^{*} \). We order 95.2799 in periods 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 and 26 respectively. The CPU time is 0.685 s.

2.1 Application to real life problem

The dynamic programming method was applied to bread inventory by an inventory manager in Benin City, Nigeria. Bread is a fixed lifetime product with a useful life of 4 days. The result for a period of seven (7) days is shown in Table 8.

Table 8 Ordering policy for bread

Lifetime of bread is 4 days. Using Eqs. (5) and (6) we obtain \( x^{*} \) for time era \( n = 1\,\,\,\,and\,\,\,1 < \,n < m \).

Analysis

We don’t order in period 1 because \( W_{1} = x^{*} \). We order 98 breads in periods 2, 3, 4, 5, 6 and 7 respectively. The CPU time is 0.532 s.

2.2 Computer time

Table 9 shows the CPU time for some values of \( m \). Clearly, the CPU time increases with increasing m. For \( m \) = 21, the computer time is 0.685 s. Figure 1 shows the computer time reported in Table 9.

Table 9 Lifetime and CPU time for some fixed lifetime products
Fig. 1
figure 1

Lifetime versus computer time

3 Conclusion

For \( m > 2 \), the dimension of the dynamic programing approach is high and difficult to handle. This is why the prevailing view on the dynamic programing approach is that it is unrealizable in practice when the dimension exceed 2 periods. However, the use of computer programmes makes it easy and the computing time is fast. For \( f = \lambda \,e^{ - \lambda t} \) which is the widely used distribution in the literature, we found the computer time in seconds for products with fixed lifetime between 3 and 21 periods. The computing process is routine and does not require special techniques. Using the model in [4], we computed ordering policy for products with lifetime 3, 4, 12, and 21 periods. For the four products considered, we observed that the quantity ordered is the same in all the periods except period one. The implication of this is that outdating may be high when the demand is low, since the same quantity of items arrives inventory every period. Finally, the model was applied by an inventory manager to bread inventory.