PROBLEMAS DE ALOCAÇÃO DE RECURSOS
PROGRAMAÇÃO LINEAR
CAPÍTULO 3 em:
ANDRADE, Eduardo L. de; INTRODUÇÃO À PESQUISA OPERACIONAL. 4a. ed. Rio de Janeiro: Editora LTC
CARACTERÍSTICAS GERAIS DOS PROBLEMAS:
OBJETIVO GERAL:
Encontrar a melhor distribuição possível dos recursos
escassos entre as diversas atividades ou tarefas, de forma a
atingir um valor ótimo do objetivo estabelecido
CARACTERÍSTICAS:
1. Existência de um OBJETIVO que pode ser explicitado
em termos das variáveis de decisão
2. Existência de RESTRIÇÕES relativas aos recursos, tanto
na disponibilidade quanto na forma de utilização.
MODELAGEM DE PROBLEMAS DE
PROGRAMAÇÃO LINEAR
DEFINIÇÃO DAS VARIÁVEIS
Que queremos saber?
RELAÇÕES MATEMÁTICAS DAS RESTRIÇÕESA que condições
devemos obedecer?
EQUAÇÃO DA FUNÇÃO-OBJETIVOComo o objetivo pode ser escrito
em termos das variáveis?
MODELO COMPLETO
EXEMPLO 1: PROBLEMA DE MISTURA
PROPOSIÇÃO:Uma refinaria produz três tipos de gasolina: verde, azul e comum. Cada tipo requer gasolina pura, octana e aditivo que são disponíveis nas quantidades de 9.600.000, 4.800.000 e 2.200.000 litros por semana, respectivamente. As especificações de cada tipo são:
• um litro de gasolina verde requer 0,22 litro de gasolina pura, 0,50 litro de octana e 0,28 litro de aditivo;
• um litro de gasolina azul requer 0,52 litro de gasolina pura, 0,34 litro de octana e 0,14 litro de aditivo;
• um litro de gasolina comum requer 0,74 litro de gasolina pura, 0,20 litro de octana e 0,06 litro de aditivo.
Como regra de produção, baseada em demanda de mercado, o planejamento da refinaria estipulou que a quantidade de gasolina comum deve ser no mínimo igual a 16 vezes a quantidade de gasolina verde e que a quantidade de gasolina azul seja no máximo igual a 600.000 litros por semana. A empresa sabe que cada litro de gasolina verde, azul e comum dá uma margem de contribuição para o lucro de $ 0,30, $ 0,25 e $ 0,20 respectivamente e seu objetivo é determinar o programa de produção que maximiza a margem total de contribuição para o lucro.
MODELO:
DEFINIÇÃO DAS VARIÁVEIS:
x
1:
quantidade de gasolina verde a produzirx
2:
quantidade de gasolina azul a produzirx
3:
quantidade de gasolina comum a produzir.MODELO COMPLETO:
Encontrar valores para x1, x2e x3de forma a:
MAXIMIZAR L = 0,30.x1+ 0,25.x2+ 0,20.x3 respeitando as restrições: 0,22.x1+ 0,52.x2+ 0,74.x3≤≤≤≤9.600.000 0,50.x1+ 0,34.x2+ 0,20.x3≤≤≤≤4.800.000 0,28.x1+ 0,14.x2+ 0,06.x3≤≤≤≤2.200.000 16.x1 - x3≤≤≤≤0 x2 ≤≤≤≤600.000 x1 ≥≥≥≥0 x2 ≥≥≥≥0 x3 ≥≥≥≥0
EXEMPLO 2:
PROGRAMAÇÃO DA PRODUÇÃO DE CIMENTOPROPOSIÇÃO:
MOINHO DE CIMENTO SILO E
ENSACA-DEIIRA PRÉ- HOMOGE-NEIZADOR MOINHO DE CRU E SILO DE FARINHA FORNO DEPÓSITO DE CLÍNQUER AF250 CP320 GESSO ADITIVO ESCÓRIA DE ALTO-FORNO BRITADOR JAZIDA
Processo simplificado de fabricação de cimento
PRODUTOS: • •• • cimento portland 320: CP320 • ••
• cimento alto-forno 250: AF250
FÓRMULA DE FABRICAÇÃO:
COMPONENTES CP 320 AF 250 Cínquer 85% 50% Escória de Alto Forno 7% 45% Gesso 3% 3% Aditivo 5% 2%
LIMITAÇÕES:
Produção de clínquer: 1.100.000 t/ano
Produção dos dois tipo de cimento: 1.100.000 t/ano
Venda de clínquer a outros fabricantes de cimento: máximo de 200.000 t/ano
Compra de escória de usinas siderúrgicas: máximo de 180.000 t/ano
Compra de gesso e aditivo (cada um): máximo de 50.000t/ano.
CONTRIBUIÇÕES MARGINAIS E PREÇOS:
contribuição marginal do CP320: $ 41,00/t
contribuição marginal do AF250: $ 37,80/t
contribuição marginal do clínquer: $ 34,40/t
preço da escória de siderúrgica: $ 22,10/t
preço do gesso: $ 34,20/t
preço do aditivo: $ 1,90/t.
A contribuição marginal é calculada como a receita líquida menos os custos fixos e variáveis, exceto escória, gesso e aditivo.
O OBJETIVO DA EMPRESA É CALCULAR A PRODUÇÃO TOTAL ANUAL QUE MAXIMIZA O LUCRO TOTAL.
DADOS COMPLEMENTARES
:
Achar x1, x2e x3de forma a: MAXIMIZAR L = 38,33.x1+ 26,79.x2+ 34,40.x3 sujeito a: x1+ x2 ≤≤≤≤1.100.000 x3 ≤≤≤≤ 200.000 0,85.x1+ 0,50.x2+ x3 ≤≤≤≤1.100.000 0,07.x1+ 0,45.x2 ≤≤≤≤ 180.000 0,03.x1+ 0,03.x2 ≤≤≤≤ 50.000 0,05.x1+ 0,02.x2 ≤≤≤≤ 50.000 x1 ≥≥≥≥ 0 x2 ≥≥≥≥ 0 x3 ≥≥≥≥ 0 MODELO COMPLETO:CONCEITOS BÁSICOS DO MÉTODO SIMPLEX
PROBLEMA EXEMPLO:
Uma marcenaria produz: MESA e ARMÁRIO
Usa dois recursos: MADEIRA com disponibilidade igual a 12 m2
MÃO-DE-OBRA com disponibilidade igual a 8 H.h 1 MESA gasta: 2 m2de madeira e 2 H.h mão-de-obra
1 ARMÁRIO gasta: 3 m2 de madeira e 1 H.h de mão-de-obra
MARGENS UNITÁRIAS: Mesa = $ 4 Armário = $ 1
OBJETIVO: Calcular quanto produzir de cada produto para maximizar a margem de contribuição total
MODELO COMPLETO:
MAXIMIZAR L = 4.x1 + 1.x2
LUCRO DA MESA LUCRO DO ARMÁRIO
sujeito a: 2.x1+ 3.x2 ≤≤≤≤ 12
UTILIZAÇÃO DE MADEIRA DISPONIBILIDADE
2.x1+ 3.x2 ≤≤≤≤ 8
UTILIZAÇÃO DE MÃO-DE-OBRA DISPONIBILIDADE
com x1 e x2 ≥≥ 0≥≥
COLOCAÇÃO DAS VARIÁVEIS DE FOLGA MAXIMIZAR L = 4.x1 + 1.x2
sujeito a: 2.x1+ 3.x2 + x3 ≤≤≤≤ 12
UTILIZAÇÃO FOLGA DISPONIBILIDADE
2.x1+ 3.x2 + x4 ≤≤≤≤ 8
UTILIZAÇÃO FOLGA DISPONIBILIDADE
com x1 , x2 , x3 e x4 ≥≥≥≥ 0
REGRA: Uma variável de folga para cada inequação
MÉTODO SIMPLEX
PASSO 1: Introdução das variáveis de folga
PASSO 2: Montagem do quadro de coeficientes, incluindo a função-objetivo com os sinais trocados
PASSO 3: Criação da solução básica inicial, geralmente atribuindo valor 0 às variáveis originais
PASSO 4: Variável que entra na base:
A) Aquela que tem o maior valor negativo na linha da função-objetivo transformada
B) Quando não houver mais coeficiente negativo na linha da função-objetivo, a solução encontrada é ótima PASSO 5: Variável que sai da base:
A) Dividir os termos independentes pelos respectivos coeficientes positivos da variável que entra
B) O menor quociente indica, pela equação onde ocorreu, a variável que deve sair da base
INTERPRETAÇÃO ECONÔMICA DOS COEFICIENTES DO QUADRO DO SIMPLEX Modelo: Maximizar Z = 3.X1+ 5. X2
+
0.
X3 + 0. X4+ 0. X5 sujeito a 1.X1+
1.
X3 = 4 (Recurso A) 5. X2 + 0. X4 = 6 (Recurso B) 3.X1+ 2. X2 + 0. X5 = 18 (Recurso C) com X1, X2,
X3 , X4, X5≥≥≥≥ 0 Definições:
X1
=
quantidade de Produto 1 a fazer X2 = quantidade de Produto 2 a fazerX3 = folga na utilização do Recurso A X4 = folga na utilização do Recurso B X5 = folga na utilização do Recurso C
Para ∆∆∆∆X4 = 1 temos: ∆ ∆ ∆ ∆X3 = -2/3 ∆ ∆ ∆ ∆X2 = -1 ∆ ∆ ∆ ∆X1 = 2/3 ∆ ∆ ∆ ∆Z = -3 QUADRO FINAL BASE X1 X2 X3 X4 X5
b
X3 0 0 1 2/3 -1/3 2 X2 0 1 0 1 0 6 X1 1 0 0 - 2/3 1/3 2 Z 0 0 0 3 1 36 Coeficientes deX4 com os sinais trocadosPara ∆∆∆X∆ 5 = 1 temos: ∆ ∆∆ ∆X3 = 1/3 ∆ ∆∆ ∆X2 = 0 ∆ ∆∆ ∆X1 = -1/3 ∆ ∆∆ ∆Z = -1 Coeficientes deX5 com os sinais trocados
Para ∆∆∆X∆ 4 = 1 ∆
∆∆ ∆Z = -3
INTERPRETAÇÃO DOS COEFICIENTES DA F.O. TRANSFORMADA
BASE X1 X2 X3 X4 X5
b
X3 0 0 1 2/3 -1/3 2 X2 0 1 0 1 0 6X1 1 0 0 - 2/3 1/3 2 Z 0 0 0 3 1 36
Produtos Variáveis de folga relacionadas com recursos
AUMENTO DA FOLGA = REDUÇÃO DA DISPONIBILIDADE
REDUÇÃO NA MARGEM DE CONTRIBUIÇÃO
UTILIDADE MARGINAL CONTRIBUIÇÃO
MARGINAL
MÉTODO DAS DUAS FASES
PASSO 1: Introduzir variáveis de folga para restrições do tipo (≤≤≤≤) e de
excesso para restrições do tipo (≥≥≥)≥
PASSO 2: Introduzir variáveis artificiais para todas as restrições do tipo (≥≥≥) ≥
ou (=)
PASSO 3: Criar uma nova função-objetivo da seguinte forma:
A) Para todas as variáveis reais e de folga, o coeficiente da função artificial será a soma dos coeficientes destas variáveis:
dj= -(a1j+ a2j+ ...+ amj)
B) Zero para as variáveis artificiais
C) O valor inicial da função-objetivo artificial é a soma dos termos independentes das restrições
PASSO 4: Monta-se o quadro com a função artificial na última linha PASSO 5: Aplica-se o Método Simplex usando a função artificial
como função-objetivo. Na solução ótima podemos ter: A) F.0. Artificial = 0: foi encontrada a solução viável inicial B) F.O Artificial
≠
≠
≠
≠
0: o problema não tem solução viávelNOTAÇÃO MATRICIAL DOS PROBLEMAS DE
PROGRAMAÇÃO LINEAR
Modelo Básico: maximizar Z =c.x
sujeito a:[A,I].x = b
comx
≥ 0,Exemplo:
Maximizar Z = 3.x1+ 5.x2 + 0x3+ 0x4+ 0x5 sujeito a: x1 + 1x3 ≤≤≤≤ 4 x2 + 1x4 ≤≤≤≤ 6 3.x1+ 2.x2 + 1x5 ≤≤≤≤ 18 com x1, x2 , x3, x4 e x5≥≥ 0≥≥C = 3 5 0 0 0
x =
x1 x2 x3 x4x5,
b = 4 6 18
,
A =
1 0 0 1 3 2I =
1 0 0 0 1 0 0 0 1 SIMBOLOGIAmatrizB:conjunto dos vetores Pjque formam a base (ordem m x m)
matriz N:conjunto dos vetores Pjque estão fora da base (ordem m x(n-m)). vetor de variáveis x = [xB,xN]' onde
xB:parte do vetor x correspondente à base B (variáveis básicas) xN:parte do vetor x correspondente à matriz N (variáveis fora da base: xN= 0). vetor de coeficientes da função-objetivo: c = [cB,cN] com definições análogas às
do vetor x.
FORMA MATRICIAL DO MODELO: Função-objetivo: Z = cB.xB+ cN.xN
Restrições: B.xB+ N.xN= P0 Dada a inversa B-1 as restrições se tornam:
xB= B-1.Po- B-1.N.xN
Como todos os elementos de xN são nulos, resulta: xB= B-1.Po
CRITÉRIO DE OTIMALIDADE Como: Z = cB.xB+ cN.xN xB= B-1.Po- B-1.N.xN Z = cB. B-1.P o- (cB. B-1.N - cN) .xN
em termos dos elementos dexN : Z = cB. B-1.P o-∑∑∑∑(cB. B-1. Pj- cj) .xj + ++ + = == = n 1 m j Definindo: wj= cB. B-1.Po temos: Z = cB. B-1.Po-∑∑∑∑+(wj- cj) .xj ++ + = = = = n 1 m j
Para uma solução básica: Z = cB. B-1.Po
já que todos os valores de xN = 0
CRITÉRIO DE OTIMALIDADE: A) Se todos (wj- cj) ≥≥≥≥0
SOLUÇÃO ÓTIMA B) (wj- cj) < 0
MAIOR VALOR NEGATIVO INDICA VARIÁVEL QUE ENTRA NA BASE
CRITÉRIO DE VIABILIDADE
Restrições do PPL: B.xB+ N.xN= Po
donde:xB= B-1.Po- B-1.N.xN
Chamando xea variável que entra na base,
temos:
xB= B-1.Po- (B-1. Pe).xe
Chamando (xB)io i-ésimo elemento de xB
Para garantir a condição de viabilidade: (xB)i= (B-1.Po)i- (B-1. Pe)i.xe ≥≥ 0≥≥ ou seja:
para todo i tal que (B-1. P e)i > 0 ) P . B ( ) P . B ( x e 1 i o 1 i e 0 − − − − − −− − ≤ ≤ ≤ ≤ ≤ ≤≤ ≤
Variável que sai da base : xs
corresponde ao menor dos quocientes: ) P . B ( ) P . B ( e 1 i o 1 i − −− − − − − −
MÉTODO SIMPLEX REVISADO:
PASSO 1: Cálculo da solução básica inicial
(xB)inicial= Ba-1.b com(xB)inicial= I 0 . b = b
0 1 0 0 PASSO 2: Teste de otimalidade e seleção da variável que entra na base:
A) Multiplicar a (m+1)-ésima linha da inversa da base Ba-1por todos os vetores Pj
não pertencente `base:
(cB.B-1 1). Pj = cB.B-1. Pj -cj = wj - cj com wj = cB.B-1. Pj
-cj
B) Todos os wj - cj ≥≥ 0 ≥≥ ? Sim: solução ótima.
Não: variável que entra:wj - cj < 0 mais negativo
PASSO 3: Atualizar o vetor Pecorrespondente à variável que deve entrar
na base:
Pe-1= Ba-1. Pe
PASSO 4: Determinar a variável que deve sair da base. A variável (xB)sé
dada por:
onde aiesão os elementos positivos da coluna e da matriz A.
= == = a ) x ( min a ) x ( ie B i i se B s
PASSO 5: Montar a matriz E:
E = (e1, e2, ..., es-1, γγγγ , es+1,...,em) com: γγγγ = − −− − − −− − − − − − α α α α α α α se me ...se 1 ... se e 2 se e 1
PASSO 6: Transformar a base e achar a nova solução básica: (Ba-1)nova = E. Ba-1