Aula 08: Modelagem Otimização Linear e Inteira Túlio A. M. Toffolo http://www.toffolo.com.br BCC464/PCC174 2018/2 Departamento de Computação UFOP
Previously... Aulas anteriores: Modelagem (básico) Método gráfico Algoritmo Simplex (Parte 2) Dualidade Análise de sensibilidade... e um pouco de prática (implementação) 2 / 23 Túlio Toffolo Otimização Linear e Inteira Aula 08: Modelagem
Aula de Hoje 1 Dicas de Modelagem 2 Exemplo 1: Fábrica de brinquedos 3 Exemplo 2: Transporte 4 Aula Prática 3 / 23 Túlio Toffolo Otimização Linear e Inteira Aula 08: Modelagem
Aula de Hoje 1 Dicas de Modelagem 2 Exemplo 1: Fábrica de brinquedos 3 Exemplo 2: Transporte 4 Aula Prática 3 / 23 Túlio Toffolo Otimização Linear e Inteira Aula 08: Modelagem
Passo-a-passo para modelar um problema: 1 Elabore um esquema do problema. 2 Encontre e escreva uma solução qualquer para o problema. 3 Olhando para a solução, defina as variáveis de decisão. 4 Observando as variáveis de decisão, defina a função objetivo, ou seja, o que deve ser maximizado ou minimizado. 5 Finalmente, defina as restrições do problema. 4 / 23 Túlio Toffolo Otimização Linear e Inteira Aula 08: Modelagem
Aula de Hoje 1 Dicas de Modelagem 2 Exemplo 1: Fábrica de brinquedos 3 Exemplo 2: Transporte 4 Aula Prática 5 / 23 Túlio Toffolo Otimização Linear e Inteira Aula 08: Modelagem
Exemplo 1: Fábrica de brinquedos Fonte: [1] Luís Herique Rodrigues et al. (2014), Pesquisa Operacional - Programação Linear Passo a Passo, Editora Unisinos. Uma pequena oficina de brinquedos produz dois tipos de brinquedos: caminhão de madeira e boneca de pano. O lucro do caminhão é de R$ 10,00 por unidade e da boneca de pano é de R$ 8,00 por unidade. São necessárias seis pessoas para fazer um lote de dez caminhões por dia e quatro pessoas para fazer um lote de 14 bonecas por dia. Há 18 pessoas disponíveis para produzir os itens, podendo ser alocadas em qualquer um dos dois, em qualquer etapa. Devido à demanda existente é necessário fazer ao menos um lote de caminhões e um lote de bonecas por dia. Formule um modelo de Programação Linear que maximize a lucratividade diária. 6 / 23 Túlio Toffolo Otimização Linear e Inteira Aula 08: Modelagem
Passo 1: Esquema Lucro: R$ 100,00 por lote (10 caminhões) Lucro: R$ 112,00 por lote (14 bonecas) igura 3 Esquema simplificado do problema 1 Oficina de brinquedos. Figura: Esquema (imagem extraída de Rodrigues et. al [1]) Nessa Figura é possível observar que, conforme tomamos a decisão de fazer mais u menos lotes de caminhões ou bonecas, precisaremos alocar mais ou menos pessoas 7 / 23 Túlio Toffolo Otimização Linear e Inteira Aula 08: Modelagem
Passo 2: Solução Qual seria uma solução para o problema? Produzir 1 lote de caminhões e 1 lote de bonecas? Utilizaríamos neste caso 10 pessoas (6 + 4) Lucraríamos R$ 212,00 (R$ 100,00 + R$ 112,00) Solução parece ok... não utilizamos mais de 18 pessoas e atendemos à demanda mínima de fazer ao menos um lote de caminhões e um lote de bonecas. Solução viável! 8 / 23 Túlio Toffolo Otimização Linear e Inteira Aula 08: Modelagem
Passo 3: Variáveis Solução: 1 lote de caminhões e 1 lote de bonecas! Qual decisão foi tomada? Número de lotes de caminhões: x 1 Número de lotes de bonecas: x 2 9 / 23 Túlio Toffolo Otimização Linear e Inteira Aula 08: Modelagem
Passo 4: Função objetivo O que estamos minimizando/maximizando? Maximizando o lucro! Ou seja: max 100x 1 + 112x 2 10 / 23 Túlio Toffolo Otimização Linear e Inteira Aula 08: Modelagem
Passo 5: Restrições Quais são as restrições? 1 Há 18 pessoas disponíveis: 6x 1 + 4x 2 18 2 Devemos produzir no mínimo 1 lote de caminhões: x 1 1 3 Devemos produzir no mínimo 1 lote de bonecas: x 2 1 11 / 23 Túlio Toffolo Otimização Linear e Inteira Aula 08: Modelagem
Modelo Logo, devemos resolver o modelo de programação linear a seguir: max 100x 1 + 112x 2 s.a. 6x 1 + 4x 2 18 x 1 1 x 2 1 12 / 23 Túlio Toffolo Otimização Linear e Inteira Aula 08: Modelagem
Aula de Hoje 1 Dicas de Modelagem 2 Exemplo 1: Fábrica de brinquedos 3 Exemplo 2: Transporte 4 Aula Prática 13 / 23 Túlio Toffolo Otimização Linear e Inteira Aula 08: Modelagem
Exemplo 2: Transporte Onde o custo é: custo de transporte da fábrica i para o mercado j multiplicado pela quantidade de unidades de produto produzidos na fábrica i a ser enviado para o mercado j. Fonte: [1] Luís Herique Rodrigues et al. (2014), Pesquisa Operacional - Programação Linear Passo a Passo, Editora Unisinos. Passo 5 Identificando classes de restrições Você possui três fábricas localizadas em regiões geográficas distintas, e precisa saberao quanto observar deveo produzir quadro que e transportar apresenta para os dados quatro do diferentes problema, mercados identificam-se a um duas classes de restrições, destacadas a seguir: custo mínimo. As informações do custo de transporte unitário entre as fábricas e os mercados estão no quadro a seguir. Quadro 9 Classes de restrições do problema 3 transporte Custo de transporte Fábricas Demanda mínima Mercados 1 2 3 4 Capacidade Produtiva A $ 0,90/un $ 1,00/un $ 1,80/un $ 1,05/un 22.500 un B $ 2,10/un $ 0,80/un $ 0,70/un $ 1,15/un 21.000 un C $ 1,10/un $ 1,00/un $ 1,20/un $ 1,50/un 19.500 un 10.000un 15.000un 11.000un 10.000un Demanda mínima: Para cada um dos mercados deve ser expedido uma quantidade 14 / 23 Túlio Toffolo Otimização Linear e Inteira Aula 08: Modelagem
Passo 1: Esquema Deve-se definir quantas produtos de cada fábrica devem ser enviados a cada mercado, considerando capacidade e demanda mínima... Figura 6 Esquema do Problema 3 Transporte. Figura: Esquema (imagem extraída de Rodrigues et. al [1]) Passo 2 Definindo uma solução para o problema 15 / 23 Túlio Toffolo Otimização Linear e Inteira Aula 08: Modelagem
Ao definirmos quantas unidades devem ser enviadas de cada fábrica para cada 16 / 23 Túlio Toffolo Otimização Linear e Inteira Aula 08: Modelagem mercado, deparamo-nos com a própria variável de decisão, que pode ser expressa da Passo 2: Solução Figura 6 Esquema do Problema 3 Transporte. Passo 2 Definindo uma solução para o problema Uma solução para o problema deve indicar quantas unidades de produto devemuma serproposta enviadas de de solução cada para fábrica o problema para cada deve mercado, indicar quantas atendendo unidades tantode produto às capacidades devem ser produtivas enviadas de quanto cada fábrica às demandas para cada mínimas mercado, atendendo de cada tanto às capacidades produtivas máximas quanto às demandas mínimas de cada mercado. Uma solução mercado. possível para o problema é evidenciada no Quadro 8. Eis uma solução possível (extraída de [1]): Quadro 8 Solução para o problema 3 transporte Unidades enviadas Para o mercado... 1 2 3 4 A 5000 5000 5000 5000 Da Fábrica... B 5000 5000 5000 5000 C 4000 5000 4000 4000 Passo 3 Definindo variáveis de decisão
Passo 3: Variáveis Estamos decidindo quanto enviar de cada fábrica para cada mercado... Seja F o conjunto de fábricas Seja M o conjunto de mercados Variáveis: x i,j : quantidade a enviar da fábrica i F para o mercado j M. 17 / 23 Túlio Toffolo Otimização Linear e Inteira Aula 08: Modelagem
Passo 4: Função objetivo Devemos minimizar o custo de transporte... Seja c i,j o custo de enviar uma unidade do produto produzido na fábrica i F para o mercado j M Função objetivo: min c i,j x i,j i F j M 18 / 23 Túlio Toffolo Otimização Linear e Inteira Aula 08: Modelagem
Ao observar o quadro que apresenta os dados do problema, identificam-se duas classes de restrições, destacadas a seguir: Passo 5: Restrições Quadro 9 Classes de restrições do problema 3 transporte Custo de transporte Mercados 1 2 3 4 Capacidade Produtiva A $ 0,90/un $ 1,00/un $ 1,80/un $ 1,05/un 22.500 un Fábricas B $ 2,10/un $ 0,80/un $ 0,70/un $ 1,15/un 21.000 un C $ 1,10/un $ 1,00/un $ 1,20/un $ 1,50/un 19.500 un Demanda mínima 10.000un 15.000un 11.000un 10.000un Seja p i a capacidade produtiva da fábrica i F i F : x i,j p i Demanda mínima: Para cada um dos mercados deve ser expedido uma quantidade j M Seja d j a demanda mínima do mercado j M j M : x i,j d j i F 19 / 23 Túlio Toffolo Otimização Linear e Inteira Aula 08: Modelagem
Exemplo 2: Transporte Eis o modelo de programação linear: min s.a. c i,j x i,j i F j M x i,j p i j M x i,j d j i F x i,j 0 i F j M i F, j M 20 / 23 Túlio Toffolo Otimização Linear e Inteira Aula 08: Modelagem
Aula de Hoje 1 Dicas de Modelagem 2 Exemplo 1: Fábrica de brinquedos 3 Exemplo 2: Transporte 4 Aula Prática 21 / 23 Túlio Toffolo Otimização Linear e Inteira Aula 08: Modelagem
Exercício Questão 01 (6,0 pontos) Exercício 1 Uma Uma empresa empresa mineradora mineradora deve deve exportar exportar 6000 6.000 toneladas toneladas de minério de de minério d especificações a seguir: ferro atendendo as especificações a seguir: Fe Al2O3 P PPC He Teor mínimo 44,5 0,27 0,035 2,05 38 Teor máximo 49,5 0,37 0,043 2,65 50 A mineradora dispõe de de um um conjunto de pilhas de pilhas de minérios, de minérios, cuja cuja compos custo composição, são dados disponibilidade a seguir: e custo são dados no próximo slide. Fe Al2O3... P PPC He Disp. Custo Pilha 1 52,64 0,52 0,084 4,48 45 1500t 10,5 Pilha 2 39,92 0,18 0,029 0,65 97 2000t 12,5 Pilha 3 47,19 0,5 0,05 2,52 52 1700t 12 Pilha 4 49,36 0,22 0,039 1,74 78 1450t 10 Pilha 5 43,94 0,46 0,032 2,36 41 1250t 11,5 Pilha 6 48,97 0,54 0,057 4,34 90 1890t 11 22 / 23 Túlio Toffolo Otimização Linear e Inteira Aula 08: Modelagem
custo são dados a seguir: Fe Al2O3 P PPC He Disp. Custo Pilha 1 52,64 0,52 0,084 4,48 45 1500t 10,5 Pilha 2 39,92 0,18 0,029 0,65 97 2000t 12,5 Pilha 3 47,19 0,5 0,05 2,52 52 1700t 12 Pilha 4 49,36 0,22 0,039 1,74 78 1450t 10 Pilha 5 43,94 0,46 0,032 2,36 41 1250t 11,5 Pilha 6 48,97 0,54 0,057 4,34 90 1890t 11 Pilha 7 47,46 0,2 0,047 5,07 9 1640t 10,8 Pilha 8 46,52 0,32 0,039 3,51 4 1124t 11,2 Pilha 9 56,09 0,95 0,059 4,1 80 1990t 10,4 Pilha 10 46 0,26 0,031 2,51 21 900t 12 Pilha 11. 49,09 0,22 0,04 4,2 12 1540t 10,3 Pilha 12 49,77 0,2 0,047 4,81 12 1630t 11,9 Pilha 13 53,03 0,24 0,047 4,17 1 1320t 12,3 Pilha 14 52,96 0,29 0,052 4,81 1 1245t 11,1 Pilha 15 42,09 0,17 0,031 1,38 47 1859t 12,1 1 Apresente um programa linear para encontrar uma mistura dos minérios disponíveis que atenda à demanda minimizando o custo total. 2 BCC464 Implemente / PCC174 esta formulação (utilizando Data: o17/04/2018 solver gurobi). 23 / 23 Túlio Toffolo Otimização Linear e Inteira Aula 08: Modelagem
/ 12 Perguntas?