Aula 09: Modelagem / Variáveis inteiras 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 sobre Programação Linear: Modelagem Método gráfico Algoritmo Simplex Dualidade Análise de sensibilidade... e implementação dos modelos no Gurobi 2 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras
Aula de Hoje: mais modelagem! 1 Exemplo 1: Mistura de Minérios 2 Exemplo 2: Problemas de Custo Fixo 3 Exemplo 3: Transportes Asteróide 4 Exemplo 4: Transporte de Fábricas 5 Exemplo 5: Investimentos 6 Exercício: Viagem a Paris 3 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras
Aula de Hoje: mais modelagem! 1 Exemplo 1: Mistura de Minérios 2 Exemplo 2: Problemas de Custo Fixo 3 Exemplo 3: Transportes Asteróide 4 Exemplo 4: Transporte de Fábricas 5 Exemplo 5: Investimentos 6 Exercício: Viagem a Paris 3 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras
Questão 01 (6,0 pontos) Questão 01 (6,0 pontos) Uma empresa mineradora deve deveexportar 6.000 6.000toneladas de deminério minério de de ferro ferroatendendo as especificações Uma as empresa a mineradora seguir: a seguir: deve exportar 6.000 toneladas de minério de ferro atendendo as especificações a seguir: Fe Al2O3 P PPC He Teor mínimo 44,5 Fe Al2O3 0,27 0,035 P PPC 2,05 He 38 Teor máximo mínimo 49,5 44,5 0,37 0,27 0,043 0,035 2,65 2,05 50 38 Teor máximo 49,5 0,37 0,043 2,65 50 A mineradora dispõe de um conjunto de pilhas de minérios, cuja composição, disponibilidade e custo A mineradora são dados dispõe a seguir: de deum umconjunto de de pilhas pilhas de de minérios, minérios, cuja cuja composição, composição, disponibilidade e custo disponibilidade são dados a eseguir: custo são dados a seguir: Fe Al2O3 P PPC He Disp. Custo Pilha 1 52,64 Fe Al2O3 0,52 0,084 P PPC 4,48 He 45 1500t Disp. Custo 10,5 Pilha 21 39,92 52,64 0,18 0,52 0,029 0,084 0,65 4,48 97 45 2000t 1500t 12,5 10,5 Pilha 32 47,19 39,92 0,18 0,5 0,029 0,05 2,52 0,65 52 97 1700t 2000t 12,5 Pilha 43 49,36 47,19 0,22 0,5 0,039 0,05 1,74 2,52 78 52 1450t 1700t 10 12 Pilha 54 43,94 49,36 0,46 0,22 0,032 0,039 2,36 1,74 41 78 1250t 1450t 11,5 10 Pilha 65 48,97 43,94 0,54 0,46 0,057 0,032 4,34 2,36 90 41 1890t 1250t 11,5 Pilha 76 47,46 48,97 0,54 0,2 0,047 0,057 5,07 4,34 90 9 1640t 1890t 10,8 11 Pilha 87 46,52 47,46 0,32 0,2 0,039 0,047 3,51 5,07 49 1124t 1640t 11,2 10,8 Pilha 98 56,09 46,52 0,95 0,32 0,059 0,039 3,51 4,1 80 4 1990t 1124t 10,4 11,2 Pilha 10 9 56,09 46 0,26 0,95 0,031 0,059 2,51 4,1 21 80 1990t 900t 10,4 12 Pilha 11. 10 49,09 46 0,22 0,26 0,031 0,04 2,51 4,2 12 21 1540t 900t 10,3 12 Pilha 12 11. 49,77 49,09 0,22 0,047 4,81 4,2 12 1630t 1540t 11,9 10,3 Pilha 13 12 53,03 49,77 0,24 0,047 4,17 4,81 12 1 1320t 1630t 12,3 11,9 Pilha 14 13 52,96 53,03 0,29 0,24 0,052 0,047 4,81 4,17 1 1245t 1320t 11,1 12,3 Pilha 15 14 42,09 52,96 0,17 0,29 0,031 0,052 1,38 4,81 47 1 1859t 1245t 12,1 11,1 Pilha 15 42,09 0,17 0,031 1,38 47 1859t 12,1 BCC464 / PCC174 Data: 17/04/2018 Página 1 de 5 4 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras BCC464 / PCC174 Data: 17/04/2018 Página 1 de 5
Ex.: Mistura de minérios Notação utilizada: P : conjunto de pilhas T : conjunto de teores de qualidade d: quantidade de minério a produzir (demanda) c i : custo por tonelada utilizada da pilha i q i : capacidade da pilha i a i,j : teor de qualidade j da pilha i b j : teor mínimo para o parâmetro j b + j : teor máximo para o parâmetro j 5 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras
Ex.: Mistura de minérios Minimizar: Sujeito a: c i x i x i = d x i q i i P a i,j x i b j d j T a i,j x i b + j d j T x i 0 i P 6 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras
Ex.: Mistura de minérios (2) Minimizar: Sujeito a: c i x i x i = d x i q i i P a i,j x i b j x i a i,j x i b + j x i x i 0 i P j T j T 7 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras
Ex.: Mistura de minérios (3) Minimizar: Sujeito a: c i x i x i = d x i q i i P ( a i,j b j ) x i 0 j T ( ) a i,j b + j x i 0 j T x i 0 i P 8 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras
teration Objective Primal Inf. Dual Inf. Time 0 6.0000000e+04 6.332375e+03 0.000000e+00 0s 8 6.5061443e+04 0.000000e+00 0.000000e+00 0s Ex.: Mistura de minérios olved in 8 iterations and 0.00 seconds ptimal objective 6.506144344e+04 Solução ótima: olução: x_1 = 0.00000 base: Não reduced cost = 0.299643950278 x_2 = 269.89443 base: Sim reduced cost = 0.0 x_3 = 0.00000 base: Não reduced cost = 0.604060216128 x_4 = 1450.00000 base: Sim reduced cost = 0.0 x_5 = 1250.00000 base: Sim reduced cost = 0.0 x_6 = 0.00000 base: Não reduced cost = 0.756774314448 x_7 = 0.00000 base: Não reduced cost = 0.927147229683 x_8 = 0.00000 base: Não reduced cost = 0.365456930477 x_9 = 635.00843 base: Sim reduced cost = 0.0 x_10 = 0.00000 base: Não reduced cost = 0.568299081767 x_11 = 1540.00000 base: Sim reduced cost = 0.0 x_12 = 0.00000 base: Não reduced cost = 1.87052907739 x_13 = 0.00000 base: Não reduced cost = 1.86743706665 x_14 = 0.00000 base: Não reduced cost = 1.06001624086 x_15 = 855.09713 base: Sim reduced cost = 0.0 nformações: demanda : dual = 12.991 folga = 0.0 range = 5.6e+0 capacidade_1 : dual = 0.000 folga = 1500.0 range = 0. 9 / 40 capacidade_2 Túlio Toffolo Otimização : dual Linear e Inteira = 0.000 Aula 09: Modelagem folga / Variáveis = inteiras 1730.1 range = 2.7e+0
Exercícios Exercício prático Adapte o modelo de forma que: 1 O custo fixo de 100 unidades monetárias seja considerado pela utilização de uma pilha. 2 Uma pilha seja utilizada apenas se 500 ou mais toneladas forem extraídas. E agora, como modelar estas situações? 10 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras
Variáveis inteiras Embora tenham profundo impacto negativo na resolução do modelo, variáveis inteiras (e binárias) são extremamente úteis! Para resolver o exercício 1: criaremos uma variável binária (e portanto inteira) y i {0, 1} se y 1 = 1 então a pilha i é utilizada; se y 0 = 0 então a pilha i não é utilizada. 11 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras
Ex.: Mistura de minérios (3) Minimizar: Sujeito a: c i x i + 100y i x i = d x i q i y i i P ( a i,j b j ) x i 0 j T ( ) a i,j b + j x i 0 j T x i 0, y i {0, 1} i P 12 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras
Variáveis inteiras Para resolver o exercício 2: A variável y i pode ser utilizada também para definir um mínimo a ser retirado da pilha: se y 1 = 1 então x i 500 se y 0 = 0 então x 1 não precisa ser maior ou igual a 500 Basta adicionar a restrição a seguir: x i 500y i i P 13 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras
Ex.: Mistura de minérios (3) Minimizar: Sujeito a: c i x i + 100y i x i = d x i q i y i x i 500y i i P ( a i,j b j i P ) x i 0 j T ( ) a i,j b + j x i 0 j T x i 0, y i {0, 1} i P 14 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras
Aula de Hoje: mais modelagem! 1 Exemplo 1: Mistura de Minérios 2 Exemplo 2: Problemas de Custo Fixo 3 Exemplo 3: Transportes Asteróide 4 Exemplo 4: Transporte de Fábricas 5 Exemplo 5: Investimentos 6 Exercício: Viagem a Paris 15 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras
Ex.: Indústria do Vestuário Uma indústria fabrica camisetas, meias e calças. O maquinário necessário para a confecção de cada item pode ser alugado semanalmente por: camisetas (200), meias (150) e calças (100). A fabricação de cada item requer um certo tempo de trabalho em horas e uma quantidade de tecido em m 2. Além disso, existe um preço de venda para cada item e um custo unitário de produção. Item Horas de Trab. Tecido Preço Venda Custo Produção Camiseta 3 4 12 6 Meias 2 3 8 4 Calça 6 4 15 8 Em uma semana, existe a disponibilidade de 150 horas de trabalho e 160 m 2 de tecido. Formule o programa linear que maximize o lucro dessa indústria considerando o planejamento de uma semana. 16 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras
Ex.: Indústria do Vestuário Variáveis x 1 : número de camisetas produzidas x 2 : número de meias produzidas x 3 : número de calças produzidas x 1, x 2, x 3 Z Custo Fixo Note que o custo de aluguel das máquinas não depende da quantidade produzida de um determinado item e sim da decisão binária de produzir ou não determinado item. 17 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras
Ex.: Indústria do Vestuário Variáveis Auxiliares y 1 : 1 se alguma camiseta foi produzida e 0 caso contrário y 2 : 1 se alguma meia foi produzida e 0 caso contrário y 3 : 1 se alguma calça foi produzida e 0 caso contrário y 1, y 2, y 3 {0, 1} Custo Fixo Note que cada y i é uma variável inteira tal que 0 y i 1 (com i {1, 2, 3}) 18 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras
Ex.: Indústria do Vestuário Maximize Sujeito a 6x 1 + 4x 2 + 7x 3 200y 1 150y 2 100y 3 horas : 3x 1 + 2x 2 + 6x 3 150 tecido : 4x 1 + 3x 2 + 4x 3 160 Mas... Como garantir que o valor de y é consistente com o de x, ou seja, que qualquer valor maior que zero em x i implique y i = 1? Big M Utilizaremos o Big M: x i My i, onde M é uma constante suficientemente grande 19 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras
Ex.: Indústria do Vestuário Maximize Sujeito a 6x 1 + 4x 2 + 7x 3 200y 1 150y 2 100y 3 horas : 3x 1 + 2x 2 + 6x 3 150 tecido : 4x 1 + 3x 2 + 4x 3 160 maqcamisetas : x 1 My 1 maqmeias : x 2 My 2 maqcalcas : x 3 My 3 x 1, x 2, x 3 Z y 1, y 2, y 3 {0, 1} 20 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras
Aula de Hoje: mais modelagem! 1 Exemplo 1: Mistura de Minérios 2 Exemplo 2: Problemas de Custo Fixo 3 Exemplo 3: Transportes Asteróide 4 Exemplo 4: Transporte de Fábricas 5 Exemplo 5: Investimentos 6 Exercício: Viagem a Paris 21 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras
Ex.: Transportes de Asteróide Uma transportadora tem uma frota de caminhões dedicada a uma rota com alta requisição (ex.: Rio São Paulo). Os caminhões são utilizados para a entrega de um conjunto de encomendas já estabelecido. O objetivo é distribuir todas as encomendas minimizando o número de caminhões necessário. Cada caminhão tem uma determinada capacidade. Além disso, por questões de segurança, encomendas de alto valor não devem ser concentradas em um caminhão só, de modo que existe um limite para o valor máximo estimado das encomendas na carga de um caminhão. O custo de um caminhão realizar uma viagem no trecho também é pré-determinado. 22 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras
Ex.: Transportes Asteróide Dados de entrada C conjunto de caminhões E conjunto de encomendas w c capacidade do caminhão c p e peso da encomenda e v c valor máx. no caminhão c s e valor da encomenda e t c custo viagem do caminhão c Variáveis { 1 se encomenda e é transportada pelo caminhão c x e,c = 0 caso contrário { 1 se o caminhão c é utilizado y c = 0 caso contrário 23 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras
Ex.: Transportes Asteróide - Modelo Dados de entrada C conjunto de caminhões E conjunto de encomendas w c capacidade do caminhão c p e peso da encomenda e v c valor máx. no caminhão c s e valor da encomenda e t c custo viagem do caminhão c Restrições cada encomande em um caminhão: capacidade do caminhão: valor máx. em cada caminhão: x e,c = 1 c C p e x e,c w c y c e E s e x e,c v c y c e E e E c C c C 24 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras
Ex.: Transportes Asteróide - Modelo Minimize Sujeito a t c y c c C x e,c = 1 c C p e x e,c w c y c e E s e x e,c v c y c e E x e,c {0, 1} y c {0, 1} e E c C c C e E, c C c C 25 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras
Variáveis de Folga Considere o exemplo de Transportes Asteróide Caso todos os caminhões fiquem cheios e ao menos uma encomenda não caiba mais, o resolvedor indicará que o problema é infactível e não informará nenhuma solução. Para o usuário, seria mais prático receber uma solução com o máximo possível de itens carregados e com a informação de quais itens não puderam ser carregados. 26 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras
Variáveis de Folga Restrições Fortes Até agora os modelos foram especificados com restrições que devem ser satisfeitas sempre. Essas restrições são denominadas Restrições Fortes. Restrições Fracas Para evitar o problema de restringir demais as soluções do problema e torná-lo infactível, podemos utilizar Restrições Fracas: variáveis de folga são inseridas e penalizadas na função objetivo, de forma a minimizar o não atendimento às restrições consideradas. 27 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras
Aula de Hoje: mais modelagem! 1 Exemplo 1: Mistura de Minérios 2 Exemplo 2: Problemas de Custo Fixo 3 Exemplo 3: Transportes Asteróide 4 Exemplo 4: Transporte de Fábricas 5 Exemplo 5: Investimentos 6 Exercício: Viagem a Paris 28 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras
Exemplo: Transporte de Fábricas 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 29 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras
Exemplo: Transporte de Fábricas 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 Mas... faz sentido enviar uma única unidade? Faz sentido produzir só uma unidade? Na prática, geralmente tem-se um frete mínimo (ou custo fixo). E uma produção mínima para viabilizar a fábrica... 30 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras
Exemplo: Transporte de Fábricas Exercício Adicione as seguintes características do mundo real ao modelo: 1 Inclua uma produção mínima m i para cada fábrica i F. 2 Inclua um custo fixo f i,j para transportar produtos da fábrica i F para o mercado j M (ou seja, um custo fixo se x i,j > 0). 31 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras
Aula de Hoje: mais modelagem! 1 Exemplo 1: Mistura de Minérios 2 Exemplo 2: Problemas de Custo Fixo 3 Exemplo 3: Transportes Asteróide 4 Exemplo 4: Transporte de Fábricas 5 Exemplo 5: Investimentos 6 Exercício: Viagem a Paris 32 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras
Ex.: Investimentos A empresa VALOR está considerando 4 investimentos. Cada um tem uma perspectiva de ganho e um custo, os quais são descritos a seguir: Investimento Ganho Custo 1 16.000 5.000 2 22.000 7.000 3 12.000 4.000 4 8.000 3.000 A empresa tem atualmente 14.000 disponível para investir. Modele o problema que descreve como a VALOR irá investir de maneira ótima. 33 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras
Ex.: Investimentos Investimentos (em milhares de unidade monetárias) max. 16x 1 + 22x 2 + 12x 3 + 8x 4 s.t. 5x 1 + 7x 2 + 4x 3 + 3x 4 14 x 1, x 2, x 3, x 4 0 34 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras
Exercícios Exercícios (para o final da aula) Que restrições adicionais devem ser incluídas no problema da VALOR para tratar as seguintes particularidades: 1 deve-se investir no máximo em 2 investimentos; 2 o investimento em 2 implica que se deve investir em 1; 3 o investimento em 2 implica que não se deve investir em 4; 35 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras
Dica: negação O Complemento Binário Sejam y e x variáveis binárias (lógicas), se y é a negação de x denominamos y como complemento binário de x. Linearizando: y = x y = 1 x 36 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras
Aula de Hoje: mais modelagem! 1 Exemplo 1: Mistura de Minérios 2 Exemplo 2: Problemas de Custo Fixo 3 Exemplo 3: Transportes Asteróide 4 Exemplo 4: Transporte de Fábricas 5 Exemplo 5: Investimentos 6 Exercício: Viagem a Paris 37 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras
Exercício Exercício 1 O casal Uni & Sina decidiu passar a sua lua de mel em Paris. Para tanto, conseguiram uma folga de dez dias para desfrutar as belezas da Cidade Luz. Entretanto, estão com duas grandes dúvidas: 1 Qual passeios escolher dentre as várias possibilidades e estilos disponíveis. 2 Qual opção de financiamento para custear as despesas. Os passeios disponíveis são listados a seguir com seus estilos, dias de duração e custo. 38 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras
Exercício Passeios disponíveis Passeio Estilo Duração (dias) Custo (R$) A Histórico 4 R$ 1000.00 B Histórico 3 R$ 900.00 C Aventura 5 R$ 1500.00 D Aventura 1 R$ 800.00 E Romance 3 R$ 2000.00 F Romance 4 R$ 3000.00 G Infantil 2 R$ 500.00 39 / 40 Túlio Toffolo Otimização Linear eopções Inteira Aulade 09: Modelagem financiamento / Variáveis inteiras
E Romance 3 R$ 2000.00 Exercício F Romance 4 R$ 3000.00 G Infantil 2 R$ 500.00 Opções de financiamento Financeira Valor mínimo Valor máximo Taxa de juros I Histórico 4 R$ 1000.00 II Histórico 3 R$ 900.00 III Aventura 5 R$ 1500.00 40 / 40 Túlio Toffolo Otimização Linear e Inteira Aula 09: Modelagem / Variáveis inteiras
/ 12 Perguntas?