1 / 29

Tópicos em otimização combinatória

Tópicos em otimização combinatória. Revisão: formulação matemática e métodos de resolução. Modelos. algumas. Modelo: estrutura construída com o intuíto de exibir/demonstrar/reproduzir características de outros objetos. 1. 1 (Model building in Mathematical Programming - Williams).

mikkel
Télécharger la présentation

Tópicos em otimização combinatória

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Tópicos em otimização combinatória Revisão: formulação matemática e métodos de resolução Alysson M. Costa – ICMC/USP

  2. Modelos algumas • Modelo: estrutura construída com o intuíto de exibir/demonstrar/reproduzir características de outros objetos.1 1(Model building in Mathematical Programming - Williams)

  3. Utilidade de modelos em Programação Matemática Permitem a obtenção de respostas (conjunto de valores para as variáveis que atendem os requisitos do modelo). Estas respostas podem ser usadas diretamente na prática ou como um indicativo do que seria uma boa solução prática. Criam insights.

  4. Utilidade de modelos em Programação Matemática • O processo de criação (e resolução) do modelo também é útil por si só: • Exigem a obtenção de dados que (muitas vezes) estão escondidos nas empresas e situações práticas (conhecimento do processo) • Exigem um formalismo que elimina (ou ajuda a eliminar) ambiguidades sobre o que se deseja de uma solução.

  5. Utilidade de modelos em Programação Matemática • Permitem experimentações que não seriam possíveis na prática: • Por questões de custo • Por questões legais • ...

  6. Modelos de programação linear Problema da dieta: Sabendo que cada alimento tem um certo custo e uma certa quantidade de nutrientes. Qual a dieta (de menor custo) que atende as restrições nutricionais ?

  7. Formulando • Perguntas: • O que precisamos decidir ? • Variáveis • Quais são as condições sobre estas decisões ? • Restrições • O que queremos ? • Objetivo

  8. Formulando Variáveis: x1, x2, x3 xi = qtd. do grão i. • Variáveis ? • Quanto do grão 1 vamos incluir na dieta: x1 • Quanto do grão 2 vamos incluir na dieta: x2 • Quanto do grão 3 vamos incluir na dieta: x3

  9. Formulando Variáveis: x1, x2, x3 xi = qtd. do grão i. • Restrições ? • Quantas unidades do nutriente A, no mínimo: 10 • Quantas unidades do nutriente B, no mínimo: 15 • Quantas unidades do nutriente C, no mínimo: 10 • Quantas unidades do nutriente D, no mínimo: 2 Restrições: NA,Nc¸ 10 NB¸ 15 ND¸ 2

  10. Formulando Variáveis: x1, x2, x3 xi = qtd. do grão i. • Pecisamos escrever NA...ND em função das variáveis (tudo precisa ser escrito em função das variáveis usadas) • NA = 2x1 + 3x2 + 7x3 • NB = 4x1 + 2x2 + x3 • NC = x1 + 8x2 + x3 • ND = 30x1 + x2 + x3 Restrições: NA,Nc¸ 10 NB¸ 15 ND¸ 2

  11. Formulando Variáveis: x1, x2, x3 xi = qtd. do grão i. • Objetivo • Min Custo: 20x1 + 10x2 + 10x3 Restrições: NA,Nc¸ 10 NB¸ 15 ND¸ 2 Objetivo: Min 20x1 + 10x2 + 10x3

  12. De maneira geral De maneira geral, um problema de otimização modelado linearmente pode ser escrito na forma abaixo: Min cx s.a. Ax· b x ¸ 0

  13. Testando soluções • (Solver do Microsoft Excel – também presente em distribuições similares open-source, como o OpenOffice )

  14. O que está por trás do “solver” ? Créditos da imagem: Wikimedia commons Algoritmo Simplex (Dantzig, 1947)

  15. O que está por trás do “solver” ? Algoritmo Simplex: maneira matemática de expressar os pontos extremos de uma região formada por restrições lineares e estratégia para passar de um ponto a outro (de melhor função objetivo que o ponto inicial). "If one would take statistics about which mathematical problem is using up most of the computer time in the world, then ... the answer would probably be linear programming. (Laszlo Lovasz)"

  16. Limitação importante do simplex

  17. Exercício (Móveis I) • Uma indústria moveleira dispõe de dois tipos de peças de madeira, A e B, usadas para construir mesas e cadeiras. A B Mesas (Lucro $90): usa duas peças do tipo A e duas do tipo B Cadeiras (Lucro $60): usa duas peças do tipo A e uma peça do tipo B Total disponível: 14 peças A, 8 peças B.

  18. Solução x1 - quantidade produzida de mesas x2 - quantidade produzida de cadeiras Max 90x1 + 60x2 s.a. 2x1 + 2x2· 14 (restrição nas peças do tipo A) 2x1 + x2· 8 (restrição nas peças do tipo B)

  19. Muitos problemas necessitam variáveis inteiras Seja porque as variáveis... são inteiras por natureza. Seja porque variáveis inteiras são necessárias para modelagem do problema

  20. Ex: Utilização de variáveis binárias Decisão sobre uma atitude (fazer ou não fazer, comprar ou não comprar...).

  21. Caso 1: implicações se-então • A) Custo fixo: • A produção de um item (o envio de uma mercadoria, a decisão de se tomar um taxi, etc) implica em um custo fixo, por exemplo, de preparação da máquina (de pagamento do custo mínimo de envio, da taxa inicial do taxi, etc). Antigamente tínhamos: x = quantidade produzida do ítem

  22. Custo de produção: Como modelar de maneira linear ? Dica: precisamos do auxílio de uma variável binária.

  23. Seja uma variável binária y, tal que y vale 1 se x>0 e y vale 0 caso contrário. Como associar x e y ? M é um valor suficientemente grande (produção máxima x)

  24. O modelo geral fica De maneira geral, um problema de otimização modelado linearmente pode ser escrito na forma abaixo: Min cx s.a. Ax + Dy· b x ¸ 0, y ¸ 0 e inteiro

  25. O que acontece com o simplex ? Região factível:

  26. Uma solução (branch-and-bound) ¸ 2 factível!

  27. No pior caso • teríamos que ramificar até as folhas da árvore... ... ...

  28. Muito comum para problemas reais... • Apesar dos avanços dos computadores e dos métodos de resolução, ainda é muito comum encontrar problemas para os quais: • Dias de simulação transcorrem sem que se encontre sequer uma solução factível. • A memória (por maior que seja) se torna insuficiente. (estes fatos são boas justificativas – entre outras – para a utilização de métodos como os que serão vistos neste curso)

More Related