Programação Linear (e rudimentos de otimização não-linear)
Programação Linear (e rudimentos de otimização não-linear)
Programação Linear (e rudimentos de otimização não-linear)
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
notas <strong>de</strong> aula – versão 64 - Jerônimo C. Pellegrini<br />
9.2. PROCESSO MARKOVIANO DE DECISÃO 133<br />
9.1.1 Aplicabilida<strong>de</strong> do Algoritmo<br />
A técnica <strong>de</strong> programação dinâmica é interessante quando o problema a<br />
ser resolvido apresenta as duas características a seguir.<br />
• Subestrutura ótima: uma solução ótima para o problema po<strong>de</strong> ser<br />
construída a partir <strong>de</strong> soluções ótimas para subproblemas. No exemplo<br />
do problema da mochila, os subproblemas consistiam em maximizar<br />
o valor dos itens que po<strong>de</strong>ríamos acomodar em mochilas<br />
menores.<br />
• Subproblemas não completamente isolados: uma solução para um<br />
subproblema po<strong>de</strong> ser usada mais <strong>de</strong> uma vez, porque há diferentes<br />
subproblemas maiores que a usam. No exemplo da mochila, após<br />
calcularmos o valor máximo para uma mochila <strong>de</strong> tamanho 3, usamos<br />
este dado na construção das soluções para mochilas <strong>de</strong> tamanho<br />
4, 5, etc.<br />
9.2 Processo Markoviano <strong>de</strong> Decisão<br />
Há problemas <strong>de</strong> otimização que po<strong>de</strong>m ser formulados como programas<br />
<strong>linear</strong>es, mas que também po<strong>de</strong>m ser resolvidos por programação dinâmica.<br />
No restante <strong>de</strong>ste Capítulo analisamos os processos Markovianos <strong>de</strong><br />
<strong>de</strong>cisão.<br />
O seguinte problema é frequentemente usado para ilustrar o conceito<br />
<strong>de</strong> processo Markoviano <strong>de</strong> <strong>de</strong>cisão: um empresário produz um único tipo<br />
<strong>de</strong> produto. O empresário <strong>de</strong>ve, todo mês, verificar seu estoque e <strong>de</strong>cidir<br />
quantas unida<strong>de</strong>s adicionais <strong>de</strong>ve encomendar para a fábrica, sabendo,<br />
além da quantida<strong>de</strong> que tem em estoque, a probabilida<strong>de</strong> <strong>de</strong> que cada<br />
unida<strong>de</strong> seja vendida, e o custo <strong>de</strong> armazenamento por unida<strong>de</strong>. O empresário<br />
quer maximizar o lucro nos próximos meses.<br />
O estoque no começo do mês t é s t , que chamamos <strong>de</strong> estado do sistema.<br />
A quantida<strong>de</strong> <strong>de</strong> unida<strong>de</strong>s encomendada é a t . A quantida<strong>de</strong> <strong>de</strong><br />
pedidos é aleatória (com distribuição conhecida), e a <strong>de</strong>notamos por d t .<br />
Então<br />
s t+1 = max {0, s t + a t − d t }<br />
Versão Preliminar<br />
O empresário po<strong>de</strong>rá pedir mais ou menos unida<strong>de</strong>s, <strong>de</strong>pen<strong>de</strong>ndo do estoque.<br />
O problema <strong>de</strong>scrito envolve um sistema com estado interno. O estado<br />
do sistema muda <strong>de</strong> forma probabilística a cada intervalo <strong>de</strong> tempo,<br />
<strong>de</strong>pen<strong>de</strong>ndo <strong>de</strong> ações escolhidas – e o que se quer é a redução do custo ao