Você está na página 1de 54

MS428 - Programação Linear

MS428-Programação Linear

Professora: Kelly Cristina Poldi


kellypoldi@ime.unicamp.br

Departamento de Matemática Aplicada - DMA


Instituto de Matemática, Estatística e Computação Científica - IMECC
Universidade Estadual de Campinas - UNICAMP

agosto de 2015

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica

Modelagem matemática e resolução gráfica

O PROBLEMA DE PLANEJAMENTO DA PRODUÇÃO


mix de produção

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica

O Problema de Produção

Função objetivo – maximizar a margem de contribuição dos


produtos;
Primeiro conjunto de restrições – fabricação dos produtos
deve levar em conta a capacidade limitada dos recursos;
Segundo conjunto de restrições – quantidade de produtos
produzida não deve ser inferior à mínima e nem superior à
máxima preestabelecida.

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica

Exemplo 1 - Problema de Produção

Uma padaria produz dois tipos de produtos: pão (P1 ) e massa


de pizza (P2 ).
Quatro diferentes matérias primas são utilizadas para a
fabricação destes produto: farinha (M1 ), fermento (M2 ), ovos
(M3 ) e manteiga (M4 ), em que temos em estoque,
respectivamente, 60 unidades, 38 unidades, 18 unidades e 55
unidades.
Para produzir 1 kg de pão são necessárias 1 un. de farinha, 2
un. de fermento e 3 un. de manteiga.
Para produzir 1 kg de massa de pizza são necessárias 3 un. de
farinha, 1 un. de ovo e 1 un. de manteiga.

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica

Exemplo 1 - Problema de Produção


O pão e massa de pizza são vendidos ao custo de R$
22,00/Kg e R$20,00/Kg.
Deseja-se determinar a quantidade de cada produto a ser
fabricada que maximize as vendas e respeite as restições de
estoque.

Produto
Matéria prima P1 P2 Estoque
Farinha 1 3 60
Fermento 2 0 30
Ovos 0 1 18
Manteiga 3 1 55
Preço (R$/kg) 22,00 20,00

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica

Exemplo 1 - Problema de Produção

O que devemos decidir?


Decisões: Denominadas Variáveis de decisão.
Definindo
x1 : quantidade produzida de pão (P1 ) em kg.
x2 : quantidade produzida de pizza (P2 ) em kg.

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica

Modelagem do Exemplo 1 - Problema de Produção

Modelo Matemático:

max f (x1 , x2 ) = 22x1 + 20x2

sujeito a:

1x1 + 3x2 ≤ 60
2x1 + 0x2 ≤ 30
0x1 + 1x2 ≤ 18
3x1 + 1x2 ≤ 55
x1 ≥ 0
x2 ≥ 0

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica

Exemplo 1 - Problema de Produção

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica

Exemplo 1 - Problema de Produção

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica

Exemplo 1 - Problema de Produção

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica

Exemplo 1 - Problema de Produção

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica

Exemplo 1 - Problema de Produção

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica

Exemplo 1 - Problema de Produção

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica

Exemplo 1 - Problema de Produção

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica

Exemplo 1 - Problema de Produção

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica

Exemplo 1 - Problema de Produção

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica

Exemplo 2 - Produção de geladeiras

Empresa precisa decidir quais modelos de geladeira instalar em


sua nova planta;
Dois possíveis modelos: luxo e básico.
No máximo, 1500 unidades do modelo luxo e 6000 unidades
do modelo básico podem ser vendidas por mês.
Empresa contratou 25000 homens-hora de trabalho por mês;
Os modelos luxos precisam de 10 homens-hora de trabalho
para serem produzidos e os modelos básicos, 8 homens-hora.
A capacidade da linha de montagem é de 4500 geladeiras por
mês, pois as geladeiras dividem a mesma linha;
O lucro unitário do modelo luxo é $100, 00 por mês, enquanto
o modelo básico lucra $50, 00 durante o mesmo período.
MS428 - Programação Linear
MS428 - Programação Linear
Modelagem matemática e resolução gráfica

Exemplo 2 - Produção de geladeiras

Objetivo: determinar quanto produzir de cada geladeira, de


modo a satisfazer todas as restrições e maximizar o lucro da
empresa.

Variáveis de decisão:

x1 : quantidade de geladeiras do modelo luxo a ser produzida por


mês.
x2 : quantidade de geladeiras do modelo básico a ser produzida por
mês.

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica

Modelo Matemático

Modelo Matemático:

max f (x1 , x2 ) = 100x1 + 50x2

sujeito a:

10x1 + 8x2 ≤ 25000


