A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Tópicos em otimização combinatória

Apresentações semelhantes


Apresentação em tema: "Tópicos em otimização combinatória"— Transcrição da apresentação:

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
4 mar :37 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
4 mar :37 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
4 mar :37 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 ? Grão Qtd Mínima Nutriente 1 2 3 A 7 10 B 4 15 C 8 D 30 Custo/Kg 20

7 Formulando Perguntas: Variáveis Restrições Objetivo
Grão Qtd Mínima Nutriente 1 2 3 A 7 10 B 4 15 C 8 D 30 Custo/Kg 20 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 ?
Mínima Nutriente 1 2 3 A 7 10 B 4 15 C 8 D 30 Custo/Kg 20 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:
Mínima Nutriente 1 2 3 A 7 10 B 4 15 C 8 D 30 Custo/Kg 20 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. Restrições:
Mínima Nutriente 1 2 3 A 7 10 B 4 15 C 8 D 30 Custo/Kg 20 Variáveis: x1, x2, x3 xi = qtd. do grão i. Restrições: NA,Nc ¸ 10 NB ¸ 15 ND ¸ 2 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

11 Formulando Variáveis: x1, x2, x3 xi = qtd. do grão i. Restrições:
Mínima Nutriente 1 2 3 A 7 10 B 4 15 C 8 D 30 Custo/Kg 20 Variáveis: x1, x2, x3 xi = qtd. do grão i. Restrições: NA,Nc ¸ 10 NB ¸ 15 ND ¸ 2 Objetivo: Min 20x1 + 10x2 + 10x3 Objetivo Min Custo: 20x1 + 10x2 + 10x3

12 4 mar :37 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” ?
4 mar :37 O que está por trás do “solver” ? Algoritmo Simplex (Dantzig, 1947) Créditos da imagem: Wikimedia commons

15 O que está por trás do “solver” ?
4 mar :37 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
4 mar :37 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 4 mar :37

20 Muitos problemas necessitam variáveis inteiras
4 mar :37 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

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

22 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

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

24 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)

25 4 mar :37 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

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

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

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

29 Muito comum para problemas reais...
4 mar :37 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)


Carregar ppt "Tópicos em otimização combinatória"

Apresentações semelhantes


Anúncios Google