Introdução à Otimização Combinatória Modelagem Matemática I Professora: Rosiane de Freitas ([email protected]) Colaborador Bruno Raphael Cardoso Dias ([email protected]) Universidade Federal do Amazonas - UFAM Instituto de Computação - IComp Manaus-AM, Brasil Abril de 2015 Abril de 2015 Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 1 / 37 Roteiro Roteiro 1 Programação Linear Modelagem Matemática Problema da Mochila 0 − 1 Problema da Mochila Inteira Problema da Mochila Fracionária Exemplos de Modelagem de Problemas de PL Contı́nua 2 Referências Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 2 / 37 Programação Linear Modelagem Matemática Modelagem Matemática Na área de Pesquisa Operacional os problemas são representados por modelos matemáticos. Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 3 / 37 Programação Linear Modelagem Matemática Modelagem Matemática Na área de Pesquisa Operacional os problemas são representados por modelos matemáticos. Um modelo matemático é uma representação simplificada de uma situação da vida real, formalizado com sı́mbolos e expressões matemáticas. Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 3 / 37 Programação Linear Modelagem Matemática Modelagem Matemática Tipos de Modelos Matemáticos de Otimização: Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 4 / 37 Programação Linear Modelagem Matemática Modelagem Matemática Tipos de Modelos Matemáticos de Otimização: 1 Programação Linear Rosiane de Freitas (IComp/UFAM) Contı́nua Inteira Modelagem Matemática I Abril de 2015 4 / 37 Programação Linear Modelagem Matemática Modelagem Matemática Tipos de Modelos Matemáticos de Otimização: Contı́nua Inteira 1 Programação Linear 2 Programação Não-linear. Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 4 / 37 Programação Linear Modelagem Matemática Programação Linear Contı́nua Programação Linear Contı́nua Um caso particular dos modelos de programação linear em que as variáveis são contı́nuas e apresentam comportamento linear, tanto em relação às restrições como à função objetivo. Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 5 / 37 Programação Linear Modelagem Matemática Programação Linear Contı́nua Programação Linear Contı́nua Um caso particular dos modelos de programação linear em que as variáveis são contı́nuas e apresentam comportamento linear, tanto em relação às restrições como à função objetivo. Os problemas de Programação Linear determinam um planejamento ótimo das atividades, que representa a melhor solução entre todas as soluções possı́veis. Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 5 / 37 Programação Linear Modelagem Matemática Programação Linear Contı́nua Programação Linear Contı́nua Um caso particular dos modelos de programação linear em que as variáveis são contı́nuas e apresentam comportamento linear, tanto em relação às restrições como à função objetivo. Os problemas de Programação Linear determinam um planejamento ótimo das atividades, que representa a melhor solução entre todas as soluções possı́veis. Exemplos: Maximizar Sujeito a z =c ·x A · x = b x ∈ R+ Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 5 / 37 Programação Linear Modelagem Matemática Programação Linear Inteira Programação Linear Inteira Um modelo de otimização constitui um problema de Programação Inteira se qualquer variável não puder assumir valores contı́nuos, ficando condicionada a assumir valores discretos. Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 6 / 37 Programação Linear Modelagem Matemática Programação Linear Inteira Programação Linear Inteira Um modelo de otimização constitui um problema de Programação Inteira se qualquer variável não puder assumir valores contı́nuos, ficando condicionada a assumir valores discretos. Exemplos: Maximizar Sujeito a z =c ·x A · x = b x ∈ Z+ Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 6 / 37 Programação Linear Modelagem Matemática Programação Não-linear Programação Não-linear Um modelo de otimização constitui um problema de Programação Não-linear se exibir qualquer tipo de não-linearidade, seja na função objetivo ou em qualquer de suas restrições. Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 7 / 37 Programação Linear Modelagem Matemática Programação Não-linear Programação Não-linear Um modelo de otimização constitui um problema de Programação Não-linear se exibir qualquer tipo de não-linearidade, seja na função objetivo ou em qualquer de suas restrições. Exemplos: x n para n 6= 1 n2 2x 3 Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 7 / 37 Programação Linear Modelagem Matemática Problemas de Programação Matemática e Problemas de Otimização O que são problemas de Otimização? Os problemas de Otimização são problemas de maximização ou minimização de funções de variáveis, num determinado domı́nio, normalmente definido por um conjunto de restrições nas variáveis. Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 8 / 37 Programação Linear Modelagem Matemática Problemas de Programação Matemática e Problemas de Otimização O que são problemas de Otimização? Os problemas de Otimização são problemas de maximização ou minimização de funções de variáveis, num determinado domı́nio, normalmente definido por um conjunto de restrições nas variáveis. O que são problemas de programação matemática? Os problemas de Programação Matemática são uma classe particular de Problemas de Otimização, aplicados inicialmente nos campos da organização e da gestão econômica, em que o objetivo e as restrições são dadas como funções matemáticas e relações funcionais. Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 8 / 37 Programação Linear Modelagem Matemática Problemas de Programação Matemática e Problemas de Otimização O que são problemas de Otimização? Os problemas de Otimização são problemas de maximização ou minimização de funções de variáveis, num determinado domı́nio, normalmente definido por um conjunto de restrições nas variáveis. O que são problemas de programação matemática? Os problemas de Programação Matemática são uma classe particular de Problemas de Otimização, aplicados inicialmente nos campos da organização e da gestão econômica, em que o objetivo e as restrições são dadas como funções matemáticas e relações funcionais. A terminologia Programação Matemática tem sua origem na relação: Programação ⇔ planejamento de atividades. Matemática ⇔ o problema é representado por um modelo matemático composto de funções objetivo(s) e restrições dependentes das variáveis de decisão. Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 8 / 37 Programação Linear Problema da Mochila 0 − 1 Problema da Mochila 0 − 1 Problema da Mochila 0 − 1 (Knapsack Problem) Um excursionista planeja fazer uma viagem acampando. Há 5 itens que ele deseja levar consigo, mas estes, juntos, excedem o limite de 60 quilos que ele supõe ser capaz de carregar. Para otimizar o processo de seleção dos objetos, ele atribui valores, por ordem crescente de importância a cada um dos itens conforme a tabela a seguir. Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 9 / 37 Programação Linear Problema da Mochila 0 − 1 Problema da Mochila 0 − 1 Problema da Mochila 0 − 1 Knapsack Problem Supondo a existência de uma unidade de cada item, faça um modelo de programação inteira que maximize o valor total sem exceder as restrições de peso. Item Peso (kg) Valor Rosiane de Freitas (IComp/UFAM) 1 52 100 2 23 60 3 35 70 Modelagem Matemática I 4 15 15 5 7 8 Abril de 2015 10 / 37 Programação Linear Problema da Mochila 0 − 1 Problema da Mochila 0 − 1 Variáveis de decisão São incógnitas a serem determinadas pela solução do modelo. 1 Solução: Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 11 / 37 Programação Linear Problema da Mochila 0 − 1 Problema da Mochila 0 − 1 Variáveis de decisão São incógnitas a serem determinadas pela solução do modelo. 1 Solução: Escolha da variável de decisão: 1, se o item j for colocado na mochila xj = 0, caso contrário Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 11 / 37 Programação Linear Problema da Mochila 0 − 1 Problema da Mochila 0 − 1 Função Objetivo É uma função matemática que define a qualidade da solução em função das variáveis de decisão. Item Peso (kg) Valor 1 1 52 100 2 23 60 3 35 70 4 15 15 5 7 8 Solução: Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 12 / 37 Programação Linear Problema da Mochila 0 − 1 Problema da Mochila 0 − 1 Função Objetivo É uma função matemática que define a qualidade da solução em função das variáveis de decisão. Item Peso (kg) Valor 1 1 52 100 2 23 60 3 35 70 4 15 15 5 7 8 Solução: Elaboração da Função Objetivo: max z = 100x1 + 60x2 + 70x3 + 15x4 + 8x5 Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 12 / 37 Programação Linear Problema da Mochila 0 − 1 Problema da Mochila 0 − 1 Restrições Leva em conta as limitações fı́sicas do sistema, o modelo deve incluir restrições que limitam as variáveis de decisão a seus valores possı́veis (ou viáveis). Item Peso (kg) Valor 1 1 52 100 2 23 60 3 35 70 4 15 15 5 7 8 Solução: Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 13 / 37 Programação Linear Problema da Mochila 0 − 1 Problema da Mochila 0 − 1 Restrições Leva em conta as limitações fı́sicas do sistema, o modelo deve incluir restrições que limitam as variáveis de decisão a seus valores possı́veis (ou viáveis). Item Peso (kg) Valor 1 1 52 100 2 23 60 3 35 70 4 15 15 5 7 8 Solução: Restrições do Problema: Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 13 / 37 Programação Linear Problema da Mochila 0 − 1 Problema da Mochila 0 − 1 Restrições Leva em conta as limitações fı́sicas do sistema, o modelo deve incluir restrições que limitam as variáveis de decisão a seus valores possı́veis (ou viáveis). Item Peso (kg) Valor 1 1 52 100 2 23 60 3 35 70 4 15 15 5 7 8 Solução: Restrições do Problema: Limite de peso: 52x1 + 23x2 + 35x3 + 15x4 + 7x5 ≤ 60 (Pode-se carregar 60kg, no máximo). Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 13 / 37 Programação Linear Problema da Mochila 0 − 1 Problema da Mochila 0 − 1 Restrições Leva em conta as limitações fı́sicas do sistema, o modelo deve incluir restrições que limitam as variáveis de decisão a seus valores possı́veis (ou viáveis). Item Peso (kg) Valor 1 1 52 100 2 23 60 3 35 70 4 15 15 5 7 8 Solução: Restrições do Problema: Limite de peso: 52x1 + 23x2 + 35x3 + 15x4 + 7x5 ≤ 60 (Pode-se carregar 60kg, no máximo). Tipo de variáveis: x1 , x2 , x3 , x4 , x5 ∈ {0, 1} Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 13 / 37 Programação Linear Problema da Mochila 0 − 1 Problema da Mochila 0 − 1 Problema completo: Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 14 / 37 Programação Linear Problema da Mochila 0 − 1 Problema da Mochila 0 − 1 Problema completo: Maximizar Sujeito a Rosiane de Freitas (IComp/UFAM) z = 100x1 + 60x2 + 70x3 + 15x4 + 8x5 52x1 + 23x2 + 35x3 + 15x4 + 7x5 ≤ 60 x1 , x2 , x3 , x4 , x5 ∈ {0, 1} Modelagem Matemática I Abril de 2015 14 / 37 Programação Linear Problema da Mochila 0 − 1 Problema da Mochila 0 − 1 Problema completo: Maximizar Sujeito a z = 100x1 + 60x2 + 70x3 + 15x4 + 8x5 52x1 + 23x2 + 35x3 + 15x4 + 7x5 ≤ 60 x1 , x2 , x3 , x4 , x5 ∈ {0, 1} O problema da mochila pode ser formulado como: Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 14 / 37 Programação Linear Problema da Mochila 0 − 1 Problema da Mochila 0 − 1 Problema completo: Maximizar Sujeito a z = 100x1 + 60x2 + 70x3 + 15x4 + 8x5 52x1 + 23x2 + 35x3 + 15x4 + 7x5 ≤ 60 x1 , x2 , x3 , x4 , x5 ∈ {0, 1} O problema da mochila pode ser formulado como: P Maximizar Pj∈itens pj xj Sujeito a ≤ Cap j∈itens wj xj xj ∈ {0, 1}∀j ∈ itens Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 14 / 37 Programação Linear Problema da Mochila 0 − 1 Problema da Mochila 0 − 1 O problema da mochila pode ser formulado como: Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 15 / 37 Programação Linear Problema da Mochila 0 − 1 Problema da Mochila 0 − 1 O problema da mochila pode ser formulado como: P Maximizar Pj∈itens pj xj Sujeito a ≤ Cap j∈itens wj xj xj ∈ {0, 1}∀j ∈ itens Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 15 / 37 Programação Linear Problema da Mochila 0 − 1 Problema da Mochila 0 − 1 O problema da mochila pode ser formulado como: P Maximizar Pj∈itens pj xj Sujeito a ≤ Cap j∈itens wj xj xj ∈ {0, 1}∀j ∈ itens Considerando a notação a seguir: Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 15 / 37 Programação Linear Problema da Mochila 0 − 1 Problema da Mochila 0 − 1 O problema da mochila pode ser formulado como: P Maximizar Pj∈itens pj xj Sujeito a ≤ Cap j∈itens wj xj xj ∈ {0, 1}∀j ∈ itens Considerando a notação a seguir: itens: Todos os itens = {1, 2, 3, 4, 5}. Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 15 / 37 Programação Linear Problema da Mochila 0 − 1 Problema da Mochila 0 − 1 O problema da mochila pode ser formulado como: P Maximizar Pj∈itens pj xj Sujeito a ≤ Cap j∈itens wj xj xj ∈ {0, 1}∀j ∈ itens Considerando a notação a seguir: itens: Todos os itens = {1, 2, 3, 4, 5}. Cap: Capacidade da mochila. Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 15 / 37 Programação Linear Problema da Mochila 0 − 1 Problema da Mochila 0 − 1 O problema da mochila pode ser formulado como: P Maximizar Pj∈itens pj xj Sujeito a ≤ Cap j∈itens wj xj xj ∈ {0, 1}∀j ∈ itens Considerando a notação a seguir: itens: Todos os itens = {1, 2, 3, 4, 5}. Cap: Capacidade da mochila. wj : Peso relativo ao item j. Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 15 / 37 Programação Linear Problema da Mochila 0 − 1 Problema da Mochila 0 − 1 O problema da mochila pode ser formulado como: P Maximizar Pj∈itens pj xj Sujeito a ≤ Cap j∈itens wj xj xj ∈ {0, 1}∀j ∈ itens Considerando a notação a seguir: itens: Todos os itens = {1, 2, 3, 4, 5}. Cap: Capacidade da mochila. wj : Peso relativo ao item j. pj : Valor de retorno proporcionado pelo item j (prioridade). Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 15 / 37 Programação Linear Problema da Mochila Inteira Problema da Mochila Inteira Problema da Mochila Inteira Trata-se de uma extensão do problema anterior, na qual para cada item j existem uj unidades disponı́veis. A modelagem de programação inteira deste problema é: Maximizar Sujeito a P Pj∈itens pj xj ≤ j∈itens wj xj xj ≤ uj ∀j ∈ xj ∈ Z+ ∀j ∈ itens Cap itens em que a variável de decisão xj indica o número de unidades do item j alocados à mochila. Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 16 / 37 Programação Linear Problema da Mochila Fracionária Problema da Mochila Fracionária Problema da Mochila Fracionária (Knapsack Problem) Um ladrão entra em uma loja para roubar e encontra n itens, onde cada item i vale vi reais e wi quilos, sendo vi e wi inteiros. O ladrão deseja levar a carga mais valiosa possı́vel mas, no entanto, consegue carregar apenas 50 quilos na sua mochila. Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 17 / 37 Programação Linear Problema da Mochila Fracionária Problema da Mochila Fracionária Problema da Mochila Fracionária (Knapsack Problem) Se fosse no problema da mochila 0 − 1, as restrições seriam que o ladrão deveria levar os itens inteiros (isto é, xi assume apenas valor inteiro: 0 ou 1), e pode levar um item apenas uma vez. Para o problema da mochila fracionária, o ladrão pode levar frações de um item, e desta forma xi pode assumir valores tal que 0 ≤ xi ≤ 1. Seja os itens que o ladrão deseja levar com a seguinte configuração: Item 1 2 3 Valor (R$) 60 100 120 Rosiane de Freitas (IComp/UFAM) Peso (Kg) 10 20 30 Modelagem Matemática I Valor por Kg 6 5 4 Abril de 2015 18 / 37 Programação Linear Problema da Mochila Fracionária Problema da Mochila Fracionária (Knapsack Problem) Item 1 2 3 1 Valor (R$) 60 100 120 Peso (Kg) 10 20 30 Valor por Kg 6 5 4 Solução: Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 19 / 37 Programação Linear Problema da Mochila Fracionária Problema da Mochila Fracionária (Knapsack Problem) Item 1 2 3 1 Valor (R$) 60 100 120 Peso (Kg) 10 20 30 Valor por Kg 6 5 4 Solução: Escolha da variável de decisão: 0 ≤ xi ≤ 1 Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 19 / 37 Programação Linear Problema da Mochila Fracionária Problema da Mochila Fracionária (Knapsack Problem) Item 1 2 3 1 Valor (R$) 60 100 120 Peso (Kg) 10 20 30 Valor por Kg 6 5 4 Solução: Escolha da variável de decisão: 0 ≤ xi ≤ 1 Observação: Como candidatos temos os diferentes objetos e a solução é dada por um vetor {x1 , ..., xn } que indica que fração de cada objeto deve ser incluı́da. Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 19 / 37 Programação Linear Problema da Mochila Fracionária Problema da Mochila Fracionária (Knapsack Problem) Item 1 2 3 1 Valor (R$) 60 100 120 Peso (Kg) 10 20 30 Valor por Kg 6 5 4 Solução: Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 20 / 37 Programação Linear Problema da Mochila Fracionária Problema da Mochila Fracionária (Knapsack Problem) Item 1 2 3 1 Valor (R$) 60 100 120 Peso (Kg) 10 20 30 Valor por Kg 6 5 4 Solução: Elaboração da Função Objetivo: max z = 60x1 + 100x2 + 120x3 Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 20 / 37 Programação Linear Problema da Mochila Fracionária Problema da Mochila Fracionária (Knapsack Problem) Item 1 2 3 1 Valor (R$) 60 100 120 Peso (Kg) 10 20 30 Valor por Kg 6 5 4 Solução: Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 21 / 37 Programação Linear Problema da Mochila Fracionária Problema da Mochila Fracionária (Knapsack Problem) Item 1 2 3 1 Valor (R$) 60 100 120 Peso (Kg) 10 20 30 Valor por Kg 6 5 4 Solução: Restrições do Problema: Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 21 / 37 Programação Linear Problema da Mochila Fracionária Problema da Mochila Fracionária (Knapsack Problem) Item 1 2 3 1 Valor (R$) 60 100 120 Peso (Kg) 10 20 30 Valor por Kg 6 5 4 Solução: Restrições do Problema: Limite de peso: 10x1 + 20x2 + 30x3 ≤ 50 (Pode-se carregar 50kg, no máximo). Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 21 / 37 Programação Linear Problema da Mochila Fracionária Problema da Mochila Fracionária (Knapsack Problem) Item 1 2 3 1 Valor (R$) 60 100 120 Peso (Kg) 10 20 30 Valor por Kg 6 5 4 Solução: Restrições do Problema: Limite de peso: 10x1 + 20x2 + 30x3 ≤ 50 (Pode-se carregar 50kg, no máximo). Tipo de variáveis: 0 ≤ xi ≤ 1 Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 21 / 37 Programação Linear Problema da Mochila Fracionária Problema da Mochila Fracionária (Knapsack Problem) Problema completo: Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 22 / 37 Programação Linear Problema da Mochila Fracionária Problema da Mochila Fracionária (Knapsack Problem) Problema completo: Maximizar Sujeito a Rosiane de Freitas (IComp/UFAM) z = 60x1 + 100x2 + 120x3 10x1 + 20x2 + 30x3 ≤ 0 ≤ xi ≤ 1 Modelagem Matemática I 50 Abril de 2015 22 / 37 Programação Linear Problema da Mochila Fracionária Problema da Mochila Fracionária (Knapsack Problem) Problema completo: Maximizar Sujeito a z = 60x1 + 100x2 + 120x3 10x1 + 20x2 + 30x3 ≤ 0 ≤ xi ≤ 1 50 O problema da mochila fracionária pode ser formulado como: Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 22 / 37 Programação Linear Problema da Mochila Fracionária Problema da Mochila Fracionária (Knapsack Problem) Problema completo: Maximizar Sujeito a z = 60x1 + 100x2 + 120x3 10x1 + 20x2 + 30x3 ≤ 0 ≤ xi ≤ 1 50 O problema da mochila fracionária pode ser formulado como: P Maximizar Pni=1 vi xi n Sujeito a ≤ i=1 wi xi 0 ≤ xi ≤ 1 Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Cap Abril de 2015 22 / 37 Programação Linear Problema da Mochila Fracionária Problema da Mochila Fracionária (Knapsack Problem) O problema da mochila fracionária pode ser formulado como: Pn Maximizar Pni=1 vi xi Sujeito a ≤ Cap i=1 wi xi 0 ≤ xi ≤ 1 Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 23 / 37 Programação Linear Exemplos de Modelagem de Problemas de PL Contı́nua O Problema da Dieta Exercı́cio: O Problema da Dieta Suponha que para participar dos jogos universitários deste ano, todo aluno deve ’estar em forma’. Assim, assuma que você precise perder peso para atender a este requisito exigido pela comissão organizadora do evento. Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 24 / 37 Programação Linear Exemplos de Modelagem de Problemas de PL Contı́nua O Problema da Dieta Exercı́cio: O Problema da Dieta Suponha que para participar dos jogos universitários deste ano, todo aluno deve ’estar em forma’. Assim, assuma que você precise perder peso para atender a este requisito exigido pela comissão organizadora do evento. Mas, para isso, você precisa entrar em uma dieta de redução calórica, reduzindo a quantidade de certos alimentos que deverão ser ingeridos diariamente, de modo que determinados requisitos nutricionais sejam satisfeitos a custo mı́nimo. Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 24 / 37 Programação Linear Exemplos de Modelagem de Problemas de PL Contı́nua O Problema da Dieta Exercı́cio: O Problema da Dieta Suponha que para participar dos jogos universitários deste ano, todo aluno deve ’estar em forma’. Assim, assuma que você precise perder peso para atender a este requisito exigido pela comissão organizadora do evento. Mas, para isso, você precisa entrar em uma dieta de redução calórica, reduzindo a quantidade de certos alimentos que deverão ser ingeridos diariamente, de modo que determinados requisitos nutricionais sejam satisfeitos a custo mı́nimo. Suponha que, por motivos justificáveis, uma certa dieta alimentar esteja restrita a leite desnatado, carne magra de boi, carne de peixe e uma salada com uma composição bem conhecida. Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 24 / 37 Programação Linear Exemplos de Modelagem de Problemas de PL Contı́nua O Problema da Dieta Exercı́cio: O Problema da Dieta Sabendo-se ainda que os requisitos nutricionais serão expressos em termos de vitaminas A, C e D e controlados por suas quantidades mı́nimas (em miligramas), uma vez que são indispensáveis à preservação da saúde da pessoa que estará se submetendo à dieta. Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 25 / 37 Programação Linear Exemplos de Modelagem de Problemas de PL Contı́nua O Problema da Dieta Exercı́cio: O Problema da Dieta Sabendo-se ainda que os requisitos nutricionais serão expressos em termos de vitaminas A, C e D e controlados por suas quantidades mı́nimas (em miligramas), uma vez que são indispensáveis à preservação da saúde da pessoa que estará se submetendo à dieta. A Tabela a seguir resume a quantidade de cada vitamina em disponibilidade nos alimentos e a sua necessidade diária para a boa saúde de uma pessoa. Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 25 / 37 Programação Linear Exemplos de Modelagem de Problemas de PL Contı́nua O Problema da Dieta Restrições e custos do problema: Tabela : Restrições de nutrientes na dieta alimentar. Vitamina Leite (litro) Carne (kg) Peixe (kg) Salada (100g) A C D Custo 2mg 50mg 80mg 2 reais 2mg 20mg 70mg 4 reais 10mg 10mg 10mg 1,5 real 20mg 30mg 80mg 1 real Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Requisito nutricional mı́nimo 11mg 70mg 250mg Abril de 2015 26 / 37 Programação Linear Exemplos de Modelagem de Problemas de PL Contı́nua O Problema da Dieta 1 Vitamina Leite (litro) Carne (kg) Peixe (kg) Salada (100g) A C D Custo 2mg 50mg 80mg 2 reais 2mg 20mg 70mg 4 reais 10mg 10mg 10mg 1,5 real 20mg 30mg 80mg 1 real Requisito nutricional mı́nimo 11mg 70mg 250mg Solução: Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 27 / 37 Programação Linear Exemplos de Modelagem de Problemas de PL Contı́nua O Problema da Dieta 1 Vitamina Leite (litro) Carne (kg) Peixe (kg) Salada (100g) A C D Custo 2mg 50mg 80mg 2 reais 2mg 20mg 70mg 4 reais 10mg 10mg 10mg 1,5 real 20mg 30mg 80mg 1 real Requisito nutricional mı́nimo 11mg 70mg 250mg Solução: Escolha da variável de decisão: xi ≡ quantidade de alimento do tipo i=(l=leite, c-carne, p=peixe, s-salada) a ser utilizada na dieta escolhida. Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 27 / 37 Programação Linear Exemplos de Modelagem de Problemas de PL Contı́nua O Problema da Dieta 1 Vitamina Leite (litro) Carne (kg) Peixe (kg) Salada (100g) A C D Custo 2mg 50mg 80mg 2 reais 2mg 20mg 70mg 4 reais 10mg 10mg 10mg 1,5 real 20mg 30mg 80mg 1 real Requisito nutricional mı́nimo 11mg 70mg 250mg Solução: Escolha da variável de decisão: xi ≡ quantidade de alimento do tipo i=(l=leite, c-carne, p=peixe, s-salada) a ser utilizada na dieta escolhida. Elaboração da Função objetivo: z = Minimizar {f (x) = 2xl + 4xc + 1, 5xp + xs } Número total de unidades monetárias gastas com a dieta. Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 27 / 37 Programação Linear Exemplos de Modelagem de Problemas de PL Contı́nua O Problema da Dieta Vitamina A C D Custo 1 Leite (litro) 2mg 50mg 80mg 2 reais Carne (kg) 2mg 20mg 70mg 4 reais Peixe (kg) 10mg 10mg 10mg 1,5 real Salada (100g) 20mg 30mg 80mg 1 real Req. nutr. mı́nimo 11mg 70mg 250mg Solução: Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 28 / 37 Programação Linear Exemplos de Modelagem de Problemas de PL Contı́nua O Problema da Dieta Vitamina A C D Custo 1 Leite (litro) 2mg 50mg 80mg 2 reais Carne (kg) 2mg 20mg 70mg 4 reais Peixe (kg) 10mg 10mg 10mg 1,5 real Salada (100g) 20mg 30mg 80mg 1 real Req. nutr. mı́nimo 11mg 70mg 250mg Solução: Formulação das restrições tecnológicas: Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 28 / 37 Programação Linear Exemplos de Modelagem de Problemas de PL Contı́nua O Problema da Dieta Vitamina A C D Custo 1 Leite (litro) 2mg 50mg 80mg 2 reais Carne (kg) 2mg 20mg 70mg 4 reais Peixe (kg) 10mg 10mg 10mg 1,5 real Salada (100g) 20mg 30mg 80mg 1 real Req. nutr. mı́nimo 11mg 70mg 250mg Solução: Formulação das restrições tecnológicas: a) Restrição associada à demanda de vitamina A: 2xl + 2xc + 10xp + 20xs ≥ 11 Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 28 / 37 Programação Linear Exemplos de Modelagem de Problemas de PL Contı́nua O Problema da Dieta Vitamina A C D Custo 1 Leite (litro) 2mg 50mg 80mg 2 reais Carne (kg) 2mg 20mg 70mg 4 reais Peixe (kg) 10mg 10mg 10mg 1,5 real Salada (100g) 20mg 30mg 80mg 1 real Req. nutr. mı́nimo 11mg 70mg 250mg Solução: Formulação das restrições tecnológicas: a) Restrição associada à demanda de vitamina A: 2xl + 2xc + 10xp + 20xs ≥ 11 b) Restrição associada à demanda de vitamina C: 50xl + 20xc + 10xp + 30xs ≥ 70 Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 28 / 37 Programação Linear Exemplos de Modelagem de Problemas de PL Contı́nua O Problema da Dieta Vitamina A C D Custo 1 Leite (litro) 2mg 50mg 80mg 2 reais Carne (kg) 2mg 20mg 70mg 4 reais Peixe (kg) 10mg 10mg 10mg 1,5 real Salada (100g) 20mg 30mg 80mg 1 real Req. nutr. mı́nimo 11mg 70mg 250mg Solução: Formulação das restrições tecnológicas: a) Restrição associada à demanda de vitamina A: 2xl + 2xc + 10xp + 20xs ≥ 11 b) Restrição associada à demanda de vitamina C: 50xl + 20xc + 10xp + 30xs ≥ 70 c) Restrição associada à demanda de vitamina D: 80xl + 70xc + 10xp + 80xs ≥ 250 Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 28 / 37 Programação Linear Exemplos de Modelagem de Problemas de PL Contı́nua O Problema da Dieta 1 Solução: Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 29 / 37 Programação Linear Exemplos de Modelagem de Problemas de PL Contı́nua O Problema da Dieta 1 Solução: Restrições de não negatividade: xl ≥ 0, xc ≥ 0, xp ≥ 0, xs ≥ 0 Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 29 / 37 Programação Linear Exemplos de Modelagem de Problemas de PL Contı́nua O Problema da Dieta 1 Solução: Restrições de não negatividade: xl ≥ 0, xc ≥ 0, xp ≥ 0, xs ≥ 0 Chegando finalmente ao problema completo: Minimizar z = 2xl + 4xc + 1, 5xp + xs sujeito a: 2xl + 2xc + 10xp + 20xs ≥ 11 50xl + 20xc + 10xp + 30xs ≥ 70 80xl + 70xc + 10xp + 80xs ≥ 250 xl ≥ 0, xc ≥ 0, xp ≥ 0, xs ≥ 0 Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 29 / 37 Programação Linear Exemplos de Modelagem de Problemas de PL Contı́nua O Problema do Sı́tio Exercı́cio: O Problema do Sı́tio Um sitiante está planejando sua estratégia de plantio para o próximo ano. Por informações obtidas nos órgão governamentais, sabe-se que a culturas de trigo, arroz e milho serão as mais rentáveis na próxima safra. Por experiência, sabe que a produtividade de sua terra para as culturas desejadas é constante na tabela a seguir: Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 30 / 37 Programação Linear Exemplos de Modelagem de Problemas de PL Contı́nua O Problema do Sı́tio Restrições e custos do problema: Tabela : Restrições do problema do plantio. Cultura Produtividade em kg por m2 (experiência) Trigo Arroz Milho 0,2 0,3 0,4 Lucro por kg de Produção (informações do goverto) 10,8 centavos 4,2 entavos 2,03 centavos O Problema do Sı́tio (cont.) Por falta de um local de armazenamento próprio, a produção máxima, em toneladas, está limitada a 60. A área cultivável do sı́tio é de 200.000m2 . Para atender às demandas de seu próprio sı́tio, é imperativo que se plante 400m2 de trigo, 800m2 de arroz e 10.000m2 de milho. Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 31 / 37 Programação Linear Exemplos de Modelagem de Problemas de PL Contı́nua O Problema do Sı́tio 1 Cultura Produtividade em kg por m2 (experiência) Trigo Arroz Milho 0,2 0,3 0,4 Lucro por kg de Produção (informações do goverto) 10,8 centavos 4,2 entavos 2,03 centavos Solução: Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 32 / 37 Programação Linear Exemplos de Modelagem de Problemas de PL Contı́nua O Problema do Sı́tio 1 Cultura Produtividade em kg por m2 (experiência) Trigo Arroz Milho 0,2 0,3 0,4 Lucro por kg de Produção (informações do goverto) 10,8 centavos 4,2 entavos 2,03 centavos Solução: Escolha da variável de decisão: Neste exemplo as variáveis de decisão a serem utilizadas serão referentes a quantidade de quilos produzidos em cada área a ser plantada. xi ≡ área em m2 a ser plantada da cultura do tipo i=(T=trigo, A-arroz, M=Milho). Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 32 / 37 Programação Linear Exemplos de Modelagem de Problemas de PL Contı́nua O Problema do Sı́tio 1 Cultura Produtividade em kg por m2 (experiência) Trigo Arroz Milho 0,2 0,3 0,4 Lucro por kg de Produção (informações do goverto) 10,8 centavos 4,2 entavos 2,03 centavos Solução: Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 33 / 37 Programação Linear Exemplos de Modelagem de Problemas de PL Contı́nua O Problema do Sı́tio 1 Cultura Produtividade em kg por m2 (experiência) Trigo Arroz Milho 0,2 0,3 0,4 Lucro por kg de Produção (informações do goverto) 10,8 centavos 4,2 entavos 2,03 centavos Solução: Elaboração da Função objetivo: os coeficientes da função deverão ser calculados multiplicando-se a produtividade por quilo pelo lucro previsto para cada quilo. O resultado será a unidade monetária, no caso o centavo. z = Minimizar {f (x) = 2, 16xT + 1, 26xA + 0, 812xM }. Lucro em centavos. Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 33 / 37 Programação Linear Exemplos de Modelagem de Problemas de PL Contı́nua O Problema do Sı́tio O Problema do Sı́tio (cont.) Por falta de um local de armazenamento próprio, a produção máxima, em toneladas, está limitada a 60. A área cultivável do sı́tio é de 200.000m2 . Para atender às demandas de seu próprio sı́tio, é imperativo que se plante 400m2 de trigo, 800m2 de arroz e 10.000m2 de milho. 1 Solução: Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 34 / 37 Programação Linear Exemplos de Modelagem de Problemas de PL Contı́nua O Problema do Sı́tio O Problema do Sı́tio (cont.) Por falta de um local de armazenamento próprio, a produção máxima, em toneladas, está limitada a 60. A área cultivável do sı́tio é de 200.000m2 . Para atender às demandas de seu próprio sı́tio, é imperativo que se plante 400m2 de trigo, 800m2 de arroz e 10.000m2 de milho. 1 Solução: Formulação das restrições tecnológicas: a) Restrições associadas à demanda do sı́tio (em unidade de área - m2 ): xT ≥ 400 xA ≥ 800 xM ≥ 10.000 Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 34 / 37 Programação Linear Exemplos de Modelagem de Problemas de PL Contı́nua O Problema do Sı́tio O Problema do Sı́tio (cont.) Por falta de um local de armazenamento próprio, a produção máxima, em toneladas, está limitada a 60. A área cultivável do sı́tio é de 200.000m2 . Para atender às demandas de seu próprio sı́tio, é imperativo que se plante 400m2 de trigo, 800m2 de arroz e 10.000m2 de milho. 1 Solução: Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 35 / 37 Programação Linear Exemplos de Modelagem de Problemas de PL Contı́nua O Problema do Sı́tio O Problema do Sı́tio (cont.) Por falta de um local de armazenamento próprio, a produção máxima, em toneladas, está limitada a 60. A área cultivável do sı́tio é de 200.000m2 . Para atender às demandas de seu próprio sı́tio, é imperativo que se plante 400m2 de trigo, 800m2 de arroz e 10.000m2 de milho. 1 Solução: b) Restrição associada a área total disponı́vel: xT + xA + xM ≤ 200.000 Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 35 / 37 Programação Linear Exemplos de Modelagem de Problemas de PL Contı́nua O Problema do Sı́tio O Problema do Sı́tio (cont.) Por falta de um local de armazenamento próprio, a produção máxima, em toneladas, está limitada a 60. A área cultivável do sı́tio é de 200.000m2 . Para atender às demandas de seu próprio sı́tio, é imperativo que se plante 400m2 de trigo, 800m2 de arroz e 10.000m2 de milho. 1 Solução: b) Restrição associada a área total disponı́vel: xT + xA + xM ≤ 200.000 c) Restrição associada ao armazenamento (em quilos): Utilizam-se os coeficientes da produtividade por unidade de área obter um valor final em quilos: 0, 2xT + 0, 3xA + 0, 4xM ≤ 60.000 Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 35 / 37 Programação Linear Exemplos de Modelagem de Problemas de PL Contı́nua O Problema do Sı́tio 1 Solução: Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 36 / 37 Programação Linear Exemplos de Modelagem de Problemas de PL Contı́nua O Problema do Sı́tio 1 Solução: Restrições de não negatividade: xT ≥ 0, xA ≥ 0, xM ≥ 0 Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 36 / 37 Programação Linear Exemplos de Modelagem de Problemas de PL Contı́nua O Problema do Sı́tio 1 Solução: Restrições de não negatividade: xT ≥ 0, xA ≥ 0, xM ≥ 0 Chegando finalmente ao problema completo: Minimizar z = 2, 16xT + 1, 26xA + 0, 812xM sujeito a: xT ≥ 400 xA ≥ 800 xM ≥ 10.000 xT + xA + xM ≤ 200.000 0, 2xT + 0, 3xA + 0, 4xM ≤ 60.000 xT ≥ 0, xA ≥ 0, xM ≥ 0 Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 36 / 37 Referências Modelagem Matemática 1 Referências BREGALDA, Paulo F., OLIVEIRA, Antônio. A. F., BORNSTEIN, Cláudio T.. Introdução à Programação Linear, 3a Edição, Editora Campus, 1988. GOLDBARG, M. C. e LUNA, H. P.. Otimização Combinatória e Programação Linear, 2a Edição, Editora Campus, 2005. LAWLER, Eugene. Combinatorial Optimization: Networks and Matroids, 1a Edição, 1975. MACULAN, Nelson e FAMPA Marcia H. C.. Otimização Linear, 1a Edição, Editora UNB, 2006. Rosiane de Freitas (IComp/UFAM) Modelagem Matemática I Abril de 2015 37 / 37