x1 + x2 ≤ 4500
0 ≤ x1 ≤ 1500
0 ≤ x2 ≤ 6000.

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica

Exemplo 2 - Problema de Produção de Geladeiras

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica

Exemplo 2 - Problema de Produção de Geladeiras

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica

Exemplo 2 - Problema de Produção de Geladeiras

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica

Exemplo 2 - Problema de Produção de Geladeiras

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica

Exemplo 2 - Problema de Produção de Geladeiras

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica

Exemplo 2 - Problema de Produção de Geladeiras

MS428 - Programação Linear


MS428 - Programação Linear
Programação Linear - Nomenclatura

Nomenclatura

Definições: Hiperplano e semi-espaço


Seja a ∈ Rn um vetor não-nulo e b ∈ R um escalar.
O conjunto {x ∈ Rn |at x = b} é chamado de hiperplano.
O conjunto {x ∈ Rn |at x ≥ b} é chamado de semi-espaço.

Obs:
A definição de semi-espaço inclui o caso ’≤’.

MS428 - Programação Linear


MS428 - Programação Linear
Programação Linear - Nomenclatura

Nomenclatura

Exemplo: Hiperplano x1 + x2 = 7

MS428 - Programação Linear


MS428 - Programação Linear
Programação Linear - Nomenclatura

Nomenclatura

Exemplo: Semi-espaço x1 + x2 ≤ 7

MS428 - Programação Linear


MS428 - Programação Linear
Programação Linear - Nomenclatura

Nomenclatura
Definição: Poliedro e politopo
Poliedro é todo conjunto que pode ser descrito como uma
interseção de hiperplanos e/ou semi-espaços. Assim, um
poliedro pode ser escrito na forma {x ∈ Rn |Ax = b, x ≥ 0},
sendo A uma matriz m × n e b ∈ Rm .

Um politopo S é um poliedro limitado, i.e., existe uma


constante K > 0 tal que |xi | ≤ K , i = 1, . . . , n, para todo
x ∈ S.
MS428 - Programação Linear
MS428 - Programação Linear
Programação Linear - Nomenclatura

Nomenclatura

(a) Um hiperplano e dois (b) O poliedro


semi-espaços. {x|ati x ≥ bi , i = 1, . . . , 5} é a
interseção dos 5 semi-espaços.

Note que cada vetor ai é perpendicular ao hiperplano {x|ati x = bi }.


MS428 - Programação Linear
MS428 - Programação Linear
Programação Linear - Nomenclatura

Nomenclatura
Definição: Conjunto convexo
Um conjunto S ∈ Rn é convexo se para quaisquer x , y ∈ S e
qualquer λ ∈ [0, 1] tivermos que λx + (1 − λ)y ∈ S.

MS428 - Programação Linear


MS428 - Programação Linear
Programação Linear - Nomenclatura

Nomenclatura
Definição: Conjunto convexo
Um conjunto S ∈ Rn é convexo se para quaisquer x , y ∈ S e
qualquer λ ∈ [0, 1] tivermos que λx + (1 − λ)y ∈ S.

Note que, como λ ∈ [0, 1], então λx + (1 − λ)y é a média ponderada dos
vetores x e y e portanto pertence ao segmento de reta que une x e y . Assim,
um conjunto é convexo se o segmento que une quaisquer dois de seus
elementos está contido no conjunto.
MS428 - Programação Linear
MS428 - Programação Linear
Programação Linear - Nomenclatura

Nomenclatura

Definição: Combinação convexa e envoltório convexo

Sejam os vetores x 1 , . . . , x k ∈ Rn e os escalares


λ1 , . . . , λk ≥ 0 tais que λ1 + . . . + λk = 1. Temos:
(a) O vetor y = λ1 x 1 + . . . + λk x k é chamado combinação
convexa dos vetores x 1 , . . . , x k .
(b) O envoltório convexo dos vetores x 1 , . . . , x k é o conjunto de
todas as combinações convexas destes vetores.

MS428 - Programação Linear


MS428 - Programação Linear
Programação Linear - Nomenclatura

Nomenclatura

(a) Combinação convexa. (b) Envoltório convexo dos sete


pontos em R2 .

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica

Modelagem matemática e resolução gráfica

O PROBLEMA DA MISTURA

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica

Problema da mistura

Materiais disponíveis são combinados para gerar novos


produtos com características convenientes;
Um dos primeiros problemas de otimização linear
implementados com sucesso na prática.

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica
Problema da mistura - Ração

Problema da mistura - Ração

Queremos saber quais as quantidades ideais de cada


