Programação Dinâmica: Modelos Determinísticos

Documentos relacionados
Programação Dinâmica. Prof. Anderson Almeida Ferreira. Adaptado do material elaborado por Andrea Iabrudi Tavares

Método Simplex Dual. Prof. Fernando Augusto Silva Marins Departamento de Produção Faculdade de Engenharia Campus de Guaratinguetá UNESP

Programação Dinâmica (incompleto!!!!!)

Otimização Linear. Profª : Adriana Departamento de Matemática. wwwp.fc.unesp.br/~adriana

Programação Linear - Parte 5

Problema do Caminho Mínimo

Interpolação Polinomial

lnteligência Artificial Introdução ao Processo Decisório de Markov

Pesquisa Operacional

Métodos de Pesquisa Operacional I

Controle Ótimo - Aula 1 (Prova do Algoritmo da PD e Exemplo 1)

3 Aprendizado por reforço

Problema de Transporte (Redes) Fernando Nogueira Problema de Transporte 1

Controle Ótimo - Aula 8 Equação de Hamilton-Jacobi

Métodos Quantitativos

Pesquisa Operacional

Programação Hidrotérmica com Restrição de Energia Hidráulica

ADMINISTRAÇÃO DE MATERIAIS

Problema de designação

Problemas de Otimização

Árvore Binária de Busca Ótima

Introdução Paradigmas

Faculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu

Pesquisa Operacional

Controle Ótimo - Aula 2 (Exemplos 2, 3 e 4)

Administração. Custos de Estoque. Professor Rafael Ravazolo.

