Escolar Documentos
Profissional Documentos
Cultura Documentos
3.1- Introduo
O Mtodo Simplex uma tcnica utilizada para se determinar,
numericamente, a soluo tima de um modelo de Programao Linear. Ser
desenvolvido inicialmente para Problemas de Programao Linear, na forma
padro, mas com as seguintes caractersticas para o sistema linear de
equaes:
i)
ii)
iii)
mn
(3.1)
x n
29
Teorema 3.2.1.1:
Seja a matriz A mxn com m n. Se a matriz A possui m colunas
a1, a2,, am linearmente independentes (LIs), ento para qualquer b m , o
sistema Ax=b tem ao menos uma soluo em n .
Definio 3.2.1.1:
Seja Ax=b, A mxn , b m, x n (m n).
Se A possui uma submatriz B mxn onde det B 0 ento diz-se que B
uma submatriz base de A, o que equivalente a dizer:
Se A tem m colunas LI, ento a matriz B formada por estas colunas
uma base para m.
Definio 3.2.1.2 - Variveis bsicas e no bsicas:
Considerando-se o sistema Ax=b, definido em (3.1) e B mxm uma
submatriz base de A, ento, as variveis associadas submatriz B mxm
so denominadas variveis bsicas.
Notao: variveis bsicas: xB.
Definida a submatriz base B restam em A
(n - m)
colunas que
sistema
Ax=b e
suponha
que
extrai-se
de
uma
submatriz B mxm.
Pelas definies anteriores pode-se fazer as seguintes parties no
sistema Ax=b: A = [B; N], x =
xB
.
xN
30
Ax=b [B: N]
xB
= b BxB+NxN=b.
xN
(3.2)
Mostrar-se que:
i) x1 + (1- )x2 S;
ii) x1 + (1- ) x2 0.
Para se mostrar i) basta notar que,
Se x1 S e x2 S
Ax1 = b
Ax2 = b;
x1 0 e (1- ) x2 0;
assim , x1 + (1- ) x2 0.
x1 + (1- ) x2 S .
S convexo.
Teorema 3.3.2:
Toda soluo bsica do sistema
Ax = b um ponto extremo do
xB
xN
com x N =
0 para i = m+1,...,n.
Por contradio, suponha que x no seja ponto extremo ou vrtice de
S, ento x 1 e x 2 S tal que:
x = x 1 + (1- ) x 2 ; [0,1] e x 1 x 2 pois x 0.
x i = 0
2
(1 ) x i = 0
Logo,
xi = 0
para i=m+1,...,n
x1 =
x 1B
x 1N
para i=m+1,...,n.
xi = 0
x2 =
32
x 2B
x 2N
Como
Ax = b
Bx
Ax = b
Bx
B
2
B
=b
=b
B x 1 - Bx 2 = B (x 1 - x 2 ) = b - b 0 .
B
Mas x 1 x 2
B
e ento
x1 - x2
B
B = 0 , contradio,
p
i=1
i xi e
p
i =1
i = 1.
Teorema 3. 3.4:
Se um problema de programao linear admitir soluo tima, ento
pelo menos um ponto extremo (vrtice) do conjunto de pontos viveis uma
soluo tima do problema.
Mostrar-se este teorema admitindo-se que o conjunto S limitado.
Prova:
Sejam x1, x2,..., xp pontos extremos do conjunto S limitado.
Ento, pelo teorema 3.3.3, x S ,
i xi e
p
i =1
i = 1.
Logo, cTx = cT (
p
i=1
p
i=1
Ento,
ic T x * = cTx* .
cTx* cTx , x S .
Teorema 3.3.5:
Toda combinao convexa de solues timas de um P.P.L. tambm
uma soluo tima do problema.
Corolrio 3.3.2:
Se um P.P.L. admitir mais de uma soluo tima ento admite infinitas
solues timas.
Corolrio 3.3.3:
Se a funo objetivo assume o mximo (mnimo) em mais de um ponto
extremo, ento ela toma o mesmo valor para qualquer combinao convexa
desses pontos extremos.
34
Exemplo 3.4.1:
Seja o problema:
Max. z = x1 + x2
sujeito a:
2 x1 + x2 8
x1 + 2x2 7
x2 3
x1 e x2 0
35
x2 + x3
=8
x1 + 2 x2
+ x4
x2
=7
+ x5 = 3
vB
x1
x2
x3
x4
x5
x3
x4
x5
-z
-1
-1
xT = (0, 0, 8, 7, 3)
Passo 2: Escolhemos x1 para entrar na base:
x1 = > 0
x1 = x2 = 0, x3 = 8, x4 = 7, x5 = 3
Tomando x1 = temos:
1a equao:
2 x1 + x2 + x3 = 8 2 x1 + x3 = 8 x3 = 8 - 2 x1 0
2a equao:
x1 + 2 x2 + x4 = 7 x1 + x4 = 7 x4 = 7 - x1 0
3a equao:
x2 + x5 = 3 x5 = 3 0
Passo 3: Analisamos qual das trs variveis bsicas deve sair da base:
x3 = 8 - 2 x1 0
para x3 = 0
8 - 2 x1 = 8 x1 = 4
x4 = 7 - x1 0
para x3 = 0 7 - x1 = 0
x1 = 7
36
x1 = = 4 temos:
x3 = 8 - 2.4 = 0
x4 = 7 - 4 = 3
ou seja, x1 = = min
x5 = 3
8 7 3
, , = 4.
2 1 0
vB
X1
x2
x3
x4
x5
x1
1/2
1/2
x4
3/2
-1/2
x5
-z
-1/2
1/2
-4
4 3 3
,
, = 2.
12 32 1
para x3 = 0 x2 = 6
x4 = 3 - 3/2 x2 0
para x4 = 0 x2 = 0
x5 = 3 - x2 0
para x5 = 0 x2 = 1
37
vB
x1
x2
x3
x4
x5
x1
2/3
-1/3
x2
-1/3
2/3
x5
1/3
-2/3
-z
1/3
1/3
-5
x1
3
=
x2
2
z*= 5.
38
(3.3)
j = 1,...,n.
3.5.2- Definio de .
Assumindo-se que xq = 0, ento, de acordo com o sistema de
restries (3.3).;
x1
.
xB = xp
.
xm
y 10
.
y p0
.
y m0
y1q
.
y pq . 0,
.
y mq
y p0
y pq
= min {
yi0
tal que yiq > 0 }.
y iq
39
Passo 1:
Calcule o coeficiente de custo relativo rNT = cNT - cBT B-1N.
Isto pode ser feito primeiro calculando-se wT = cBT B-1 e ento o vetor
custo relativo ser, rNT = cNT - wTN.
Se rN 0, pare pois a soluo corrente tima. Caso contrrio:
Passo 2:
Determine qual vetor aq deve entrar na base selecionando o coeficiente
de custo relativo mais negativo (no regra geral). Calcule:
yi0
para yiq > 0, para determinar qual varivel
y iq
40
y p0
base e xq =
y pq
y
yi0
tal que yiq > 0 } = p0 , ento xp = 0
yiq
y pq
sai da
Passo 4:
Atualize B-1 efetuando pivoteamento gaussiano em torno de ypq. Calcule
a nov a soluo corrente xB = B-1b e volte ao passo 1
Exemplo 3.6.1:
Considerando o exemplo 4.7.1 resolvido por quadros e seguindo os
procedimentos vistos tem-se:
a1
a2
a3
a4
a5
cT = [ -1, -1, 0 , 0 , 0 ]
Soluo inicial:
Var. bs.
B-1
xB
1 0 0
0 1 0
0 0 1
B-1
xB
y1
1 0 0
2 piv (a11 = 2)
0 1 0
0 0 1
41
B-1
Var. bs.
xB
1/2 0 0
-1/2 1 0
0 1
B-1
Var. bs.
xB
y2
-1/2 0 0
1/2
-1/2 1 0
0 1
B-1
xB
2/3 -1/3
-1/3 2/3
1/3 -2/3 1
42
Teorema 3.7.1.1:
Seja x uma soluo do sistema Ax = b. Ento,
x n satisfaz o
Ax = b
A( x + d) = b A x + Ad = b Ad = 0 d N(A).
Portanto, o conjunto das solues de um sistema Ax = b a translao
do sub-espao N(A) por qualquer soluo perturbada x do sistema :
{ x } + N(A) = { x n tal que x = x + N(A) }.
Foi visto que, considerando-se a partio bsica da matriz A e do vetor
x, era vlido que: xB = B-1b - B-1NxN, com a soluo bsica factvel escrita por
xB = B-1b.
Se considerar-se x uma soluo para o sistema Ax = b, ento pode-se
escrever x B = B-1b - B-1N x N tal que a soluo bsica factvel escrita por
x B = B-1b.
xN = x N + dN;
podemos obter nova soluo para o sistema Ax = b, bastando fazer a
substituio:
x B = B-1b - B-1N xN = ( B-1b - B-1N x N ) - B-1N dN = x B + dB ;
x=
xB
; x =
xN
xB
xN
obtidos acima.
Pela definio de d:
43
e d=
dB
,
dN
d N(A), bastando para isto se atribuir um valor dN = d N. Isto pode ser feito
escolhendo-se:
d N = ej, j = 1,2,...,n-m; onde ej vetor cannico do nm , que determinam
dj =
B1Nj
, j = 1,2,...,n-m;
ej
n m
dj .
j= 1
Teorema 3.7.1.2:
Seja A mxn , posto(A) = m. Ento, dim(N(A)) = n-m.
Uma nova soluo obtida por uma perturbao na direo dj:
x = x + dj , > 0,
corresponde estratgia de alterar apenas a j-sima componente do vetor das
variveis no bsicas:
xN j = xN j + =
, j=q
x N = x N = 0, j q
44
garantida se:
x + d 0 x B + dB 0 ( x B )i + (dB)i 0, i IB.
(x B )i
tal que (dB)i < 0 , i IB }.
(d B )i
ilimitado.
Alm disso, se duas ou mais componentes de x B se anularem para um
mesmo valor de , temos o caso de degenerao da base.
45
3.7.4- Algoritmo
Dada a soluo bsica inicial: x B0 = B 01 b = y0 com k=0, faa:
Passo 2Determine ( rNK )q = min { ( rNK )j tal que ( rNK )j < 0, para j IN }, para
determinar qual vetor de Nk ir entrar na base.
Passo 5Atualize:
( B k+1 )p ( Nk)q ;
( Nk+1)q ( Bk)p ;
x kB = Bk1 b = yk ;
k k+1.
46
Exemplo 3.8.2.1
Maximizar z = 5x1 + 2x2
Sujeito a:
x1
x2 4
4x1 + 3x2 12
x1; x2 0
47
Exemplo 3.8.3.1:
Maximizar z = x1 + 2x2
Sujeito a:
x1
x2 4
x1 + 2x2 9
x1; x2 0
Exemplo 3.8.4.1:
Maximizar z = x1 + 2x2
Sujeito a:
4x1 + x2 20
x1 + 2x2 10
x1 2
x1; x2 0
uma
submatriz
base
(identidade)
necessitamos
de
um
Exemplo 3.9.1:
max. z = 6 x1 - x2
sujeito a:
x2 21
4 x1 +
2 x1 + 3 x2 13
x1 -
x2 = -1
x1 e x2 0
Passando o problema para a forma padro, termos:
min. -z = -6 x1 + x2
sujeito a:
4 x1 +
x2 + x3
2 x1 + 3 x2
- x1 +
= 21
- x4 = 13
x2
=1
x1
x2
x3
x4
21
-1
13
-1
-6
4 x1 +
x2 + x3
- x4 + xa1
2 x1 + 3 x2
- x1 +
= 21
= 13
+ xa2 = 1
x2
x1
x2
x3
x4
xa1
xa2
21
-1
13
-1
-6
bvia
fazendo-se x1 = x2 = x4 = 0,
com xB = (x3, xa1, xa2) = ( 21, 13,1) e xN = (x1, x2, x4) = (0, 0, 0).
Diz-se que as restries:
a) 2 x1 + 3 x2 13
b) x1 -
x2 = -1
2 x1 + 3 x2 13
Se x4 > 0 e xa1 = 0
2 x1 + 3 x2 13
b) - x1 +
Se xa2 = 0
x2 + xa2 = 1
x1 -
x1 -
x2 -1.
50
x2
Conjunto de Solues ampliado
x1
Observaes:
1) O Problema de Programao Linear inicial tem soluo factvel se as
variveis artificiais se anularem.
Problema de Programao Linear inicial inicial na forma padro:
minimizar cT x
sujeito a Ax=b
(3.4)
x 0
Problema de Programao Linear relaxado:
minimizar cT x
Ax + xa = b
s.a
(3.5)
x, xa 0
Problema de Programao Linear inicial tem soluo tima xa = 0.
De (3.4) tem-se
De (3.5) tem-se
x 0.
Ax=b,
a
x, xa 0.
Ax + x = b,
Ento: Ax + xa = b xa = 0.
2) Seja o problema original de maximizao ou de minimizao, o problema
auxiliar sempre ser de minimizao;
3) O problema auxiliar sempre vivel (sempre admite soluo);
51
onde:
xa2 = 1 +
x1 -
x2 .
Logo z (x) = 14 - x1 - 4 x2 + x4
14 = - x1 - 4 x2 + x4.
x1
x2
x3
x4
xa1
xa2
x3
21
xa1
-1
13
-1
-1
-4
-14
-6
Fase 1:
Como ra2 = -4, x2 entra na base.
x2 = = min
21 13 1
, , =1
1 3 1
Quadro 2:
x1
x2
x3
x4
xa1
xa2
x3
-1
20
xa1
-1
-3
10
x2
-1
za
-5
-10
-5
-1
-1
52
x1 = = min
Quadro 3:
x1
x2
x3
x4
xa1
xa2
x3
-1
x1
x2
-1
10
x2
x3
x4
x3
10
x1
-1/5
x2
-1/5
-1
x2
x3
x4
x4
10
x1
1/5
x2
1/5
10
53
10 2
3
,
,
= 10
1 1 5 1 5
x4 entra na
Quadro timo:
xB = (x4, x1, x2) = (10, 4, 5), xN = (x3) = (0)
x* = (4, 5, 0, 10) e z* = 19.
3.9.2 Algoritmo para o problema com variveis artificiais
maximizar 5 x1 + 6x2
sujeito a:
x1 + 3x 2 5
4 x1 + 9 x 2 12
x1, x 2 0
b)
maximizar 4 x1 + 2x2
sujeito a:
54
2 x1 + x 2 8
x1 + 2 x 2 7
;
0x 1 + x 2 3
x1, x 2 0
c)
maximizar x2
sujeito a:
4 x1 + 4 x 2 28
2 x1 + 0x 2 10
x1 + 3x 2 9
0 x1 + x 2 4
x1, x 2 0
d)
maximizar x1 + x2
sujeito a:
x1 + 4 x 2 4
3x1 + x 2 = 1
x 1, x 2 0
55
sujeito a:
56
analise o
x1
x2
x3
x4
xB
x1
5/19
-3/19
45/19
x2
-2/19
5/19
20/19
5/19
16/19
235/19
15 ; c = 5
b = 10
3
T
r = (0;0;5/19;16/19) e z* = 235/19;
Alimento A1
Alimento A2
Vitamina A
4
1
Vitamina B
1
2
Vitamina C
1
---
Preo Unitrio
30 u.m.
20 u.m.
57
58