Programação Dinâmica (PD)

Slides:



Advertisements
Apresentações semelhantes
AULA 01 PROGRAMAÇÃO DINÂMICA
Advertisements

INTRODUÇÃO À PESQUISA OPERACIONAL ** Programação Linear – Parte 1 ** Profa. Vitória Pureza 2º Semestre.
Teoria de Filas – Aula 3 Aula de Hoje Variáveis aleatórias discretas Bernoulli Binominal Uniform Poisson Geométrica Aula Anterior Independência Condicionamento.
Organização de dados e representação gráfica Estatística Aplicada - Componente Prática.
CONTAGEM Princípios Básicos Permutações Arranjos Combinações.
Professor: Felipe Lopes M. Faria Disciplina: Sistemas Operacionais 1.
Problemas envolvendo otimização de processos Prof. Félix Monteiro Pereira.
1 A decisão de Concessão de Crédito Custo de obter as informações necessárias para o fornecimento do crédito  Custo de erros nesta decisão.
ANALISANDO O PROBLEMA ? MÉTODO DOS 5 POR QUÊS 5 POR QUÊS.
Casamento de Padrão Aproximado e Compressão de Huffaman
2.1. Pesquisa Operacional Técnica de Solução Para Modelos De Programação Linear Com Duas Variáveis De Decisão – Método Gráfico.
Teoria dos Grafos Geração de Valores aleatórios
Análise de Estruturas.
Programação Não Linear
ADM4007 Finanças Corporativas
Diagrama de estado Higo Vale Kleber Baingo
Carlos Eduardo Rodrigues
Introdução à Programação
Cálculo Diferencial e Integral III
Criação: Caroline Brasileiro Atualização: Laura Matos
Sistemas de Controle III N8SC3
Princípio Multiplicativo
Programação Não Linear
Contagem Aula 2, ciclo 1.
Física Normas de funcionamento da unidade curricular
Termodinâmica e Estrutura da Matéria Normas de funcionamento da unidade curricular J. Seixas.
UNIVERSIDADE AGOSTINHO NETO FACULDADE DE CIÊNCIA DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO MEMÓRIA/FRAGMENTAÇÃO. Por: Ndalovich Aufico
Modelagem para Otimização:Aula 2
Sistemas de Controle III N8SC3
Sistemas de Controle III N8SC3
Análise de Algoritmo Profº Me. Jeferson Bussula Pinheiro
Sistemas de Controle III N8SC3
Prof. Wellington Franco
Estrutura de dados Pilhas e filas
Diagrama de Atividade Prof. Thales Castro.
Projeto de endereçamento – 2 ClassLess
Contagem Aula 2, ciclo 1.
FUNDAMENTO DE PROGRAMAÇÃO
Programação Não Linear Controle de Estoque
Resoluções dos exercícios de “espaços de probabilidade”
Teoria dos Grafos Processos de Markov e Processos Nascimento e Morte
Combinando inequações lineares
Zvi Covaliu e Robert M. Oliver
Algoritmos de Redes Rota mais curta Árvore de ramificação mínima
Aula 5 Projeto Olimpíada.
Introdução à análise combinatória
Econometria Propriedades assintóticas dos estimadores MQO
Algoritmos e Programação I
Listas Encadeadas.
Máscara de Sub-redes aula 11
2ª Aula: Programação Linear
Zeros de funções.
3. Sintaxe e Semântica.
Psicologia Geral e da Educação II Carlos Eduardo Rodrigues 2º semestre 2014.
Unidade 1: Analise Combinatória 1.1 Conjunto e operações sobre conjunto 1.2 Factorial 1.3 Princípio fundamental da contagem ( princípio multiplicativo)
Estatística: Conceitos Básicos
Gestão da Logística de Distribuição
2 – PREVISÃO DE DEMANDA EXERCÍCIOS.
MÉTODOS QUANTITATIVOS – AULA RAV 1
Prof. Elisson de Andrade
Princípio Fundamental da Contagem - PFC
O melhor caminho para sua frota.
Instalação e Manutenção de Computadores Técnico em Informática MAI1
Observe as seqüências numéricas:
Termodinâmica e Estrutura da Matéria Normas de funcionamento da unidade curricular J. Seixas.
Aula 7 – Algoritmos Genéticos
Optimized Link State Routing
Álgebra Linear Sistemas de Equações Lineares
Tomada de Decisões e solução de problemas. Abordagens de solução de problemas Reativa: o solucionador espera até que o problema venha a superfície ou.
PESQUISA OPERACIONAL.
Transcrição da apresentação:

Programação Dinâmica (PD) Pesquisa Operacional II

Programação Dinâmica A Programação Dinâmica consiste na decomposição do problema original em uma sequência de problemas menores e mais simples de serem resolvidos.

Conceitos básicos Decisões (xn): em cada estágio, a partir das informações contidas inicialmente, escolhem-se as melhores decisões. O efeito da decisão política é transformar o estado do estágio atual em um estado do próximo estágio.

Definições Preliminares Estágios (n): O problema é dividido em estágios, com a necessidade de se tomar uma decisão política a cada estágio. Estados (sn): Cada estágio tem um número associado de estados, que representam as várias condições possíveis dentro de um estágio do problema. Ou seja, os estados são as informações contidas em cada estágio, necessárias para a tomada de decisões.

