Escolar Documentos
Profissional Documentos
Cultura Documentos
Mtodo Simplex
A= B
XN T
CN .
X = XB
e o vector C em
C = CB
Sujeito a
XB
CN
X N
Z = CB
[B
XB
N
= b B XB + N XN = b
X N
X0
28
Mtodo Simplex
As propriedades 1 e 2, implicam que a pesquisa de uma soluo ptima pode ser reduzida,
considerando apenas os PE admissveis; desta forma, existe um nmero finito de solues a
considerar (propriedade 3). A propriedade 4 fornece um teste de optimalidade muito conveniente.
2. Mtodo Simplex
O mtodo Simplex explora as 4 propriedades dos pontos extremos admissveis apresentadas no
sub-captulo anterior (1), apenas examinando relativamente poucos PE admissveis e parando logo
que um deles passe o teste de optimalidade. Desta forma, o mtodo Simplex move-se repetidamente
(iterativamente) do PE admissvel actual para um melhor PE admissvel, at que a soluo actual no
tenha nenhum PE admissvel adjacente melhor. Este processo composto pelos seguintes passos :
1) Iniciao : Comear com um PE admissvel. Qualquer PE admissvel pode ser adoptada como
soluo inicial; no entanto, uma boa hiptese para a SBA inicial ser considerar as slacks como
VB e as originais como VNB.
2) Iterao : Mover-se para um melhor PE admissvel adjacente. (Repetir este passo quantas
vezes forem necessrias). Este movimento implica a converso de uma VNB numa VB
Mtodo Simplex
29
adjacentes so melhores.
zj cj
xB
xN
2 membro
Im
A = B 1 N
b = x B = B 1 b
CB A CN
ZB = CB b
Passo inicial :
Construir o quadro Simplex, considerando como SBA inicial, as m variveis slacks, ficando o quadro
Simplex com o seguinte aspecto :
XB
x1
...
xn
xn+1
...
xn+m
2 m.
xn+1
a11
...
a1n
...
b1
...
xn+m
...
am1
...
...
...
amn
...
0
...
...
...
1
...
bm
zj cj
c1
cn
...
entrarem na base)
Se zk ck 0 ento a SBA actual ptima seno continuar (teste de optimalidade)
2) Examinar a coluna k do quadro ( A k ) :
xt =
bt
= min
a tk
bi
, a ik > 0 .
a ik
Mtodo Simplex
30
Se existirem mais do que uma varivel nestas condies, qualquer uma pode ser usada (conduz
a solues degeneradas).
4) Actualizar o quadro Simplex, sendo o pivot o valor de a tk , utilizando o mtodo de
Uma empresa fabrica dois tipos de produtos : A e B. O lucro unitrio lquido de cada um 45
(A) e 30 u.m. (B). Numa mquina, os produtos so processados durante 2 min. (A) e 1 min. (B). A
mquina est disponvel 1000 min.. Cada um dos produtos requer 1 min. de mo-de-obra directa. A
disponibilidade de mo-de-obra 800 min..
Estudos de mercado indicam que a procura dos produtos A e B no excede 400 e 700 unidades,
respectivamente.
Quantas unidades de A e B devem ser fabricadas de modo a maximizar o lucro ?
Formalizao do problema :
45 x1 + 30 x2
s. a
2 x1 + x2
1 000
(mquina)
x1 + x2
800
(mo-de-obra)
x1
400
(procura de A)
700
(procura de B)
x2
x1, x2
(lucro)
45 x1 + 30 x2
s. a
2 x1 + x2
x1 + x2
x1
+ x3
= 1 000
+ x4
+ x5
x2
+ x6
800
400
700
xi 0 , i = 1,...,6
Mtodo Simplex
31
XB
x1
x2
x3
x4
x5
x6
2 m.
L1 2 L3
x3
1 000
1000/2 = 500
L2 L3
x4
800
800/1 = 800
L3
x5
400
400/1 = 400
L4
x6
700
zj cj
45
30
XB
x1
x2
x3
x4
x5
x6
2 m.
L1
x3
200
200/1 = 200
L2 L1
x4
400
400/1 = 400
L3
x1
400
L4 L1
x6
700
zj cj
30
45
18 000
XB
x1
x2
x3
x4
x5
x6
2 m.
L1 + 2 L2
x2
200
L2
x4
200
200/1 = 200
L3 L2
x1
400
400/1 = 400
L4 2 L2
x6
500
500/2 = 250
zj cj
30
15
24 000
XB
x1
x2
x3
x4
x5
x6
2 m.
x2
600
x2 (opt)
x5
200
x5 (opt)
x1
200
x1 (opt)
x6
100
x6 (opt)
zj cj
15
15
L5 + 45 L3
1 Iterao :
L5 + 30 L1
2 Iterao :
L5 + 15 L2
3 Iterao :
()
()
700/1 = 700
()
27 000 Zmax
Como os elementos da linha (zj cj) so todos no negativos, a soluo presente ptima :
x* = (200, 600, 0, 0, 200, 100) com z* = 27 000.
Mtodo Simplex
32
CX
s. a
AX b
{ , =, }
X0
em que todas as componentes de b so no negativas.
Restrio varivel slack
coeficiente 1 (coluna I)
quando o valor de b excede o lado esquerdo
coeficiente nulo na funo objectivo
corresponde quantidade de recurso no consumido
Mtodo Simplex
33
Z = c1 x1 + + cn xn
a11 x1 + + a1n xn = b1
...
am1 x1 + + amn xn = bm
xi 0, i = 1,,n
Z = c1 x1 + + cn xn M xn+1 M xn+m
a11 x1 + + a1n xn + xn+1
= b1
...
am1 x1 + + amn xn
+ xn+m
= bm
xi 0, i = 1,, n+m
em que as variveis xi (i = n+1, , n+m) so artificiais e M o coeficiente de penalizao.
No entanto, os valores dos coeficientes de custo da funo objectivo (linha de custo), associados
s variveis artificiais so no nulos (cj = M, j ndice de varivel artificial) o que no pode
acontecer, pois todos aqueles valores tm quer ser nulos.
Logo, necessrio determinar uma nova funo objectivo, que seja equivalente anterior, mas
em que os coeficientes de custo das variveis artificiais sejam nulos. Para tal, calcula-se a nova funo
objectivo, em funo da anterior e das restries onde existam as referidas variveis.
Exemplo :
Uma pequena empresa fabrica 3 tipos de kits electrnicos : A, B e C. O lucro unitrio lquido de
cada um 5 (A), 10 (B) e 15 u.m. (C). O tempo disponvel limita o nmero total de kits que podem ser
fabricados, a 500. Estudos de mercado indicam que o total de kits tipos A e B deve ser pelo menos
100. O total de kits tipo A deve exceder exactamente em 120 o total de kits tipos B e C.
Quantas unidades de A, B e C devem ser fabricadas de modo a maximizar o lucro ?
Mtodo Simplex
34
Formalizao do problema :
Z = 5 x1 + 10 x2 + 15 x3
s. a
x1
+ x2
x1
+ x2
x1
x2
+ x3
x3
(lucro)
500
(capacidade)
100
(procura de A e B)
120
(excedente de A)
x1, x2, x3 0
Passar o problema para a sua forma padro :
Max
s. a
Z = 5 x1 + 10 x2 + 15 x3
x1
+ x2
x1
+ x2
x1
x2
+ x3
+ x5
= 500
x4
= 100
x3
= 120
xi 0 , i = 1,...,5
Como no possvel arranjar uma matriz identidade, tero que ser introduzidas variveis artificiais
no problema. Desta forma, o problema passar a ter a seguinte forma :
Z = 5 x1 + 10 x2 + 15 x3 + 0 x4 + 0 x5 M x6 M x7
Max
s. a
x1
+ x2
x1
+ x2
x1
x2
+ x3
+ x5
x4
+ x6
x3
+ x7
(M +)
500
100
120
XB
x1
x2
x3
x4
x5
x6
x7
2 m.
L1 L2
x5
500
L2
x6
100
L3 L2
x7
120
10
15
2M5
10
M15
220 M
(1) zj cj
L4 + (2M+5) L2 (2) zj cj
Mtodo Simplex
35
que se possa aplicar o algoritmo Simplex tm que ter zj cj = 0, j = 6, 7), necessrio construir uma
nova linha para zj cj, o que se faz da seguinte forma :
[
Linha 2 (x6)
M [
5
1
Linha 3 (x7)
M [
Linha 4
[ 2M5
Nova linha 4
10
1
15
0
100
120
10
M15
220 M ]
Desta forma, o primeiro quadro Simplex ser o anterior, em que a linha zj cj ser a (2).
1 Iterao :
XB
x1
x2
x3
x4
x5
x6
x7
2 m.
L1 L3
x5
400
L2 + L3
x1
100
L3
x7
20
zj cj
2M5
M15
M5
2M+5
20 M+500
XB
x1
x2
x4
x5
x6
x7
2 m.
L3 + L1
x5
x1
x4
zj cj
2
1
2
15
20
0
0
1
0
1
0
0
0
0
0
1
M
1
1
1
L4 + 10 L1
0
1
0
0
x3
2
1
1
M+5
380
120
20
600
XB
x1
x2
x3
x4
x5
x6
x7
2 m.
x3
0.5
0.5
190
x1
0.5
0.5
310
x4
0.5
0.5
210
zj cj
10
M5
4 400
L4 + (M+5) L2
2 Iterao :
L1
L2 + L1
3 Iterao :
Como todos os elementos da linha (zj cj) so no negativos, ento a soluo presente ptima :
x* = (310, 0, 190, 210, 0, 0, 0) com z* = 4 400.
No quadro inicial as variveis artificiais x6 e x7 so VB
R2 e R3 so violadas.
R3 violada.
Soluo admissvel.
Mtodo Simplex
36
Z = Xa
Sujeito a
AX=b
X0
em que Xa o vector das variveis artificiais e o objectivo consiste, nesta fase, em minimizar a sua
soma (funo objectivo artificial), quer o problema inicial seja de maximizao quer seja de
minimizao.
Portanto, obtida uma soluo para o problema auxiliar com as variveis artificiais nulas, fica
determinada a SBA de partida para o problema inicial. evidente que uma soluo nestas condies
s se verifica com o valor da FO artificial igual a zero (Z = 0).
No entanto, outros situaes podem acontecer. Portanto, no fim do 1 fase, em que se atingiu a
soluo ptima do problema auxiliar, est-se numa das situaes seguintes :
i) z > 0 existe pelo menos uma varivel artificial bsica com valor estritamente positivo o
soluo admissvel para o problema inicial. Se existir algum vector no artificial fora da base em
condies de substituir um vector artificial procede-se substituio, sendo a soluo obtida
degenerada; caso contrrio, tira-se do quadro Simplex a linha respectiva (e a varivel artificial
associada). Em qualquer dos casos, aps estas operaes, passar 2 fase.
A 2 fase consiste em considerar a soluo obtida na fase anterior como primeira SBA, e aplicar
o mtodo Simplex normalmente at se atingir a soluo ptima. Nesta fase, os vectores artificiais
podem ser suprimidos dos respectivos quadros; no entanto, vantajoso a sua manuteno, sem
contudo questionar a sua possvel reentrada na base.
Mtodo Simplex
37
Exemplo :
Z = 3 x1 + 2 x2
s. a
x1
x2
x2
x1 + 5 x2
5 x1 + 2 x2
10
x1 +
x1, x2 0
Este problema equivalente ao seguinte problema de maximizao :
Maximizar
Z = 3 x1 2 x2
(x1, x2) X
Sujeito a
Maximizar Z = 3 x1 2 x2
Sujeito a
x1
+ x5
x2
x1 +
+ x6
x2
+ x7
x1 + 5 x2
5 x1 + 2 x2
x3
+ x8
x4
xX
Z = x8 x9
sujeito a x X
Mtodo Simplex
+ x9 = 10
38
XB
x1
x2
x3
x4
x5
x6
x7
x8
x9
2 m.
L1
x5
L2 (1/5) L4
x6
L3 (1/5) L4
x7
(1/5) L4
x8
L5 (2/5) L4
x9
10
(1) zj cj
(2) zj cj
15
L6 + (7/5) L4
que se possa aplicar o algoritmo Simplex tm que ter zj cj = 0, j = 8, 9), necessrio construir uma
nova linha para zj cj, o que se faz da seguinte forma :
[
Linha 4 (x8)
Linha 5 (x9)
10
[ 6
15 ]
Linha 6
Nova linha 6
Desta forma, o primeiro quadro Simplex ser o anterior, em que a linha zj cj ser a (2).
1 Iterao :
XB
x1
x2
x3
x4
x5
x6
x7
x8
x9
2 m.
L1 (5/23) L5
x5
L2 + (1/23) L5
x6
1/5
1/5
1/5
L3 (4/23) L5
x7
4/5
1/5
1/5
L4 (1/23) L5
x2
1/5
1/5
1/5
(5/23) L5
x9
23/5
2/5
2/5
2/5
7/5
x3
x4
x5
x6
x7
x8
x9
2 m.
L6 + L5
2 Iterao :
zj cj 23/5
XB
x1
x2
x5
2/23 5/23
x6
5/23 1/23
5/23 1/23
x7
3/23 4/23
x2
5/23 1/23
x1
2/23 5/23
2/23 5/23
zj cj
Mtodo Simplex
77/23
40/23
0
39
Como zj cj 0, j, a soluo actual ptima, para o problema auxiliar, que ser a SBA de
partida para o problema inicial. Esta soluo a seguinte :
29 77 60
40 15
x* = ,
, 0, 0,
,
,
e z* = 0.
23 23 23
23 23
2 Fase :
x1
x2
x5
x6
x7
x3
x4
x5
x6
x7
x8
x9
2 m.
2/23 5/23
2/23
5/23
29/23
5/23 1/23
5/23
1/23
77/23
3/23 4/23
3/23 4/23
60/23
x2
5/23 1/23
5/23
1/23
15/23
x1
2/23 5/23
2/23
5/23
40/23
(1) zj cj
(2) zj cj
4/23 13/23
4/24 13/23
150/23
Zmax
(1) Como os valores de z c (j = 1, 2) so no nulos (3, 2), x e x so variveis bsicas (portanto, para
j
j
1
2
que se possa aplicar o algoritmo Simplex tm que ter zj cj = 0, j = 1, 2), necessrio construir uma
nova linha para zj cj, o que se faz da seguinte forma :
(1) Linha 6
[ 3
Linha 4 (x8)
2 [ 0
Linha 5 (x9)
3 [ 1
[ 0
5/23 1/23
5/23
1/23
15/23
2/23 5/23
2/23
5/23
40/23
4/23 13/23
4/23 13/23
150/23
Desta forma, o primeiro quadro Simplex ser o anterior, em que a linha zj cj ser a (2).
Como zj cj 0, j, a soluo associada ao quadro ptima. Esta a seguinte :
150
29 77 60
40 15
(= Z max )
x* = ,
, 0, 0,
,
,
com Z min =
23
23
23
23
23
23
Mtodo Simplex
40
Problemas de minimizao
6. Problemas de minimizao
At aqui, o mtodo Simplex apenas tem sido aplicado a problemas que consistem na
maximizao das funes de custo. No entanto, este mtodo tambm se pode aplicar a problemas de
minimizao. Para tal, no ser necessrio alterar o algoritmo Simplex, descrito anteriormente,
podendo aquele ser aplicando a problemas de minimizao, pois pode-se converter um problema
daquele tipo num problema de maximizao equivalente, da seguinte forma :
Z = c1 x1 + c2 x2 + + cn xn
Minimizar
Sujeito a
equivalente a
Maximizar
Z = c1 x1 c2 x2 cn xn
Sujeito a
Mtodo Simplex
41
Z* = 4 400
o de menor ndice).
Existe zj cj negativo mas apenas h elementos no positivos na coluna pivot soluo no
degeneradas).
zj cj nulo e xj VNB
Mtodo Simplex
42
Tcnica da Perturbao.
Esta tcnica consiste em formular um novo problema, sem degenerescncia, em que o vector
formado
pelos
segundos
membros
das
restries,
so
obtidos
deslocando
ligeiramente
bi
x t = min
,
i a ik
a ik > 0
Mtodo Simplex
43
bi
x t = min
,
i a ik
bq
bs
a ik > 0 =
=L=
a qr
a sr
a ik > 0
a i1
min
i =s ,...,q a ik
para i correspondente aos vectores empatados. Se o mnimo desta expresso for nico, ento a
varivel associada quele valor sai da base, de acordo com o processo descrito.
Se, pelo contrrio, o empate ainda persiste, isto ,
a i1
min
,
i a ik
a q1
a s1
a ik > 0 =
=L=
a qr
a sr
a ik > 0
a i2
min
i =s ,...,q a ik
a ik > 0
para j = 3, 4, ..., m ,
havendo a garantia de existir desempate, pois j percorre o conjunto dos ndices dos vectores x1,
x2, ..., xm, e estes constituem uma matriz identidade.
Exemplo :
x1
x2
x3
x4
x5
x6
x7
2 m.
x1
1/4
x2
1/2
12
1/2
x3
zj cj
3/4
20
1/2
0 0
I 0 = i : min ,
= {i : min {0 , 0}} = {1, 2}
1 4 1 2
Mtodo Simplex
44
1 0
I 1 = i : min ,
= {i : min {4 , 0}} = {2}
1 4 1 2
coluna x 1
Como I1 singular, ento a varivel que sai na base a x2 (a 2 na base). Logo, o quadro a
passa a ter o seguinte aspecto :
XB
x1
x2
x3
x4
x5
x6
x7
2 m.
x1
1/2
x4
24
x3
zj cj
3/2
3/4 15/2
5/4 21/2
1
I 0 = i : min = {i : min {1}} = {3}
1
Como I0 singular, ento a varivel que sai na base a x3 (a 3 na base). Logo, o quadro a
passa a ter o seguinte aspecto :
XB
x1
x2
x3
x4
x5
x6
x7
2 m.
x1
1/2
3/4
15/2
3/4
x4
24
x6
zj cj
3/2
5/4
21/2
5/4
3
x * = , 0 , 0 , 1, 0 , 1, 0
com
z* =
5
.
4
Mtodo Simplex