Programação Linear - Prof. Helder Costa
O que é! Uma disciplina no âmbito da pesquisa operacional Busca a otimização de uma função objetivo, considerando o conjunto de soluções possíveis Comportamento linear para função objetivo e e equações de restrição
Provocação: Exemplo Carpintaria Uma fábrica de artefatos de madeira produz: Mesa; e, Cadeira. Quantas cadeiras e quantas mesas ela deve produzir? Programação Linear - Prof. Helder Costa
Programação Linear - Prof. Helder Costa Exemplo Carpintaria Custo Preço de venda Lucro M 10 15 5 C 12 7 Qual o objetivo? Minimizar custo? Maximizar receita? Maximizar lucro? Programação Linear - Prof. Helder Costa
Exemplo Carpintaria: Escrevendo a função objetivo Função objetivo para minimização dos custos min (z) = 10*M + 5*C Função objetivo para maximização da receita max (z) = 15*M + 12*C Função objetivo para maximização do lucro min(z) = 5*M + 7*C Custo Preço de venda Lucro M 10 15 5 C 12 7 Programação Linear - Prof. Helder Costa
Função objetivo: Forma geral para minimização min (z) = c1*x1 + c2*x2 + ... + cn*xn C1 = Custo unitário de produção do ítem 1 C2 = Custo unitário de produção do ítem 2 Cn = Custo unitário de produção do ítem 3 x1 = quantidade de produção do ítem 1 x2 = quantidade de produção do ítem 2 x3 = quantidade de produção do ítem 3
Função objetivo: Forma geral para maximização max (z) = l1*x1 + l2*x2 + ... + ln*xn l1 = Lucro unitário de produção do ítem 1 l2 = Lucro unitário de produção do ítem 2 ln = Lucro unitário de produção do ítem 3 x1 = quantidade de produção do ítem 1 x2 = quantidade de produção do ítem 2 x3 = quantidade de produção do ítem 3
Análise gráfica da função objetivo Direção de aumento de “z = receita total” Comportamento da função receita Z=12000 80 100 90 80 Z=600 70 60 Cadeiras 50 Z=300 40 30 20 10 Mesas
Resultados da otimização: Exemplo Carpintaria Função objetivo para minimização dos custos min (z) = 10*M + 5*C produzir “zero” cadeiras produzir “zero” mesas Função objetivo para maximização da receita max (z) = 15*M + 12*C produzir um número “infinito” de cadeiras Função objetivo para maximização do lucro max (z) = 5*M + 7*C Custo Preço de venda Lucro M 10 15 5 C 12 7 Programação Linear - Prof. Helder Costa
Programação Linear - Prof. Helder Costa Custo Preço de venda Lucro M 10 15 5 C 12 7 Provocação Resultados para o objetivo? Minimizar custo? produzir “zero” cadeiras produzir “zero” mesas. Maximizar receita? Maximizar lucro? produzir um número “infinito” de cadeiras Programação Linear - Prof. Helder Costa
Provocação 2 Há restrições?
Alguns tipos de restrições Mão de obra Tempo Energia Matéria Prima Capital disponível Fluxo de caixa Demanda Fornecimento Prazo ....
Exemplos de restrições para o problema da carpintaria Produção mínima: 10 cadeiras 5 mesas Produção máxima 60 mesas 90 cadeiras
Representação gráfica das restrições: região de soluções factíveis X2=20 X2=90 X1=60 X1=10
Representação gráfica das restrições: região de soluções factíveis Região viável
Ponto ótimo? Z=12000 Z=600 Z=300 Direção de aumento de Região viável “z = receita total” Z=600 Região viável Z=300
Ponto ótimo? Ponto ótimo = Z=12000 Receita máxima Z=600 Z=300 Direção de aumento de “z = receita total” Região viável Z=300
Ponto ótimo? Z=12000 Z=600 Z=300 Direção de aumento de Região viável Sempre um dos vértices da região factível Z=12000 Z=600 Direção de aumento de “z = receita total” Região viável Z=300
Programação linear: Escrevendo um modelo Função objetivo para maximização da receita max (z) = 15*M + 12*C S.a: X1 >= 5 X2 >= 10 X1 =< 60 X2 =< 90 X1 , X2 : Inteiros
Programação linear: Escrevendo um modelo Função objetivo para maximização do lucro max (z) = 5*M + 7*C S.a: X1 >= 5 X2 >= 10 X1 =< 60 X2 =< 90 X1 , X2 : Inteiros
Programação linear: Escrevendo um modelo Função objetivo para minimização dos custos min (z) = 10*M + 5*C S.a: X1 >= 5 X2 >= 10 X1 =< 60 X2 =< 90 X1 , X2 : Inteiros
Exemplo da carpintaria 2 Produção Recursos Lucro Mínima Máxima Material 1 2 3 Máquina M 5 60 4 C 7 10 90 B 8 --- 100 Disponibidade de recursos Material 1 Material 2 Material 3 Máquina 1 Máquina 2 300 120 200 400 Programação Linear - Prof. Helder Costa
Exemplo da carpintaria: Modelo de programação Linear Maximização do lucro max (z) = 5*M + 7*C + 8*C S.a: X1 >= 5 X2 >= 10 X3 >= 0 X1 =< 60 X2 =< 90 X3 =< 100 4*M + 4*C + 4*C =< 300 2*M =< 120 2*C + 1*C =< 200 4*M + 2*C + 1*C =< 400 3*M + 2*C + 1*C =< 300 X1 , X2 , X3 : Inteiros Programação Linear - Prof. Helder Costa
Programação Linear - Prof. Helder Costa Solução Métodos Simplex Pontos interiores Sistemas computacionais de apoio Lindo Lingo Matlab Excell (Solver) Programação Linear - Prof. Helder Costa
Logística de armazéns e o Problema de Transportes Caso Logística de armazéns e o Problema de Transportes
Programação Linear - Prof. Helder Costa O Problema clássico Transporte de itens ao custo mais baixo Fontes com fornecimento fixo Destinos com demandas constantes Programação Linear - Prof. Helder Costa
Exemplo Três armazéns Três centros de consumo
Programação Linear - Prof. Helder Costa
Depósitos Localidade Rio de Janeiro 500 Curitiba 600 Fortaleza 300 Capacidade Rio de Janeiro 500 Curitiba 600 Fortaleza 300 Total 1400
Programação Linear - Prof. Helder Costa Mercados de consumo Localidade Demanda São Paulo 400 Belo Horizonte 300 Salvador 600 Total 1300 Programação Linear - Prof. Helder Costa
O problema de transporte Localidade Demanda São Paulo 400 Brasília 300 Salvador 600 Total 1300 Localidade Capacidade Rio de Janeiro 500 Curitiba 600 Recife 300 Total 1400 Programação Linear - Prof. Helder Costa
Custos : Origem-Destino Localidade São Paulo Brasília Salvador Rio de Janeiro 5 8 12 Curitiba 6 10 15 Recife 30 25 7 Programação Linear - Prof. Helder Costa
Programação Linear - Prof. Helder Costa Tableau Para De São Paulo Brasília Salvador Disponível 5 8 12 500 Rio de Janeiro 6 10 15 600 Curitiba 30 25 7 300 Recife Demanda 400 300 600 Programação Linear - Prof. Helder Costa
Programação Linear - Prof. Helder Costa Solução ótima? Localidade São Paulo Brasília Salvador Capacidade Consumido Sobra Rio de Janeiro 5 8 12 500 300 200 Curitiba 6 10 15 600 400 Recife 30 25 7 100 Demanda Demanda atendida Custos 2400 6900 9300 Programação Linear - Prof. Helder Costa
Exercício: Elaborar o modelo de programação linear para a resolução do problema de transporte apresentado nas transparências anteriores. XLS
Dúvidas?