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

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

Embed Size (px)

Citation preview

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

Alysson M. Costa – ICMC/USP

Tópicos em otimização combinatória

Revisão: formulação matemática e métodos de resolução

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

Alysson M. Costa – ICMC/USP

Modelos

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)

algumas

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

Alysson M. Costa – ICMC/USP

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 mar 2009 . 11:37

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

Alysson M. Costa – ICMC/USP

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.

4 mar 2009 . 11:37

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

Alysson M. Costa – ICMC/USP

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 ...

4 mar 2009 . 11:37

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

Alysson M. Costa – ICMC/USP

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ínim

aNutriente 1 2 3

A 2 3 7 10

B 4 2 1 15

C 1 8 1 10

D 30 1 1 2

Custo/Kg 20 10 10

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

Alysson M. Costa – ICMC/USP

Formulando

Perguntas: O que precisamos decidir ?

Variáveis

Quais são as condições sobre estas decisões ? Restrições

O que queremos ? Objetivo

Grão Qtd MínimaNutriente 1 2 3

A 2 3 7 10

B 4 2 1 15

C 1 8 1 10

D 30 1 1 2

Custo/Kg 20 10 10

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

Alysson M. Costa – ICMC/USP

Formulando

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

Variáveis: x1, x2, x3

xi = qtd. do grão i.

Grão Qtd MínimaNutriente 1 2 3

A 2 3 7 10

B 4 2 1 15

C 1 8 1 10

D 30 1 1 2

Custo/Kg 20 10 10

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

Alysson M. Costa – ICMC/USP

Formulando

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

Variáveis: x1, x2, x3

xi = qtd. do grão i.

Restrições: NA,Nc ¸ 10NB ¸ 15ND ¸ 2

Grão Qtd MínimaNutriente 1 2 3

A 2 3 7 10

B 4 2 1 15

C 1 8 1 10

D 30 1 1 2

Custo/Kg 20 10 10

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

Alysson M. Costa – ICMC/USP

Formulando

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

Variáveis: x1, x2, x3

xi = qtd. do grão i.

Restrições: NA,Nc ¸ 10NB ¸ 15ND ¸ 2

Grão Qtd MínimaNutriente 1 2 3

A 2 3 7 10

B 4 2 1 15

C 1 8 1 10

D 30 1 1 2

Custo/Kg 20 10 10

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

Alysson M. Costa – ICMC/USP

Formulando

Objetivo Min Custo:

20x1 + 10x2 + 10x3

Variáveis: x1, x2, x3

xi = qtd. do grão i.

Restrições: NA,Nc ¸ 10NB ¸ 15ND ¸ 2

Objetivo:Min 20x1 + 10x2 + 10x3

Grão Qtd MínimaNutriente 1 2 3

A 2 3 7 10

B 4 2 1 15

C 1 8 1 10

D 30 1 1 2

Custo/Kg 20 10 10

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

Alysson M. Costa – ICMC/USP

De maneira geral

De maneira geral, um problema de otimização modelado linearmente pode ser escrito na forma abaixo:

Min cx s.a.

Ax · bx ¸ 0

4 mar 2009 . 11:37

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

Alysson M. Costa – ICMC/USP

Testando soluções

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

Obj 70

Limites Inf. Rest. ok ?10 ok14 ok10 ok2 ok

101020Custo/ Kg

21130D

10181C

15124B

10732A

321Nutriente

Qtd Mínima

Grão

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

Alysson M. Costa – ICMC/USP

O que está por trás do “solver” ?

Algoritmo Simplex (Dantzig, 1947)

4 mar 2009 . 11:37

Créditos da imagem: Wikimedia commons

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

Alysson M. Costa – ICMC/USP

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

4 mar 2009 . 11:37

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

Alysson M. Costa – ICMC/USP

Limitação importante do simplex

4 mar 2009 . 11:37

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

Alysson M. Costa – ICMC/USP

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.

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

Alysson M. Costa – ICMC/USP

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)

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

Alysson M. Costa – ICMC/USP

4 mar 2009 . 11:37

x_1 x_2Variáveis: 0,5 7 0 Obj 465

Restrições Limites Inf. Rest. ok ?A 1 14 15 15 okB 1 7 8 8 ok

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

Alysson M. Costa – ICMC/USP

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

4 mar 2009 . 11:37

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

Alysson M. Costa – ICMC/USP

Ex: Utilização de variáveis binárias

Decisão sobre uma atitude (fazer ou não fazer, comprar ou não comprar...).

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

Alysson M. Costa – ICMC/USP

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

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

Alysson M. Costa – ICMC/USP

Custo de produção:

Como modelar de maneira linear ? Dica: precisamos do auxílio de uma variável binária.

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

Alysson M. Costa – ICMC/USP

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)

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

Alysson M. Costa – ICMC/USP

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 · bx ¸ 0, y ¸ 0 e inteiro

4 mar 2009 . 11:37

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

Alysson M. Costa – ICMC/USP

O que acontece com o simplex ?

Região factível:

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

Alysson M. Costa – ICMC/USP

Uma solução (branch-and-bound)

factível!

¸ 2

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

Alysson M. Costa – ICMC/USP

No pior caso

teríamos que ramificar até as folhas da árvore...

...

...

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

Alysson M. Costa – ICMC/USP

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)

4 mar 2009 . 11:37