2. Programação Linear Aula 001 Discussão Geral, Exemplos modelados e Exercícios Flávio Augusto de Freitas
3. O problema da tomada de decisão leva em conta variáveis e as condições que “prendem” estas variáveis, às quais denominaremos restrições. Há problemas que envolvem milhares de restrições e variáveis. Geralmente, uma decisão está ligada a certo objeto: minimizar os custos de produção, maximizar os lucros, melhorar as condições de vida de uma população etc. Discussão Geral
4. Programação Linear Resolução de problemas de maximização (como lucro) ou minimização (como custo) de algum objetivo, atendendo a um conjunto de restrições. Parte da modelagem do problema culmina na obtenção da solução ótima. As variáveis são reais (isto é, números não necessariamente inteiros). Discussão Geral
5. Um mercado oferece n alimentos diferentes. O custo por unidade de cada alimento j é cj unidades de uma moeda (por exemplo, o alimento 1 custa R$ 15,00 por tonelada). Sabemos também que os alimentos possuem produtos nutritivos, tais como vitaminas, calorias etc., que mantêm o homem com boa saúde. Exemplo 1
6. Consideremos m(vitamina A, calorias, por exemplo) produtos essenciais para a vida humana. Os nutricionistas fornecem a quantidade de um produto nutritivo i(m1 calorias, m2 vitaminas etc.) contida em uma unidade do alimento j(carne, arroz, feijão, por exemplo) e indicam também a quantidade mínima necessária de cada produto i para manter o homem em perfeitas condições físicas, durante certo período de tempo (uma semana, por exemplo). Exemplo 1
7. Seja bi(b1 calorias, por exemplo) para cada i essa quantidade mínima necessária. Considerando os dados expostos, desejamos uma dieta alimentar de menor custo total, que satisfaça às condições estabelecidas pelos nutricionistas para o período de tempo em questão, isto é, queremos saber a quantidade de cada alimento j(carne, arroz, feijão, por exemplo) que deve ser comprada, de tal maneira que o custo total da compra dos alimentos seja mínimo e atenda às condições de nutrição anteriormente mencionadas. Exemplo 1
8. Para equacionarmos esse problema, consideremos o conjunto de alimentos J = {1, 2, 3, ..., n}, que representa os n alimentos do mercado e o conjunto I = {1, 2, 3, ..., m}, que indica os m produtos nutritivos colhidos nos alimentos. Exemplo 1 - Solução I{ J {
9. Seja aij a quantidade do produto nutritivo i contida em uma unidade do alimento j. A variável xi indica a quantidade do alimento j que será adquirida. As variáveis xj são denominadas variáveis de decisão. Notemos que essas variáveis xj podem tomar apenas valores positivos ou nulos; uma quantidade negativa do alimento j a ser comprada não tem sentido nesse problema. Exemplo 1 - Solução I{ J {
10. Uma quantidade negativa faria sentido, caso pudéssemos, também, vender o alimento j ao mercado. Portanto, xj é maior ou igual a zero para, todo alimento j que pertence ao conjunto J, isto é, Exemplo 1 - Solução
11. Seja aij a quantidade do elemento i contida em uma unidade do elemento j: xj unidades conterão aijxj. Se comprarmos x1, x2, x3, ..., xn quantidades dos alimentos 1, 2, 3, ..., n, respectivamente, então, ai1x1 + ai2x2 + ai3x3 + ... + ainxn indicará a quantidade total do produto nutritivo i em todos os alimentos comprados. Exemplo 1 - Solução
12. Essa quantidade deve ser, no mínimo, igual a bi, para cada i que pertence ao conjunto I, isto é, Exemplo 1 - Solução
13. Supondo que haja valores de xj que satisfaçam e , passaremos a expressar o custo total na compra dos alimentos. Exemplo 1 - Solução
14. Para comprarmos xj unidades de j, pagaremos cjxj unidades de moeda e, portanto, o custo total na compra de todos os alimentos será c1x1 + c2x2 + ... + cnxn. Esse somatório será denominado z, isto é: Exemplo 1 - Solução
15. Podemos concluir que desejamos tomar uma decisão em relação às compras dos alimentos j, de forma que o custo total z seja mínimo e que os valores de xj satisfaçam a e . Formalmente, escrevemos: minimizar Exemplo 1 - Solução sujeito às seguintes restrições:
16. O problema designado por , e É denominado problema de programação linear (PPL) ou programa linear. A expressão É denominada função objetivo ou função econômica, e as expressões da forma e serão ditas restrições. Programação Linear
17. Por que o problema é dito linear? Porque só há funções lineares das variáveis xj na função objetivo e nas restrições. Quando houver funções não lineares de xj nas restrições e/ou na função objetivo, teremos o caso de um problema de programação não linear. De modo geral, o problema de otimizar uma função objetivo, obedecendo às restrições nas variáveis de decisão, é considerado problema de programação matemática. Alguém sabe?
18. Um agricultor deseja cultivar duas variedades de cereais, digamos A e B, em uma área restrita a um hectare, sendo que cada are cultivado pelo cereal A produz 8 sacas, enquanto cada are cultivado pelo cereal B produz 10 sacas. Para o plantio, cada are cultivado de cereal tipo A precisa de 3 homens-hora (Hh) e para o cereal tipo B, 2 homens-hora, sendo que se dispõe de até 240 Hh de trabalho para o cultivo. O custo da mão-de-obra é de 200 R$/Hh. A demanda máxima é limitada pelo mercado consumidor a 480 sacas de cereal tipo A, vendido a 150 R$/saca, e 800 sacas de cereal tipo B, vendido a 120 R$/saca. O agricultor deseja planejar sua produção de forma a maximizar o lucro. Exemplo Numérico a 2 Variáveis
19. Sejam x1 = quantidade de ares cultivados pelo cereal tipo A, e x2 = quantidade de ares cultivados pelo cereal tipo B. Passemos agora à formulação da função objetivo: maximizar o lucro. Lucro = Receitas – Custos Receita cereal A é igual a 8 sacas/are x x1 ares x 150 R$/saca = R$ 1200x1 Receita cereal B é igual a 10 sacas/are x x2 ares x 120 R$/saca = R$ 1200x2 Receitas = 1200x1 + 1200x2 Exemplo Numérico a 2 Variáveis - Modelagem
20. Os únicos custos considerados nesse modelo são os de pagamento de mão-de-obra. A mão-de-obra de cultivo do cereal A será 3 Hh/are x x1 ares = 3x1Hh. Esse trabalho é remunerado a 200 R$/Hh = R$ 600x1, para o cereal A. Para o cereal B, 2x2Hh x 200 R$/Hh = R$ 400x2. Assim, Custos = 600x1 + 400x2 Exemplo Numérico a 2 Variáveis - Modelagem
21. Tomando-se agora o lucro Z = Receitas – Custos, tem-se Z = 1200x1 + 1200x2 - (600x1 + 400x2), ou Z = 600x1 + 800x2. Agora serão formadas as restrições. Um hectare de terra disponível para o cultivo corresponde a 100 ares. Assim, a área cultivada pelo cereal tipo A mais a área cultivada pelo cereal tipo B devem ocupar parte ou toda essa área de 100 ares, o que se traduz por meio da restrição x1 + x2 ≤ 100. Exemplo Numérico a 2 Variáveis - Modelagem
22. Já o consumo de homens-hora mede-se por 3x1 para o cultivo do cereal tipo A, pois cada are cultivado por cereal A precisa de 3 homens-hora. O cultivo de cereal tipo B necessita ao todo de 2x2 homens-hora. O consumo total será a soma dessas quantias e não poderá exceder a 240. Assim, 3x1 + 2x2 ≤ 240. Exemplo Numérico a 2 Variáveis - Modelagem
23. A quantidade total de sacas do cereal tipo A é de 8x1, pois cada are produz 8 sacas. Essa quantidade produzida será não superior à demanda máxima do mercado consumidor, e assim 8x1 ≤ 480, ou, o que é o mesmo, x1 ≤ 60. Para a demanda máxima do cereal tipo B, teremos 10x2 ≤ 800, ou x2 ≤ 80. Além do mais, essas quantidades não podem assumir valores negativos, pois não há nenhum sentido nisso. Exemplo Numérico a 2 Variáveis - Modelagem
24. O modelo matemático completo para esse problema traduz-se por: Max Z = 600x1 + 800x2 sujeito a x1 + x2 ≤ 100 3x1 + 2x2 ≤ 240 x1 ≤ 60 x2 ≤ 80 x1 ≥ 0 x2 ≥ 0 Exemplo Numérico a 2 Variáveis - Modelagem
25. Uma empresa pode fabricar, com uma máquina trabalhando 45 horas por semana, três artigos diferentes: P1, P2 e P3. O artigo P1 dá um lucro líquido de R$ 4, o artigo P2 de R$ 12 e o artigo P3 de R$ 3. Os rendimentos da máquina são, respectivamente, para os três produtos, 50, 25 e 75 artigos por hora. Um estudo de mercado mostrou que as possibilidades de venda não ultrapassam 100 objetos P1, 500 objetos P2 e 1500 objetos P3, por semana. Pede-se que se reparta a capacidade de produção entre os três produtos, de maneira que se maximize o lucro líquido total (equacionar o problema sob forma de programação linear; não é preciso solucioná-lo). Modelagem – Exercício 1 fácil pequena dificuldade razoável dificuldade difícil desafio
26. Uma empresa pode fabricar, com uma máquina trabalhando 45 horas por semana, três artigos diferentes: P1, P2 e P3. O artigo P1 dá um lucro líquido de R$ 4, o artigo P2 de R$ 12 e o artigo P3 de R$ 3. Os rendimentos da máquina são, respectivamente, para os três produtos, 50, 25 e 75 artigos por hora. Um estudo de mercado mostrou que as possibilidades de venda não ultrapassam 100 objetos P1, 500 objetos P2 e 1500 objetos P3, por semana. Pede-se que se reparta a capacidade de produção entre os três produtos, de maneira que se maximize o lucro líquido total (equacionar o problema sob forma de programação linear; não é preciso solucioná-lo). Modelagem – Exercício 1 x1, x2, x3 = horas de máquina x1 + x2 + x3 ≤ 45 50x1 ≤ 100 ⇒ x1 ≤ 2 25x2 ≤ 500 ⇒ x2 ≤ 20 75x3 ≤ 1500 ⇒ x3 ≤ 20 Z = 50x1.4 + 25x2.12 + 75x3.3 Z = 200x1 + 300x2 + 225x3 Max Z = 200x1 + 300x2 + 225x3 Sujeito a x1 + x2 + x3 ≤ 45 x1 ≤ 2 x2 ≤ 20 x3 ≤ 20 x1 ≥ 0, x2 ≥ 0, x3 ≥ 0 Resposta: x1 = 2, x2 = x3 = 20
27. Uma metalúrgica deseja maximizar sua receita bruta. A Tabela 1 ilustra a proporção de cada material na mistura para a obtenção das ligas passíveis de fabricação. O preço está cotado em R$/tonelada da liga fabricada. Também em toneladas estão expressas as restrições de disponibilidade de matéria-prima. Formule o modelo de Programação Matemática. Modelagem – Exercício 2 Tabela 1: Restrições/custos
28. Uma metalúrgica deseja maximizar sua receita bruta. A Tabela 1 ilustra a proporção de cada material na mistura para a obtenção das ligas passíveis de fabricação. O preço está cotado em R$/tonelada da liga fabricada. Também em toneladas estão expressas as restrições de disponibilidade de matéria-prima. Formule o modelo de Programação Matemática. Modelagem – Exercício 2 x1, x2 = quantidade de toneladas produzidas das ligas Cobre: 0,5x1 + 0,2x2 ≤ 16 Zinco: 0,25x1 + 0,3x2 ≤ 11 Chumbo: 0,25x1 + 0,5x2 ≤ 15 Z = 3000x1 + 5000x2 Max Z = 3000x1 + 5000x2 Sujeito a 0,5x1 + 0,2x2 ≤ 16 0,25x1 + 0,3x2 ≤ 11 0,25x1 + 0,5x2 ≤ 15 x1 ≥ 0, x2 ≥ 0 Resposta: x1 = x2 = 20 Tabela 1: Restrições/custos