View
27
Download
0
Category
Preview:
DESCRIPTION
Otimização e Pesquisa Operacional
Citation preview
CAMILLA CANTUARIA BRAGA RAPHAEL CANTUARIA BRAGA
PROGRAMAÇÃO DINÂMICA
Trabalho apresentado à disciplina Pesquisa Operacional II do curso de Engenharia de Produção da Universidade do Estado do Amapá, sob orientação do Professor Valdemar Vilena.
MACAPÁ
2010
INTRODUÇÃO
A tomada de decisões dentro do processo produtivo das empresas, nos mais variados ramos de atividade, tem chamado cada vez mais a atenção dos responsáveis. Não basta apenas “achar” para que atitudes sejam tomadas, as decisões têm que ser embasadas em números que indiquem sua viabilidade e qualidade.
Dentro deste contexto, a Pesquisa Operacional apresenta ferramentas quantitativas para o auxílio destas decisões.
O presente material de apoio tem como objetivo apresentar uma destas ferramentas, a Programação Dinâmica.
A Programação Dinâmica, como uma técnica matemática utilizada na resolução de problemas que envolvem uma seqüência de decisões inter-relacionadas, busca a combinação de ótimas decisões.
Esperamos que com o acesso a este material incentivemos as pessoas a procurar conhecer melhor a Programação Dinâmica e, principalmente, começar a utilizá-la no processo decisório das empresas.
1. PROGRAMAÇÃO DINÂMICA – PD
Programação dinâmica é uma técnica matemática muito útil para tomar uma
seqüência de decisões inter-relacionadas.
Em contraste com a Programação Linear, não existe uma formulação
matemática para o problema de Programação Dinâmica – PD. Ao contrário, a PD é
uma abordagem genérica para resolução de problemas e as equações utilizadas
devem ser desenvolvidas de acordo com cada situação particular.
Portanto, é importante conhecer os elementos básicos que caracterizam
problemas de PD.
2. PRINCIPAIS ELEMENTOS DOS PROBLEMAS DE PROGRAMAÇÃO
DINÂMICA
O objetivo da otimização é determinar a política ótima que otimize a função
objetivo global do sistema nas suas n etapas.
Em cada Estágio de Decisão é possível definir o Estado da solução. O
Estado é o ponto de situação em que se pode estar como consequência da decisão
tomada no estágio anterior.
Em cada Estágio decide-se, para cada Estado, qual o Estado do Estágio
seguinte que oferece melhor retorno para a solução do problema.
“Para um dado estado do sistema, a política ótima para os restantes estados é independente da política de decisão adotada em estados anteriores”. (BELLMAN, Richard. Princípio da Otimidade, 1959)
3. CLASSIFICAÇÃO DOS PROBLEMAS DE PD:
Determinísticos: o estado do estágio seguinte está completamente
determinado pelos estados e decisões do estágio atual.
Discreto
Contínuo
Probabilísticos: existe uma distribuição de probabilidade para determinar
qual será o estado no próximo estágio.
Discreto
Contínuo
3.1 Metodologia
Estruturar a solução ótima para o último estágio;
Procurar uma solução descendente (recursiva), para calcular o valor ótimo
do resultado;
Calcular o valor ótimo de maneira ascendente;
Construir a solução.
4. PROBLEMA DE PD DETERMINÍSTICO E DISCRETO
Quando o Estado do próximo estágio é univocamente determinado (uma só
forma de expressão) pela decisão política sobre o estado atual está-se tratando de
um problema de Programação Dinâmica Determinística.
A estrutura básica da PD Determinística pode ser representada da seguinte
forma:
Sn: estado na etapa n
Xn: decisão política na etapa n
fn(s, xn): valor da função no estado s etapa n relativo a decisão política xn
f*n (xn): valor mínimo ou máximo da função na etapa n correspondente a uma
determinada decisão Xn.
Csxn: custo ou ganho para passar da etapa n estado no estado s para a etapa
n+1.
Problemas: Maximização ou Minimização
Valores: Discretos ou contínuos associados à variável de estado
O estado na etapa seguinte é completamente determinado pelo estado de
decisão política na etapa atual.
Para melhor compreender o conceito e desenvolvimento deste problema,
usaremos o exemplo a seguir.
Suponhamos que um acadêmico pretende minimizar o custo do transporte
entre a sua residência e a faculdade utilizando vários meios de transporte
disponíveis na rede seguinte:
O custo associado às relações existentes traduz-se nas seguintes matrizes de
transição:
Sendo a casa do acadêmico o ponto inicial do percurso e a faculdade o ponto
final temos quatro estágios (n = 4) como mostra a figura a seguir:
A solução será da forma: A X1 X2 X3 X4 = J
Sendo o custo de transporte associado à decisão, quando o acadêmico se
encontra no Estado esta relação recursiva é da forma:
f*n(s) = min {CSXn + f*n+1 (xn} xn
f*n(4), f*n(3), f*n(2), f*n(1)
O quadro seguinte ilustra as decisões associadas ao Estágio 4:
O quadro seguinte ilustra as decisões associadas ao Estágio 3:
O quadro seguinte ilustra as decisões associadas ao Estágio 2:
O quadro seguinte ilustra as decisões associadas ao Estágio 1:
Podemos então concluir que a política ótima tem um custo total mínimo de = 8
u.m.
Problema com múltiplas soluções. Existem três caminhos distintos com o
mesmo valor ótimo (com custo = 8 $.)
5. O PROBLEMA DA DILIGÊNCIA
Esse problema foi especialmente elaborado (Prof. Harvey M. Vagner) para
introduzir os conceitos e ilustrar os elementos da PD.
Um caçador de tesouros do Missouri (região central dos EUA) decidiu
participar da corrida do ouro na Califórnia (na metade do século 19). A viagem até a
Califórnia seria realizada por diligência através de território inseguro, correndo-se
riscos de ataque de assaltantes. Apesar de seu ponto de saída e destino serem
fixos, o caçador de tesouros tinha uma liberdade considerável para escolher por
quais estados ele deveria passar até chegar ao seu destino. O caçador era um
homem prudente e estava preocupado com sua segurança ao longo da viagem.
Depois de pensar um pouco, ele teve uma brilhante idéia para determinar a rota
mais segura. Empresas de seguros ofereciam apólices de seguro de vida para
passageiros de diligências. O custo das apólices para cada trecho percorrido era
calculado de acordo com as condições de segurança daquele trecho. Quanto mais
arriscada uma rota, mais caro o seguro. Assim, a rota mais segura deveria ser
aquela que tivesse a mais barata apólice de segura de vida associada.
Os custos das apólices de seguros associados a cada possível trecho da
viagem (do estado i para o estado j), denotados por cij são:
O ponto de partida e o ponto de chegada são fixos, mas o viajante tem a
liberdade de escolher os estados que quer passar. É preciso passar por 4 etapas
para concluir a viagem.
As rotas possíveis são mostradas na Figura abaixo.
O objetivo é decidir qual a rota que minimiza o custo total.
Inicia-se a solução a partir do problema menor onde o caçador quase
completou uma viagem e tem apenas mais um estágio a percorrer (n=4). A solução
óbvia para este problema é ir do seu estado atual (seja qual for – H ou I) para seu
destino final (estado J). A cada iteração subseqüente, o problema é ampliado
aumentando-se em 1 o número de estágios restantes para completar a viagem. Para
esse último problema ampliado, a solução ótima para onde se deve ir em seguida a
partir de cada estado possível pode ser encontrado relativamente fácil a partir dos
resultado obtidos na iteração anterior.
Seja fn(s,xn) o custo total da melhor política a ser adotada para o restante dos
estágios, dado que o caçador de tesouros está no estado s, pronto para seguir para
o estágio n e seleciona xn como seu destino imediato.
Dados s e n, seja xn qualquer valor de xn que minimiza fn(s,xn) e seja fn*(s) o
valor mínimo correspondente de fn(s,xn). Logo,
fn*(s) = min fn(s,xn) = fn(s,xn*)
onde:
fn(s,xn) = custo imediato (estágio n) + mínimo custo futuro (estágios n+1 em
diante)
De outra forma:
fn(s,xn) = cSXn + f*n+1(xn)
CSXn é dado nas tabelas para cij, com i = s (estado atual) e j = xn (o destino
imediato)
Como último destino (estado J) é alcançado ao final do estágio 4, fS*(J) = 0
O objetivo é encontrar f1*(A) e a rota correspondente. A PD faz isso
encontrando sucessivamente f4*(s), f3*(s), f2*(s), para cada um dos possíveis estados
s e utilizando f2*(s) para encontrar f1*(A).
Quando o caçador tem apenas mais um estágio para percorrer (n=4), sua rota
é determinada inteiramente por seu estado atual s (H ou I) e seu destino final x4 = J.
Assim, a rota final da diligência é s J. Tem-se que:
f4*(s) = f4(s,x4*) = f4 (s,J) = cs,J + f4+1*(J) = cs,J
Logo, a solução imediata para n=4 é:
Para n=3 tem-se:
Para n=1 tem-se:
Assim, existem 3 possíveis rotas que apresentam a mesma segurança
(menores custos de seguro):
A – C – E – H – J
A – D – E – H – J
A – D – F – I – J
Todas as rotas apresentam o mesmo custo total de f1*(A)=11.
6. PROGRAMAÇÃO DINÂMICA PROBABILÍSTICA
1
xn 2
S
Probabilidade
Contribuição do estágio n
Estado: sn Decisão
fn(sn,xn)
f*n+1(1)
f*n+1(2)
f*n+1(s)
A programação dinâmica probabilística diferencia-se da determinística no
sentido que o estado no próximo estágio não é completamente determinado pelo
estado e pela decisão política no estágio atual.
Existe uma distribuição de probabilidade que determinará qual será o próximo
estado.
Contudo, essa distribuição de probabilidade é completamente determinada
pelo estado e pela decisão política no estágio atual.
Estágio n Estágio n+1
CONCLUSÃO
A Programação Dinâmica é uma técnica bastante útil para tomar decisões
seqüencialmente inter-relacionadas.
Para tanto, faz-se necessário formular relações recorrentes apropriadas para
cada problema individual.
Em suma, é uma ferramenta de Pesquisa Operacional de extrema
importância quando se refere a tomada de decisões dentro de uma empresa e pode
ser aplicada de diversas formas, abrangendo os mais diversos tipos de situações.
Recommended