alysson m. costa – icmc/usp tópicos em otimização combinatória revisão: formulação...
TRANSCRIPT
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Alysson M. Costa – ICMC/USP
Limitação importante do simplex
4 mar 2009 . 11:37
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.
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)
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
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
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...).
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
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.
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)
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
Alysson M. Costa – ICMC/USP
O que acontece com o simplex ?
Região factível:
Alysson M. Costa – ICMC/USP
Uma solução (branch-and-bound)
factível!
¸ 2
Alysson M. Costa – ICMC/USP
No pior caso
teríamos que ramificar até as folhas da árvore...
...
...
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