Programação Linear - introdução
Pesquisa Operacional 1 Leonard Barreto
Programação Linear
• ROTEIRO
• Introdução à Programação Linear (PL) • Formulações de um PPL
• Soluções de um PPL
Programação Linear - Introdução
• Todo problema de Programação Linear (PPL) consiste dos seguintes elementos:
Variáveis de decisão: variáveis consideradas relevantes ao problema, passíveis de quantificação e disponíveis.
Função objetivo: é uma função, produto dos coeficientes pelas variáveis de decisão, que se deseja otimizar no problema. Restrições: elementos restritivos que todo problema possui.
Programação Linear - Introdução
• É um problema de programação matemática em que as funções-objetivo e de restrições são lineares.
• Constituem um tipo especial de modelos de otimização, devendo possuir as seguintes características:
proporcionalidade;
Não se considera economias de escala nem custos iniciais para
implantação de alternativa j (função objetivo); não negatividade; aditividade; separabilidade; (função objetivo);
Não existe interatividade entre as alternativas de atividades. Por exemplo, um preço de determinado produto não pode variar condicionado à compra de
outro produto.
As variáveis de decisão podem ser fracionadas, ou seja, qualquer variável
Programação Linear - Introdução
Podemos formular de uma forma geral o Problema de Programação Linear (PPL) das seguintes maneiras:
• Forma Padrão / Não-Padrão* • Forma Canônica
• Forma Algébrica ou Reduzida • Forma Matricial
Programação Linear – Formulações
Forma Padrão
Otimizar Z = Sujeito a: n nx
c
x
c
x
c
1 1+
2 2+
...
+
...
1 1 2 12 1 11x
+
a
x
+
+
a
nx
n≤
b
a
Função Objetivo de MAXIMIZAÇÃO, restrições do modelo são apresentadas na forma de
INEQUAÇÕES do tipo MENOR OU IGUAL ou constantes POSITIVAS. Onde:
,
,...,
0
...
...
2 1 2 2 1 1 2 2 2 22 1 21≥
≤
+
+
+
≤
+
+
+
n m n mn m m n nx
x
x
b
x
a
x
a
x
a
b
x
a
x
a
x
a
M
Programação Linear - Formulações
Forma Não Padrão
Otimizar Z = Sujeito a: n n
x
c
x
c
x
c
1 1+
2 2+
...
+
)
(
...
1 1 OU 2 12 1 11x
+
a
x
+
+
a
nx
n≥
b
=a
Função Objetivo de MINIMIZAÇÃO, restrições do modelo são apresentadas na forma de
EQUAÇÕES ou INEQUAÇÕES do tipo MAIOR OU IGUAL ou constantes
NEGATIVAS. Sujeito a: Onde:
,
,...,
0
)
(
...
)
(
...
)
(
...
2 1 OU 2 2 1 1 OU 2 2 2 22 1 21 OU 1 1 2 12 1 11≥
≥
+
+
+
≥
+
+
+
≥
+
+
+
= = = n m n mn m m n n n nx
x
x
b
x
a
x
a
x
a
b
x
a
x
a
x
a
b
x
a
x
a
x
a
M
Programação Linear - Formulações
FORMA REDUZIDA
∑
= n j j jx
c
1)
(
,...,
2
,
1
1=
≤
=
≥
∑
=ou
m
i
b
x
a
n j i j ij Otimizar Z = Sujeito a: 1 = jn
j
x
j≥
0
,
=
1
,
2
,...,
Programação Linear - Formulações
Onde
n é o número de variáveis do problema;
m é o número de restrições do problema;
i é o índice de uma determinada restrição
j é o índice de uma determinada variável;
j é o índice de uma determinada variável;
c
jé o coeficiente (constante) da variável x
jda
função-objetivo;
a
ijé o coeficiente (constante) da variável x
ida j-ésima
Programação Linear - Formulações
Forma Matricial
x
c
T.
b
x
A ≤
Otimizar Z = Sujeito a:0
≥
x
Onde:
x é o vetor coluna composto
das variáveis x
1, x
2,...,x
n;
A é uma matriz m x n,
composta pelos elementos a
11,
a ,...,a ;
0
≥
x
11a
12,...,a
mn;
b é um vetor coluna 1 x m
composto por b
1, b
2,...,b
m;
c é um vetor coluna n x 1
composto por c
1, c
2,...,c
ne c
To
vetor linha.
Programação Linear - Soluções
Solução viável: uma solução em que todas as
restrições são satisfeitas. O gráfico abaixo ilustra a
região viável de um determinado problema.
Programação Linear - Soluções
Solução ótima: uma solução viável que possui o valor
mais favorável a função objetivo em toda a região
viável,
podendo ser única ou não (Múltiplas soluções
ótimas). O gráfico abaixo nos mostra um exemplo de
Programação Linear - Soluções
Soluções ilimitadas: a solução existe mas não
podemos determinar a solução ótima, pois não existe
limite ao crescimento da função objetivo.
Programação Linear - Soluções
Soluções inviáveis: problema no qual não existe um
Programação Linear – Modelando problemas
através de PL
O problema das ligas metálicas
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 Reais por tonelada da liga fabricada. Também em toneladas estão expressas as restrições de disponibilidade de matéria-prima. Formular o modelo de restrições de disponibilidade de matéria-prima. Formular o modelo de Programação Matemática. Liga especial de baixa resistência (*) Liga especial de alta resistência (*) Disponibilidade de matéria-prima Cobre 0,5 0,2 16 Ton Zinco 0,25 0,3 11 Ton Chumbo 0,25 0,5 15 Ton
Programação Linear – Modelando problemas
através de PL
Solução do problema da metalúrgica
Qual é o objetivo ?
“Uma metalúrgica deseja maximizar sua receita bruta”
Quais são as variáveis de decisão ?
xi -> quantidade em toneladas produzidas pela liga especial de baixa resistência (i=1) e especial de alta resistência (i=2)
Qual é a função-objetivo ?
Maximizar a receita bruta, ou seja, de acordo com preço de venda (por ton) de cada liga:
Programação Linear – Modelando problemas
através de PL
Solução do problema da metalúrgica
Quais são as restrições?
Disponibilidade dos materiais (cobre, zinco e chumbo) 0,5x1 +0,2x2 ≤ 16 (cobre)
Quais são as restrições de negatividade ?
0,5x1 +0,2x2 ≤ 16 (cobre) 0,25x1+0,3x2 ≤ 11 (zinco) 0,25x1+0,5x2 ≤ 15 (chumbo)
x1 ≥ 0, x
Programação Linear – Modelando problemas
através de PL
Solução do problema da metalúrgica
Problema completo: Maximizar z = 3.000x1+5.500x2 Sujeito a: Função-objetivo Sujeito a: 0,5x1 +0,2x2 ≤ 16 0,25x1+0,3x2 ≤ 11 0,25x1+0,5x2 ≤ 15 x1 ≥ 0, x 2 ≥ 0; Restrições Não negatividade
Programação Linear – Modelando problemas
através de PL
Solução do problema da metalúrgica
Problema completo:
Maximizar z = 3.000x1+5.500x2 Sujeito a:
Quais são os valores de:
n = ? m =? Sujeito a: 0,5x1 +0,2x2 ≤ 16 0,25x1+0,3x2 ≤ 11 0,25x1+0,5x2 ≤ 15 x1 ≥ 0, x 2 ≥ 0; m =? i = ? j = ? cj = ?
Programação Linear – Modelando problemas
através de PL
Solução do problema da metalúrgica
2
1
x
x
x =
500
.
5
000
.
3
=
Tc
15
11
16
=
b
5
,
0
25
,
0
3
,
0
25
,
0
2
,
0
5
,
0
=
A
Programação Linear – Modelando problemas
através de PL
Problema da dieta
Deseja-se determinar, em uma dieta de redução
calórica, as quantidades de certos alimentos que deverão
ser ingeridos diariamente, de modo que determinados
requisitos nutricionais sejam satisfeitos a custo mínimo.
Tal dieta está restrita a leite desnatado, carne magra de
Tal dieta está restrita a leite desnatado, carne magra de
boi, carne de peixe e uma salada. 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. A tabela 2 resume a quantidade de cada vitamina
em disponibilidade nos alimentos e a sua necessidade
diária para a boa saúde de uma pessoa.
Programação Linear – Modelando problemas
através de PL
Problema da dieta
Vitamina Leite (litro)
Carne (Kg) Peixe (Kg) Salada (100g)
Requisito nutricional mínimo
A 2 mg 2 mg 10 mg 20 mg 11 mg
Tabela 2. Restrições de nutrientes na dieta alimentar
A 2 mg 2 mg 10 mg 20 mg 11 mg
C 50 mg 20 mg 10 mg 30 mg 70 mg
D 80 mg 70 mg 10 mg 80 mg 250 mg
Programação Linear – Modelando problemas
através de PL
Solução do problema da dieta
Qual é o objetivo ?
“determinar...as quantidades de certos alimentos que deverão ser ingeridos...sejam satisfeitos a um custo mínimo.
Quais são as variáveis de decisão ? Quais são as variáveis de decisão ?
xi -> quantidade do alimento do tipo (l, c, p ou s)
Qual é a função-objetivo ?
Programação Linear – Modelando problemas
através de PL
Solução do problema da dieta
Quais são as restrições?
Disponibilidade dos materiais 2x1 + 2xc + 10xp + 20xs ≥ 11 50x1 + 20xc + 10xp + 30xs ≥ 70 50x1 + 20xc + 10xp + 30xs ≥ 70 80x1 + 70xc + 10xp + 80xs ≥ 250
Quais são as restrições de negatividade ?
xl ≥ 0, x
Programação Linear – Modelando problemas
através de PL
Solução do problema da dieta
Minimizar z = 2xl+4xc+1,5xp+xs Sujeito a: 2x1 + 2xc + 10xp + 20xs ≥ 11 2x1 + 2xc + 10xp + 20xs ≥ 11 50x1 + 20xc + 10xp + 30xs ≥ 70 80x1 + 70xc + 10xp + 80xs ≥ 250 xl ≥ 0, x c ≥ 0, xp ≥ 0, xs ≥ 0;
Programação Linear – Modelando problemas
através de PL
Representar a solução matricialmente
=
x
=
Tc
=
b
=
A
Programação Linear
•
REFERÊNCIAS
•
HILLIER, Frederick S.; LIEBERMAN, Gerald J. Introdução
à Pesquisa Operacional. 9 ed. McGraw-Hill, 2010.
•