Programação Dinâmica pode ser determinística ou probabilística. PD determinística: o estado do próximo estágio é unicamente determinado pela decisão política do estágio atual. PD probabilística: o estado seguinte depende de alguma distribuição de probabilidade.

Princípio de otimalidade de Bellman Dado o estado atual, a decisão ótima para cada estágio remanescente não depende das decisões tomadas em estágios anteriores. Assim, a decisão ótima para cada estágio seguinte depende somente do estado atual, não importando o que aconteceu anteriormente. Por exemplo, suponha que o caminho mais curto entre a UNIRIO e a UFRJ seja conhecido e esse caminho passa necessariamente pela Central do BR. Consequentemente, o caminho mais curto entre a UNIRIO e a UFRJ deve incluir o caminho mais curto entre a Central do BR e a UFRJ.

Processo de solução da PD Para encontrar a solução ótima de um modelo de PD pelo processo backward, determina-se a solução ótima de cada estado, iniciando pelo último estágio até encontrar a solução ótima dos estados no estágio inicial.

Recursividade No processo de solução utiliza-se uma equação recursiva que identifica a solução ótima para cada estado de um estágio n qualquer, dada a solução ótima para cada estado do estágio seguinte n + 1. Essa função varia de acordo com o problema estudado!

Notações N – número de estágios n - rótulo do estágio atual (n = 1, ..., N) sn – estados do estágio n xn – variável de decisão no estágio n x*n (sn) – valor ótimo de xn dado sn. fn (sn, xn) – função objetivo acumulada na forma recursiva dos estágios n, n + 1, ..., N, se o sistema parte de um estado sn no estágio n e toma a decisão xn. fn*(sn) = max ou min {fn (sn, xn)}

Transição de estados em PD Estágios: n n + 1 sn+1 fn*(sn) = max ou min fn (sn, xn). fn (sn, xn) = csnxn + f*n+1(sn+1) Decisão política: xn Contribuição (c) sn Relação recursiva para um modelo aditivo.

Resolução de problemas de PD sn xn fn(sn, xn) f*n(sn) x*n(sn)   ...

Exemplo 1: Problema do caminho mais curto Problema da diligência (pag. 424 do livro) Objetivo: determinar a rota que minimiza o custo total. Estágio 2 Estágio 3 Estágio 1 7 Estágio 4 1 B E 4 H 4 6 3 2 3 6 4 C 2 J A F 3 4 3 4 1 4 3 I D G 3 5

Resolvendo por Programação Dinâmica Temos os estágios n = 1, 2 , 3, 4 Em cada estágio, os estados (sn) representam as informações iniciais (nós de saída) e as decisões (xn) representam o destino imediato (nós de entrada) no estágio n. Faça que fn (sn, xn) seja o custo total da melhor escolha como um todo para os estágios restantes, dado que o objeto se encontre no estado sn, pronto para iniciar o estágio n e selecione xn como seu destino imediato.

Resolvendo por Programação Dinâmica

Resolvendo por Programação Dinâmica

Resolvendo por Programação Dinâmica As rotas ótimas para o Problema da Diligência são: A – C – E – H – J A – D – E – H – J A – D – F – I – J.

Exemplo 2 – Problema do Esforço da Distribuição Característica: há apenas um tipo de recurso que deve ser alocado a uma série de atividades. O objetivo é determinar como distribuir de forma mais eficiente o recurso entre as atividades.

Exemplo 2 – Problema do Esforço da Distribuição Formulação: Estágio n = atividade n (n = 1, ..., N). xn = quantidade do recurso alocado à atividade n. Estado sn = quantidade do recurso ainda disponível para alocação para as atividades restantes. Estágio: n n + 1 xn Estado: sn sn - xn

Exemplo 2 – Problema do Esforço da Distribuição Situação: Há três equipes de pesquisa para solucionar um problema de engenharia. A probabilidade de que as respectivas equipes - 1, 2 e 3 – não serão bem sucedidas é de, respectivamente, 40%, 60% e 80%. Como o objetivo é minimizar a probabilidade de falha, foram designados mais dois cientistas. O problema é determinar como alocar os dois cientistas adicionais para minimizar a probabilidade de que todas as equipes vão falhar.

Exemplo 2 – Problema do Esforço da Distribuição Formulação: Estágio n = equipe n (n = 1, 2,3). xn = nº de cientistas adicionais alocados à equipe n. Estado sn = nº de novos cientistas ainda disponíveis para alocação às equipes restantes. fn (sn, xn) = pn(xn).f*n+1(sn- xn), para n = 1, 2,3 pn(xn) = probabilidade de falha para a equipe n caso lhe seja designada xn cientistas adicionais.

n = 3: n = 2: n = 1: Sol. Ótima: x*1 = 1, x*2 = 0 e x*3 = 1.

Problema de dimensionalidade O aumento no número de variáveis de estado aumenta os cálculos em cada estado, pois temos que realizar todas as possíveis combinações de variáveis de estado. Em termos computacional, o número de cálculo pode se impraticável. Essa dificuldade de cálculo é chamada maldição da dimensionalidade. (ver exemplo 5 cap. 10, Hillier e Lieberman).

Lista de exercícios Livro Hillier e Lieberman. Capítulo 10 – Programação Dinâmica Pagina 456, exercícios nºs 10.2-1 (letras a e c), 10.2-2 (apenas letra b), 10.3-1