Escolar Documentos
Profissional Documentos
Cultura Documentos
c
Copyright
2.000 por Mauricio Pereira dos Santos
30072007
Contedo
1 Introduo 1
1.1 Exemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Soluo grfica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4 Respostas dos exerccios da seo 1.3 . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.5 O modelo geral da Programao Linear . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.6 Variaes do Modelo Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.7 O que est implcito em qualquer modelo de P.Linear . . . . . . . . . . . . . . . . . 16
1.8 Exemplos de formulao de modelos de Programao Linear . . . . . . . . . . . . . . 18
1.9 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.10 Respostas dos exerccios da seo 1.9 . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2 O Mtodo Simplex 33
2.1 Definies bsicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.2 Um mtodo no muito eficiente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.3 Situaes que podem acontecer no Mtodo Simplex . . . . . . . . . . . . . . . . . . . 43
2.3.1 Empate na escolha da varivel entrante . . . . . . . . . . . . . . . . . . . . . 43
2.3.2 Empate na escolha da varivel sainte . . . . . . . . . . . . . . . . . . . . . . 44
2.3.3 No existncia de varivel sainte . . . . . . . . . . . . . . . . . . . . . . . . 46
2.3.4 Mltiplas (infinitas) solues timas . . . . . . . . . . . . . . . . . . . . . . . 46
2.3.5 Modelos de Minimizao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.3.6 Modelos com variveis irrestritas em sinal . . . . . . . . . . . . . . . . . . . 50
2.4 Outras formas de modelos - O Simplex de 2 fases . . . . . . . . . . . . . . . . . . . . 51
2.5 Novos algortimos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
2.6 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
2.7 Respostas dos exerccios da seo 2.6 . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.9 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.10 Respostas dos exerccios da seo 3.9 . . . . . . . . . . . . . . . . . . . . . . . . . . 88
1.1 Exemplo
Para entender melhor os conceitos da Programao Linear, vamos trabalhar com
um exemplo que servir de base para apresentarmos alguns dos aspectos relacio-
nados com os modelos de Programao Linear.
Uma empresa produz 2 produtos em uma de suas fbricas. Na fabricao dos 2
produtos, 3 insumos so crticos em termos de restringir o nmero de unidades dos
2 produtos que podem ser produzidas: as quantidades de matria prima (tipos A e
B) disponveis e a mo de obra disponvel para a produo dos 2 produtos.
Assim, o Departamento de Produo j sabe que, para o prximo ms, a fbrica
ter disponvel, para a fabricao dos 2 produtos, 4900 kilos da matria prima A e
4500 kilos da matria prima B.
2 Introduo
Cada unidade do produto tipo I, para ser produzida consome 70 kilos da matria
prima A e 90 kilos da matria prima B. Por sua vez, cada unidade do produto tipo
II para ser produzida, utiliza 70 kilos da matria prima tipo A e 50 kilos da matria
prima tipo B.
Como a produo dos 2 produtos utiliza processos diferentes, a mo de obra espe-
cializada e diferente para cada tipo de produto, ou seja no se pode utilizar a mo
de obra disponvel para a fabricao de um dos produtos para produzir o outro. As-
sim, para a produo do produto tipo I a empresa ter disponvel, no prximo ms,
80 homens-hora. J para o produto tipo II ter 180 homens-hora. Cada unidade
do produto tipo I, para ser produzida, utiliza 2 homens-hora enquanto que cada
unidade do produto tipo II utiliza 3 homens-hora.
Reduzindo do preo unitrio de venda todos os custos, chega-se a concluso de que
cada unidade do produto tipo I d um lucro de $20 e cada unidade do produto tipo
II d um lucro de $60.
Dada a grande procura, estima-se que todas as unidades a serem produzidas, dos
2 produtos, podero ser vendidas.
O objetivo da empresa obter o maior lucro possvel com a produo e a venda das
unidades dos produtos tipo I e II.
Queremos resolver este problema com um modelo de Programao Linear.
Mas antes de fazer isto temos que conhecer o problema. Qual o problema desta
empresa ?
O problema que eles no sabem quantas unidades de cada tipo de produto (I e II)
devem ser produzidas, de maneira que o lucro seja o maior possvel.
Para construir um modelo de P.Linear temos que comear identificando o que se
deseja saber ou conhecer no problema. A isto d-se o nome de varivel de deci-
so. No nosso problema temos 2 variveis de deciso que so:
Temos que identificar o objetivo que se deseja alcanar e traduz-lo por uma funo
matemtica linear contendo as variveis de deciso. Assim, no nosso exemplo, o
objetivo maximizar o lucro total obtido com a produo dos 2 produtos. Cada uni-
dade, a ser produzida, do produto tipo I d um lucro de $20. Como vamos produzir
x1 unidades, teremos um lucro de 20x1 . Da mesma forma, cada unidade do produto
tipo II d um lucro de $60, ou seja, pelo produto tipo II teremos um lucro de 60x2 .
Desta forma a funo de lucro total, que queremos maximizar, ser uma funo da
forma: 20x1 + 60x2 .
Esta funo chamada de funo objetivo e representada, pela maioria dos au-
tores, como uma funo de uma varivel Z representando o sentido da otimizao
que, no nosso caso, de maximizao. Assim, podemos escrever:
(MAX)Z = 20x1 + 60x2 funo objetivo.
1
Chamamos de x1 e x2 mas poderamos usar qualquer nome para rotular as variveis de deciso
1.1 Exemplo 3
x2
x1
(0,0)
x2
70
(0,0) x1
70
R1
Como o ponto (0,0) est abaixo da reta e como (0,0) satisfaz a restrio, todos os
pontos da reta para baixo so pontos que satisfazem a restrio.
Vamos fazer o mesmo com a 2a restrio que na igualdade, 90x1 + 50x2 = 4500
uma reta que passa pelos pontos (50,0) e (0,90). Traando-a temos:
x2
R2
90
70
(0,0) 50 x1
70
R1
Como o ponto (0,0) est abaixo da reta e como (0,0) satisfaz a restrio, todos os
pontos da reta para baixo so pontos que satisfazem a restrio.
6 Introduo
x2
R2
R3
90
70
(0,0) 40 50 x1
70
R1
Como o ponto (0,0) est a esquerda da reta e obedece a restrio, todos os pon-
tos da reta para a esquerda so pontos que satisfazem a 3a restrio.
A 4a restrio na igualdade, 3x2 = 180, uma reta paralela ao eixo x1 , passando
pelo ponto 60 no eixo x2 . Traando-a, temos:
x2
R2
R3
90
70
R4
60
(0,0) 40 50 x1
70
R1
Como o ponto (0,0) est abaixo da reta e obedece a restrio, todos os pontos da
reta para baixo so pontos que satisfazem a 4a restrio.
1.2 Soluo grfica 7
Como todas as restries foram traadas temos o chamado Espao Soluo que
o conjunto de todos os pontos candidatos a serem o ponto timo, ou seja, todos
os pontos que obedecem a todas as restries do modelo. No grfico o Espao
Soluo o polgono hachurado, como podemos ver a seguir:
x2
R2
R3
R4
x1
R1
x2
R2
R3
R4
x1
R1 Z = 1200
Como queremos maximizar o valor de Z, vamos escolher agora um valor maior,
por exemplo Z = 2400, ou seja uma reta passando pelos pontos (120,0) e (0,40).
Vamos ver como fica graficamente:
x2
R2
R3
R4
x1
Z = 2400
R1 Z = 1200
Como esperado, a nova reta Z = 2400 uma reta paralela a reta anterior Z =
1200. Descobrimos tambm que traando-se paralelas a Z = 1200, acima dela,
obtemos valores maiores para Z. Como obter o ponto timo ?
1.2 Soluo grfica 9
Simplesmente traando a paralela, mais alta possvel, que toque, pelo menos, um
ponto do espao soluo. Graficamente temos:
x2
R2
R3
Ponto timo
R4
x2
x1
x1
Z = 2400
R1 Z = 1200
O * indica, em programao matemtica o valor timo. Assim, x1 quer dizer o
valor timo de x1 .
O ponto timo ter sido um dos vrtices do espao soluo no uma mera coinci-
dncia. Na verdade o ponto timo sempre um dos vrtices do espao soluo a no
ser quando temos mltiplas (infinitas) solues timas, pois neste caso, os pontos
timos so todos os pertencentes a um dos lados do espao soluo. Para ilustrar
este ltimo caso, mude a funo objetivo para (MAX) Z = 90x1 + 50x2 . Resolva
graficamente e observe que todos os pontos de um dos lados do espao soluo so
pontos timos! Isto acontece porque a funo objetivo a uma funo paralela a 2a
restrio.
10 Introduo
1.3 Exerccios
A) Resolva graficamente o modelo abaixo:
(MAX) Z = 3x1 + 5x2
s.a
(1) x1 4
(2) 2x2 12
(3) 3x1 + 2x2 18
(4) x1 0
(5) x2 0
Indique o espao soluo (hachurando), o ponto timo (apontando) e as restri-
es redundantes (pelo nmero).
x2
Ponto timo
b
x1
(0,0)
Z
Z = 15 Z = 25
1.4 Respostas dos exerccios da seo 1.3 13
x2
Exerccio B
b
Ponto timo
x1
Z = 6 Z = 16 Z
x2
Exerccio C
Z =
x1
x2
Exerccio D
Ponto timo
b
Z = 34
Z Z = 28
x1
Ponto timo b
x1
Z = 8 Z = 18
Exerccio F
x2
x1
Ponto timo b
Z = 8
Z=2
Z
Redundantes: (1),(2) e (6)
x2
Exerccio G
b
Ponto timo
x1
Redundante: (1)
Z=6
Z = 4
16 Introduo
b) Aditividade
Esta considerao implica em que no h interao entre as diversas variveis
do modelo, ou seja, a contribuio do total de variveis a soma das contribui-
es individuais de cada uma das variveis. Para exemplificar vamos considerar
o nosso exemplo prottipo. A contribuio para o lucro total da varivel x1
20x1 independentemente se x2 igual a 1 ou 10.000. Por sua vez a contribuio
de x2 para o lucro total 60x2 seja qual for o valor assumido por x1 . No mundo
real isto, normalmente, tambm no acontece assim, ou seja, a quantidade de
um produto pode influir na produo de outro independentemente das restries
tecnolgicas.
Se em um modelo a considerao da aditividade modifica a essncia do pro-
blema, deve-se usar programao no linear.
c) Divisibilidade
A partir da construo de um modelo de P.Linear ns transformamos um pro-
blema do mundo real para o mundo matemtico. Para encontrarmos a soluo
que procuramos, temos que resolver o problema matematicamente. A soluo
grfica, por exemplo, um procedimento matemtico. Assim sendo, perfeita-
mente normal que a soluo de um modelo de P.Linear d, como soluo tima,
valores fracionrios. Assim sendo poderia ter acontecido que a resposta para o
nosso exemplo fosse x1 = 17, 96 e x2 = 14, 88. Mas x1 e x2 representam unida-
des de produtos. Como fabricar pedaos de produtos ? Ser que a soluo seria
cortar a parte fracionria ? Isto poderia nos tirar do timo pois nem sempre o
timo inteiro o timo fracionrio com a parte fracionria cortada.
Como se resolve na prtica este tipo de problema ? Se as variveis de deciso
representam bens cujo valor de mercado reduzido (uma mesa, por exemplo)
trabalhamos com programao linear e simplesmente cortamos a parte fracio-
nria dos valores timos. Se no entanto as variveis representam bens de alto
valor (um avio, por exemplo), temos que trabalhar com Programao Linear
Inteira acrescentando as restries de que as variveis tem de ser inteiras. Por-
que, para este tipo de modelo, no trabalhar sempre com P.Linear inteira ? Por-
que o processo de obteno da soluo tima muito mais lento que a P.Linear
simples.
d) Certeza
Esta considerao implica em que todos parmetros do sistema so constantes
conhecidas no se aceitando nenhuma incerteza de qualquer tipo. Se alguns dos
parmetros tem qualquer nvel de incerteza a formulao como um modelo de
P.Linear poder levar a resultados incorretos.
18 Introduo
Soluo
Variveis de deciso
xi Kilos do ingrediente i a serem usados na rao (i=1 (Cevada), i=2 (Aveia),
i=3 (Soja), i=4 (Milho)).
Soluo
Para um melhor entendimento do problema, vamos mostrar uma soluo poss-
vel para o problema:
Rolo de 200
70 90 40
Rolo de 100
50 50
20.000
5.000 30.000
DIA
Origem 1 2 3 4 5
Novo x1 x2 x3 x4 x5
Lav. 24 horas y1 y2 y3
Lav. 48 horas t1 t2
Total Necessrio 110 210 190 120 100
1.8 Exemplos de formulao de modelos de Programao Linear 21
Rio So Paulo
B.Horizonte 13 25
R.Preto 25 16
Campos 15 40
Considerando que o objetivo da empresa minimizar seu custo total de trans-
porte, formule um modelo de P.Linear para o problema.
Soluo
Variveis de deciso
xij Toneladas a serem transportadas da origem i (i=1 (B.Horizonte), i=2
(R.Preto), i=3 (Campos)) para o destino j (j=1 (Rio), j=2 (So Paulo)).
O modelo fica como:
(MIN) Z = 13x11 + 25x12 + 25x21 + 16x22 + 15x31 + 40x32
s.a.
x11 + x12 = 70 (B.Horizonte)
x21 + x22 = 130 (R.Preto)
x31 + x32 = 120 (Campos)
x11 + x21 + x31 = 180 (Rio)
x12 + x22 + x32 = 140 (S.Paulo)
xij 0
24 Introduo
1.9 Exerccios
A) Na produo de unidades de 4 tipos de produtos, so utilizadas 2 mquinas.
O tempo utilizado na fabricao de cada unidade, de cada tipo de produto, em
cada uma das 4 mquinas est dado na tabela abaixo:
Tempo por unidade produzida (horas)
Mquina Produto 1 Produto 2 Produto 3 Produto 4
1 2 3 4 2
2 3 2 1 2
O custo total de produo de uma unidade de cada produto diretamente pro-
porcional ao tempo de uso da mquina. Considere que o custo por hora para
as mquinas 1 e 2 so $10 e $15 respectivamente. O total de horas disponveis
para todos os produtos nas mquinas 1 e 2 so 500 e 380 respectivamente.
Se o preo de venda, por unidade, dos produtos 1, 2, 3 e 4 de $65, $70, $55 e
$45, formule o problema como um modelo de P.Linear com o objetivo de maxi-
mizar o lucro lquido total.
G) Uma companhia deseja obter uma nova liga metlica com 30% de chumbo, 20%
de zinco e 50% de estanho a partir de alguns minrios tendo as seguintes pro-
priedades:
MINRIOS
Propriedades 1 2 3 4 5
% Chumbo 30 10 50 10 50
% Zinco 60 20 20 10 10
% Estanho 10 70 30 80 40
Custo ($/kg) 8,5 6 8,9 5,7 8,8
O objetivo determinar as propores destes minrios que deveriam ser mistu-
rados para produzir a nova liga com o menor custo possvel.
Formule este problema como um modelo de P.Linear.
H) Uma famlia de fazendeiros possui 100 acres de terra e tem $30.000 em fun-
dos disponveis para investimento. Seus membros podem produzir um total de
3.500 homens-hora de trabalho durante os meses de inverno e 4.000 homens-
horas durante o vero. Se todos estes homens-horas no so necessrios, os
membros mais jovens da famlia podem ir trabalhar em uma fazenda da vizi-
nhana por $4,00 por hora durante o inverno e $4,50 por hora durante o vero.
A famlia obtm renda com 3 colheitas e 2 tipos de criao de animais: vacas
leiteiras e galinhas (para obter ovos). Nenhum investimento necessrio para
as colheitas mas no entanto cada vaca necessita de um investimento de $900 e
cada galinha de $7. Cada vaca necessita de 1,5 acre de terra, 100 homens-hora
de trabalho no inverno e outros 50 homens-hora no vero. Cada vaca produzir
uma renda lquida anual de $800 para a famlia. Por sua vez cada galinha no
necessita de rea, requer 0,6 homens-hora durante o inverno e 0,3 homens-hora
no vero. Cada galinha produzir uma renda lquida de $5 (anual). O galinheiro
pode acomodar um mximo de 3.000 galinhas e o tamanho dos currais limita
o rebanho para um mximo de 32 vacas. As necessidades em homens-hora e
a renda lquida anual, por acre plantado, em cada uma das 3 colheitas esto
mostradas abaixo:
Soja Milho Feijo
Homenshora no inverno 20 35 10
Homenshora no vero 50 75 40
Renda anual lquida ($) 375 550 250
A famlia deseja maximizar sua renda anual.
Formule este problema como um modelo de P.Linear.
1.9 Exerccios 27
J) Para um bar que funciona 24 horas por dia, a seguinte quantidade de emprega-
dos necessria:
Tempo disponvel
Tipo de Mquina (em mquinashora por semana)
A 500
B 350
C 150
O nmero de mquinas-hora necessrias para cada produto :
xij 0
Exerccio D
Xt $ investido na atividade X(X=A,B,C e D) no perodo t(t=1,2,3,4,5)
Rt $ no investido no perodo t(t=1,2,3,4,5)
(MAX) Z = 2C2 + 1, 7B3 + 1, 4A4 + 1, 3D5 + R5
s.a.
A1 + B1 + R1 = 10000
R1 + A2 + B2 + C2 + R2 = 0
1, 4A1 R2 + A3 + B3 + R3 = 0
1, 7B1 1, 4A2 R3 + A4 + R4 = 0
1, 7B2 1, 4A3 R4 + D5 + R5 = 0
Xt, Rt 0
30 Introduo
Exerccio E
Cada hora de estudo na disciplina D1 garante ao aluno 5 pontos.
Para a disciplina D2 o rendimento de 4 pontos por hora.
X no de horas que o aluno estudar D1 .
Y no de horas que o aluno estudar D2 .
3X + 5Y
(MAX) Z =
8
s.a.
X + Y = 30
5X 50
4Y 50
X, Y 0
Exerccio F
xij indstria Ui instalada na cidade Lj .
(MAX) Z = 1, 5x11 + x12 + 2x13 + 0, 8x21 + 0, 6x22 + 2, 5x23 + 2x31 + 0, 7x32 + x33
s.a.
x11 + x12 + x13 = 1
x21 + x22 + x23 = 1
x31 + x32 + x33 = 1
x11 + x21 + x31 = 1
x12 + x22 + x32 = 1
x13 + x23 + x33 = 1
Xij = 0 ou 1
Exerccio G
xi frao de 1 kilo do minrio i usada na produo de 1 kilo da nova liga.
(MIN) Z = 8, 5x1 + 6x2 + 8, 9x3 + 5, 7x4 + 8, 8x5
s.a.
x1 + x2 + x3 + x4 + x5 = 1
0, 3x1 + 0, 1x2 + 0, 5x3 + 0, 1x4 + 0, 5x5 = 0, 3
0, 6x1 + 0, 2x2 + 0, 2x3 + 0, 1x4 + 0, 1x5 = 0, 2
0, 1x1 + 0, 7x2 + 0, 3x3 + 0, 8x4 + 0, 4x5 = 0, 5
xi 0
Observe que a 1a restrio redundante pois a soma das outras 3.
Exerccio H
xi (i = 1, 2, 3) acres plantados com soja, milho e feijo, respectivamente.
xi (i = 4, 5) no de vacas e galinhas, respectivamente.
xi (i = 6, 7) excesso de homens-hora no inverno e vero, respectivamente.
(MAX) Z = 375x1 + 550x2 + 250x3 + 800x4 + 5x5 + 4x6 + 4, 5x7
s.a.
x1 + x2 + x3 + 1, 5x4 100
900x4 + 7x5 30000
20x1 + 35x2 + 10x3 + 100x4 + 0, 6x5 + x6 = 3500
50x1 + 75x2 + 40x3 + 50x4 + 0, 3x5 + x7 = 4000
x4 32
x5 3000
xi 0
1.10 Respostas dos exerccios da seo 1.9 31
Exerccio I
xij toneladas de carga i (i = 1, 2, 3, 4) armazenadas no compartimento j (j =
1, 2, 3) onde 1(frente), 2(centro) e 3(traseira).
(MAX) Z = 100(x11 + x12 + x13 ) + 130(x21 + x22 + x23 ) + 115(x31 + x32 + x33 ) +
90(x41 + x42 + x43 )
s.a.
x11 + x12 + x13 14
x21 + x22 + x23 11
x31 + x32 + x33 18
x41 + x42 + x43 9
x11 + x21 + x31 + x41 8
x12 + x22 + x32 + x42 12
x13 + x23 + x33 + x43 3
14x11 + 20x21 + 17x31 + 11x41 140
14x12 + 20x22 + 17x32 + 11x42 200
14x13 + 20x23 + 17x33 + 11x43 85
x11 + x21 + x31 + x41 x12 + x22 + x32 + x42 x13 + x23 + x33 + x43
= =
8 12 7
xij 0
Exerccio J
xj no de empregados comeando no incio do perodo j (j = 1, 2, ..., 6).
(MIN) Z = x1 + x2 + x3 + x4 + x5 + x6
s.a.
x1 + x6 4
x1 + x2 8
x2 + x3 10
x3 + x4 7
x4 + x5 12
x5 + x6 4
xj 0
Exerccio K
(MAX) Z = 30x1 + 12x2 + 15x3
s.a
9x1 + 3x2 + 5x3 500
5x1 + 4x2 350
3x1 + 2x3 150
x3 20
xi 0
32 Introduo
Captulo 2
O Mtodo Simplex
Soluo Impraticvel qualquer soluo em que pelo menos uma das restries
do modelo violada.
R2 4
3 R3
b
2 b b b 14 b
15 R4
5 12
b
10
b 11 9 b
13 b
b b b b x1
1 8 7 6 R (x2 > 0)
R1
Como podemos observar, a soluo bsica no 12 a soluo tima (como vimos na
soluo grfica). Ter sido simples coincidncia o fato da soluo tima ser uma
das solues bsicas ? No simples coincidncia pois pode-se provar que:
36 O Mtodo Simplex
1. Obter uma soluo bsica praticvel inicial. Esta soluo obtida fazendo-se
as variveis de deciso como variveis no bsicas, ou seja, iguais a 0. As
variveis bsicas sero as variveis de folga.
2. Dada uma soluo bsica testar se ela melhor que suas adjacentes. Se for,
a soluo tima.
Olhando agora com mais ateno podemos reparar em mais uma caracterstica da
forma padro: varivel bsica s aparece uma nica vez, ou seja, em uma nica
equao com coeficiente igual a 1. Qual a vantagem disto ? A vantagem que ao se
eliminar as variveis no bsicas (porque so iguais a zero), obtemos, diretamente,
o valor numrico das variveis bsicas.
Durante o simplex, nas sucessivas solues bsicas que sero obtidas, trabalhare-
mos sempre usando esta forma padro para aproveitar esta propriedade.
Como temos uma soluo bsica, temos que testar se ela a soluo tima. Para
ser a tima ela tem que ser melhor que as suas adjacentes.
Estudando a soluo bsica em questo, vemos que ela tem 2 adjacentes: uma em
que x1 sairia do time de no bsicas (bviamente uma bsica teria que sair do
time de bsicas) e outra em que x2 sairia do time de no bsicas.
importante entender que, por exemplo, x1 sair do time de no bsicas, ou seja das
iguais a zero, implica em ela se tornar bsica, ou seja, maior que 0 (vamos ignorar
aqui o fato de que, excepcionalmente, ela pode ser degenerada).
Vamos escrever a funo objetivo em funo das variveis de deciso:
(0) Z = 20x1 + 60x2
O que observamos que se x1 se tornar bsica o valor de Z vai aumentar (20 uni-
dades por unidade de x1 ), ou seja vai melhorar a funo objetivo. Isto mostra que
a adjacente atual soluo bsica, ou seja aquela em que x1 bsica melhor que
a soluo atual. Podemos afirmar ento, que a atual soluo no tima pois pelo
menos uma adjacente melhor.
Vamos examinar se a outra adjacente, ou seja aquela em x2 vai se tornar bsica
tambm melhora o valor da funo objetivo. Como podemos ver acima, para cada
unidade que x2 assuma, a funo objetivo aumenta de 60 unidades. Esta adjacente
tambm melhor que a soluo atual!
A etapa 2 do mtodo simplex diz que se a atual soluo bsica no tima, deve-se
ir para a melhor adjacente. Matemticamente impossvel saber, a no ser em
problemas pequenos, qual a melhor adjacente. O que na verdade ns fazemos,
ir para aquela adjacente que aparenta dar o maior ganho para o valor de Z. No
nosso caso a melhor adjacente aparente aquela em que x2 passaria a ser bsica
pois para cada unidade de x2 , temos um aumento de 60 em Z contra um aumento
de 20 no caso de x1 .
importante deixar claro que o mtodo simplex funciona, ou seja vai levar-nos a
soluo tima, independente da escolha a ser feita. A razo de termos escolhido a
que aparenta dar maior ganho prende-se unicamente ao desejo de se fazer, princi-
palmente quando se trabalha manualmente, o mnimo de iteraes. Via de regra,
embora no obrigatoriamente, quando se escolhe a que d maior ganho este desejo
atendido.
Escolhemos ento x2 como a varivel que vai se tornar bsica ou, em outras pa-
lavras, a varivel que vai entrar na base. Ela chamada de varivel entrante.
Resumindo temos:
Candidatas varivel entrante (so sempre as no bsicas): x1 e x2 .
Varivel entrante: x2
2.2 Um mtodo no muito eficiente 39
Como x2 vai entrar na base, ou seja se tornar bsica, uma das atuais variveis
bsicas vai ter que deixar de ser bsica ou em outras palavras, sair da base. Esta
varivel chamada de varivel sainte.
As candidatas varivel sainte (sempre as variveis bsicas) so: F1 , F2 , F3 e F4 .
Neste ponto fica claro porque no colocamos Z no colchete das variveis bsicas.
Mesmo sendo uma varivel bsica, Z nunca levada em conta como candidata va-
rivel sainte pois ela o objetivo. No teria sentido tir-la da base, transformando-
a em varivel no bsica igual a 0.
Como escolher a varivel sainte ? Vamos escrever as restries em funo das can-
didatas a varivel sainte:
(1) F1 = 4900 70x1 70x2
(2) F2 = 4500 90x1 50x2
(3) F3 = 80 2x1
(4) F4 = 180 3x2
Na anlise que vamos fazer podemos eliminar x1 . Porque ? porque x1 varivel
no bsica e no a entrante, ou seja vai permanecer como no bsica, igual a 0.
Temos ento:
(1) F1 = 4900 70x2
(2) F2 = 4500 50x2
(3) F3 = 80
(4) F4 = 180 3x2
Neste momento, temos que ter ateno em 2 pontos: o 1o que estamos trabalhando
em um sistema de equaes lineares e, obviamente, o valor de cada varivel est
relacionado ao valor das demais variveis. O 2o que, como vimos anteriormente,
todas as variveis (exceto Z) s podem ser 0. Em outras palavras a nica vari-
vel que pode assumir valores negativos Z.
Como x2 a varivel entrante e cada unidade que ela assumir vai aumentar o
Z em 60, queremos que x2 assuma o maior valor possvel. No entanto este valor
est condicionado a que nenhuma outra varivel se torne negativa. Na equao (1)
acima, vemos que x2 pode ir at 70 antes que F1 se torne negativa. J na equao
(2), x2 s pode ir at 90 pois, acima disto, F2 se tornaria negativa. Pela equao (3)
poderamos levar x2 at o . Finalmente na (4) observamos que x2 poderia ir at
60.
A equao (4) que limita o valor mximo de x2 , ou seja x2 no pode passar de 60
pois quando ela atinge este valor, F4 chega a zero.
Como F4 foi a varivel que chegou a zero primeiro quando tentvamos atribuir o
maior valor possvel para x2 (a entrante), ela ser a varivel sainte.
J temos ento o time de variveis bsicas e no bsicas da soluo bsica adja-
centemelhor do que a que acabamos de testar. Teremos:
F 1
F2 x1 = 0
VB VNB
F3
F4 = 0
x2
Em um modelo pequeno como o que estamos aplicando o simplex, poder ser ten-
tador se obter o valor numrico das variveis bsicas por simples substituio. Em
40 O Mtodo Simplex
70
70x1 + F1 F4 = 700
3
Processo semelhante para eliminarmos x2 da equao (2). Multiplicamos a nova
(4) por 50 e somamos a equao (2), obtendo:
90x1 + 50x2 + F2 = 4500
50
50x2 F4 = 3000 +
3
50
90x1 + F2 F4 = 1500
3
2.2 Um mtodo no muito eficiente 41
(3) 2x1 + F3 = 80
1
(4) x2 + F4 = 60
3
F1 = 700 ( )
F2 = 1500 x1 = 0
VB VNB
F3 = 80
F4 = 0
x2 = 60
Z = 3600
Mais uma vez podemos observar que, eliminadas as variveis no bsicas (= 0),
obtemos, diretamente, o valor numrico das variveis bsicas.
Temos que testar se esta nova soluo bsica melhor que as suas adjacentes, ou
seja se ela a tima.
Como antes, temos 2 solues adjacentes a esta: uma em que x1 passaria a varivel
bsica e outra em que F4 voltaria ao time das bsicas. Vamos analisar a equao
de Z:
Z = 3600 + 20x1 20F4
Se x1 passar a bsica, o valor de Z, para cada unidade de x1 , aumentar de 20.
Logo a atual soluo no tima: j descobrimos uma adjacente melhor.
Vamos examinar a outra adjacente possvel, ou seja aquela em que F4 passaria a
ser varivel bsica. Como todas as variveis, exceto Z, tem que ser 0, qualquer
valor atribudo a F4 iria diminuir o valor de Z, logo esta alternativa pior que a
atual soluo. Assim x1 a varivel entrante.
Para escolher a sainte, vamos escrever as restries em funo das candidatas a
varivel sainte, ou seja as atuais variveis bsicas:
70
(1) F1 = 700 70x1 + F4
3
50
(2) F2 = 1500 90x1 + F4
3
(3) F3 = 80 2x1
1
(4) x2 = 60 F4
3
42 O Mtodo Simplex
20 40
Z+ F1 + F4 = 3800
70 3
Para eliminar x1 da equao (2), podemos multiplicar a nova equao (1) por 90
e somar a eq.(2), obtendo:
50
90x1 + F2 F4 = 1500
3
90
90x1 F1 + 30F4 = 900 +
70
90 40
F1 + F2 + F4 = 600
70 3
Para eliminar x1 da equao (3), multiplicamos a nova equao (1) por 2 e soma-
mos a equao (3), obtendo:
2x1 + F3 = 80
2 2
2x1 F1 + F4 = 20 +
70 3
2 2
F1 + F3 + F4 = 60
70 3
2.3 Situaes que podem acontecer no Mtodo Simplex 43
Tanto x1 quanto x2 do, por unidade, o mesmo ganho (60) para Z. Em resumo
h um empate na escolha da varivel entrante e a escolha deve ser arbritria.
No h como prever a escolha que minimizaria o nmero de iteraes a serem
realizadas at se chegar a soluo tima.
(3) 2x1 + F3 = 80
1
(4) x2 + F4 = 60
3
F 1 = 700
( )
F2 = 1500 x1 = 0
VB VNB
F 3 = 80
F4 = 0
x2 = 60
Z = 3600
Reescrevendo a equao (0), Z = 3600 + 20x1 20F4 , podemos ver que x1 a
varivel entrante. Para escolher a sainte, vamos explicitar as equaes em funo
das candidatas, que so as variveis bsicas:
70
(1) F1 = 700 70x1 + F4
3
50
(2) F2 = 900 90x1 + F4
3
(3) F3 = 80 2x1
1
(4) x2 = 60 F4
3
F4 pode ser desconsiderada por ser no bsica (= 0) e no a entrante. Na 1a
podemos levar x1 at 10, na 2a tambm podemos lev-lo at 10. Na 3a at 40 e na
4a at .
Temos ento um empate na escolha da varivel sainte: tanto F1 quanto F2 chegam
a zero quando x1 chega a 10. Aqui tambm a escolha arbritria, mas vamos
ver o que acontece na prxima soluo bsica. Escolhendo, arbritariamente, F1
como a sainte a prxima soluo fica como:
2.3 Situaes que podem acontecer no Mtodo Simplex 45
20 40
(0) Z+ F1 +F4 = 3800
70 3
1 1
(1) x1 + F1 F4 = 10
70 3
90 40
(2) F1 + F2 + F4 = 0
70 3
2 2
(3) F1 + F3 + F4 = 60
70 3
1
(4) x2 + F4 = 60
3
x = 10
1
( )
F2 = 0 F1 = 0
VB VNB
F 3 = 60
F4 = 0
x2 = 60
Z = 3800
Observando o conjunto de variveis bsicas notamos que uma delas, F2 ou seja a
no escolhida no empate, uma varivel bsica degenerada, ou seja, igual a zero.
Sempre que houver empate entre n candidatas varivel sainte, aparecero, na
prxima soluo bsica, n 1 variveis bsicas degeneradas.
Este fato no afeta o mtodo e, caso a soluo no seja a tima, o simplex
deve ser continuado normalmente, devendo as variveis degeneradas se-
rem tratadas como variveis bsicas normais.
Z = 24
B
Z = 16
A
x1
2.3 Situaes que podem acontecer no Mtodo Simplex 47
(0) Z + 4F1 = 48
(1) x2 + F1 F2 = 3
1
(2) x1 F1 + F2 = 3
2
5
(3) F1 + 2F2 + F3 = 4
2
2x
= 3 ( )
F
= 0
VB x1 = 3 VNB 1
F2 = 0
F3 = 4
Z = 48
A soluo tima e o ponto A do grfico, ou seja um dos extremos do segmento
de reta timo.
48 O Mtodo Simplex
Como o simplex nos indica que o modelo tem infinitas solues timas ? Se obser-
varmos a equao de Z tima, Z + 4F1 = 48, podemos observar que ela tem uma
caracterstica incomum: uma varivel no bsica, F2 , no aparece, ou seja tem
coeficiente igual a 0, na equao. O fato de uma, ou mais, variveis no bsicas
no aparecerem (coeficiente igual a 0) na equao (0) da soluo tima, indica que
o modelo tem infinita solues timas. Como obt-las ?
Podemos fazer com que F2 , a varivel no bsica que no aparece na equao de
Z, seja varivel entrante. Como o seu coeficiente igual a 0, ela no vai alterar o
valor timo de Z.
Escolhemos a varivel sainte pelo processo normal e obtemos:
Varivel entrante: F2 Varivel sainte: F3
Nova soluo bsica:
(0) Z + 4F1 = 48
1 1
(1) x2 F1 + F3 = 5
4 2
3 1
(2) x1 + F1 F3 = 1
4 2
5 1
(3) F1 + F2 + F3 = 2
4 2
x2 = 5
( )
F
= 0
VB x1 = 1 VNB 1
F 3 = 0
F2 = 2
Z = 48
A nova soluo, que tambm tima, o ponto B do grfico, ou seja o outro extremo
do segmento de reta.
Como o nosso modelo um modelo de 2 variveis de deciso (x1 e x2 ), o lado do
espao soluo um segmento de reta. Para se definir qualquer ponto de um seg-
mento de reta precisamos de 2 pontos do segmento. O simplex nos deu os 2 pontos:
A:(3,3) e B:(1,5). Como definir genericamente um ponto (a,b) do segmento de reta
limitado pelos pontos (3,3) e (1,5) ?
Cada
ponto timo (a, b) deve obedecer a:
(a, b) = 1 (3, 3) + 2 (1, 5)
1 + 2 = 1
1 , 2 0
Generalizando,
se temos n pontos timos (p1 , p2 , . . . , pn), devemos ter:
(a, b, . . . , n) = 1 p1 + 2 p2 + . . . + npn
1 + 2 + . . . + n = 1
i 0
f (x)
MIN f (x)
x0 x
MAX f (x)
f (x)
O que podemos inferir deste grfico, considerando que f (x) e f (x) so recpro-
cas ? O valor do mnimo de f (x) igual, em valor absoluto, ao valor do mximo
de f (x). Tambm podemos observar que o valor, x0 , que minimiza f (x) e que
maximiza f (x) o mesmo. Assim sendo, se quisermos achar o mnimo de f (x),
podemos multiplicar por 1 e achar o mximo de f (x).
No simplex podemos fazer a mesma coisa, qual seja multiplicar a funo objetivo
por 1 e resolver por maximizao. Quando tivermos a soluo tima do problema
de maximizao basta multiplicar o valor timo de Z por 1 para ter a soluo do
modelo de minimizao. Os valores das variveis o mesmo para os 2 problemas.
No devemos confundir uma varivel irrestrita em sinal com uma varivel, por
exemplo x3 , para a qual exista uma restrio do tipo x3 4. Como esta va-
rivel pode assumir alguns valores negativos, o que no permitido no simplex,
temos que fazer uma substituio. Para isto criamos uma varivel no existente
no modelo, por exemplo x5 , e fazemos com que x5 seja igual a x3 + 4. Temos ento
x3 = x5 4. Substitumos, no modelo, cada x3 por x5 4, considerando x5 0.
Resolvemos o simplex e o valor timo de x3 ser igual x5 4
2.4 Outras formas de modelos - O Simplex de 2 fases 51
W 2x1 2x2 + F3 = 12
A soluo bsica inicial fica ento como:
(0) W 2x1 2x2 + F3 = 12
(1) x1 + 2x2 + A1 = 10
(2) 6x1 + 6x2 + F2 = 40
(3) x1 F3 + A3 = 2
A1 = 10
x1 = 0
VB F2 = 40 VNB x2 = 0
A3 = 2 F3 = 0
W = 12
Lembrando que o objetivo maximizar o valor de W , encontramos:
Varivel entrante: x1 Varivel sainte: A3
2.4 Outras formas de modelos - O Simplex de 2 fases 53
(0) W + A1 + A3 = 0
1 1 1
(1) x2 + F3 + A1 A3 = 4
2 2 2
(3) x F3 + A3 = 2
1
x2 = 4
A3 = 0
VB F2 = 4 VNB A1 = 0
x1 = 2 F3 = 0
W =0
Chegamos ao timo da fase I e o valor de W zero ou seja conseguimos levar a zero
as variveis artificiais.
Se no timo da fase I o valor timo de W diferente de zero, ou seja o valor timo
de uma ou mais variveis artificiais diferente de 0, significa que o modelo no
tem soluo praticvel. Quando isto acontece porque no existe nenhum ponto
que satisfaa a todas as restries ou, em outras palavras, o espao soluo o
conjunto vazio.
Como este no foi o caso do nosso exemplo, podemos passar para a fase II. Para
fazer isto, eliminamos a equao de W e todas as variveis artificiais. Trazemos
de volta a funo objetivo original, ficando nosso sistema como:
(2) F2 + 3F3 = 4
(3) x1 F3 = 2
Como x1 e x2 so variveis bsicas, elas tem que ser eliminadas da equao de Z.
54 O Mtodo Simplex
Z 4x1 3x2 = 0
3
3x2 + F3 = 12 +
2
4x1 4F3 = 8
5
Z F3 = 20
2
A soluo bsica inicial da fase II fica como:
5
(0) Z F3 = 20
2
1
(1) x2 + F3 = 4
2
(2) F2 + 3F3 = 4
(3) x F3 = 2
1
x 2 = 4
n o
VB F2 = 4 VNB F3 = 0
x1 = 2
Z = 20
Lembrando que o objetivo maximizar o valor de Z, temos:
Varivel entrante: F3 Varivel sainte: F2
A nova soluo bsica fica como:
5 70
(0) Z+ F2 =
6 3
1 10
(1) x2 F2 =
6 3
1 4
(2) F2 + F3 =
3 3
1 10
(3) x1 + F2 =
3 3
10
x
=
2
3
n o
VB 4 VNB F2 = 0
F3 =
3
10
x1 =
3
70
Z = A soluo tima !
3
2.5 Novos algortimos 55
2.6 Exerccios
A) Resolva o modelo a seguir pelo Simplex:
s.a.
2x1 + 4x2 22
x1 + 4x2 10
2x1 x2 7
x1 3x2 1
x1 , x2 0
s.a.
3x1 + x2 + 3x3 30
xi 0
(MAX) Z = 2x1 x2 + x3
s.a.
3x1 + x2 + x3 60
x1 x2 + 2x3 10
x1 + x2 x3 20
xi 0
2.6 Exerccios 57
s.a.
xi 0
(MAX) Z = x1 + x2 + x3 + x4
s.a.
x1 + x2 2
x3 + x4 5
xi 0
s.a.
x1 + 2x2 4
x1 + x2 = 3
xi 0
58 O Mtodo Simplex
s.a.
2x1 + x2 10
3x1 + 2x2 6
x1 + x2 6
xi 0
(MAX) Z = x1 + 4x2
s.a.
3x1 + x2 6
x1 + 2x2 10
x2 3
x1 Irrestrita em sinal
(MAX) Z = x1 + 2x2 x3
s.a.
2x1 x2 + 3x3 5
4x1 x2 + x3 4
x1 + 3x2 6
x1 , x2 Irrestritas em sinal
x3 0
2.6 Exerccios 59
s.a.
5x1 + x2 + x3 + 8x4 = 10
xi 0
s.a.
x1 4x2 2x3 8
3x1 + 2x2 6
xi 0
s.a.
5x1 + 3x2 + x3 9
2x1 + x2 + x3 5
xi 0
60 O Mtodo Simplex
s.a.
x1 + 2x2 + 4x3 = 20
2x1 x2 + 12x3 60
xi 0
Vimos nos captulos anteriores como obter uma soluo tima para um modelo
de P.Linear. Normalmente, em aplicaes reais, somente a soluo tima no
suficiente para se ter todo tipo de informaes que queremos. Assim, comum se
desejar saber o que aconteceria com a soluo do modelo se um dos parmetros
sofresse algum tipo de variao. Uma alternativa bvia seria resolver o modelo
modificado e obter a nova soluo tima. Este processo no entanto demorado e
caro pois implicaria no uso, repetida vezes, do computador.
Veremos neste captulo que, sem resolver o modelo novamente, possvel obter
quase todas as informaes necessrias em conseqncia de variaes nos parme-
tros do modelo.
Para uma melhor compreenso das tcnicas usadas vamos trabalhar com o se-
guinte exemplo:
Uma empresa produz 3 produtos em uma de suas fbricas. Na fabricao dos 3
produtos, 3 insumos so crticos em termos de restringir a capacidade de produo
possvel: a mo de obra disponvel, a quantidade de matria prima e o espao para
a armazenagem das unidades produzidas. Assim, o Depto de Produo j sabe que,
para o prximo ms, a fbrica ter disponvel 100 kilos de matria prima, 360 m2
de rea para estocar as unidades produzidas e 400 homenshora de mo de obra.
Cada unidade produzida do produto 1 consome 1 kilo de matria prima, precisa de
6 m2 para ser armazenada e necessita de 8 homenshora em termos de mo de
obra. J cada unidade do produto 2 consome 2 kilos de matria prima, necessita
tambm de 6 m2 para ser armazenada e envolve o uso de 4 homenshora de mo
de obra. Por sua vez, cada unidade produzida do produto 3 precisa de 2 kilos de
matria prima, 4 m2 para ser armazenada e o trabalho equivalente a 4 homens
hora.
Reduzindo do preo de venda todos os custos diretos e indiretos, foi determinado
que o lucro unitrio igual a $4 para o produto 1, $5 para o produto 2 e $3 para
cada unidade produzida do produto 3.
Levando em conta que o objetivo da empresa maximizar o lucro com a produo
e a venda dos 3 produtos foi formulado o seguinte modelo de P.Linear visando de-
terminar as quantidades que deveriam ser fabricadas de cada produto no prximo
ms.
Variveis de deciso:
xi no de unidades a serem produzidas, no prximo ms, do produto i(i =
1, 2, 3).
62 Anlise depois do timo
s.a
xi 0
Submetido ao Simplex, a soluo apresentou as seguintes solues bsicas onde (I)
a soluo inicial e (F) a soluo final ou seja, a tima:
Soluo (I)
Soluo (F)
1
(0) Z + x3 + F1 + F2 = 280
2
4 1
(1) x2 + x3 + F1
F2 = 40
3 6
2 1
(2) x1 x3 F1 + F2 = 20
3 3
Como x1 varivel bsica, temos que elimin-la da equao (0). Para isto multi-
plicamos a equao (2), que onde x1 aparece como bsica na soluo (F), por e
somamos equao (0),
obtendo:
2 1 1
(0)F Z + 1 x3 + [1 ] F1 + + F2 = 280 + 20
3 2 3
Para garantir que a soluo (F) continua sendo a tima, temos que ter todos os
coeficientes 0, ou seja:
2 3
1 0
3 2
10 1
1 1 3
+ 0
2 3 2
Como h superposio temos:
2 0 1 2
3 3
Para a soluo (F) continuar sendo a tima, todas as constantes do lado direito,
exceto a da equao 0 (valor de Z), devem ser 0. Logo deveremos ter:
40 + 0 40
20 0 20
80 + 4 0 20
Como h superposio temos:
40 20 0 20
3.4 Dualidade
O termo dualidade refere-se ao fato de que cada modelo de P.Linear consiste de 2
formas. A primeira, ou original, chamada de primal e a segunda forma do mo-
delo chamada de dual. Como seria esperado, as propriedades de uma das formas
do modelo esto relacionadas com as propriedades da outra. Como resultado disto
possvel, dada a soluo tima de uma das formas do modelo, encontrar a soluo
tima da outra forma do modelo.
A soluo do chamado modelo dual fornece informaes significativas sobre as
questes econmicas existentes em qualquer modelo de P.Linear.
3.9 Exerccios
A) Seja o seguinte modelo de P.Linear:
(MAX) Z = 4x1 + 5x2 + 9x3 + 11x4
s.a.
x1 + x2 + x3 + x4 15
7x1 + 5x2 + 3x3 + 2x4 120
3x1 + 5x2 + 10x3 + 15x4 100
xi 0
Aplicando-se o Simplex, temos as seguintes solues bsicas onde (I) a soluo
inicial
e (F) a soluo final (tima):
(0) Z 4x1 5x2 9x3 11x4 = 0
(1) x1 + x2 + x3 + x4 + F1 = 15
(I)
(2) 7x1 + 5x2 + 3x3 + 2x4 + F2 = 120
(3) 3x1 + 5x2 + 10x3 + 15x4 + F3 = 100
x 1 = 0
F1 = 15
x2 = 0
VB F2 = 120 VNB
x3 = 0
F3 = 100
x4 = 0
Z=0
Varivel
entrante: x4 Varivel Sainte: F3
9 4 5 11 220
(0) Z x1 x2 x3 + F3 =
5 3 3 15 3
4 2 1 1 25
(1)
x1 + x2 + x3 + F1 F3 =
(1) 5 3 3 15 3
33 13 5 2 320
(2) x1 + x2 + x3 + F2 F3 =
5 3 3 15 3
(3) 1 1 2 1 20
x1 + x2 + x3 + x4 + F3 =
5 3 3 15
3
25
x1 = 0
F =
1
3
x = 0
VB 320 VNB 2
F2 =
3
x = 0
3
20
x4 =
3
F3 = 0
220
Z=
3
Varivel entrante: x1 Varivel Sainte: F1
3.9 Exerccios 79
1 11 9 7 1105
(0) Z + x2 x3 + F1 + F3 =
6 12 4 12 12
5 5 5 1 125
(1) x1 + x2 +
x3 + F1 F3 =
(2) 6 12 4 12 12
7 13 33 5 455
(2) x2 x3 F1 + F2 + F3 =
6 12 4 12 12
(3) 1 7 1 1 55
x2 + x3 + x4 F1 + F3 =
6 12 4 12 12
125
x2 = 0
x =
1
12
x = 0
VB 455 VNB 3
F2 =
12
F = 0
1
55
x4 =
12
F3 = 0
1105
Z=
12
Varivel
entrante: x3 Varivel Sainte: x4
3 11 13 5 695
(0) Z + x2 + x4 + F1 + F3 =
7 7 7 7 7
5 5 10 1 50
(1) x1 + x3 x4 +
F1 F3 =
(F) 7 7 7 7 7
7 13 61 4 325
(2) x + x F + F + F =
2 4 1 2 3
6 7 7 7 7
(3) 2 12 3 1 55
x2 + x3 + x4 F1 + F3 =
7 7 7 7
7
50
x2 = 0
x
=
1
7
x = 0
VB 325 VNB 4
F2 =
7
F
= 0
55
1
x =
3
7
F3 = 0
695
Z =
7
Responda as seguintes perguntas relativas ao modelo acima:
7 12 1 4
(0) Z+ x1 + x4 +F2 = 11F1 +
5 5 5 5
3 4 2 1
(1) x1 + x2 + x4 + F1 + F2 = 4
10 5 5 10
1 2 1 3
(2) x1 + x3 + x4 + F1 + F2 = 5
10 5 5 10
1 1
(3) x1 + 10x4 + F1 F2 + F3 = 11
2 2
D) A Companhia Mveis Finos S/A fabrica vrios tipos de mveis, inclusive mveis
rsticos para casas de campo. Atualmente eles fabricam 3 produtos na linha
de produo de mveis rsticos: uma cadeira de balano, um banco de jardim e
uma mesa de jantar.
Estes produtos so fabricados em 2 etapas envolvendo a seo de corte de ma-
deira e a seo de montagem dos mveis.
O tempo, em horas, necessrio para cada item em cada seo mostrado abaixo:
Produto
Cadeira Banco Mesa Capacidade (horas)
Seo de Corte 1,2 1,7 1,2 1.000
Seo de Montagem 0,8 0 2,3 1.200
O lucro que a Mveis Finos S/A recebe pela fabricao e venda de cada uni-
dade $3 para a cadeira, $3 para o banco e $5 para a mesa.
A Companhia est tentando planejar a sua produo para o prximo ms. Como
a procura muito grande por este tipo de mveis, qualquer quantidade que ve-
nha a ser produzida ser vendida.
A produo est limitada, no entanto, pelas horas disponveis nas sees de
corte e montagem, alm da quantidade de madeira disponvel para este tipo de
mveis.
No prximo ms a Companhia dispor de somente 2.000 m3 de madeira para
fazer os mveis da linha rstica, sendo que cada cadeira gasta 2 m3 , cada banco
3 m3 e cada mesa 4,5 m3 .
De maneira a determinar a produo tima do prximo ms foi formulado o se-
guinte modelo de P.linear:
(MAX) Z = 3x1 + 3x2 + 5x3
s.a
1, 2x1 + 1, 7x2 + 1, 2x3 1000
0, 8x1 + 2, 3x3 1200
2x1 + 3x2 + 4, 5x3 2000
xi 0
onde:
x1 No de cadeiras a serem fabricadas no prximo ms
x2 Idem, bancos
x3 Idem, mesas
O modelo foi submetido ao Simplex, obtendo-se o seguinte sistema final:
3.9 Exerccios 83
83 7 4 8300
(0) Z+ x2 + F1 + F3 =
60 6 5 3
27 3 2
(1) x1 + x2 + F1 F3 = 700
20 2 5
37 1 3 1000
(2) x2 + F1 + F 2 F3 =
30 3 5 3
1 2 2 400
(3) x2 + x3 F1 + F3 =
15 3 5 3
Responda as seguintes questes:
(4) x3 + x4 F4 = 100
(1) x3 + F1 F2 + F3 = 1000
4 2
(2) x1 x3 +
F2 F 3 = 2000
3 3
5 1
(3) x2 + x3 F2 + F3 = 1000
3 3
Exerccio A
1) 25/21; 3/42; 4/7
2) 34/21; 5/42; 1/7
3) 18/7
4) 4/7
5) Somente a CLD da equao (2) alterada.
260/3; 215/12; 185/7
6) 643/7; 10/7; 569/7; 67/7; sim
7) O Dual do problema original :
(MIN) Y = 15y1 + 120y2 + 100y3
s.a
y1 + 7y2 + 3y3 4
y1 + 5y2 + 5y3 5
y1 + 3y2 + 10y3 9
y1 + 2y2 + 15y3 11
yi 0
11) 4
12) 93/7
Exerccio B
1) Z = 11 x2 = 4 x3 = 5 F3 = 11 nica.
3
2) [,
5
3) [, 25 ]
4) (a) [3; ]
(b) [ 14
3
; 34]
(c) [1; ]
3.10 Respostas dos exerccios da seo 3.9 89
5)
(MIN) Y = 7y1 + 12y2 + 10y3
s.a
y1 y2 y3 2
3y1 2y2 4y3 1
y1 + 4y2 + 3y3 3
2y1 + 8y3 2
yi 0
6) y1 = 5 y2 = 54 y3 = 0 Y = 11
1
7) Sim
8) 7
9) 7/14;
Exerccio C
1)
(MIN) Y = y1 + y2 + y3 + y4 + y5
s.a
y1 + y5 8
y1 + y2 7
y1 + y3 10
y3 + y4 10
y4 + y5 2
yi 0
2)
(MAX) Z = 8x1 + 7x2 + 10x3 + 10x4 + 2x5
s.a
x1 + x2 1
x2 + x3 1
x3 + x4 1
x4 + x5 1
x1 + x5 1
3) Z = 37/2 x2 = 1/2 x3 = 1/2 x1 = 1/2 x4 = 1/2 x5 = 1/2
Y = 37/2 y1 = 13/2 y2 = 1/2 y3 = 19/2 y4 = 1/2 y5 = 3/2
4) Y = 19 y1 = 7 y2 = 0 y3 = 10 y4 = 0 y5 = 2
Exerccio D
1)
x1 = cadeiras = 700
x2 = bancos = 0
400
x3 = mesas =
3
8300
Z=
3
90 Anlise depois do timo
2) Sim
3) Isto equivale a ter uma nova restrio no Dual:
1, 8y1 + 0, 5y2 + 13y3 L
4
1, 8 1, 166 + 0, 5 0 + 13 L
5
L > 3, 14
20
4) [ ; 5] Com 2,5 a soluo tima no se altera.
9
8300
Logo a soluo atual continua tima e o lucro passa a ser: Z = (3
3
7250
2.5) 700 =
3
Exerccio E
1)
x2 = Standard = 50
x3 = Viajante = 100
Z = 11000
2) [1700; ], Sim
3) Sim, pois o valor implcito $30.
4) O mesmo pois a restrio dual no violada.
5) Sim, pois a nova restrio dual violada.
Exerccio F
1)
(MIN) Y = 480y1 + 800y2 + 900y3
s.a
2y1 + 5y2 + 7y3 90
8y1 + 4y2 + 8y3 160
4y1 + 8y2 + 3y3 40
2y1 + 5y2 + 5y3 100
y1 = 12, 5 y2 = 15 y3 = 0
Exerccio H
1)
x1 [7, 5; 15]
x2 [11; 20]
x3 [; 11, 667]
2)
(a) [5000; ]
(b) [6000; 10000]
(c) [3000; 6000]
Exerccio I
1) [2; 6] 6,01
2) [11; ]
3)No, a restrio dual violada.
4)
(0) . . . 13x4 = 33
(1) . . . 7x4 = 35
3
(2) . . . x4 = 5, 5
2
(3) . . . 2x4 = 16
92 Anlise depois do timo
Captulo 4
Algortimo dos Transportes
Veremos neste captulo o chamado Algortimo dos Transportes. Este algortimo re-
solve, de maneira muito mais rpida, modelos de programao linear cuja formu-
lao apresenta certas caractersticas que permitem o uso do algortimo. Veremos
tambm que o Algortimo dos Transportes nada mais do que uma forma diferente
de se fazer o simplex.
4.1 Um exemplo
Uma empresa tem 3 fbricas que produzem um determinado produto. A capaci-
dade de produo mensal das 3 fbricas de 6, 1 e 10 unidades respectivamente. A
empresa tem 4 armazns de vendas que vendem mensalmente 7, 5, 3 e 2 unidades
do produto respectivamente. O custo de transportar 1 unidade de cada fbrica para
cada armazm est dado na tabela abaixo:
Armazm
Fbrica 1 2 3 4
1 2 3 11 7
2 1 0 6 1
3 5 8 15 9
Podemos observar que todo o modelo, ou seja a funo objetivo e as restries esto
escritas no quadro.
4.4 Fonte ou destino artificial 95
1 2 3 4 Disp.
2 3 11 7
1 6
1 0 6 1
2 1
5 8 15 9
3 20
Nec. 7 5 3 2
Ser necessrio criar ento um destino ARTIFICIAL (destino 5), com custos de
transporte iguais a ZERO (o destino no existe fisicamente):
1 2 3 4 5 Disp.
2 3 11 7 0
1 6
1 0 6 1 0
2 1
5 8 15 9 0
3 20
Nec. 7 5 3 2 10
Etapas do Mtodo
1. Calcule para cada linha e cada coluna a diferena entre os 2 menores custos. No
caso dos 2 menores custos serem iguais a diferena zero.
4. Elimine a linha ou coluna esgotada. No caso em que uma linha e uma coluna
so esgotadas ao mesmo tempo, s podemos esgotar uma delas ficando a outra
com zero, mas no esgotada.
5. Voltar a etapa 1.
Armazm
Fbrica 1 2 3 4 Disp. Diferenas
2 3 11 7
1 6 1
1 0 6 1
2 1 1
5 8 15 9
3 10 3
Nec. 7 5 3 2
Diferenas 1 3 5 6
Na 4a coluna temos a maior diferena (6). Nesta coluna, escolhemos a cela com o
menor custo. a cela correspondente a x24 que tem custo igual a 1.
Agora temos que atribuir a maior quantidade possvel para x24 , lembrando que a
soma da linha 2 tem que dar 1 e a soma da coluna 4 tem que dar 2. Assim, o maior
valor que pode ser atribudo a x24 o MIN(1,2), ou seja 1.
Ao se atribuir 1 a x24 , a linha 2 fica esgotada, ou seja nada pode ser atribudo as
outras variveis da linha (sero variveis no bsicas = 0) pois a soma j deu 1.
Por sua vez, na coluna 4, cuja soma tem que dar 2, fica faltando 1 pois 2 1 = 1.
Temos que recalcular as diferenas entre os 2 menores custos de cada linha e co-
luna, sem considerar a linha 2 que est eliminada. Como a ltima eliminao foi
de uma linha, a diferena nas linhas, obviamente, no se alteraram. Basta ento
calcular as diferenas das colunas, obtendo-se:
98 Algortimo dos Transportes
Armazm
Fbrica 1 2 3 4 Disp. Diferenas
2 3 11 7
1 6 1
2 1 1
5 8 15 9
3 10 3
Nec. 7 5 3 1
Diferenas 3 5 4 2
A maior diferena est agora na 2a coluna (5). A cela de menor custo (=3) nesta
coluna a correspondente a varivel x12 . Como a soma da linha tem que dar 6 e a
soma da coluna tem que dar 5, a maior quantidade que pode ser atribuda a x12
o MIN(5,6), ou seja 5.
Com 5 em x12 , a coluna fica esgotada e na linha ainda fica faltando 1 (6 5).
Temos quer voltar a calcular a diferena entre os 2 menores custos, sem conside-
rar a coluna 2 que est eliminada. Como acabamos de eliminar uma coluna, as
diferenas s podem ter se alterado nas linhas. Temos ento:
Armazm
Fbrica 1 2 3 4 Disp. Diferenas
2 11 7
1 5 1 5
2 1 1
5 15 9
3 10 4
Nec. 7 5 3 1
.
Diferenas 3 4 2
A maior diferena est agora na 1a linha (5). A cela de menor custo desta linha a
correspondente a x11 que tem custo igual a 2. O mximo que conseguimos atribuir
a x11 o MIN(1,7) ou seja 1. Ao fazer isto, a linha 1 fica esgotada e na coluna 1
ficam ainda faltando 6 (7 1). Eliminando-se a linha 1, temos a seguinte matriz:
4.8 Mtodos para achar a soluo bsica inicial 99
Armazm
Fbrica 1 2 3 4 Disp.
1 1 5 6
2 1 1
5 15 9
3 10
Nec. 6 5 3 1
Neste ponto no mais necessrio seguir com o algortimo pois como na coluna 1
s resta, com possibilidade de receber valor, a cela correspondente a varivel x31 e
restam 6 para serem atribudos, fazemos x31 = 6.
Aplicando-se o mesmo raciocnio, temos x33 = 3 e x34 = 1.
Temos ento a soluo bsica inicial:
Armazm
Fbrica 1 2 3 4 Disp.
2 3 11 7
1 1 5 6
1 0 6 1
2 1 1
5 8 15 9
3 6 3 1 10
Nec. 7 5 3 2
x11 = 1
x13 = 0
x = 5 x = 0
12
14
x24 = 1 x21 = 0
VB VNB
x31 = 6
x22 = 0
x 33 = 3
x 23 = 0
x34 = 1 x32 = 0
Z = 1 2 + 5 3 + 1 1 + 6 5 + 3 15 + 1 9 = 102
100 Algortimo dos Transportes
Exerccio: Achar a soluo bsica inicial, pelo mtodo de Vogel, para o modelo
abaixo:
Armazm
Fbrica 1 2 3 4 Disp.
5 8 3 6
1 30
4 5 7 M
2 50
6 2 4 5
3 40
Nec. 30 20 40 30
Armazm
Fbrica 1 2 3 4 Disp. Diferenas
5 8 3 6
1 30 2
4 5 7 M
2 50 1
6 2 4 5
3 40 2
Nec. 30 20 40 30
Diferenas 1 3 1 1
A maior diferena est na 2a coluna. A cela de menor custo desta coluna a cor-
respondente a x32 . O mximo possvel de atribuir a x32 igual ao MIN(40,20),
ou seja 20. Esgota-se a 2a coluna e ficam faltando 20 (= 40 20) na 3a linha.
Recalculando-se as diferenas (s das linhas) temos:
4.8 Mtodos para achar a soluo bsica inicial 101
Armazm
Fbrica 1 2 3 4 Disp. Diferenas
5 3 6
1 30 2
4 7 M
2 50 3
6 4 5
3 20 20 1
Nec. 30 20 40 30
.
Diferenas 1 1 1
Armazm
Fbrica 1 2 3 4 Disp. Diferenas
3 6
1 30 3
7 M
2 30 20 M7
4 5
3 20 20 1
Nec. 30 20 40 30
. .
Diferenas 1 1
A maior diferena est na 2a linha (M 7). A cela de menor custo a que corres-
ponde a x23 . Pode-se colocar nela o MIN(20,40), ou seja 20. Esgota-se a 2a linha e
na 3a coluna ainda restam 20.
Recalculando-se as diferenas (s das colunas), temos:
102 Algortimo dos Transportes
Armazm
Fbrica 1 2 3 4 Disp. Diferenas
3 6
1 30 3
2 30 20 50
4 5
3 20 20 1
Nec. 30 20 20 30
. .
Diferenas 1 1
2 30 20 50
5
3 20 20
Nec. 30 20 40 30
Como na 4a coluna s restam as celas (1,4) e (3,4) temos x14 = 10 e x34 = 20.
A soluo bsica inicial :
Armazm
Fbrica 1 2 3 4 Disp.
5 8 3 6
1 20 10 30
4 5 7 M
2 30 20 50
6 2 4 5
3 20 20 40
Nec. 30 20 40 30
4.9 Esgotamento simultneo de linha e coluna 103
x 13 = 20
x = 10
14
x21 = 30
n o
VB VNB as demais = 0
x23 = 20
x 32 = 20
x34 = 20
Z = 3 20 + 6 10 + 4 30 + 7 20 + 2 20 + 5 20 = 520
Armazm
Fbrica 1 2 3 4 Disp. Diferenas
5 8 3 6
1 30 2
4 5 7 M
2 50 1
9 2 4 8
3 30 2
Nec. 30 30 40 10
Diferenas 1 3 1 2
Armazm
Fbrica 1 2 3 4 Disp. Diferenas
5 3 6
1 30 2
4 7 M
2 50 3
9 4 8
3 30 0 4
Nec. 30 30 40 10
.
Diferenas 1 1 2
A maior diferena est agora na 3a linha. A cela de menor custo (3,3) e o maior
valor que podemos atribuir a x33 igual ao MIN(0,40), ou seja 0. Logo x33 vai
ser uma varivel bsica degenerada na soluo bsica inicial. Recalculando-se a
diferena entre os 2 menores custos temos:
Armazm
Fbrica 1 2 3 4 Disp. Diferenas
5 3 6
1 30 2
4 7 M
2 50 3
3 30 0 30
Nec. 30 30 40 10
.
Diferenas 1 4 M6
1 2 3 4 Disp.
2 3 11 7
1 6 6
1 0 6 1
2 1 1
5 8 15 9
3 1 4 3 2 10
Nec. 7 5 3 2
106 Algortimo dos Transportes
x 11 = 6
x = 1
22
x31 = 1
n o
VB VNB as demais = 0
x32 = 4
x 33 = 3
x34 = 2
Z = 112
Vamos escrever as restries do modelo dual associadas s variveis bsicas:
x11 v1 + w1 2
x22 v2 + w2 0
x31 v3 + w1 5
x32 v3 + w2 8
x33 v3 + w3 15
x34 v3 + w4 9
Como o coeficiente de varivel bsica na equao (0) igual a zero temos:
vi + wj cij = 0
pois o Lesq Ldir da restrio dual associada igual ao coeficiente da varivel na
eq.(0), ou seja igual a zero no caso de variveis bsicas.
Assim, por causa desta propriedade podemos escrever:
v1 + w1 2 = 0
v2 + w2 0 = 0
v3 + w1 5 = 0
v3 + w2 8 = 0
v3 + w3 15 = 0
v3 + w4 9 = 0
Como temos 6 equaes e 7 incgnitas, escolhemos uma das variveis (preferenci-
almente a que aparece mais) e atribumos um valor qualquer (normalmente zero).
Assim fazendo v3 = 0 temos como soluo do sistema:
w4 = 9, w3 = 15, w2 = 8, w1 = 5, v2 = 8, v1 = 3
Para saber se uma soluo bsica tima temos que olhar a equao de Z (eq.
0), ou seja, os coeficientes das variveis no bsicas que so os que aparecem na
equao (0).
Para obter estes coeficientes basta aplicar a propriedade que diz que o Lesq Ldir
da restrio dual associada igual ao coeficiente da varivel na eq. (0).
Assim temos:
x12 v1 + w2 c12 = 2
x13 v1 + w3 c13 = 1
x14 v1 + w4 c14 = 1
x21 v2 + w1 c21 = 4
x23 v2 + w3 c23 = 1
x24 v2 + w4 c24 = 0
Logo a equao (0) :
(0) Z + 2x12 + x13 x14 4x21 + x23 = 112
Como o problema de minimizao, a soluo no tima e as candidatas vari-
vel entrante so x12 , x13 e x23 .
Como x12 tem o maior coeficiente ela a varivel entrante.
4.10 Teste para saber se uma soluo bsica tima 107
1 2 3 4 Disp.
1 6 + 6
2 1 1
3 1 4 3 2 10
Nec. 7 5 3 2
O + na cela (1,2) indica que a varivel x12 (entrante) vai sair de no bsica (=0)
para bsica onde ela vai ser maior que zero (vamos esquecer, por ora, que ela pode
ser bsica degenerada, ou seja tambm igual a zero). Considerando ento que ela
vai ser maior que zero, para que a soma da 1a linha continue dando 6, temos que
diminuir em uma das 3 outras celas da linha. No entanto, impossvel se diminuir
qualquer valor das celas (1,3) e (1,4) pois isto faria com que as variveis x13 e x14 se
tornassem negativas. Logo a nica varivel que pode ser diminuda x11 . Temos
ento:
1 2 3 4 Disp.
1 6 + 6
2 1 1
3 1 4 3 2 10
Nec. 7 5 3 2
No entanto se x11 vai diminuir de valor, para a soma da 1a coluna continuar dando
7 temos que aumentar x21 ou x31 . No podemos aumentar x21 pois teramos uma
2a varivel entrante. Logo teremos que aumentar x31 . Temos ento:
1 2 3 4 Disp.
1 6 + 6
2 1 1
3 1+ 4 3 2 10
Nec. 7 5 3 2
Como vamos aumentar x31 , para a 3a linha continuar somando 10, teremos que
diminuir uma das outras celas da 3a linha. Se diminuirmos x34 , teramos que au-
mentar uma das celas da 4a coluna e isto faria com que tivssemos uma 2a varivel
entrante. O mesmo raciocnio se aplica para x33 . Logo a diminuio s pode acon-
tecer em x32 . Temos ento:
108 Algortimo dos Transportes
1 2 3 4 Disp.
1 6 + 6
2 1 1
3 1+ 4 3 2 10
Nec. 7 5 3 2
Pode-se observar que se formou um lao fechado de + e . Sempre se forma um
lao fechado e se no possvel fech-lo, porque a resoluo contm algum erro.
Neste ponto o objetivo atribuir o maior valor possvel para a varivel entrante
sem que, obviamente, nenhuma outra varivel se torne negativa. Assim, as candi-
datas a varivel sainte so x11 e x32 pois elas esto sendo diminudas quando se
aumenta a entrante. Quando a entrante (x12 ) chega a 4, x32 chega a zero, logo ela
a varivel sainte.
A nova soluo bsica passa a ser (4 somado e subtrado no lao):
1 2 3 4 Disp.
1 2 4 6
2 1 1
3 5 3 2 10
Nec. 7 5 3 2
x 11 = 2
x = 4
12
x22 = 1
n o
VB VNB as demais = 0
x31 = 5
x 33 = 3
x34 = 2
Z = 104
Para saber se esta soluo tima no precisamos escrever todas as equaes do
modelo dual pois podemos usar o prprio quadro para fazer o teste.
1 2 3 4 vi
2 3 11 7
1
1 0 6 1
2
5 8 15 9
3
wj
4.10 Teste para saber se uma soluo bsica tima 109
1 2 3 4 vi
2 3 11 7
1
1 0 6 1
2
5 8 15 9
3 0
wj 5 15 9
1 2 3 4 vi
2 3 11 7
1 -3
1 0 6 1
2 -6
5 8 15 9
3 0
wj 5 6 15 9
1 2 3 4 vi
2 3 11 7
1 1 -1 -3
1 0 6 1
2 -2 3 2 -6
5 8 15 9
3 -2 0
wj 5 6 15 9
1 2 3 4 Disp.
1 2 4 6
2 1 + 1
3 5 3 2 10
Nec. 7 5 3 2
1 2 3 4 Disp.
1 2 4+ 6
2 1 + 1
3 5+ 3 2 10
Nec. 7 5 3 2
1 2 3 4 Disp.
1 1 5 6
2 1 1
3 6 2 2 10
Nec. 7 5 3 2
4.10 Teste para saber se uma soluo bsica tima 111
x 11 = 1
x = 5
12
x23 = 1
n o
VB VNB as demais = 0
x31 = 6
x 33 = 2
x34 = 2
Z = 101
No teste para saber se esta soluo a tima, vamos fazer v3 = 0. Usando-se
vi + wj Cij = 0 para as variveis bsicas, chegamos a:
1 2 3 4 vi
2 3 11 7
1 -3
1 0 6 1
2 -9
5 8 15 9
3 0
wj 5 6 15 9
Calculando-se vi + wj Cij para as variveis no bsicas, temos:
1 2 3 4 vi
2 3 11 7
1 1 -1 -3
1 0 6 1
2 -5 -3 -1 -9
5 8 15 9
3 -2 0
wj 5 6 15 9
Como a nica que tem coeficiente maior que zero, x13 a varivel entrante.
Escolha da varivel sainte:
1 2 3 4 Disp.
1 1 5 + 6
2 1 1
3 6+ 2 2 10
Nec. 7 5 3 2
112 Algortimo dos Transportes
Como x11 chega a zero quando a entrante chega a 1, ela a varivel sainte.
A nova soluo bsica (somando-se e subtraindo-se 1 no lao) :
1 2 3 4 Disp.
1 5 1 6
2 1 1
3 7 1 2 10
Nec. 7 5 3 2
x12 = 5
x13 = 1
x23 = 1
n o
VB VNB as demais = 0
x31 = 7
x33 = 1
x34 = 2
Z = 100
1 2 3 4 vi
2 3 11 7
1 -4
1 0 6 1
2 -9
5 8 15 9
3 0
wj 5 7 15 9
1 2 3 4 vi
2 3 11 7
1 -1 -2 -4
1 0 6 1
2 -5 -2 -1 -9
5 8 15 9
3 -1 0
wj 5 7 15 9
Como nenhum dos coeficientes maior que zero, a soluo atual tima. Logo:
x12 = 5
x13 = 1
x23 = 1
n o
VB VNB as demais = 0
x31 = 7
x
33 = 1
x34 = 2
Z = 100
Caso algum dos coeficientes fosse igual a zero teramos solues timas alternati-
vas (como obt-las ?).
1 2 3 4 Disp.
1 5 1 6
2 1 + 1
3 7 1+ 1 9
Nec. 7 5 3 2
1 2 3 4 Disp.
1 5 1 6
2 0 1 1
3 7 2 9
Nec. 7 5 3 1
Como regra geral se temos um empate entre n candidatas a varivel sainte, tere-
mos n 1 variveis bsicas degeneradas.
Vamos supor agora que nesta soluo bsica, x22 seja a varivel entrante. Temos o
seguinte lao:
1 2 3 4 Disp.
1 5 1+ 6
2 + 0 1 1
3 7 2 9
Nec. 7 5 3 1
Como x23 uma varivel bsica degenerada e j igual a zero, ela no pode ser
diminuda pois ficaria negativa. Assim, ela ser a varivel sainte e a entrante ser
uma bsica degenerada. A nova soluo ser:
1 2 3 4 Disp.
1 5 1 6
2 0 1 1
3 7 2 9
Nec. 7 5 3 1
Fbricas Armazns
1 2 I II III
Fbricas 1 80 10 20 30
2 10 20 50 40
I 20 80 40 10
Armazns II 40 20 10 20
III 60 70 80 20
1 2 I II III Disp.
0 80 10 20 30
1 100+300
10 0 20 50 40
2 200+300
20 30 0 40 10
I +300
40 20 10 0 20
II +300
60 70 80 20 0
III +300
Nec. +300 +300 100+300 100+300 100+300
Como a soluo tima implica em que uma quantidade no passe 2 vezes pelo
mesmo ponto, se somarmos a quantidade total envolvida (300 no exemplo) a cada
fonte e a cada destino estaremos garantindo a praticabilidade da quantidade que
sofre baldeao.
Antes de somar esta quantidade se a produo das fbricas for maior que a ne-
cessidadePdos armazns, temos Pque criar um armazm artificial com a diferena
entre o ( disponibilidades necessidades). Se for o inverso, criamos uma
fbrica artificial.
Aplicando o algortimo dos transportes no problema modificado chegaremos a se-
guinte soluo tima:
1 2 I II III
1 300 0 100
2 300 200
I 200 100
II 300
III 300
1 I
100
200
100
2 II
III
Mquinas
Tarefas I II III IV
1 10 9 8 7
2 3 4 5 6
3 2 1 1 2
4 4 3 5 6
Deseja-se escolher que mquina deve fazer que tarefa de maneira que o custo total
seja mnimo.
Este problema pode ser resolvido como um modelo de transportes em que todas as
disponibilidades e todas as necessidades so iguais a 1.
Mquinas
Tarefas I II III IV Disp.
1 10 9 8 7 1
2 3 4 5 6 1
3 2 1 1 2 1
4 4 3 5 6 1
Nec. 1 1 1 1
Cada soluo bsica ter 7 variveis bsicas e como qualquer varivel xij (tarefa
i atribuda mquina j) s pode ser 0 ou 1, teremos sempre 3 variveis bsicas
degeneradas.
Para resolver este tipo de problema foi desenvolvido um algortimo bem mais rpido
que o de transportes. Este algortimo conhecido como Algortimo Hngaro.
e) Se no foi possvel fazer todas as atribuies, risque todos os zeros com o menor
nmero possvel de linhas verticais e horizontais. O nmero de linhas deve ser
igual ao nmero mximo de atribuies que se conseguiu fazer no passo anterior.
f) Subtraia de cada custo no riscado pelas linhas, o menor dos custos no riscados.
g) Some este menor custo dos no riscados s interseces das linhas traadas no
passo e.
h) Voltar ao passo d.
Mquinas
Tarefas I II III IV
1 10 9 8 7
2 3 4 5 6
3 2 1 1 2
4 4 3 5 6
Passo a: Subtrair, em cada linha, o menor custo da linha de todos os outros custos
da linha.
Temos ento:
I II III IV
1 3 2 1 0
2 0 1 2 3
3 1 0 0 1
4 1 0 2 3
I II III IV
1 3 2 1 0
2 0 1 2 3
3 1 0 0 1
4 1 0 2 3
120 Algortimo dos Transportes
Como foi possvel fazer a atribuio (um para um) nos custos iguais a zero, encon-
tramos a soluo tima:
Tarefa Mquina Custo
1 IV 7
2 I 3
3 III 1
4 II 3
Z = 14
Exemplo 2:
Quatro tarefas tem que ser atribudas a 4 mquinas. O custo de atribuir cada
tarefa a cada mquina est dado abaixo:
Mquinas
Tarefas I II III IV
1 10 9 7 8
2 5 8 7 7
3 5 4 6 5
4 2 3 4 5
coluna.
Temos ento:
I II III IV
1 3 2 0 0
2 0 3 2 1
3 1 0 2 0
4 0 1 2 2
I II III IV
1 3 2 0 0
2 0 3 2 1
3 1 0 2 0
4 0 1 2 2
I II III IV
1 3 2 0 0
2 0 3 2 1
3 1 0 2 0
4 0 1 2 2
I II III IV
1 4 2 0 0
2 0 2 1 0
3 2 0 2 0
4 0 0 1 1
Voltamos ao Passo d: Tentar fazer a atribuio nos custos iguais a zero. Temos
ento:
I II III IV
1 4 2 0 0
2 0 2 1 0
3 2 0 2 0
4 0 0 1 1
I II III IV
1 4 2 0 0
2 0 2 1 0
3 2 0 2 0
4 0 0 1 1
Mquinas
Tarefas I II III IV
1 10 9 8
2 5 8 7 7
3 5 4 6 5
4 3 4 5
Por razes tcnicas, a tarefa 1 no pode ser feita pela mquina III e a mquina I
no pode fazer a tarefa 4.
Este o caso em que temos que garantir que, na soluo tima, tanto x1,III quanto
x4,I sejam iguais a zero. Para forar esta situao vamos atribuir, da mesma forma
que fizemos no algortimo dos transportes, um custo muito alto a estas variveis.
Este custo, que chamamos de M, representa um valor to grande quanto se queira
imaginar. Assim teramos:
Mquinas
Tarefas I II III IV
1 10 9 M 8
2 5 8 7 7
3 5 4 6 5
4 M 3 4 5
Mquinas
Tarefas I II III IV V VI
1 10 9 6 8 9 10
2 5 8 7 7 4 8
3 5 4 6 5 11 8
4 10 3 4 5 7 9
Para aplicarmos o algortimo, temos que criar 2 tarefas artificiais, com custos
iguais a zero:
Mquinas
Tarefas I II III IV V VI
1 10 9 6 8 9 10
2 5 8 7 7 4 8
3 5 4 6 5 11 8
4 10 3 4 5 7 9
5 0 0 0 0 0 0
6 0 0 0 0 0 0
4.19 Exerccios
A) Uma empresa tem 3 fbricas produzindo um certo produto que deve ser reme-
tido para 4 centros de distribuio. As fbricas 1, 2 e 3 produzem 12, 17 e 11
unidades do produto, por ms, respectivamente. Cada centro de distribuio
necessita receber 10 unidades por ms. A distancia de cada fbrica para cada
um dos centros de distribuio mostrado abaixo (em kms) :
Centro de Distribuio
Fbricas 1 2 3 4
1 800 1300 400 700
2 1100 1400 600 1000
3 600 1200 800 900
Qual deve ser o uso da terra em cada pas de maneira que a demanda mundial
por estes 3 alimentos seja satisfeita e que o custo seja mnimo ?
Resolva este problema como um modelo de Transportes.
Fregus
Fbrica 1 2 3 4
1 65 63 62 64
2 68 67 65 62
3 63 60 59 60
Destinos
Fontes 1 2 3 4 Disponibilidades
1 3 7 6 4 5
2 2 4 3 2 2
3 4 3 8 5 3
Necessidades 3 3 2 2
Destinos
Fontes 1 2 3 4 5 Disponibilidades
1 8 6 3 7 5 20
2 5 M 8 4 7 30
3 6 3 9 6 8 30
4 0 0 0 0 0 20
Necessidades 25 25 20 10 20
Destinos
Fontes 1 2 3 4 5 6 Disponibilidades
1 10 18 29 13 22 0 100
2 13 M 21 14 16 0 120
3 0 6 11 3 M 0 140
4 9 11 23 18 19 0 80
5 24 28 36 30 34 0 60
Necessidades 100 120 100 60 80 40
H) O custo ($) de carga area, por tonelada, entre 7 cidades dado pela tabela
abaixo ( significa que no existe servio direto de carga area):
1 2 3 4 5 6 7
1 0 21 50 62 93 77
2 21 0 17 54 67 48
3 50 17 0 60 98 67 25
4 62 54 60 0 27 38
5 93 67 98 27 0 47 42
6 77 67 47 0 35
7 48 25 38 42 35 0
128 Algortimo dos Transportes
Se a estudante trocar de carro nos prximos 4 anos, ela poder faz-lo no fim de
um dos anos por outro carro idntico a um dos 2 tipos acima.
certo que no fim dos 4 anos ela comprar um carro novo.
A estudante deseja minimizar os seus gastos nos prximos 4 anos.
Resolva este problema como um modelo de baldeao.
Fbrica Armazm
1 2 I II III
Fbrica 1 0 6 7 8 9
2 6 0 5 4 3
I 7 2 0 5 1
Armazm II 1 5 1 0 4
III 8 9 7 6 0
1 2 3 4 5
I 3 8 2 10 3
II 8 7 2 9 7
III 6 4 2 7 5
IV 8 4 2 3 5
V 9 10 6 9 10
1 2 3 4 5
I 3 9 2 3 7
II 6 1 5 6 6
III 9 4 7 10 3
IV 2 5 4 2 1
V 9 6 2 4 6
Mquina
Operador 1 2 3 4
1 5 5 2
2 7 4 2 3
3 9 3 5
4 7 2 6 7
130 Algortimo dos Transportes
N) Suponha que no exemplo anterior uma 5a mquina est disponvel. Seus cus-
tos de atribuio para os 4 operadores so 2, 1, 2 e 8 respectivamente. A nova
mquina substituir uma das existentes se isto puder ser justificado economi-
camente.
Reformule o problema e resolva.
O) Um treinador de uma equipe de natao tem que formar um time para nadar
no revezamento 4x100 (4 estilos) na prxima etapa do campeonato.
Os 5 melhores nadadores da equipe e os seus respectivos tempos (em segundos)
em cada um dos estilos mostrado abaixo:
Nadador
Estilo Carlos Celso Artur Antonio Flvio
I 37.7 32.9 33.8 37.0 35.4
II 43.4 33.1 42.2 34.7 41.8
III 33.3 28.5 38.9 30.4 33.6
IV 29.2 26.4 29.6 28.5 31.1
Armazm
Fbrica 1 2 3 4 Disp.
I 1.0 7.5 8.5 11.0 40000
II 7.5 4.5 3.0 7.5 50000
III 10.0 6.5 1.0 6.0 35000
Necessidades 35000 20000 25000 45000
Operadores
Mquinas 1 2 3 4 5 6
I 12 14 9 13 10 16
II 11 13 15 17 13 11
III 9 15 9 14 12 13
IV 10 12 11 13 14 14
V 13 10 15 10 16 15
Fregus
Fbrica 1 2 3 4 3#
1 -65 -63 -62 -64 -62 3000
2 -68 -67 -65 -62 -65 5000
3 -63 -60 -59 -60 -59 4000
D M M 0 0 0 4000
4000 3000 1000 4000 4000
Soluo tima:
Fbrica Fregus
1 4 3.000
2 1 1.000
2 2 3.000 Z = 775000
2 3 1.000
3 4 1.000
3 1 3.000
4.20 Respostas dos exerccios da seo 4.19 133
Exerccio E
Fonte Destino
1 4 2
1 1 3 Z = 32
2 3 2
3 2 3
Exerccio F
Fonte Destino
1 3 20
2 1 20
2 4 10 Z = 305
3 1 5
3 2 25
4 5 20
Exerccio G
Fonte Destino
1 1 100 7
2 3 40
2 5 80
3 2 20 Z = 5520
3 3 60
3 4 60
4 2 80
5 2 20
5 6 40
Exerccio H
Fonte Destino
1 4 20
1 6 50
2 4 10
2 5 60
2 3 10
3 7 60
Exerccio I
Faamos Cijk
ser o custo de comprar um carro velho (k = 1) ou um carro semi-novo
(k = 2) no inicio do ano i revendendo no final do ano j.
Cij = Preo de Compra + Custos de Operao e manuteno para os anos 1, 2, . . . , j
i + 1 Valor de Revenda aps j i + 1 anos.
Cij = MIN (Cij 1
+ Cij2
)
134 Algortimo dos Transportes
1 2 3 4 5 Disp.
1 0 575 1125 1650 2275 1
2 M 0 55 1125 1650 0
3 M M 0 575 1125 0
4 M M M 0 575 0
5 M M M M 0 0
Necessidade 0 0 0 0 1
Exerccio O
Estilo 1: Artur
Estilo 2: Antonio
Estilo 3: Celso
Estilo 4: Carlos
Exerccio P
Fbrica Armazm
I 1 35.000
III 3 25.000
I 2 5.000 Z = 487500
II 2 15.000
II 4 35.000
III 4 10.000
Exerccio Q
I5
III 3
V2
II 6
IV 1
136 Algortimo dos Transportes
5
Bibliografia de Pesquisa Operacional
2. Pesquisa Operacional
Wagner, Harvey M.
Prentice Hall do Brasil
138 Bibliografia de Pesquisa Operacional
5. Pesquisa Operacional
Ackoff e Sasieni
Livros Tcnicos e Cientficos
6. Pesquisa Operacional
Ellenrieder
Almeida Neves
7. Pesquisa Operacional
Richard Bronson
McGraw-Hill Coleo Schaum
9. Pesquisa Operacional
Ermes Medeiros, Elio Medeiros, Valter Gonalves, Afrnio Murolo
Atlas