Este problema foi tirado do livro Dynammic programming: A computational tool de Art Lew e Holger Mauch (2007). É o problema 2.34, Optimal Production Problem (PROD).
Neste problema, o produtor deve escolher quanto produzir de um certo bem e existe uma demanda por esse bem. No problema também podem existir custos para armazenar bens e uma taxa de penalidade caso a demanda não seja atendida.
O problema é um processo de decisão sequencial com N estágios, onde em cada estágio \(k\) existe um custo de produção \(C(k,i)\) que depende do estágio e da quantidade produzida \(i\). A quantidade em estoque no início do estágio é determinada por \(s\), a demanda é \(D(k)\) e o custo de armazenagem é \(I(k,s)\). O custo de armazenagem também pode ser usado para representar uma penalidade caso a demanda não seja atendida.
A função custo é:
\[f(k,s) = min_{i}\{C(k,i) + I(k,i) + f(k+1, s + i - D(k))\}\]
A condição que encerra o processo é \(f(k,s) = I(k,s)\) quando \(k = n\).
O livro sugere a seguinte situação:
A demanda \(D(k) = 1\) com chance \(p = 0.6 \) e \(D(k) = 2\) com chance \((1 - p)\).
A função \(I(k,s) = 1.1i ; i >=0\) e \(I(k,s) = -1.5i ; i <0\)</p>
Logo, o problema fica:
\[f(k,s) = min_{i}\{C(k,i) + I(k,i) +p f(k+1, s + i - 1) + (1-p)f(k+1, s + i - 2)\}\]
O livro dá como exemplo os casos \(f(1,0) = 42.244\) produzindo 2 unidades inicialmente e \(f(2,1) = 19.9\) e \(f(2,0) = 28.26\)
É interessante também olhar o seguinte exercício:
Exercício complementar