AULA01 [Modo de Compatibilidade] - dcce.ibilce.unesp.br · AULA DE HOJE Programa, Critério de...
Transcript of AULA01 [Modo de Compatibilidade] - dcce.ibilce.unesp.br · AULA DE HOJE Programa, Critério de...
Prof. Silvio Alexandre de Araujo
AULA DE HOJE
Programa, Critério de Avaliação e Datas das Provas
Introdução
Modelagem matemática: conceitos básicosConstrução de um modelo matemático
Modelos de otimização
Sistemas computacionais de modelagem e resolução
Exercícios
PROGRAMA
1. Introdução aos problemas de otimização linear
2. Construção de modelos de otimização linear
3. Ferramentas computacionais: linguagens de modelagem esistemas de otimização
4. Conceitos de Álgebra Linear e Análise Convexa
5. Método simplex
6. Teoria da Dualidade
7. Análise de Sensibilidade
8. Aplicação: Problema do transporte, Problema da Designação,Outros
BIBLIOGRAFIA BÁSICA
1. ARENALES, M., ARMENTANO, V., MORABITO, R. E YANASSE, H.-Pesquisa Operacional-2007 Editora Campus.
2. Bazaraa, M.S. & Jarvis, J.J., Linear Programming and Network Flows. John Wiley & Sons Inc,. New York, 2004
3. Goldbarg, M. C. e Luna, H. P. Otimização Combinatória e Programação Linear: Modelos e Algoritmos. Editora Campus. Rio de Janeiro, 2000.
4. Maculan, N. e Fampa, M. H. C., Otimização Linear, Editora UnB, 2009.
5. Willians, H.P. -Model Bulding in Mathematical Programming, John Wiley & Sons, 1990.
BIBLIOGRAFIA COMPLEMENTAR1. Campelo, R.E e N. Maculan, Algoritmos e Heuristicas , Editora da
Universidade Federal Fluminebse, 1994.
2. Hillier, F. S. e G. J. Lieberman. Introdução à Pesquisa Operacional, Campus, 3aed., 1988.
3. CHVÁTAL, V. - Linear Programming, W.H. Freeman and Company, 1983
4. DANTZIG. G.B. e TAPPA,M.N. - Linear Programming - 1: Introduction, Springer, 1997.
5. Gonzaga, Algoritmos de Pontos Interiores para Programação Linear, 17o Colóquio Brasileiro de Matemática, 85
6. LACHTERMACHER, G. – Pesquisa Operacional na Tomada de Decisões, Ed. Campus, 2002.
7. PRADA, D. – Programação Linear, Editora DG, 1999.
8. PUCCINI, A.L. e PIZZOLATO, N.D. - Programação Linear, LTC, 1987.
9. Schrijver, Theory of Linear and Integer Programming, Wiley 86
10. RANGEL, S. Introdução à construção de modelos de otimização linear e inteira. 1. ed. São Carlos-SP SBMAC, 2005. v. único. 82
Critério de Avaliação
VERIFICAÇÕES DA APRENDIZAGEM
Média Final (MF): MF = (P1 + P2) / 2
Se MF>= 5 � Aprovado Se MF<5 � Prova de Recuperação (PR)-dia 11/02/15
Avaliações 1ª (17/12/14) 2ª (04/02/15)
PESO 1 1
Introdução
- Neste curso veremos aplicações de Pesquisa Operacional(Operations Research)
Definição de Pesquisa Operacional (PO):• A PO é uma ciência aplicada voltada para a resolução de
problemas reais. Tendo como foco a tomada de decisões;
• Aplica conceitos e métodos de várias áreas científicas naconcepção, planejamento ou operação de sistemas.
IntroduçãoComo surgiu a PO:• O termo Pesquisa Operacional: invenção do radar na
Inglaterra em 1934 (Operações Militares)
• Segunda Guerra Mundial: para lidar com problemas denatureza logística, tática e de estratégia militar.
• Criaram-se grupos multidisciplinares de matemáticos, físicose engenheiros e cientistas sociais.
• Desenvolve-se a ideia de criar modelos matemáticos, apoiadosem dados e fatos, que permitisse perceber os problemas emestudo, simular e avaliar o resultado hipotético de estratégiasou decisões alternativas.
Introdução
O desenvolvimento da PO:• Após a guerra, esses grupos de cientistas e a sua nova
metodologia se transferiram para as empresas.
• Destaque para George Dantzig com o Método Simplex paraproblema de otimização linear
• No Brasil a partir de 1960
• Hoje, com o apoio de meios computacionais de crescentecapacidade e disseminação, permite-se trabalhar empraticamente todos os domínios da atividade humana, daEngenharia à Medicina, passando pela Economia e a GestãoEmpresarial.
Introdução
• O desenvolvimento da PO:
• Em alguns países, em que prevaleceu a preocupação com osfundamentos teóricos, a PO se desenvolveu sob o nome deCiência da Gestão ou Ciência da Decisão;
• Em outros, em que predominou a ênfase nas aplicações, como nome de Engenharia Industrial ou Engenharia deProdução.
IntroduçãoAlgumas aplicações práticas
Roteirização de VeículosProblema:entrega de mercadoria aos clientes.
Decisão: qde de carga a ser colocada em cada caminhão; quais caminhões irão atender quais clientes.
Decisão:otimizar as rotas dos veículos considerando eventual necessidade de reabastecimento.
Aplicações: entrega de correspondência, empresas atacadistas, coleta de lixo urbano, etc.
Ensalamento em Escolas e Universidades (Timetabling)Problema: alocação de horários de aulas para os docentes e alocação de salas para as disciplinas,
Decisão: gerar uma tabela de horários, visando minimizar os conflitos, maximizar preferências, compactar horários de professores e alunos
Aplicações: instituições de ensino
Introdução
Corte de Materiais Problema:cortar peças grandes em pedaços menores de acordo com as demandas dos clientes.
Decisão:otimizar a maneira de cortar as peças grandes de modo que o desperdício seja minimizado e que as demandas dos clientes sejam atendidas.
Aplicações:industrias de fabricação de vidro, metal, madeira, rolos de papel, colchões, etc.
Empacotamento Problema:empacotar itens de modo que o espaço necessário para guardá-los seja o menor possível (inverso do problema de corte)
Decisão:otimizar a maneira de empacotar itens minimizando o espaço necessário.
Aplicações:paletização de cargas, carregamento de caminhões, etc.
Escalonamento de Trabalho HumanoProblema:alocar funcionários às tarefas.
Decisão:otimizar tais alocações considerando restrições trabalhistas e restrições operacionais de forma que todas as tarefas sejam cumpridas e os gastos com mão-de-obra sejam minimizados
Aplicações:companhias aéreas, centrais telefônicas, hospitais, transporte coletivo, etc.
Introdução
Localização de FacilidadesProblema:deseja-se determinar quais os melhores locais para instalação das facilidades
Decisão:otimizar as decisões sobre as localizações de forma que todos os clientes sejam atendidos aum custo mínimo.
Aplicações:instalação de depósitos industriais, pronto-socorro, corpo de bombeiros.
Projeto de Redes Problema:projetar redes com algumas restrições de conectividade.
Decisão:otimizar as ligações da rede com o menor custo possível de forma que nós importantes tenham a comunicação assegurada (inclusive com rotas alternativas para o caso de problemas de conectividade) enquanto outros menos importantes e podem servir apenas como um nó intermediário
Aplicações:construção de redes em geral, energia, telefonia, computadores, etc.
Introdução
Dimensionamento de Lotes (Planejamento de Produção)Problema:planejar a produção para um determinado horizonte de tempo.
Decisão:decidir quanto deve produzir a cada período de forma a atender toda a demanda e minimizar os custos. Pode-se considerar restrições de capacidade de produção.
Aplicações:industrias em geral;
Sequenciamento de Tarefas em Máquinas Problema: fabricar determinado produto final a partir da execução de tarefas
operacionais.
Decisão:otimizar a ordem em que as tarefas devem ser processadas em cada máquina deforma a minimizar o tempo de produção. As tarefas podem ter regras de precedência entre si.
Aplicações:industrias em geral;
1.1 Construção de um modelo matemático1. Modelagem matemática: conceitos básicos
Um Exemplo Simples: da Prática para Matemática
Uma empresa de consultoria financeira tem um capital disponível para novos investimentos. Ela pré-selecionou 16 bons investimentos com diferentes níveis de risco e de retorno. A decisão a ser tomada consiste em escolher ou
não determinado investimento.
Matematicamente podemos considerar esta decisão utilizando uma variável binária:
para j=1,...,16wj = 1 se o investimento j for selecionado
0 caso contrário
1.1 Construção de um modelo matemático1. Modelagem matemática: conceitos básicos
a) pelo menos um dos oito primeiros investimentos deve ser escolhido
• Da Prática para a Matemática: algumas relações lógicas1.1 Construção de um modelo matemático
1. Modelagem matemática: conceitos básicos
a) pelo menos um dos oito primeiros investimentos deve ser escolhido8
jj 1
w 1=
≥∑
• Da Prática para a Matemática: algumas relações lógicas1.1 Construção de um modelo matemático
1. Modelagem matemática: conceitos básicos
a) pelo menos um dos oito primeiros investimentos deve ser escolhido8
jj 1
w 1=
≥∑b) no máximo 3 dos últimos 8 devem ser selecionados
• Da Prática para a Matemática: algumas relações lógicas1.1 Construção de um modelo matemático
1. Modelagem matemática: conceitos básicos
a) pelo menos um dos oito primeiros projetos deve ser escolhido8
jj 1
w 1=
≥∑b) no máximo 3 dos últimos 8 devem ser selecionados
16
jj 9
w 3=
≤∑
• Da Prática para a Matemática: algumas relações lógicas1.1 Construção de um modelo matemático
1. Modelagem matemática: conceitos básicos
a) pelo menos um dos oito primeiros investimentos deve ser escolhido8
jj 1
w 1=
≥∑b) no máximo 3 dos últimos 8 devem ser selecionados
c) dentre os investimentos 4 e 9 um e só um deles deve ser selecionado
16
jj 9
w 3=
≤∑
• Da Prática para a Matemática: algumas relações lógicas1.1 Construção de um modelo matemático
1. Modelagem matemática: conceitos básicos
a) pelo menos um dos oito primeiros investimentos deve ser escolhido8
jj 1
w 1=
≥∑b) no máximo 3 dos últimos 8 devem ser selecionados
c) dentre os investimentos 4 e 9 um e só um deles deve ser selecionado
16
jj 9
w 3=
≤∑
w4 + w9 = 1
• Da Prática para a Matemática: algumas relações lógicas1.1 Construção de um modelo matemático
1. Modelagem matemática: conceitos básicos
a) pelo menos um dos oito primeiros investimentos deve ser escolhido8
jj 1
w 1=
≥∑b) no máximo 3 dos últimos 8 devem ser selecionados
c) dentre os investimentos 4 e 9 um e só um deles deve ser selecionado
d) o investimento 11 pode ser selecionado só se o 2 também for
16
jj 9
w 3=
≤∑
w4 + w9 = 1
• Da Prática para a Matemática: algumas relações lógicas1.1 Construção de um modelo matemático
1. Modelagem matemática: conceitos básicos
a) pelo menos um dos oito primeiros investimentos deve ser escolhido8
jj 1
w 1=
≥∑b) no máximo 3 dos últimos 8 devem ser selecionados
c) dentre os investimentos 4 e 9 um e só um deles deve ser selecionado
d) o investimento 11 pode ser selecionado só se o 2 também for
16
jj 9
w 3=
≤∑
w4 + w9 = 1
w11≤w2
• Da Prática para a Matemática: algumas relações lógicas1.1 Construção de um modelo matemático
1. Modelagem matemática: conceitos básicos
Exemplo com Números: da Prática para a MatemáticaElementos Conhecidos:Uma empresa tem $14.000 de capitaldisponível para novos investimentos. Ela pré-selecionou 4 bonsinvestimentos cujos respectivos lucros esperados são $16.000,$22.000, $12.000 e $8000. Cada investimento só pode ser feito umaúnica vez e necessita um desembolso de $5000, $7000, $4000 e$3000, respectivamente.Formule um modelo matemático que determine os investimentos quemaximizam o lucro esperado.
Para construir um modelo matemático devemos considerar:
Elementos Desconhecidos:o que queremos determinar?
Função Objetivo:qual o objetivo que queremos otimizar?
Restrições:quais são as restrições que devem ser consideras?
1.1 Construção de um Modelo Matemático1. Modelagem matemática: conceitos básicos
Modelo matemático:
Função Objetivo: max z = 16 x1 + 22 x2 + 12 x3 + 8 x4
Restrições: sujeito a 5x1 + 7 x2 + 4 x3 + 3 x4 <= 14
xj = 0 ou 1; j=1,2,3,4
Elementos Desconhecidos:Variáveis de decisão (paraj=1,...,4)
1 se o investimentoj for escolhidoxj =
0 caso contrário
1.1 Construção de um Modelo Matemático1. Modelagem matemática: conceitos básicos
Considere agora as restrições adicionais:1. Se se decidir pelo investimento 2, então tem-se que fazertambém o 12. Se se decidir pelo investimento 2, então não se pode fazer o 4.
Exercício: Modele estas novas situações:
1. x2 ≤ x1
2. x2 + x4 ≤ 1
1.1 Construção de um Modelo Matemático1. Modelagem matemática: conceitos básicos
Modelo Final:
max z = 16x1 + 22x2 + 12x3 + 8 x4
sujeito a 5x1 + 7 x2 + 4 x3 + 3 x4 <= 14x2 <= x1
x2 + x4 <= 1xj = 0 ou 1; j=1,2,3,4
1.1 Construção de um Modelo Matemático1. Modelagem matemática: conceitos básicos
1. Modelagem matemática: conceitos básicos1.1 Construção de um modelo matemático 1.1 Construção de um modelo matemático
1. Modelagem matemática: conceitos básicos
Descrição do Problema:
• uma fundição deve produzir 30 toneladas de um tipo liga a partir de quantidades variadas de diversos produtos de forma a
minimizar o custo de produção desta liga
Exemplo real: o problema da mistura
Descrição do Problema: dadosIngredientes
Composição %
Lingotes Grafite Restos
Industriais
Restos
Domicil.
Carbono 0.5 0.9 0.5 0.15Silício 0.2 - 0.02 0.29
Manganês 0.23 - 0.16 0.05CustoR$/ton 90 180 25 35
Ferro-gusaComposição %
Composição Mínima
Carbono 0.43Silício 0.19
Manganês 0.12
Exemplo real: o problema da mistura
Matéria-prima: ingredientes
Exemplo real: o problema da mistura
Liga Metálica (Mistura)
Exemplo real: o problema da mistura
Fabricação da Peça
Exemplo real: o problema da mistura
Descrição do Problema: dadosIngredientes
Composição %
Lingotes Grafite Restos
Industriais
Restos
Domicil.
Carbono 0.5 0.9 0.5 0.15Silício 0.2 - 0.02 0.29
Manganês 0.23 - 0.16 0.05CustoR$/ton 90 180 25 35
Ferro-gusaComposição %
Composição Mínima
Carbono 0.43Silício 0.19
Manganês 0.12
Exemplo real: o problema da mistura
1.1 Construção de um modelo matemático1. Modelagem matemática: conceitos básicos
Construindo um modelo para o Problema da Mistura
Neste problema temos:
elementos conhecidos: composição e custo dos ingredientes
elementos desconhecidos: quanto colocar de cadaingrediente na mistura
objetivo a ser alcançado: obter uma mistura de baixo custo
restrições: a mistura deve ter uma quantidade mínima decomponentes
Exemplo real: o problema da mistura
Variáveis de decisão:- A mistura deve ser feita a partir mistura de 4 itens (j= 1,2,3,4) - xj: quantidade (em kg) do ingrediente j a ser colocada na mistura
- Função Objetivo:Minimizar 90 x1 + 180 x2 + 25 x3 + 35 x4
- Restrições de Composição Mínima:0.50 x1 + 0.9 x2 + 0.50 x3 + 0.15 x4 ≥ 30 (0.43) :C0.20 x1 + 0.0 x2 + 0.02 x3 + 0.29 x4 ≥ 30 (0.19) :Si0.23 x1 + 0.0 x2 + 0.16 x3 + 0.05 x14 ≥ 30 (0.12) :Mn
- Restrições de Não Negatividade das Variáveis:x1 ≥0; x2 ≥0; x3 ≥0; x4 ≥0
- Restrições de Atendimento da Demanda:x1 + x2 + x3 + x4 = 30
Exemplo real: o problema da mistura
Modelo Matemático
Minimizar 90 x1 + 180 x2 + 25 x3 + 35 x4
Sujeito a:
0.50 x1 + 0.9 x2 + 0.50 x3 + 0.15 x4 ≥ 30 (0.43)
0.20 x1 + 0.0 x2 + 0.02 x3 + 0.29 x4 ≥ 30 (0.19)
0.23 x1 + 0.0 x2 + 0.16 x3 + 0.05 x4 ≥ 30 (0.12)
x1 + x2 + x3 + x4 = 30
x1 ≥0; x2 ≥0; x3 ≥0; x4 ≥0
Exemplo real: o problema da mistura
1.1 Construção de um modelo matemático1. Modelagem matemática: conceitos básicos
Modelo Matemático
Minimizar 90 x1 + 180 x2 + 25 x3 + 35 x4
Sujeito a:
0.50 x1 + 0.9 x2 + 0.50 x3 + 0.15 x4 ≥ 30 (0.43)
0.20 x1 + 0.0 x2 + 0.02 x3 + 0.29 x4 ≥ 30 (0.19)
0.23 x1 + 0.0 x2 + 0.16 x3 + 0.05 x4 ≥ 30 (0.12)
x1 + x2 + x3 + x4 = 30
x1 ≥0; x2 ≥0; x3 ≥0; x4 ≥0
Exemplo real: o problema da mistura
Mistura: x1 = 19,3333; x2 = 0; x3 = 4,66667; x4 =6Valor do f.o.=2066,666667
Solução
Modelo Matemático
Minimizar 90 x1 + 180 x2 + 25 x3 + 35 x4
Sujeito a:
C: 0.50x1+ 0.9 x2+ 0.50 x3+ 0.15 x4 ≥ 30 (0.43)
Si: 0.20x1+ 0.0 x2+ 0.02 x3+ 0.29 x4 ≥ 30 (0.19)
Mn: 0.23x1+ 0.0 x2+ 0.16 x3+ 0.05 x4 ≥ 30 (0.12) => 4,447+0+0,745+0,3=5,492≥3,6
x1 + x2 + x3 + x4 = 30
x1 ≥0; x2 ≥0; x3 ≥0; x4 ≥0
Exemplo real: o problema da mistura
Mistura: x1 = 19,3333; x2 = 0; x3 = 4,66667; x4 =6Valor do f.o.=2066,666667
Solução
Revisão 1:gerente percebe que a quantidade de manganês está excessiva e informa que também existe um limite máximo para
cada componente. No caso do manganês 0.18*30=5.4Ingredientes
Composição %
Lingotes Grafite Restos
Industriais
Restos
Domicil.
Carbono 0.5 0.9 0.5 0.15Silício 0.2 - 0.02 0.29
Manganês 0.23 - 0.16 0.05CustoR$/ton 90 180 25 35
Ferro-gusaComposição %
Composição Mínima
Composição Máxima
Carbono 0.43 0.65Silício 0.19 0.30
Manganês 0.12 0.18
Exemplo real: o problema da mistura
Modelo Matemático
Minimizar 90 x1 + 180 x2 + 25 x3 + 35 x4
Sujeito a:
30 (0.43) ≤ 0.50 x1 + 0.9 x2 + 0.50 x3 + 0.15 x4 ≤ 30 (0.65) :C30 (0.19) ≤ 0.20 x1 + 0.0 x2 + 0.02 x3 + 0.29 x4 ≤ 30 (0.30) :Si30 (0.12) ≤ 0.23 x1 + 0.0 x2 + 0.16 x3 + 0.05 x4 ≤ 30 (0.18):Mnx1 + x2 + x3 + x4 = 30
x1 ≥0; x2 ≥0; x3 ≥0; x4 ≥0
Exemplo real: o problema da mistura
Modelo Matemático
Minimizar 90 x1 + 180 x2 + 25 x3 + 35 x4
Sujeito a:
30 (0.43) ≤ 0.50 x1 + 0.9 x2 + 0.50 x3 + 0.15 x4 ≤ 30 (0.65) :C30 (0.19) ≤ 0.20 x1 + 0.0 x2 + 0.02 x3 + 0.29 x4 ≤ 30 (0.30) :Si30 (0.12) ≤ 0.23 x1 + 0.0 x2 + 0.16 x3 + 0.05 x4 ≤ 30 (0.18) :Mnx1 + x2 + x3 + x4 = 30
x1 ≥0; x2 ≥0; x3 ≥0; x4 ≥0
Exemplo real: o problema da mistura
Mistura: x1 = 18,9573; x2 = 0,234543; x3 = 4,45009; x4 =6,26805Valor do f.o.=2081,260471
Solução
1.1 Construção de um modelo matemático1. Modelagem matemática: conceitos básicos
Modelo Matemático
Minimizar 90 x1 + 180 x2 + 25 x3 + 35 x4
Sujeito a:
30 (0.43) ≤ 0.50 x1 + 0.9 x2 + 0.50 x3 + 0.15 x4 ≤ 30 (0.65) :C30 (0.19) ≤ 0.20 x1 + 0.0 x2 + 0.02 x3 + 0.29 x4 ≤ 30 (0.30) :Si30 (0.12) ≤ 0.23 x1 + 0.0 x2 + 0.16 x3 + 0.05 x4 ≤ 30 (0.18) :Mnx1 + x2 + x3 + x4 = 30
x1 ≥0; x2 ≥0; x3 ≥0; x4 ≥0
Exemplo real: o problema da mistura
Mistura: x1 = 18,9573; x2 = 0,234543; x3 = 4,45009; x4 =6,26805Valor do f.o.=2081,260471
Solução
IngredientesComposição %
Lingotes Grafite Restos
Industriais
Restos
Domicil.
Carbono 0.5 0.9 0.5 0.15Silício 0.2 - 0.02 0.29
Manganês 0.23 - 0.16 0.05CustoR$/ton 90 180 25 35Estoque (ton) 15 20 12 10
Ferro-gusaComposição %
Composição Mínima
Composição Máxima
Carbono 0.43 0.65
Silício 0.19 0.30Manganês 0.12 0.18
Revisão 2:existe uma política nova da empresa de limitar a quantidade de matéria prima estocada
Modelo Matemático
Minimizar 90 x1 + 180 x2 + 25 x3 + 35 x4
Sujeito a:
30 (0.43) ≤ 0.50 x1 + 0.9 x2 + 0.50 x3 + 0.15 x4 ≤ 30 (0.65) :C30 (0.19) ≤ 0.20 x1 + 0.0 x2 + 0.02 x3 + 0.29 x4 ≤ 30 (0.30) :Si30 (0.12) ≤ 0.23 x1 + 0.0 x2 + 0.16 x3 + 0.05 x4 ≤ 30 (0.18) :Mnx1 + x2 + x3 + x4 = 30
0≤ x1 ≤ 15; 0≤ x2 ≤20; 0≤ x3 ≤12; 0≤ x4 ≤10
Exemplo real: o problema da mistura
Modelo Matemático
Minimizar 90 x1 + 180 x2 + 25 x3 + 35 x4
Sujeito a:
30 (0.43) ≤ 0.50 x1 + 0.9 x2 + 0.50 x3 + 0.15 x4 ≤ 30 (0.65) :C30 (0.19) ≤ 0.20 x1 + 0.0 x2 + 0.02 x3 + 0.29 x4 ≤ 30 (0.30) :Si30 (0.12) ≤ 0.23 x1 + 0.0 x2 + 0.16 x3 + 0.05 x4 ≤ 30 (0.18) :Mnx1 + x2 + x3 + x4 = 30
0≤ x1 ≤ 15; 0≤ x2 ≤20; 0≤ x3 ≤12; 0≤ x4 ≤10
Mistura: x1 = 15; x2 = 2,70297; x3 = 3,20792; x4 =9,08911Valor do f.o.=2234,851485
Solução
Exemplo real: o problema da mistura1.1 Construção de um modelo matemático
1. Modelagem matemática: conceitos básicos
Tela Inicial Composição de cada Liga
Composição de cada Ingrediente Composição de cada Liga
Cálculo da Liga
Sol. Ind Sol. Prog. % CF-8 725,55 554,21 31,1
CF-8M 1066,78 736,89 44,7 HH 984,90 748,01 31,6
CA-15 227,48 195,87 16,1
Diferença Significativa
considerando que a indústria produz 10 cargas por dia
Diferença para algumas ligas em uma fornada 360 kg
Exemplo real: o problema da mistura
- Composição Química dos Ingredientes Incorreta;
- Peso de uma Compra de Ingredientes Incorretos;
- Informações de Estoques Incorretas;
- Custos de Estocagem Imprecisos, etc.
Dificuldades Encontradas Durante o
Desenvolvimento
Durante o desenvolvimento do programa
foram detectados vários problemas
Exemplo real: o problema da mistura
Possíveis Melhorias Obtidas
- Melhoria na Qualidade de Informações Básicas;
- Melhoria na Qualidade de Compra dos Fornecedores;
- Melhoria da Qualidade da Liga Feita;
- Redução nos Custos das Ligas;
- Melhoria no Armazenamento de Novas Informações
Possíveis Problemas Resolvidos Após o
Desenvolvimento do Programa
Exemplo real: o problema da mistura
- Simular para Estabelecer Preço de Venda
- Simular para Discutir Preço de Compra
- Simular para Prazo de Entrega aos Clientes
- Simular para Prazo de Recebimento de Matéria-prima
Melhorias Inesperadas pelo Gerente Obtidas por meio de Simulações
Exemplo real: o problema da mistura
Passos para Resolução do Problema
• Modelagem Matemática
• Organização dos dados
• Implementação computacional: Método Simplex
• Desenvolvimento da Interface
Exemplo real: o problema da mistura
1.2 Modelos de Otimização1. Modelagem matemática: conceitos básicos
1.2 Modelos de Otimização1. Modelagem matemática: conceitos básicos
Algumas Classes de Modelos de Otimização• Modelos de Otimização Linear Contínua• Modelos de Otimização Inteira• Modelos de Otimização Inteira Mista• Modelos de Otimização Não linear
(OL): - Se a função-objetivo e as restrições forem lineares.- Se variáveis puderem assumir qualquer valor real, temos ummodelo de
otimização linear contínuo (OL).
n
T
Rxx
bAx
asujeito
xcz
∈≥≤
=
,0
:
min
onde: c ∈ Rn, A ∈ Rm x n, b ∈ Rm
−−−=
11
54
59
A
−=
1
5
45
b
Exemplo OL: max z=10x1+6x2
sujeito a:
Observe que, neste exemplo: cT =(10, 6),
751
13z =.
Modelos de Otimização Linear Contínua
9x1 + 5x2 ≤ 45-4x1 + 5x2 ≤ 5-x1 - x2 ≤ -1x≥0, x∈ R2
(OI): - Se no Modelo anterior restringirmos as variáveis de forma que só possamassumir valores inteiros, teremos um modelo de otimização linear inteira (OI).
- Em alguns modelos os valores inteiros que as variáveis podem assumir são0 e 1 (variáveis binárias).
Exemplo OI:max z=10x1+6x2sujeito a:
.
Modelos de Otimização Inteira
- Solução do exemplo OL está bem distante da solução do exemplo OI .
- A solução arredondada (3, 3) também está distante;
Solução ótima x=(5,0) e z=50 9x1 + 5x2 ≤ 45-4x1 + 5x2 ≤ 5-x1 - x2 ≤ -1x≥0, x∈ Z2
Ζ∈≥≤
=
xx
bAx
asujeito
xcz T
,0
:
min
(OIM): Em determinadas circunstâncias interessa que apenas um subconjunto devariáveis esteja restrito a assumir valores inteiros. Neste caso, temos um modelo deotimização inteira mista (OIM).
Exemplo OIM:max z=10x1+6x2sujeito a:
9x1 + 5x2 ≤ 45-4x1 + 5x2 ≤ 5-x1 - x2 ≤ -1x≥0, x1 ∈ R1, x2 ∈ Z1
.
.
1(3 ,3)
3=x
151
3z =solução ótima e
Modelos de Otimização Inteira Mista
)(,...,1,,0
:
min
nppjxx
bAx
asujeito
xcz
j
T
<=Ζ∈≥≤
=(ONL): Modelos tais que a função-objetivo é não linear e/ou o conjunto de restrições
é formado por equações ou inequações não lineares são chamados de modelos de otimização não-linear (ONL).
- Situações que envolvam modelos não-lineares e que não possam ser representadas por modelos lineares fogem do escopo deste curso e não serão discutidas
Modelos de Otimização não Linear
Tipos de Ferramentas
• Específicas– Modelagem:
• LINGO, MPL, AMPL, OPL,XPRESS-MOSEL, ZIMPL
– Resolução• LINGO, CPLEX, GUROBI
XPRESS-MP, LPSOLVE, CLP
• Gerais– Planilhas de cálculo
– EXCEL, LOTUS 123
• Simulação
1.3 Sistemas computacionais de modelagem e resolução1. Modelagem matemática: conceitos básicos
Sistemas Algébricos de Modelagem:Objetivos
• Interface com sistemas de resolução
• Separar o modelo dos dados
• Facilitar a construção de um modelo
• Documentar
• Facilitar a manutenção do modelo
1.3 Sistemas computacionais de modelagem e resolução1. Modelagem matemática: conceitos básicos
Sistemas de Resolução• Comerciais
– CPLEX, XPRESS-MP• Problema de otimização: contínua, inteira, quadrática• Arquivos no formato:MPS, próprio (algébrico)• Possuem linguagem de modelagem
• Não-Comerciais– CLP (COIN-OR Linear Program Solver)– LPSOLVE
1.3 Sistemas computacionais de modelagem e resolução1. Modelagem matemática: conceitos básicos
Sistemas Algébricos de Modelagem:Estrutura Geral
• Conjuntos e índices– locais:{Rio, SP, Goiânia}, códigos:{A11, B45}, mês:{jan, fev,...}
• dados, parâmetros, tabelas– separa o modelo de um exemplar do mesmo– fornecidos em arquivos de dados; retirados de planilhas de cálculo
ou banco de dados• variáveis de decisão
– agrupar por tipos, definir para subconjuntos de índices• função objetivo
– linear ou não linear• Restrições
– agrupar por tipos e expandir, definir para subconjuntos de índices
1.3 Sistemas computacionais de modelagem e resolução1. Modelagem matemática: conceitos básicos
MPL• Modelagem:
– otimização contínua, inteira, não linear
• Formato de arquivos (MPS, CPLEX,...)
• Conexão com EXCEL, Banco de dados
• Gráfico da Estrutura da matriz de restrições
• Conexão com sistemas de resolução (CPLEX, FORTMP,...)
XPRESS-MOSEL• Linguagem Procedural
• Integração com Linguagens de Programação (C, Java, Visual Basic)
AMPL• Linguagem Procedural
• Modelagem– otimização contínua, inteira, quadrática
• Interface gráfica com poucos recursos• Permite a criação de subrotinas
Linguagens de Modelagem: Principais Comandos
MPLTITLEINDEXDATAVARIABLESMODEL
MIN (ou MAX)SUBJECT TOEND
AMPLSET
define um índice;PARAM
define uma estrutura (vetor ou matriz) que irá armazenar os elementos conhecidos do
exemplar, fornecidos no arquivo nomemodelo.dat;
VARdefine variáveis de decisão;
MINIMIZE (ou MAXIMIZA)define a função-objetivo e o critério de otimização
SUBJECT TOdefine um conjunto de restrições
XPRESS-MOSEL
MODEL nome do model
Instruções para compilação
Definição de parâmetros
Definição do modelo
Definição de algoritmosEND-MODEL
Endereços na WWW
• Comerciais (versão de estudante ou Licença Acadêmica gratuita)MPL : http://www.maximal-usa.com/
XPRESS: http://www.dashoptimization.com/
AMPL : http:www.ampl.com//
GUROBI: http://www.gurobi.com/products/gurobi-optimizer/try-for-yourself
•Não ComerciaisCLP (COIN-OR Linear Program Solver)
http://www.coin-or.org/Clp/
LPSOLVE - http://lpsolve.sourceforge.net/5.5/
1.3 Sistemas computacionais de modelagem e resolução1. Modelagem matemática: conceitos básicos
1.3 Sistemas computacionais de modelagem e resolução1. Modelagem matemática: conceitos básicos
Exemplo, usando o AMPL e o Excel, de resolução do problema da
mistura na fundição
Exercícios
Produção de rações:
• Uma agro-indústria produz rações para dois tipos de animais
• Essas rações são preparadas fazendo-se uma mistura de farinhas de quatro ingredientesbásicos: milho, osso, soja e resto de peixe
• Cada um desses ingredientes contém diferentes quantidades de dois nutrientesnecessários à uma boa dieta nutricional: proteína e cálcio
• O nutricionista especifica que as rações devem atender às exigências mínimas e máximasde composição desses nutrientes
• O mercado define os custosunitários de cada tipo de ingrediente
• A produção deve ser baseada nas disponibilidades em estoquedas matérias-primas e a demanda de mercado deve ser atendida.
Exercícios
IngredientesNutrientes %
Milho Osso Soja Peixe
Proteína 0.2 0.4 0.5 0.8Cálcio 0.6 0.4 0.4 0.1
Estoque (ton) 10 10 14 12CustoR$/ton 27 35 51 41
RaçõesComposição
RaçãoAnimal 1
RaçãoAnimal 2
Proteína 0.4 0.5 0.3 0.5Cálcio 0.3 0.6 0.5 0.8
Demanda (ton) 19 12
Determinar as quantidades de cada ingrediente que devemos misturar para que satisfaça às
restrições nutricionais, de disponibilidade e de consumo,
com o mínimo custo.
Exercício Considerações sobre o Exercício
• Duas misturas devem ser produzidas a partir dos mesmos ingredientes em quantidades diferentes:
• As quantidades Mínimas e Máximas de cada componente dependem da mistura que está sendo feita
• As limitações de estoque devem ser consideradas para as duas misturas
Sugestão: Ingredientes: misturas:x11
E1 x12
E2 Variáveis: x jk=qde. do ingrediente j na mistura k.
xn1En xn2
1
2
n
1
2
Resposta do ExercícioMinimizar 27x11+ 35x21+ 51x31+ 41x41+ 27x12+ 35x22+ 51x32+ 41x42
Sujeito a:
19 (0.4) ≤ 0.5x11 + 0.4x21 + 0.5 x31 + 0.8x41 ≤ 19(0.5) :Proteína19 (0.3) ≤ 0.6x11 + 0.4x21 + 0.4x31 + 0.1x41 ≤ 19(0.6) :Cálcio
12 (0.3) ≤ 0.5x12 + 0.4x22 + 0.5 x32 + 0.8x42 ≤ 12(0.5) :Proteína12 (0.5) ≤ 0.6x12 + 0.4x22 + 0.4x32 + 0.1x42 ≤ 12(0.8) :Cálcio
x11 + x21 + x31 + x41 = 19x12 + x22 + x32 + x42 = 12
0≤ x11 + x12≤ 10; 0≤ x21 + x22≤10; 0≤ x31 + x32≤14; 0≤ x41 + x42≤12
Animal 1: x11 = 2.83333; x21 = 10; x31 = 0; x41 =6.16667Animal 2: x12 = 7.16667; x22 =0 ; x32 =4.05556 ; x42 =0.777778Valor do f.o.=1111.555556
Solução
Formulação Genérica: exercício (casa)minimizar f(x11 , x21 ,…, xn1; x12 , x22 ,…, xn2;….;x1k x2k ,…, xnk ) = c1x11+ c2x21 + …+ cnxn1 + c1x12+ c2x22 + …+ cnxn2 + …… + c1 x1k+ c2x2k + …+ cn xnk
sujeito a:l11 Q1 ≤ a11x11 + a12 x21 + …+ ainxn1 ≤ Q1 u11
l21 Q1 ≤ a21x11 + a22x21 + …+ a2nxn1 ≤ Q1 u21
:lm1 Q1 ≤ am1x11+ am2x21 + …+ amnxn1 ≤ Q1 um1
………………………………………………Repetir k vezes (uma para cada mistura)
x11 + x21 + ... + xn1 = Q1
x12 + x22 + ... + xn2 = Q2
…………………………..x1k + x2k + ... + xnk = Qk
0≤ x11+x12+…+x1k≤ E1; 0≤ x21+x22+…+x2k≤ E2; ...; 0≤ xn1+ xn2+…+ xnk≤ En
Desafio 1 (Programação Linear)
- Considere o Problema: A companhia de eletricidadeCPFLLsupre 4 cidades com energia. As potências de suas 3 subestaçõessão 35, 50 e 40. As demandas de pico das 4 cidades são: 45, 20, 30e 30. Os custos de perda para enviar energia para as cidades são:
Como distribuir energia de modo a minimizar o custo de perda esuprir a demanda de pico?Fazendo uso de indexação e somatórios é possível escrevermodelos matemáticos compactos usando a forma literal
Cidade 1 Cidade 2 Cidade 3 Cidade 4
Sub1 8 6 10 9
Sub2 9 12 13 7
Sub3 14 9 16 5
Capacidade das subestações Demanda das Cidades
Sub1s1=35
Sub2s2=50
Sub3s3=40
Cid1 d1=45
Cid1 d2=20
Cid1 d3=30
Cid1 d4=30
x11
x12
x13x14
x21 x22
x23
x24
x31 x32
x33
x34
Desafio 1 (Programação Linear)
Elementos Presentes na Modelagem Matemática• dados do problema: são constantes conhecidas
• função objetivo:qualifica as soluções
• restrições do problema:limitam as decisões a serem tomadas
• variáveis de decisão: são incógnitas do problema
Modelagem Matemática
Modelagem Matemática: forma geralMinimizar ou Maximizar Função objetivosujeito a
Restrições do Problema - equações ou inequaçõesRestrições sob as Variáveis de Decisão
Variável de decisão:
xij = quantidade de energia enviada da subestação i à cidade j
Modelo Matemático:
Construção de Modelos: exercício
min z = 8x11+ 6x12+ 10x13+ 9 x14+ 9x21+ 12x22+ 13x23+ 7x24+ 14x31+9x32+ 16x33+ 5x34
sujeito a:x11+ x12+ x13+ x14 = 35x21+ x22+ x23+ x24= 50x31+ x32+ x33+ x34= 40
x11+ x21+ x31 = 45x12+ x22+ x32= 20x13+ x23+ x33= 30x14+ x24+ x34= 30
xij ≥ 0 i=1,2,3 e j=1,2,3,4
Restrições de capacidade
Restrições de demanda
Variáveis de Decisão
Modelo de Transporte em forma literal: possibilita a representação compacta de modelos com muitas variáveis e restrições
Construção de Modelos: exercício
m n
ij iji 1 j 1
n
ij ij 1
m
ij ji 1
ij
min z c x
sujeito a :
x s i 1, ...,m
x d j 1, ...,n
x 0 i 1, ...,m j 1, ...,n
= =
=
=
=
= =
= =
≥ = =
∑∑
∑
∑
Restrições de capacidade
Restrições de demanda
Variáveis de Decisão
Função Objetivo
Observe que: cij, si e dj são os: Dados do Problema
Resposta (Programação Linear)
- Considere o Problema: A companhia de eletricidadeCPFLLsupre 4 cidades com energia. As potências de suas 3 subestaçõessão 35, 50 e 40. As demandas de pico das 4 cidades são: 45, 20, 30e 30. Os custos de perda para enviar energia para as cidades são:
Como distribuir energia de modo a minimizar o custo de perda esuprir a demanda de pico?
Cidade 1 Cidade 2 Cidade 3 Cidade 4
Sub1 0 10 25 0
Sub2 45 0 5 0
Sub3 0 10 0 30
Resp.1020
Capacidade das subestações Demanda das Cidades
Sub1s1=35
Sub2s2=50
Sub3s3=40
Cid1 d1=45
Cid1 d2=20
Cid1 d3=30
Cid1 d4=30
x11=0x12=10
x13=25x14=0
x21=45x22=0
x23=5
x24=0
x31=0 x32=10x33=0
x34=30
Resposta (Programação Linear)