Introduo Otimizao Robusta Rafael Ajudarte de Campos Tpicos
Introdução à Otimização Robusta Rafael Ajudarte de Campos Tópicos Avançados em PCSP - 2020
Sumário ü Introdução e Contexto ü Abordagens em modelagem compacta ü Dualização ü Equação Recursiva ü Direcionamentos Fonte da imagem : https: //img 2. gratispng. com/20180421/whe/kisspng-computer-icons-management-symbol-clipboard-icon-de-summary-vector 5 adb 33 b 5 a 11493. 2879916115243150616598. jpg 1
Introdução e Contexto
Variabilidade Todo sistema real contém incertezas: ü Demanda; ü Suprimento; ü Custos; ü Tempo; • Mas a maioria dos modelos ainda trabalham com parâmetros determinísticos. Como podemos considerar variabilidade? ü Planejamento com Recurso ü Otimização Estocástica ü Otimização Robusta Aula da Giovanna
Variabilidade Todo sistema real contém incertezas: ü Demanda; ü Suprimento; ü Custos; ü Tempo; • Mas a maioria dos modelos ainda trabalham com parâmetros determinísticos. Como podemos considerar variabilidade? ü Planejamento com Recurso ü Otimização Estocástica ü Otimização Robusta Aula da Giovanna
Otimização Robusta O que é? Abordagem de otimização que visa gerar certo grau de proteção contra variabilidade dos parâmetros incertos a partir da consideração dos piores casos que estes podem assumir na solução. Pior caso? ü Maior demanda possível de um determinado item; ü Menor disponibilidade dos suprimentos; ü Maior custos dos insumos; ü Maior tempo possível;
Otimização Robusta Efeitos colaterais da abordagem Soluções mais seguras quanto a variabilidade, porém mais caras e mais difíceis de se resolver que o método determinístico. Vantagens? ü Melhor computacionalmente tratável que a geração de cenários, cujo tamanho normalmente fica muito grande quando se tenta representar as diversas variáveis aleatórias ü Não é necessário ter conhecimento exato quanto à distribuição probabilística do parâmetro (como a programação estocástica), algo que pode ser muito complexo na prática.
Histórico
Histórico Parte determinística Parte incerta
Histórico Parte determinística Parte incerta
Histórico
Histórico Parte determinística Parte incerta
Histórico Parte determinística
Histórico Como? ü Surge então a abordagem de dualização de Bertsimas e Sims (2003) • É uma abordagem linear que permite certo grau de controle sobre a robustez do problema. • É o método mais usado para trabalhar com robustez em modelagem para diversos problemas diferentes.
Histórico Como? ü Surge então a abordagem de dualização de Bertsimas e Sims (2003) • É uma abordagem linear que permite certo grau de controle sobre a robustez do problema. • É o método mais usado para trabalhar com robustez em modelagem para diversos problemas diferentes. • Começando com um problema genérico:
Método de dualização (Bertsimas e Sim, 2003) Incerteza nos parâmetros nas restrições
Método de dualização (Bertsimas e Sim, 2003) Incerteza nos parâmetros de custos
Método de dualização (Bertsimas e Sim, 2003)
Método de dualização (Bertsimas e Sim, 2003) Ué Rafael. . . mas este modelo também não é linear!
Método de dualização (Bertsimas e Sim, 2003) • Bertsimas e Sims (2003) resolveram esse probleminha!
Método de dualização (Bertsimas e Sim, 2003) • Aquele subproblema pode ser reescrito como: Objetivo de encontrar o maior valor possível de desvio do parâmetro
Método de dualização (Bertsimas e Sim, 2003) • Pela teoria da dualidade, sabemos que o valor ótimo da solução dual e primal de um problema apresentam a mesma solução ótima!! Problema Primal Problema Dual
Método de dualização (Bertsimas e Sim, 2003) • Pela teoria da dualidade, sabemos que o valor ótimo da solução dual e primal de um problema apresentam a mesma solução ótima!! Problema Primal Problema Dual
Método de dualização (Bertsimas e Sim, 2003) Problema Primal Problema Dual
Método de dualização (Bertsimas e Sim, 2003) Problema Primal Problema Dual
Método de dualização (Bertsimas e Sim, 2003) Problema Primal Problema Dual
Método de dualização (Bertsimas e Sim, 2003) Problema Primal Problema Dual
Método de dualização (Bertsimas e Sim, 2003) Problema Primal Problema Dual
Método de dualização (Bertsimas e Sim, 2003) Problema Primal Problema Dual
Método de dualização (Bertsimas e Sim, 2003) Problema Primal Problema Dual
Método de dualização (Bertsimas e Sim, 2003) Problema Primal Problema Dual
Método de dualização (Bertsimas e Sim, 2003) Problema Primal Problema Dual
Método de dualização (Bertsimas e Sim, 2003) Problema Primal Problema Dual
Método de dualização (Bertsimas e Sim, 2003) Problema Primal Problema Dual
Método de dualização (Bertsimas e Sim, 2003) Problema Primal Problema Dual
Método de dualização (Bertsimas e Sim, 2003) Problema Primal Problema Dual
Método de dualização (Bertsimas e Sim, 2003) Problema Primal Problema Dual
Método de dualização (Bertsimas e Sim, 2003) Problema Primal Problema Dual
Método de dualização (Bertsimas e Sim, 2003) Problema Primal Problema Dual
Método de dualização (Bertsimas e Sim, 2003) Problema Primal Problema Dual
Método de dualização (Bertsimas e Sim, 2003) Problema Primal Problema Dual
Método de dualização (Bertsimas e Sim, 2003) Problema Primal Problema Dual
Método de dualização (Bertsimas e Sim, 2003) Problema Primal Problema Dual
Método de dualização (Bertsimas e Sim, 2003) Problema Primal Problema Dual
Método de dualização (Bertsimas e Sim, 2003) Problema Primal Problema Dual
Método de dualização (Bertsimas e Sim, 2003) Problema Primal Problema Dual
Método de dualização (Bertsimas e Sim, 2003) Problema Primal Problema Dual
Método de dualização (Bertsimas e Sim, 2003) • FINALMENTE obtemos o modelo dual para o problema. . .
Método de dualização (Bertsimas e Sim, 2003) • FINALMENTE obtemos o modelo dual para o problema. . . Mas e daí? ?
Método de dualização (Bertsimas e Sim, 2003) • Voltando para o modelo original,
Método de dualização (Bertsimas e Sim, 2003) • Voltando para o modelo original, podemos substituir o subproblema de maximização pelo seu dual, visto que pelo princípio da dualidade ambos têm o mesmo valor!
Método de dualização (Bertsimas e Sim, 2003) Modelo Linear
Método de dualização (Bertsimas e Sim, 2003) Modelo Linear *Notação original
Tarefa de Casa 1 - Repita as etapas desenvolvidas agora para o problema com variabilidade nos custos.
Exemplo 1: Problema da Mochila Robusto • Você é o gerente de produção de uma empresa de roupas em atacado, e fica incumbido de decidir, de maneira agregada, o quanto produzir de camisetas, calças e meias para o próximo mês. O gerente de vendas lhe forneceu o valor máximo que a demanda pode assumir e o gerente de compras o preço dos materiais, e o máximo que pode ser adquirido em tempo hábil. Não há estoque inicial.
Exemplo 1: Planejamento de Produção • Você é o gerente de produção de uma empresa de roupas em atacado, e fica incumbido de decidir, de maneira agregada, o quanto produzir de camisetas, calças e meias para o próximo mês. O gerente de vendas lhe forneceu o valor máximo que a demanda pode assumir e o gerente de compras o preço dos materiais, e o máximo que pode ser adquirido em tempo hábil. Não há estoque inicial. Camiseta Calças Meias Disponível Custo Tempo(h) 1 1, 25 0, 5 210 1, 5 R$/h Tecido(m) 92 290 25 25000 0, 10 R$/m Pigmento(l) 1 0, 5 250 9, 50 R$/l Demanda 200 80 400 - - Preço de venda R$25, 00 R$ 45, 00 R$ 7, 50 - -
Exemplo 1: Planejamento de Produção Notação Camiseta Calças Meias Tempo 1 1, 25 0, 5 210 h 1, 50 R$/h Tecido(m) 92 290 25 25000 m 0, 10 R$/m Pigmento 1 0, 5 250 l 9, 50 R$/l Demanda 200 80 400 - - Preço de venda R$25, 00 R$ 45, 00 R$ 7, 50 - -
Exemplo 1: Planejamento de Produção
Exemplo 1: Planejamento de Produção
Exemplo 1: Planejamento de Produção • Acontece que a aquisição dos materiais ainda não foi feita, e nem sabemos se os custos hora-máquina serão como planejado. Visto que a empresa não tem informação da distribuição probabilística dos parâmetros, você decidiu tentar se proteger o melhor possível desta variabilidade por otimização robusta:
Exemplo 1: Planejamento de Produção Recurso Tempo(h) 1, 50 R$/h 0, 50 R$/h Tecido(m) 0, 10 R$/m 0, 05 R$/h Pigmento(l) 9, 50 R$/l 6, 5 R$/l
Exemplo 1: Planejamento de Produção • Como feito anteriormente, temos que dualizar o subproblema!
Exemplo 1: Planejamento de Produção
Exemplo 1: Planejamento de Produção
Exemplo 1: Planejamento de Produção
Exemplo 1: Planejamento de Produção
Exemplo 1: Planejamento de Produção
Exemplo 1: Planejamento de Produção
Exemplo 1: Planejamento de Produção
Exemplo 1: Planejamento de Produção
Exemplo 1: Planejamento de Produção
Exemplo 1: Planejamento de Produção
Exemplo 1: Planejamento de Produção
Exemplo 1: Planejamento de Produção
Exemplo 1: Planejamento de Produção • Substituindo no modelo:
Exemplo 1: Resultados • Ao se rodar o modelo no software de otimização: Produção: Determinístico Custo entre esperado e real: Camisetas Calças Meias 112 29 247 110 32 224 114 30 232
Exemplo 1: Resultados • Ao se rodar o modelo no software de otimização: Produção: Determinístico Custo entre esperado e real: Camisetas Calças Meias 112 29 247 110 32 224 114 30 232 Por apenas R$14, 60 na situação determinística, eu asseguro ganhar R$101, 25 a mais se problemas surgirem
Tarefa de Casa 2 - Imagine agora que você não se dê bem com o gerente de vendas e ele ADORA fazer promoções de vendas inesperadas, o que reduz a margem de lucro de nossos, já baratos, itens. Modele o problema considerando esta variabilidade e tente descobrir a solução ótima considerando 1, 2 e 3 piores casos simultâneos. Recurso Camiseta R$25, 00 R$3, 00 Calças R$ 45, 00 R$5, 00 Meias R$7, 50 R$1, 00
Método de Equações recursivas
Histórico • Embora tradicional, o método de dualização não é mais o único na literatura para modelar problemas robustos! • Uma abordagem baseada em equações recursivas foi desenvolvida para o problema de roteamento de veículos em Munari et al. (2018).
Histórico • Embora tradicional, o método de dualização não é mais o único na literatura para modelar problemas robustos! • Uma abordagem baseada em equações recursivas foi desenvolvida para o problema de roteamento de veículos em Munari et al. (2018).
Roteamento de veículos determinístico
Roteamento de veículos determinístico Minimizar custo total Todo nó é visitado uma única vez, e apenas um veículo sai de cada cliente Calcula quantos produtos o veículo já entregou na rota Garante que a capacidade do veículo não seja excedida Cálculo do horário de início de serviço em cada nó Respeito às janelas de tempo
Roteamento de veículos determinístico • Onde podemos ter variabilidade nesse problema? Ø Custo Ø Demanda Ø Tempo de viagem
Método baseado em equação recursive (Munari et. al, 2018)
Método baseado em equação recursive (Munari et. al, 2018) • A diferença está em como este subconjunto é usado na modelagem. • Estratégia de equações recursivas em programação dinâmica.
Método baseado em equação recursive (Munari et. al, 2018) • Exemplo: Existe um conjunto de 5 itens, e queremos escolher 2 de modo que possamos obter o maior valor possível (utilidade no problema da mochila, ou o maior desvio da demanda o nosso caso). Para isso, podemos ordená -los e ver um a um se compensa ou não colocá-lo entre os selecionados. ) +1 ( m Si 0 Item 0 Valor=0 Não 0 0 0 Item 1 Valor=1 Item 2 Valor=3 Item 3 Valor=5 Item 4 Valor=2 Item 5 Valor=1 0 Escolhido
Método baseado em equação recursive (Munari et. al, 2018) • Exemplo: Existe um conjunto de 5 itens, e queremos escolher 2 de modo que possamos obter o maior valor possível (utilidade no problema da mochila, ou o maior desvio da demanda o nosso caso). Para isso, podemos ordená -los e ver um a um se compensa ou não colocá-lo entre os selecionados. ) (+1 1 1 Escolhido Sim 0 Item 0 Valor=0 Não 0 0 0 Item 1 Valor=1 Item 2 Valor=3 Item 3 Valor=5 Item 4 Valor=2 Item 5 Valor=1 0 Escolhido
Método baseado em equação recursive (Munari et. al, 2018) • Exemplo: Existe um conjunto de 5 itens, e queremos escolher 2 de modo que possamos obter o maior valor possível (utilidade no problema da mochila, ou o maior desvio da demanda o nosso caso). Para isso, podemos ordená -los e ver um a um se compensa ou não colocá-lo entre os selecionados. 4 2 Escolhidos 1 1 ou 3 1 Escolhido 0 0 0 Item 0 Valor=0 Item 1 Valor=1 Item 2 Valor=3 Item 3 Valor=5 Item 4 Valor=2 Item 5 Valor=1 0 Escolhido
Método baseado em equação recursive (Munari et. al, 2018) • Exemplo: Existe um conjunto de 5 itens, e queremos escolher 2 de modo que possamos obter o maior valor possível (utilidade no problema da mochila, ou o maior desvio da demanda o nosso caso). Para isso, podemos ordená -los e ver um a um se compensa ou não colocá-lo entre os selecionados. 2 Escolhidos 4 4 ou 8 1 3 3 ou 5 0 0 0 Item 0 Valor=0 Item 1 Valor=1 Item 2 Valor=3 Item 3 Valor=5 Item 4 Valor=2 Item 5 Valor=1 1 Escolhido 0 Escolhido
Método baseado em equação recursive (Munari et. al, 2018) • Exemplo: Existe um conjunto de 5 itens, e queremos escolher 2 de modo que possamos obter o maior valor possível (utilidade no problema da mochila, ou o maior desvio da demanda o nosso caso). Para isso, podemos ordená -los e ver um a um se compensa ou não colocá-lo entre os selecionados. 4 8 8 ou 7 1 3 5 ou 2 0 0 0 Item 0 Valor=0 Item 1 Valor=1 Item 2 Valor=3 Item 3 Valor=5 Item 4 Valor=2 Item 5 Valor=1 2 Escolhidos 1 Escolhido 0 Escolhido
Método baseado em equação recursive (Munari et. al, 2018) • Exemplo: Existe um conjunto de 5 itens, e queremos escolher 2 de modo que possamos obter o maior valor possível (utilidade no problema da mochila, ou o maior desvio da demanda o nosso caso). Para isso, podemos ordená -los e ver um a um se compensa ou não colocá-lo entre os selecionados. 4 8 8 8 ou 6 2 Escolhidos 1 3 5 5 ou 1 1 Escolhido 0 0 0 0 Escolhido Item 0 Valor=0 Item 1 Valor=1 Item 2 Valor=3 Item 3 Valor=5 Item 4 Valor=2 Item 5 Valor=1
Método baseado em equação recursive (Munari et. al, 2018) • Exemplo: Existe um conjunto de 5 itens, e queremos escolher 2 de modo que possamos obter o maior valor possível (utilidade no problema da mochila, ou o maior desvio da demanda o nosso caso). Para isso, podemos ordená -los e ver um a um se compensa ou não colocá-lo entre os selecionados. 8 2 Escolhidos 4 8 8 1 3 5 5 1 Escolhido 0 0 0 0 Escolhido Item 0 Valor=0 Item 1 Valor=1 Item 2 Valor=3 Item 3 Valor=5 Item 4 Valor=2 Item 5 Valor=1
Método baseado em equação recursive (Munari et. al, 2018) 8 2 Escolhidos 4 8 8 1 3 5 5 1 Escolhido 0 0 0 0 Escolhido Item 0 Valor=0 Item 1 Valor=1 Item 2 Valor=3 Item 3 Valor=5 Item 4 Valor=2 Item 5 Valor=1
Método baseado em equação recursive (Munari et. al, 2018) 8 4 8 8 1 3 5 5 0 0 0 Nó 0 Desvio=0 Nó 1 Desvio=1 Nó 2 Desvio=3 Nó 3 Desvio=5 Nó 4 Desvio=2 Nó 5 Valor=1
Método baseado em equação recursive (Munari et. al, 2018)
Método baseado em equação recursive (Munari et. al, 2018)
Método baseado em equação recursive (Munari et. al, 2018) • Como colocar isso no modelo? Modelo Determinístico Modelo Robusto
Método baseado em equação recursive (Munari et. al, 2018) • Como colocar isso no modelo? Modelo Determinístico Modelo Robusto
Método baseado em equação recursive (Munari et. al, 2018) • Como colocar isso no modelo?
Método baseado em equação recursive (Munari et. al, 2018) • Por que usar? Ø Menor número de variáveis Tempo de solução consideravelmente menores Ø Mais simples de desenvolver, em especial quando existem restrições que já sequenciam as variáveis • Então, quando usar dualização? Ø Incertezas no custo, se não for possível adaptá-los em uma restrição. Ø O método também permite uma sutileza um pouco maior na robustez, permitindo número quebrados de piores casos.
Exemplo 2 - Sequenciamento de Produção • Você é o responsável pela produção de uma linha de produtos. Analisando o plano mestre, você deverá produzir lotes de 5 produtos diferentes. Seu objetivo é entregar todos os lotes no menor tempo possível (makespan) para poder ir para casa mais cedo. Entretanto, existem prazos para entregar alguns dos lotes ainda hoje, visto que eles deverão passar por uma próxima etapa ainda hoje para podermos entregar o produto sem atraso. Defina a melhor sequência produtiva, tendo as seguintes informações: Produto 1 Produto 2 Produto 3 Produto 4 Produto 5 60 min 45 min 40 min 30 min 50 min 270 min 120 min - - 200 min
Exemplo 2 - Sequenciamento de Produção • Você é o responsável pela produção de uma linha de produtos. Analisando o plano mestre, você deverá produzir lotes de 5 produtos diferentes. Seu objetivo é entregar todos os lotes no menor tempo possível (makespan) para poder ir para casa mais cedo. Entretanto, existem prazos para entregar alguns dos lotes ainda hoje, visto que eles deverão passar por uma próxima etapa ainda hoje para podermos entregar o produto sem atraso. Defina a melhor sequência produtiva, tendo as seguintes informações: Produto 1 Produto 2 Produto 3 Produto 4 Produto 5 Caso primeiro produto seja o 10 min 15 min 25 min 30 min 20 min Prod 1 antecede o - 15 min 25 min 30 min 25 min Prod 2 antecede o 15 min - 25 min 30 min 20 min Prod 3 antecede o 10 min 20 min - 30 min 25 min Prod 4 antecede o 15 min 35 min - 20 min Prod 5 antecede o 10 min 20 min 30 min -
Exemplo 2 - Sequenciamento de Produção Garante que todo item seja produzido e que exista uma sequência Calcula o horário de término de produção de cada item Garante respeito quanto aos prazos de entrega Calcula o instante de término do último item
Exemplo 2 - Sequenciamento de Produção • Sabendo que nem sempre o tempo bate certinho com o previsto, e atrasos ocorrem, e sabendo que uma entrega fora do prazo pode lhe custar o emprego, você decidiu considerar variabilidade no sistema para elaborar a solução. Como não há estudos profundos quando a distribuição probabilística do problema, você optou por usar otimização robusta para garantir que as entregas serão no prazo. Produto 1 Produto 2 Produto 3 Produto 4 Produto 5 60 min 45 min 40 min 30 min 50 min 20 min 15 min 10 min 270 min 120 min - - 200 min
Exemplo 2 - Sequenciamento de Produção • Como modelar o problema usando este método? Ø Passo 1: Identificar variável e restrição em que podemos aplicar a técnica:
Exemplo 2 - Sequenciamento de Produção
Exemplo 2 - Sequenciamento de Produção
Exemplo 2 - Sequenciamento de Produção • Resultados Solução esperada (min) Risco*(%) Determinística 325 99, 9 Robusta 335 0, 0 0 *O risco foi determinado usando Simulações de Monte Carlo, testando 1000 vezes com os tempos atendendo a um valor
Exemplo 2 - Sequenciamento de Produção • Resultados Solução esperada (min) Risco*(%) Determinística 325 99, 9 Robusta 335 0, 0 0 Pela bagatela de 10 minutos reduzimos o risco de sermos demitidos de 99, 9% para 0
Tarefa de Casa 3 - Suponha agora que a variabilidade encontra-se no tempo de setup, cujo acréscimo máximo é 20% de seu valor nominal. Determine a sequência ótima considerando 1, 2 e 3 piores casos simultâneos.
Referências e direcionamentos
Referências • Primeiro trabalho sobre o tema Ø Soyster (1973).
Referências • Primeira proposta que tenta controlar o nível de robustez Ø Ben-Tal e Nemirovski (1999)
Referências • Método clássico para linearização de problemas robustos baseados em dualização Ø Bertsimas e Sim (2003)
Referências • Artigo mais conhecido detalhando como aplicar o método Ø Bertsimas e Sim (2004)
Referências • Artigo que apresenta o método baseado em linearização por equações recursivas (e método branch-price-and-cut) Ø Munari, et al. (2018)
Referências • Artigo que detalha como aplicar o método de dualização no planejamento de produção Ø Alem e Morabito(2011)
Referências • Resolvendo problemas robustos usando planos de corte Ø Xu, Liu e e Sun(2017)
Referências • Usando decomposição de Benders Ø Sá, Morabito e Camargo(2017)
Obrigado!!
- Slides: 121