AULA 16 Esboço de curvas (gráfico da função

Minicurso Inteligência Artificial Aplicada a Sistemas Elétricos. Niterói, 12 de Maio de 2018

PESQUISA OPERACIONAL. Fabiano F. T. dos Santos. Instituto de Matemática e Estatística

INTRODUÇÃO

PESQUISA OPERACIONAL -PROGRAMAÇÃO LINEAR MÉTODO SIMPLEX. Prof. Angelo Augusto Frozza, M.Sc.

Otimização Linear. Profª : Adriana Departamento de Matemática. wwwp.fc.unesp.br/~adriana

Algoritmo Simplex para Programação Linear I

Ou seja, D(f) = IR e Im(f) IR.

4. Tensores cartesianos em 3D simétricos

Programação Linear M É T O D O S : E S T A T Í S T I C A E M A T E M Á T I C A A P L I C A D A S D e 1 1 d e m a r ç o a 2 9 d e a b r i l d e

MÉTODO SIMPLEX. Prof. MSc. Marcos dos Santos

Programa. 1 Parte 1 - Conjuntos e Aplicações. 1 Conjuntos. 4 Indução matemática e divisibilidade. 5 Congruências lineares

Introdução à Programação Linear

1 Sistemas multidimensionais e Linearização

Ajuste de Curvas. Diogo Pinheiro Fernandes Pedrosa. Universidade Federal do Rio Grande do Norte Centro de Tecnologia.

ADMINISTRAÇÃO DE MATERIAIS. Prof. Marcelo Camacho

7 Definição da Trajetória via Controle Ótimo

Sociedade Brasileira de Matemática Mestrado Profissional em Matemática em Rede Nacional

ADMINISTRAÇÃO DE MATERIAIS. Lotes Econômicos

Programação Matemática

1-1 PESQUISA OPERACIONAL INTRODUÇÃO

Método da substituição

; a = 5 (d) f (x) = 2x 4 x 3 + 2x 2 ; a = 2 x ; a = 1 (f) f (x) = 3 x. 9 x ; a = 9. x 2 x 2 ; a = 2

CAPÍTULO 3 INSTRUÇÕES BÁSICAS

Complexidade de Algoritmos. Edson Prestes

Professor: Rodrigo A. Scarpel

Otimização Linear. Profª : Adriana Departamento de Matemática. wwwp.fc.unesp.br/~adriana

Capítulo 1 Funções reais de uma variável 1.3 Derivadas de funções definidas implicitamente

Modelagem e Avaliação de Desempenho. Pós Graduação em Engenharia Elétrica - PPGEE Prof. Carlos Marcelo Pedroso 2011

Programação Linear/Inteira - Aula 5

RESOLUÇÃO DAS QUESTÕES DE RACIOCÍNIO LÓGICO-MATEMÁTICO

Taxas de Variação: Velocidade e Funções Marginais. Taxas de Variação: Velocidade e Funções Marginais

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016

Notas de Aulas 4 - Funções Elementares - Parte I Prof Carlos A S Soares

Inteligência Artificial. Algoritmos Genéticos. Aula I Introdução

Otimização Aplicada à Engenharia de Processos

Em várias ocasiões há de se proceder à coleta de dados diretamente na origem, isto é, dos sujeitos com quem pretendemos realizar determinado estudo.

Aprendizado por Reforço

Pesquisa Operacional Introdução. Profa. Alessandra Martins Coelho

Algoritmos Avançados Análise de Complexidade

Geometria Analítica. Números Reais. Faremos, neste capítulo, uma rápida apresentação dos números reais e suas propriedades, mas no sentido

Exemplo de um problema de transporte, com 3 fontes e 3 destinos. Custos unitários de transporte para o exemplo de problema de transporte

Uma abordagem de Circuitos Elétricos utilizando Sistemas Lineares

Técnicas de Programação

Análise de Sensibilidade

Teoria de dualidade. Marina Andretta ICMC-USP. 19 de outubro de 2016

Teoria da Informação

4. Resolução Numérica de Equações (Zero de Funções)

Simplex. Investigação Operacional José António Oliveira Simplex

Tópicos Especiais em Computação I

Aula 7: Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k

pontos: f(1)=2, f(2)=3, f(3)=5, f(5)=10 e f(6)=30.

Localização de Instalações. Projeto de Redes Logísticas. Escola Politécnica. Prof. Dr. Claudio Barbieri da Cunha.

Universidade Federal de Santa Catarina Centro de Ciências Físicas e Matemáticas Departamento de Matemática. MTM Pré-cálculo

DESENVOLVIMENTO DE UM MÓDULO DE PROGRAMAÇÃO LINEAR NO PROGRAMA OPTIMI

CÁLCULO LIMITE S ENGENHARIA

Cap. 0. Cálculo tensorial

Programação Linear. MÉTODOS QUANTITATIVOS: ESTATÍSTICA E MATEMÁTICA APLICADAS De 30 de setembro a 13 de novembro de 2011 prof. Lori Viali, Dr.

Teoria da Computação. Complexidade computacional classes de problemas

COLÉGIO SÃO JOÃO GUALBERTO

I. Derivadas Parciais, Diferenciabilidade e Plano Tangente

Transcrição:

Programação Dinâmica: Modelos Determinísticos Prof. Fernando Augusto Silva Marins Departamento de Produção Faculdade de Engenharia Campus de Guaratinguetá UNESP www.feg.unesp.br/~fmarins fmarins@feg.unesp.br

Introdução Útil em processos de decisão sequencial / multiestágio / com muitas variáveis interdependentes. Histórico: Wald (950) - decisão sequencial Dvoretzy, Kiefer & Wolfowitz (952) - estoques Bellman (década de 50) - artigos, livros. Idéia: obter uma série de problemas com um único estágio e um número menor de variáveis. 2

Princípio da Otimalidade da Programação Dinâmica A aplicação da Programação Dinâmica-PD baseia-se fundamentalmente naquele que é conhecido como Princípio de Otimalidade de Bellman: Uma política de decisões ótimas só pode ser formada por subpolíticas ótimas : A verificação da validade desse princípio é intuitiva: basta considerar uma subpolítica tomada de uma decisão ótima; se essa subpolítica não for ótima, eiste outra subpolítica melhor, a qual, completa pelo restante da política considerada, poderá melhorar esta, o qual contraria a hipótese efetuada. 3

Introdução Eemplos da PD: Problema da viagem Problema da produção (contínua)/ estocagem Problema da sobrevivência Problema da Viagem com Custos Terminais Problema da produção (discreta)/ estocagem 4

Problema da Viagem Viajante sai da cidade A com destino a cidade J. Qual a trajetória de menor custo de transporte? 5

Problema da Viagem Solução sobre o Grafo, partindo da Cidade Destino J e considerando o Custo Remanescente Mínimo de cada Cidade até J. Custo mínimo da viagem entre as cidades A e J= 20 6

Estágios Elementos importantes em modelos de PD: ilustração com o Problema da Viagem (instante de início/término de uma viagem - = 0,, 2, 3, 4) Estado (cidade onde o viajante está num dado estágio - eemplo: no estágio 3 há os estados viáveis h, i) Decisão (para ir de uma cidade à outra - de outro estágio - o viajante deve tomar uma decisão admissível) Custos (elementares) da tomada de decisão (quanto custa para ir de uma cidade à outra) Critério ou Objetivo (como comparar trajetórias alternativas para o viajante - eemplo: Min custo total da viagem) 7

Elementos importantes em modelos de PD: ilustração com o Problema da Viagem Estilos de resolução - Bacward: fiar o último estado = objetivo estabelecido - uso em operação de sistemas. - Forward: fiar o estado inicial = condições iniciais conhecidas - uso em planejamento. Recuperação da trajetória - percorrer o grafo no sentido contrário (Bactracing) utilizado para os cálculos efetuados (obter as cidades intermediárias que compõem a trajetória ótima até a Cidade J a partir da Cidade A). 8

Problema de Produção Contínua Horizonte de planejamento: 3 meses Estoque inicial e final: nulos Custo unitário de estoque: $ 4 Custo de produção: C i (P i ) = 50P i + 0,2P 2 i Demandas: ª mês - 40 (D ) 2ª mês - 60 (D 2 ) 3ª mês - 80 (D 3 ) Resolução: Bacward P P 2 P 3 X 0 = 0 X X 2 2 3 X 3 = 0 D =40 D 2 =60 D 3 = 80 9

Problema de Produção Contínua Inicialização: f 3 (X 3 )= 4X 3 =0 Estágio 3: X 3 =X 2 + P 3 - D 3 ou P 3 = 80 - X 2 (A) f 2 (X 2 )= min [4X 2 +C 3 (P 3 )+f 3 ( 3 )]= [4X 2 + 50(80 - X 2 )+0,2(80 -X 2 ) 2 ] P 3 f 2 (X 2 ) = 0,2 2 2-78 2 + 5280 0

Problema de Produção Contínua Estágio 2: X 2 =X + P 2 - D 2 ou X 2 = X + P 2-60 (B) f (X ) = min P2 [4X + C 2 (P 2 ) + f 2 (X 2 )]= = min P2 [4X + 50P 2 + 0,2P 2 2 + 0,2X 2 2 78X 2 +5280] = () Encontrar P 2 responsável por f ( ) e fazer a substituição em (): Assim: P 2 *= d( ) X2 X P2 60 e calcular 0, para P2 P2 * dp 30 X 2 (C) 2 f( X ) 0, X 72 X 2 8990

Estágio : Problema de Produção Contínua X X P D ou X P 0-40 (D) f 0 min P ( X 0 50 ) P min P 0, 2 4 P 2 X 0 C 0, X ( 2 P ) 72 f X ( X ) 8990 = (2) Substituindo X = P - 40 em (2) e calculando d ( 2 dp ) 0, com P P * Tem-se: P *= 50 e f 0 (X 0 ) =.280 (Custo mínimo) 2

Problema de Produção Contínua Recuperação da trajetória: P *= 50, usando (D): X = 50 40 = 0 X =0, usando (C): 30 0 P2 * 60 X 2 0 60 60 2 0 X 2 =0, usando (A): P 3 *= 80 0 = 70 Portanto deve-se produzir 50 unidades no mês, 60 unidades no mês 2 e 70 unidades no mês 3. O custo mínimo total será de $.280 - f 0 ( 0 )

Recursão não aditiva: ao invés de somar deve-se multiplicar os custos elementares Eemplo: Um estudante deve fazer 3 eames, matemática, física e química, e não pode ser reprovado em nenhum deles. Conhece-se as probabilidades dele ser reprovado em cada eame em função do número de horas de estudo que ele dedique ao assunto. O aluno deseja escolher o número de horas que deverá estudar de cada assunto para minimizar a probabilidade de reprovação, sendo que ele tem um número determinado de horas disponíveis para esta preparação. 4

Problema do estudante: 8 horas disponíveis Horas de Estudo/Disciplina e Probabilidade de ser reprovado Horas de Estudo Matemática Física Química 0 0,9,0 0,95 0,8 0,9 0,85 2 0,6 0,8 0,65 3 0,3 0,5 0,4 4 0,25 0,3 0,2

Recursão não aditiva: Problema de Sobrevivência A macaca Chita avisou a Tarzan que Jane se encontra prisioneira na cidade dos Gorilas. Antes de seguir em encontro de Jane, Tarzan considerou todas às trajetórias de cipós disponíveis, e os seus perigos no grafo adiante, onde os valores numéricos representam (em %) a probabilidade de vir a ser morto por algum animal selvagem. 20 B A 0 5C 7 D 0 20 25 5 5 E F 20 35 6 2 G H 5 20 0 J I 6

Problema de Sobrevivência Sabendo que Tarzan foi educado na Inglaterra e que, portanto, sabe Programação Dinâmica e não perderá a fleugma numa situação como essa, determine qual será a sua trajetória. Resolução sobre o grafo: Forward. O objetivo é maimizar a probabilidade de Tarzan chegar vivo até Jane = produto das probabilidades de sobrevivência de Tarzan, nas rotas intermediárias entre A e J por ele utilizadas. 7

Os números acima de cada nó do grafo abaio correspondem a probabilidade de Tarzan saindo de A chegar a esse nó vivo. Eemplificando, na Figura abaio, a probabilidade de Tarzan atingir vivo o nó E é de 85,6%, e até o nó H essa probabilidade cai para 59,3%, e assim por diante. No destino final em J, a probabilidade é 67,7%. A solução do problema será Tarzan usar a rota abaio, que permitirá a ele a chance máima de 67,7% de chegar até Jane: 00% A 80% B 90% C 83% D 85,6 % E 70,6 % F 68,4 % G 59,3 % H 75,3 % I 67,7 % J A C E I J 8

Custos Terminais CT: O enfoque é o mesmo já apresentado. 7 8 A 4 5 3 B 3 C 9 D 6 4 8 8 7 9 E 3 F 8 G 0 9 2 3 6 3 H 5 I 5 8 7 9 2 K 0 J L 5 4 6 A C E H K 9

Problema de Produção Discreta com Estocagem Meta: Obter a programação da produção da fábrica com menor custo de produção e estocagem. Dados: Estoque inicial = 500, estoque final (5 mês) = 0. Produz lotes de 500 peças ao custo de $ 500 ou Lotes de 000 peças ao custo de $800. Custo de estocagem mensal/peça = $ 0,2. Previsão de vendas Mês 2 3 4 5 Vendas 500 000 500 500 500 20

Problema de Produção Discreta com Estocagem Resolução: Bacward. X i = Variável de Estado = Estoque ao final do mês i. P i = Decisão = Quanto produzir no mês i. D i = Demanda no mês i = Previsão de vendas no mês i. Estágios: estão associados a cada mês ( = 0,, 2, 3, 4). Modelo de Programação Dinâmica: 2

Problema de Produção Discreta com Estocagem Funções de custo do modelo: C(P)= Custo produção, CA()=Custo armazenagem. C( P) $ 0, SE P = 0 $ 500, SE P = 500, $ 800, SE P = 000 CA(X) = O,2 X Equação de transição de estado: X i- + P i = X i + D i para cada mês i. Definindo: F i (X i, P i+ ) = Custo Remanescente a partir do mês i. f i ( i ) = Custo Remanescente Mínimo a partir do mês i. Assim tem-se a Função objetivo: f i (X i ) = Min (F i (X i, P i+ )) = Min (C i (P i+ ) + 0,2X i + f i+ (X i+ )). p i+ p i+ 22

P 5 23 Problema de Produção Discreta com Estocagem Análise Sequencial dos Estágios do Modelo - Ver resolução completa na planilha PD - prod e estocagem discreta - Inicialização: X 5 = 0 e f 5 (X 5 ) = 0. Estágio 4 (Mês 5): Equação de transição: X 5 = X 4 + P 5 - D 5 X 4 = 5 0 0 - P 5. f 4 (X 4 ) = Min F 4 (X 4, P 5 ) = Min [C 4 (P 5 ) + 0,2X 4 + f 5 (X 5 )] P 5 P 5 f 4 (X 4 ) =Min[C 4 (P 5 )+0,2(500 - P 5 ) + 0]. Considerar cada (X 4,P 5 ).

Estágio 3 (Mês 4) - Equação de transição : X 4 = X 3 + P 4 - D 5 X 3 = X 4 + 5 0 0 - P 4. f 3 ( X 3 ) = Min F 3 (X 3, P 4 ) = Min [C 3 (P 4 ) + 0,2X 3 + f 4 (X 4 )] P 4 P 4 f 3 (X 3 ) =Min[C 3 (P 4 ) + 0,2(X 4 + 500 - P 4 ) + f 4 (X 4 )] P 4 Fazer para os valores viáveis de X 4 e usando os f 4 (X 4 ) do estágio analisado anteriormente Este processo continua até o estágio 0 (mês ) Ver resolução completa na planilha PD - prod e estocagem discreta

Problema de Produção Discreta com Estocagem Análise Sequencial dos Estágios do Modelo Estágio 0 (Mês ): Equação de transição: X = X 0 + P - D X = P. Ver resolução completa na planilha PD - prod e estocagem discreta

Problema de Produção Discreta com Estocagem Análise Sequencial dos Estágios do Modelo f 0 (X 0 ) = Min F 0 (X 0, P ) = Min [C 0 (P ) + 0,2X 0 + f (X )] P P A partir de X e f (X ) tem-se: f 0 (X 0 ) = 3300, P = 0, X 0 = 500. Recuperação da trajetória (Programação da Produção) Mês 2 3 4 5 Produção 0 000 500 000 000 Custo mínimo = $ 3300 Ver resolução completa na planilha PD - prod e estocagem discreta 26

Princípio da Otimalidade e a Formalização da Programação Dinâmica A aplicação da Programação Dinâmica-PD baseia-se fundamentalmente naquele que é conhecido como Princípio de Otimalidade de Bellman: Uma política de decisões ótimas só pode ser formada por subpolíticas ótimas : A verificação da validade: Considere uma subpolítica da política de tomada de decisão ótima; Se essa subpolítica não for ótima, eiste outra subpolítica melhor, a qual, completada pelo restante da política considerada, poderia melhorar a solução ótima; 27 Isto contraria a hipótese efetuada o que verifica a validade do Princípio.

Princípio da Otimalidade e a Formalização da Programação Dinâmica Como visto nos eemplos, eistem certos elementos que devemos identificar num problema a ser resolvido pela PD. Essa identificação nem sempre é fácil, e depende mesmo de uma certa eperiência na área por parte do analista de Pesquisa Operacional. Admitindo que essa etapa já foi cumprida, foram determinadas: as decisões, os estágios, os estados, os custos elementares e a equação de transição (interligação entre os estágios). 28

Assim, pode-se montar um modelo sequencial: u 0 u u U + U n- X 0 X X 2... X X X 0 K + +2... X n- K+ N- X n C 0 ( 0,u 0 ) C (,u ) C (,u ) C + ( +,u + ) C N- ( N-,u n- ) min X i = Variável de Estado no início do Estágio i. u i = Decisão tomada no Estágio i, quando o Estado era i. Ela leva o sistema ao Estado i+ do Estágio i+, C i ( i,u i ) = Custo elementar da decisão u i. Equação de transição: + =g (,u ) N 0 C (,u ), S.a : X g (,u,u U ) para 0,,2,..., X =conjunto dos estados viáveis no estágio ; U = conjunto das decisões admissíveis no 29 estágio, quando o estado é (N - )

Formalização da Programação Dinâmica O problema geral, muitas vezes, pode ser resolvido globalmente determinando-se uma solução por algum método de otimização. Na PD divide-se o problema global de encontrar N decisões ótimas (uma para cada estágio), em N subproblemas com uma única decisão a ser otimizada em cada um deles. O enfoque da resolução será o de Bacward, mas vale também para Forward, bastando definir convenientemente a função objetivo de cada subproblema. 30

Formalização da Programação Dinâmica A função objetivo para o estágio : Se a Propriedade de Decomponibilidade é válida, tem-se: Usando a definição da função objetivo para o estágio +, pode-se obter a equação de recorrência para cálculo de f ( ) como função de f + ( + ) que, como optou-se pela resolução de Bacward, já terá sido determinada. 3 N i i i i ),u ( C min ) ( f N i i i i,u u u N i i i i,u u ),u ( C min ),u ( C min ),u ( C ),u ( C min ) ( f un,..., un,...,

Formalização da Programação Dinâmica Assim tem-se como Subproblema do estágio. 32 conhecida ) ( f U,u X ),u ( g : s.a ) ( f ),u ( C min ) ( f u A técnica consiste em otimizar f N- (X N- ) considerando as condições finais de X N. Calcular cada f i ( i ) sobre os estágios i = (N-2),..., 2,,0, obtendo a política de decisões completa para o problema: u * 0, u*, u* N-, e o valor da função objetivo do sistema global, F 0 ( 0 ).

Formalização da Programação Dinâmica Para determinar a sequência de estados ocupados pelo sistema (Recuperação da trajetória) nos diversos estágios admitidos, basta seguir o sentido inverso dos cálculos efetuados, isto é, fazer com 0 e u * 0 determinar-se, com e u * determina-se 2, e assim por diante até N. Deve-se notar que não serão eigidos cálculos adicionais para a recuperação da trajetória ótima, pois estes já foram efetuados quando da obtenção dos f ( ) 33