ingrediente para fazer uma quantidade de ração, com as
necessidades nutricionais atendidas e o custo total dos
ingredientes seja o menor possível.

São conhecidos os ingredientes e seus custos:


Milho (A1 ): R$ 65,00 /Kg
Farinha de ossos (A2 ): R$ 30,00 /Kg

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica
Problema da mistura - Ração

Problema da mistura - Ração

Para fazer uma certa quantidade de ração (por exemplo, para


aves) é necessário uma certa quantidade nutrientes: vitamina
A (Va ), vitamina B (Vb ) e proteína (Vc ).

Os ingredientes apresentam esses nutrientes em determinadas


unidades (un):
A1 - 2 un. de Va , 3 un. de Vb e 1 un. de Vc ;
A2 - 3 un. de Va , 2 un. de Vb .

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica
Problema da mistura - Ração

Problema da mistura - Ração

Deseja-se prepara uma ração que contenha no mínimo 7


unidades de Va , 9 unidades de Vb e 1 unidade de Vc .
Determinar a quantidade dos alimentos necessárias para
satisfazer a necessidades da ração.

Ingredientes Qtde
Nutrientes A1 A2 Mínima
Vitamina A 2 3 7
Vitamina B 3 2 9
Proteína 1 0 1
Custos (R$/kg) 65 30

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica
Problema da mistura - Ração

Problema da mistura - Pergunta-se

Como misturar (as quantidades) dos ingredientes para


produzir a ração de menor custo possível?
A mistura atende as necessidades de nutrientes?

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica
Problema da mistura - Ração

Problema da mistura - O que decidir?

Quantidades dos ingredientes presentes na mistura?


Decisões: Variáveis de decisão.
Definindo
x1 : quantidade de ingrediente do tipo 1 (A1 ) presente na
mistura;
x2 : quantidade de ingrediente do tipo 2 (A2 ) presente na
mistura.

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica
Problema da mistura - Ração

Problema da mistura - Decidir para que?

Custo total é dado pela uma função objetivo:


f (x1 , x2 ) = 65x1 + 30x2 .

Devemos determinar x1 e x2 tais que f (x1 , x2 ) seja o menor


possível:

min f (x1 , x2 ) = 65x1 + 30x2

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica
Problema da mistura - Ração

Modelagem

Modelo Matemático:

min f (x1 , x2 ) = 65x1 + 30x2

sujeito a:

2x1 + 3x2 ≥ 7
3x1 + 2x2 ≥ 9
1x1 + 0x2 ≥ 1
x1 ≥ 0, x2 ≥ 0.

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica
Problema da mistura - Ração

Problema da mistura - Ração

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica
Problema da mistura - Ração

Problema da mistura - Ração

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica
Problema da mistura - Ração

Problema da mistura - Ração

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica
Problema da mistura - Ração

Problema da mistura - Ração

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica
Problema da mistura - Ração

Problema da mistura - Ração

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica
Problema da mistura - Ração

Problema da mistura - Ração

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica
Problema da mistura - Ração

Problema da mistura - Ração

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica
Problema da mistura - Ração

Problema da mistura - Ração

MS428 - Programação Linear


MS428 - Programação Linear
Modelagem matemática e resolução gráfica
Problema da mistura - Ração

Problema da mistura - Ração

MS428 - Programação Linear


MS428 - Programação Linear
Resolução Gráfica - Exercício

Exercício
Uma indústria produz tintas para exteriores e interiores e para tal
utiliza duas matérias-primas: M1 e M2. As informações sobre a
produção são dadas na tabela:
tinta tinta disponibilidade
exterior interior (ton)
M1 6 4 24
M2 1 2 6
lucro(ton) 5000 4000

A quantidade diária produzida de tinta para interiores não


ultrapassa a de tinta para exteriores em mais de 1t.
A quantidade diária máxima produzida de tinta para interiores
é 2t.
Formular o problema e resolver graficamente.
MS428 - Programação Linear
MS428 - Programação Linear
Referências Bibliográficas

Referências Bibliográficas

ARENALES, M.; ARMENTANO, V. A.; MORABITO, R.;


YANASSE, H. H. Pesquisa operacional. Rio de Janeiro: Campus,
2007.
BERTSIMAS, D.; TSITSIKLIS, J. N. Introduction to linear
optimization. Athena Scientific, 1997.
GOLDBARG, M.; LUNA, H. P. L. Otimização combinatória e
programação linear. Campus, 2000.
TAHA, H; Pesquisa operacional. Pearson Prentice Hall, 2008.

MS428 - Programação Linear

Você também pode gostar