Você está na página 1de 22

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ÇÕES
A que condições
devemos obedecer?
EQUAÇÃO DA FUNÇÃO-
OBJETIVO
Como 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:


x1 : quantidade de gasolina verde a produzir
x2 : quantidade de gasolina azul a produzir
x3: quantidade de gasolina comum a produzir.
MODELO COMPLETO:
Encontrar valores para x1, x2 e x3 de 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 CIMENTO
PROPOSIÇÃO:
Processo simplificado de fabricação de cimento
DEPÓSITO DE
CLÍNQUER

  AF250
MOINHO DE  
  MOINHO
CRU SILO E
PRÉ- DE CP320
E SILO FORNO CIMENTO
ENSACA-
HOMOGE- DEIIRA
NEIZADOR DE FARINHA

GESSO
ADITIVO
BRITADOR
ESCÓRIA DE ALTO-FORNO

JAZIDA

FÓRMULA DE FABRICAÇÃO:
PRODUTOS: COMPONENTES CP 320 AF 250
       cimento portland 320: CP320 Cínquer 85% 50%

       cimento alto-forno 250: AF250 Escória de Alto Forno 7% 45%

  Gesso 3% 3%
Aditivo 5% 2%
DADOS COMPLEMENTARES:

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.
MODELO COMPLETO:

Achar x1, x2 e x3 de 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
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 m2 de 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
PASSO 6: Transformar a matriz, encontrando a nova 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 fazer

X3 = folga na utilização do Recurso A

X4 = folga na utilização do Recurso B

X5 = folga na utilização do Recurso C


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
Para X4 = 1 temos:
Coeficientes de X5
X3 = -2/3
com os sinais trocados
X2 = -1 Para X5 = 1 temos:
X1 = 2/3 X3 = 1/3
Z = -3 de X4
Coeficientes
X2 = 0
com os sinais trocados
X1 = -1/3
Z = -1
INTERPRETAÇÃO DOS COEFICIENTES DA F.O. TRANSFORMADA
Variáveis de folga
Produtos
relacionadas com recursos

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
CONTRIBUIÇÃO UTILIDADE MARGINAL
MARGINAL

AUMENTO DA FOLGA = REDUÇÃO DA DISPONIBILIDADE


Para X4 = 1

REDUÇÃO NA MARGEM DE CONTRIBUIÇÃO


Z = -3
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ável
NOTAÇÃO MATRICIAL DOS PROBLEMAS DE
PROGRAMAÇÃO LINEAR
Modelo Básico:
 

maximizar Z = c.x
sujeito a: [A,I].x = b
com x  0,

Exemplo: C=3 5 0 0 0
,
Maximizar Z = 3.x1 + 5.x2 + 0x3 + 0x4 + 0x5 x= x1 x2 x3 x4 x5
sujeito a: x1 + 1x3  4 ,
x2 + 1x4  6
b = 4 6 18
3.x1 + 2.x2 + 1x5  18 A= 1 0 I= 1 0 0
com x1 , x2 , x3 , x4 e x5  0 0 1 0 1 0
3 2 0 0 1
SIMBOLOGIA
 matriz B: conjunto dos vetores P que formam a base (ordem m x m)
j

 matriz N: conjunto dos vetores P que estão fora da base (ordem m x(n-m)).
j

 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 Z = cB. B-1.Po - (cB. B-1.N - cN) .xN

xB = B-1.Po - B-1.N.xN em termos dos elementos de xN :


n
Z = cB. B-1.Po -  (cB. B-1. Pj - cj) .xj
j m  1

Definindo: wj = cB. B-1.Po CRITÉRIO DE OTIMALIDADE:

temos: A) Se todos (wj - cj)  0


n
Z = cB. B-1.Po -j
m 1(wj - cj) .xj
SOLUÇÃO ÓTIMA

Para uma solução básica: B) (wj - cj) < 0


Z = cB. B-1.Po MAIOR VALOR NEGATIVO
INDICA VARIÁVEL QUE
já que todos os valores de xN = 0
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 xe a variável que entra na base,


temos:
xB = B-1.Po - (B-1. Pe).xe Variável que sai da base : xs
Chamando (xB)i o i-ésimo elemento de xB
corresponde ao menor dos
Para garantir a condição de viabilidade: quocientes:

(xB)i = (B-1.Po)i - (B-1. Pe)i.xe  0


(B1.Po)i
(B1.Po)i
ou seja: 0  xe  (B1.Pe)i
(B1.Pe)i

para todo i tal que (B-1. Pe)i > 0


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-1 por 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 Pe correspondente à 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: ( )
(xB)s  xB i
 min i 
ase  aie

onde aie são os elementos positivos da coluna e da matriz A.  α 


 1e 
 αse 
PASSO 5: Montar a matriz E: 
 α2e


E = (e1, e2, ..., es-1,  , es+1,...,em) com: = 

αse 

...
 
 1 
 αse 
 ... 
 
  αme 
PASSO 6: Transformar a base e achar a nova solução básica: 

α se 

 

(Ba-1)nova = E. Ba-1
(xB)novo = E. xB

Você também pode gostar