You are on page 1of 30

29

3- O MTODO SIMPLEX

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) Todas as variveis so no-negativas:
ii) Todos os b
i
so no-negativos;
iii) Todas as equaes iniciais do sistema so do tipo . Assim, na forma
padro, s encontra-se variveis de folga.

Se uma das caractersticas vistas no ocorrer, ento, casos especiais do
mtodo devem ser considerados e esses sero vistos na seo 3.8, como o
Mtodo Simplex de Duas Fases.

3.2- Introduo e fundamentos tericos para o Mtodo Simplex
3.2.1- Determinao de solues bsicas em um sistema de equaes
lineares m x n , m n (sistemas lineares)

Se ao resolver-se um sistema Ax=b, onde A r
mxm
, x r
m
e b r
m
e
A fosse uma matriz inversvel, ento a soluo seria facilmente determinada.
Porm, se dado um sistema Ax=b, onde:
A
b
x
m n
mxn
m
n

(3.1)
Tal que m n, ou seja, sistema retangular, como determinar solues
de Ax=b?
O sistema acima sempre tem soluo?





30
Teorema 3.2.1.1:
Seja a matriz A
mxn
com m n. Se a matriz A possui m colunas
a
1
, a
2
,, a
m
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: x
B
.

Definida a submatriz base B restam em A (n - m) colunas que
chamar-se de submatriz no base N. As variveis associadas a esta
submatriz N so denominadas variveis no bsicas.

Notao: variveis no bsicas: x
N
.
3.2.1.2- Uma possvel soluo para Ax=b da definio acima

Seja o sistema Ax=b e suponha que extrai-se de A uma
submatriz B
mxm
.
Pelas definies anteriores pode-se fazer as seguintes parties no
sistema Ax=b: A = [B; N], x
x
x
B
N
=
|
\

|
.
|
.
Logo pode-se escrever:
31
Ax=b
[ ]

(
= B N
x
x
b
B
N
: Bx
B
+Nx
N
=b.
Portanto, o sistema Ax=b equivalente ao sistema:
Bx
B
+Nx
N
=b. (3.2)
Isto define que x
B
= B
-1
b - B
-1
Nx
N
uma possvel soluo de Ax=b.

Definio 3.2.1.3 - Soluo bsica de Ax=b:
Seja o sistema Ax=b definido em (3.1), ento uma soluo x de Ax=b,
ou seja, Ax =b, denominada soluo bsica, se e somente se, em (3.2),
x
N
=0, ento:
Ax =b x
B
= B
-1
b
x
B
: soluo bsica.
Definio 3.2.1.4 - Soluo bsica factvel (vivel):

x denominada soluo bsica factvel para Ax=b se, e somente se:
x
B
= B
-1
b e x
N
= 0, para x 0 (ou seja x
B
0).

3.3- Definies e Teoremas Fundamentais

Seja o conjunto S = { x
n
tal que Ax = b, x 0}
onde A
mxn
, b
m
e x
n
com m n.

Definio 3.3.1:
x ser um ponto extremo de S se possuir n-m variveis nulas.

Teorema 3.3.1:
O conjunto S, de todas as solues factveis do modelo de
Programao Linear, um conjunto convexo.
Prova:
Sejam x
1
e x
2
S , [0,1].
32
Mostrar-se que:
i) x
1
+ (1- )x
2
S;
ii) x
1
+ (1- ) x
2
0.
Para se mostrar i) basta notar que,
Se x
1
S e x
2
S Ax
1
= b Ax
2
= b;
Assim, A( x
1
+ (1- )x
2
) = A x
1
+ (1- ) Ax
2
= b + (1- )b = b.
Logo, A( x
1
+ (1- )x
2
) = b.
Para se mostrar ii): x
1
0 e x
2
0 x
1
0 e (1- ) x
2
0;
assim , x
1
+ (1- ) x
2
0.
x
1
+ (1- ) x
2
S .
S convexo.

Teorema 3.3.2:
Toda soluo bsica do sistema Ax = b um ponto extremo do
conjunto de solues factveis S.

Prova:
Seja x uma soluo bsica associada a uma submatriz base B
mxm
.
Ento, sem perda de generalidade, suponha que, x =
x
x
B
N
|
\

|
.
| 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.
Desde que x
i
= 0 para i = m+1,...,n

x
x
i
i
1
2
0
1 0
=
=

( )
para i=m+1,...,n
x
x
i
i
1
2
0
0
=
=

para i=m+1,...,n.
Logo, x
1
=
x
x
B
N
1
1
|
\

|
.
|
|
e x
2
=
x
x
B
N
2
2
|
\

|
.
|
|
.
33
Como x
1
S e x
2
S
Ax b
Ax b
1
2
=
=


Bx b
Bx b
B
B
1
2
=
=



B x
B
1
- Bx
B
2
= B ( x
B
1
- x
B
2
) = b - b 0 .
Mas x
B
1
x
B
2
e ento x
B
1
- x
B
2
0 B = 0 , contradio,
pois por hiptese B uma submatriz base e portanto no singular!
Toda soluo bsica do sistema Ax = b um ponto extremo do
conjunto de solues factveis S.

Teorema 3.3.3:
Sejam x
1
, x
2
,..., x
p
pontos extremos do conjunto S e seja S limitado.
Ento, x S, x pode ser escrito como combinao convexa dos
pontos extremos x
1
, x
2
,..., x
p
de S, ou seja, x =
i
i
i
p
x
=

1
e
i
i
p
=

1
= 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 x
1
, x
2
,..., x
p
pontos extremos do conjunto S limitado.
Ento, pelo teorema 3.3.3, x S, x pode ser escrito como
combinao convexa dos pontos extremos x
1
, x
2
,..., x
p
de S, ou seja, x =

i
i
i
p
x
=

1
e
i
i
p
=

1
= 1.
Logo, c
T
x = c
T
(
i
i
i
p
x
=

1
) =
1
c
T
x
1
+
2
c
T
x
2
+...+
p
c
T
x
p
.
Seja x
*
um ponto extremo tal que c
T
x
*
c
T
x
i
(i=1,...p).
Mas c
T
x =
1
c
T
x
1
+
2
c
T
x
2
+...+
p
c
T
x
p

34

1
c
T
x
*
+
2
c
T
x
*
+...+
p
c
T
x
*
=

p
1 i
* T
i
x c = c
T
x
*
.
Ento, c
T
x
*
c
T
x , x S .
x
*
um vrtice timo ( soluo tima) do problema.

Corolrio 3.3.1:
Se a funo objetivo possui um mximo (mnimo) finito, ento pelo
menos uma soluo tima um ponto extremo do conjunto convexo 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.
3.4- Os Passos do Mtodo Simplex

Os passos abordados a seguir referem-se a um P.P.L. de minimizao.
Para iniciarmos o Mtodo Simplex necessita-se de uma soluo bsica
vivel inicial, a qual , um dos pontos extremos. Este mtodo verifica se a
presente soluo tima. Se esta no for porque um dos demais pontos
extremos adjacentes (vrtice) fornecem valor menor para a funo objetivo que
a atual, quando o problema considerado de minimizao. Ele ento faz uma
mudana de vrtice na direo que mais diminua a funo objetivo e verifica se
este novo vrtice timo.
35
O processo termina quando estando num ponto extremo, todos os outros
pontos extremos adjacentes fornecem valores maiores para a funo objetivo.
Portanto, a troca de vrtice, faz uma varivel no bsica crescer
(assumir valor positivo) ao mesmo tempo em que zera uma varivel bsica
(para possibilitar a troca) conservando a factibilidade do Problema de
Programao Linear.
Para isso, escolhemos uma varivel, cujo custo relativo mais negativo
(no regra geral), para entrar na base, e as trocas de vrtices so feitas at
que no exista mais nenhum custo relativo negativo.
A varivel que sair da base aquela que ao se anular garante que as
demais continuem maiores ou iguais a zero, quando aumentamos o valor da
varivel que entra na base (respeitando a factibilidade).
O Mtodo Simplex compreender, portanto, os seguintes passos:
i) Achar uma soluo factvel bsica inicial;
ii) Verificar se a soluo atual tima. Se for, pare. Caso contrrio, siga para o
passo iii).
iii) Determinar a varivel no bsica que deve entrar na base;
iv) Determinar a varivel bsica que deve sair da base;
v) Atualizar o sistema fim de determinar a nova soluo factvel bsica, e
voltar ao passo ii.

Exemplo 3.4.1:
Seja o problema:
Max. z = x
1
+ x
2

sujeito a:
2 x
1

+ x
2
8
x
1
+ 2x
2
7
x
2
3
x
1
e x
2
0




36
Passando este problema para a forma padro, temos a soluo inicial:

Min. -z = -x
1
- x
2
sujeito a:
2 x
1
+ x
2
+ x
3
= 8
x
1
+ 2 x
2
+ x
4
= 7
x
2
+ x
5
= 3
x
1
, x
2
, x
3
, x
4
, x
5
0
Passo 1: Quadro 1
v
B
x
1
x
2
x
3
x
4
x
5

x
3
2 1 1 0 0 8
x
4
1 2 0 1 0 7
x
5
0 1 0 0 1 3
-z -1 -1 0 0 0 0
x
T
= (0, 0, 8, 7, 3)
Passo 2: Escolhemos x
1
para entrar na base:
x
1
= > 0
x
1
= x
2
= 0, x
3
= 8, x
4
= 7, x
5
= 3
Tomando x
1
= temos:
1
a
equao:
2 x
1
+ x
2
+ x
3
= 8 2 x
1
+ x
3
= 8 x
3
= 8 - 2 x
1
0
2
a
equao:
x
1
+ 2 x
2
+ x
4
= 7 x
1
+ x
4
= 7 x
4
= 7 - x
1
0

3
a
equao:
x
2
+ x
5
= 3 x
5
= 3 0
Passo 3: Analisamos qual das trs variveis bsicas deve sair da base:
x
3
= 8 - 2 x
1
0 para x
3
= 0 8 - 2 x
1
= 8 x
1
= 4
x
4
= 7 - x
1
0 para x
3
= 0 7 - x
1
= 0 x
1
= 7
x
5
= 3 - 0 x
1
0 ( para qualquer > 0, x
1
no afeta a factibilidade).
Para que x
3
e x
4
no percam sua factibilidade o menor valor que x
1
pode
assumir 4 e da:
37
x
1
= = 4 temos:
x
3
= 8 - 2.4 = 0 x
4
= 7 - 4 = 3 x
5
= 3
ou seja, x
1
= = min
8
2
7
1
3
0
, ,


`
)
= 4.
A varivel a sair da base x
3
e a varivel a entrar na base x
1
com o
valor assumido por > 0, ou seja, x
1
= 4.
Nova base: v
B
= { x
1
, x
4
, x
5
} e v
N
= {x
2
, x
3
}.
Como o valor mnimo de ocorreu na 3 equao ento x
3
sai da
base.. Ento, o elemento a
11
= 2 o piv da operao. Aplicando o
pivoteamaneto gaussiano nas equaes, obtemos o seguinte quadro:
Passo 4: Quadro 2:
v
B
X
1
x
2
x
3
x
4
x
5

x
1
1 1/2 1/2 0 0 4
x
4
0 3/2 -1/2 1 0 3
x
5
0 1 0 0 1 3
-z 0 -1/2 1/2 0 0 -4

Passo 5: A soluo tima? (z = 4)
No, pois ainda existem custos relativos negativos, ou seja, a funo
objetivo ainda pode ser diminuda ou minimizada.
Passo 6: Varivel que entra na base:
Custo mais negativo : x
2
.
Da x
2
= = min
4
1 2
3
3 2
3
1
, ,


`
)
= 2.

Passo 7: Varivel que sai:
x
3
= 8 - x
2
0 para x
3
= 0 x
2
= 6
x
4
= 3 - 3/2 x
2
0 para x
4
= 0 x
2
= 0
x
5
= 3 - x
2
0 para x
5
= 0 x
2
= 1

A varivel a sair da base x
4
e x
2
entra na base.
Nova base: v
B
= {x
1
, x
2
, x
5
} e v
N
= {x
3
, x
4
}.
38
Desde que o valor mnimo de ocorreu na 2 equao, ento x
4
sai da
base e o elemento piv da operao a
22
=3/2.
Aplicando o pivoteamento gaussiano, obtemos o prximo quadro:
P asso 8 : Quadro 3: Atualizao do sistema em funo da nova base:
v
B
x
1
x
2
x
3
x
4
x
5

x
1
1 0 2/3 -1/3 0 3
x
2
0 1 -1/3 2/3 0 2
x
5
0 0 1/3 -2/3 1 1
-z 0 0 1/3 1/3 0 -5

Passo 9: A soluo tima?:
Sim, pois no existe nenhum outro custo relativo negativo, ou seja, no
podemos diminuir mais a funo objetivo.
Portanto, a soluo tima : x* = (x
1
, x
2
, x
3
, x
4
, x
5
) = (3, 2, 0, 0, 1).
x*=
x
x
1
2
3
2
|
\

|
.
|
=
|
\

|
.
|
z*= 5.

3.5- O Mtodo Simplex Revisado.

3.5.1- Consideraes tericas sobre o mtodo.

Sem perda de generalidade, supondo-se que aps algumas iteraes do
mtodo obtido o seguinte sistema a ser resolvido:
x
1
+ .........................................................y
1q
x
q
...................................= y
10

x
2
+.....................................................y
2q
x
q
...................................= y
20

..................................................................................................... (3.3)
x
p
+ ................................y
pq
x
q
...................................= y
p0

...............................................................................
x
m
+ ...................y
pm
x
q
..................................= y
m0

com y
i0
0 para i = 1,...,m.

Ento, a soluo bsica factvel atual :
x
B
= (x
1
,...,x
m
) e x
N
= (x
m+1
,...,x
q
,...,x
n
), com x
i
= y
i0
0 para i = 1,...,m.
39

Para se obter a nova soluo, suponha que fazemos a varivel no
bsica x
q
entrar na base.

Se o elemento piv da operao y
pq
ento x
p
sai da base.

A nova soluo deve estar na forma cannica e assim deve-se efetuar
pivoteamento gaussiano em y
pq
.

Os novos coeficientes do sistema sero dados por:
linha p: y
pj
= y
pj
/ y
pq
; j = 1,...,n.
para i p: y
ij
= y
ij
- y
iq
* (y
pj
/ y
pq
) .
para j = 1, ..., n.

3.5.2- Definio de .
Assumindo-se que x
q
= 0, ento, de acordo com o sistema de
restries (3.3).;
x
B
=
x
x
x
p
m
1
.
.
|
\

|
.
|
|
|
|
|
|
=
y
y
y
p
m
10
0
0
.
.
|
\

|
.
|
|
|
|
|
|
-
y
y
y
q
pq
mq
1
.
.
|
\

|
.
|
|
|
|
|
|
. 0,
que pode ser escrito por x
B
= y
0
- y
q
. 0.
Logo, x
q
= =
pq
p0
y
y
= min {
iq
i0
y
y
tal que y
iq
> 0 }.
Assim, x
q
= 0 entra na base , x
p
= 0 sai da base e um novo
vrtice alcanado.
Se y
iq
< 0, i , ento a soluo ilimitada pois 0 tem-se que:
y
i0
- y
iq
. 0 .



40
3.5.3- Decrscimo da funo objetivo.

A funo objetivo pode ser escrita por z = c
B
T
x
B
+ c
N
T
x
n
.
Aps x
q
entrar na base tem-se:
z = c
B
T
x
B
+ c
N
T
x
n
= c
B
T
(y
0
- y
q
. ) + c
N
T
x
n
=
c
B
T
y
0
- c
B
T
y
q
. + c
q
= z
0
+ (c
q
- z
q
) .
Denominando-se r
q
= c
q
- z
q
, se c
q
- z
q
< 0 ento, desde que > >> > 0,
z
0
+ (c
q
- z
q
) = z
0
+ r
q
< z
0
.
Logo, para r
q
< 0 tem-se garantido o decrscimo para a funo objetivo.
r
q
denominado custo relativo.

Com as consideraes tericas feitas sobre o sistema de restries e
sobre a funo objetivo pode-se enunciar procedimentos para se resolver o
problema de programao linear com restries de desigualdade tipo ,
utilizando o mtodo simplex na forma revisada que ser visto a seguir.

3.6- Os Passos do Mtodo Simplex Revisado

A forma revisada do mtodo simplex esta:
Dada a inversa B
-1
de uma base corrente, considerando A = [ a
1
, ..., a
q
, ..., a
n
]
e a soluo corrente x
B
= B
-1
b = y
k
:
Passo 1:
Calcule o coeficiente de custo relativo r
N
T
= c
N
T
- c
B
T
B
-1
N.
Isto pode ser feito primeiro calculando-se w
T
= c
B
T
B
-1
e ento o vetor
custo relativo ser, r
N
T
= c
N
T
- w
T
N.
Se r
N
0, pare pois a soluo corrente tima. Caso contrrio:
Passo 2:
Determine qual vetor a
q
deve entrar na base selecionando o coeficiente
de custo relativo mais negativo (no regra geral). Calcule:
y
q
= B
-1
a
q
que expressa o novo vetor coluna a
q
na base nova.
Passo 3:
Se no existe nenhum y
iq
> 0 pare, o problema ilimitado. Caso
contrrio, calcule os quocientes
iq
i0
y
y
para y
iq
> 0, para determinar qual varivel
41
ir sair da base. Se min {
iq
i0
y
y
tal que y
iq
> >> > 0 } =
pq
p0
y
y
, ento x
p
= 0 sai da
base e x
q
=
pq
p0
y
y
> >> > 0 entra na base.

Passo 4:
Atualize B
-1
efetuando pivoteamento gaussiano em torno de y
pq
. Calcule
a nov a soluo corrente x
B
= B
-1
b 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:

a
1
a
2
a
3
a
4
a
5
b
2 1 1 0 0 8
1 2 0 1 0 7 sistema de restries na forma padro.
0 1 0 0 1 3

c
T
= [ -1, -1, 0 , 0 , 0 ] coeficientes de custo relativo.
Soluo inicial:
Var. bs. B
-1
x
B

3 1 0 0 8
4 0 1 0 7
5 0 0 1 3

Calcule w
T
= c
B
T
B
-1
= [0,0,0] e r
N
T
= c
N
T
- w
T
N = [-1,-1].
Fazendo-se a
1
entrar na base temos o quadro a ser atualizado: y
1
= B
-1
a
1
.
Var. bs. B
-1
x
B
y
1

3 1 0 0 8 2 piv (a
11
= 2)
4 0 1 0 7 1
5 0 0 1 3 0

42
Aps efetuar os quocientes: { 8/2, 7/1,3/0}, seleciona-se o elemento piv,
define-se qual varivel ir sair da base e atualiza-se a B
-1
:

Var. bs. B
-1
x
B

1 1/2 0 0 4
4 -1/2 1 0 3
5 0 0 1 3

Ento, w
T
= [-1/2, 0, 0] e r
N
T
= [-1/2, -1/2] = [r
2
, r
3
].
Seleciona-se ento a
2
para entrar na base: y
2
= B
-1
a
2


Var. bs. B
-1
x
B
y
2

1 -1/2 0 0 4 1/2
4 -1/2 1 0 3 3/2 piv (a
22
= 3/2)
5 0 0 1 3 1

Efetuando-se os quocientes: { 4/(3/2), 3/(3/2), 3/1}, selecionamos o elemento
piv e a varivel a sair da base. Atualizando a B
-1
tem-se:
Var. bs. B
-1
x
B

1 2/3 -1/3 0 3
2 -1/3 2/3 0 2
5 1/3 -2/3 1 1

Ento, w
T
= c
B
T
B
-1
e r
N
T
= c
N
T
- w
T
N = [1/3, 1/3] = [r
3
,r
4
]
Como no tem-se mais custos relativos negativos, esta a soluo tima do
problema.

3.7- O algoritmo Simplex

3.7.1- Direes de busca
O teorema a seguir mostra que o conjunto soluo do sistema Ax = b,
completamente determinado a partir de uma soluo particular e do sub-
espao N(A).

43
Teorema 3.7.1.1:
Seja x uma soluo do sistema Ax = b. Ento, x
n
satisfaz o
sistema Ax = b se e somente se x = x + d, tal que d N(A).

Prova:
Sendo x uma soluo do sistema Ax = b ento Ax = b.

A nova soluo x = x + d satisfaz o sistema Ax = b
A( x + d) = b Ax + 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: x
B
= B
-1
b - B
-1
Nx
N
, com a soluo bsica factvel escrita por
x
B
= B
-1
b.
Se considerar-se x uma soluo para o sistema Ax = b, ento pode-se
escrever x
B
= B
-1
b - B
-1
Nx
N
tal que a soluo bsica factvel escrita por
x
B
= B
-1
b.
Note que se perturbarmos x
N
por um vetor d
N
:
x
N
= x
N
+ d
N
;
podemos obter nova soluo para o sistema Ax = b, bastando fazer a
substituio:
x
B
= B
-1
b - B
-1
N x
N
= ( B
-1
b - B
-1
Nx
N
) - B
-1
N d
N
= x
B
+ d
B
;
onde d
B
= - B
-1
N d
N
.
Assim, a nova soluo : x = x + d com;
x =
x
x
B
N
|
\

|
.
|
; x =
x
x
B
N
|
\

|
.
| e d =
d
d
B
N
|
\

|
.
|
,
obtidos acima.
Pela definio de d:
44
d
B
= - B
-1
N d
N
Bd
B
+ Nd
N
= 0 Ad = 0 d N(A).
Observe com isto que foi determinado um procedimento para determinar
d N(A), bastando para isto se atribuir um valor d
N
= d
N
. Isto pode ser feito
escolhendo-se:
d
N
= e
j
, j = 1,2,...,n-m; onde e
j
vetor cannico do
n m
, que determinam
n-m vetores linearmente independentes em N(A).
Tem-se assim, os vetores de N(A):
d
j
=

|
\

|
.
|

B N
e
j
j
1
, j = 1,2,...,n-m;
onde N
J
a j-sima coluna da matriz N que corresponde ao vetor coluna a
j
da
matriz A. Tais vetores, alm de serem linearmente independentes, geram o
sub-espao N(A), ou seja, d N(A) ento d = d
j
j
n m
=

1
.
Construiu-se assim, uma base de N(A) e segue o seguinte resultado:

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 d
j
:
x = x + d
j
, > 0,
corresponde estratgia de alterar apenas a j-sima componente do vetor das
variveis no bsicas:

= =
= = + =
q j 0, x x
q j , x x
N
N
N
N j
j
;
Tal estratgia denominada estratgia simplex, que corresponde a
adotar a direo d
j
definida acima. Assim as direes d
j
so denominadas de
direes simplex.

3.7.2- Determinao do passo

Considere a seguinte definio dos conjuntos baseados na partio
bsica e no bsica da matriz A:
45
I
B
= { j tal que j um ndice coluna relacionado base B};
I
N
= { j tal que j um ndice coluna relacionado N}.
Em uma iterao corrente, se tiver-se a soluo bsica factvel x =
x
x
B
N
|
\

|
.
| , ento, para a obteno de uma nova soluo a factibilidade ser
garantida se:
x + d 0 x
B
+ d
B
0 ( x
B
)
i
+ (d
B
)
i
0, i I
B
.
Isto ocorre se e somente se:
= min {
i B
i B
) (d
) x (
tal que (d
B
)
i
< 0 , i I
B
}.
Se o mnimo ocorre para = - ( x
B
)
p
/ (d
B
)
p
, p I
B
ento
( x
B
)
p
+ (d
B
)
p
= 0, ento ( x
B
)
p
se torna no bsica e substituda por
( x
N
)
q
= , q I
N
.
Se (d
B
)
i
> 0, i I
B
, ento o conjunto de solues factveis
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.

3.7.3- Critrio de mudana de base.

Considere o vetor custo relativo r
N
T
= c
N
T
- c
B
T
B
-1
N, j visto.
Este pode ser escrito por: r
j
= c
j
- c
B
T
B
-1
(a
N
)
j
para j I
N
.
Se j I
N
tal que r
j
0, ento interessante fazer x
j
assumir valor
positivo e entrar na base, pois d
j
uma direo de descida, ou seja,
c
T
( x + d
j
) c
T
x . Isto utilizado como critrio de mudana de base.
Se r
j
0, j I
N
ento a otimalidade atingida pois no conseguimos
mais decrscimos para a funo objetivo e isto utilizado como critrio de
parada.
Aps as consideraes anteriores pode-se enunciar um algoritmo que
segue os seguintes passos.



46
3.7.4- Algoritmo
Dada a soluo bsica inicial: x B
B
0
0
1
=

b = y
0
com k=0, faa:

Passo 1-
Calcule o coeficiente de custo relativo (r
N
k
)
T
= (c
N
k
)
T
- (c
B
k
)
T
B
k
N
k
.
Isto pode ser feito primeiro calculando-se w
B
k
= (c
B
k
)
T
B
k
e ento o vetor
custo relativo ser, (r
N
k
)
T
= (c
N
k
)
T
- (w
B
k
)
T
N
k
.
Se (r
N
k
)
T
0, pare pois a soluo corrente tima. Caso contrrio:

Passo 2-
Determine ( r
N
K
)
q
= min { ( r
N
K
)
j
tal que ( r
N
K
)
j
< 0, para j I
N
}, para
determinar qual vetor de N
k
ir entrar na base.
Passo 3-
Calcule d
B
k
= - B
k
1
(a
N
)
q
= ( y
k
)
q
;

Passo 4-
Se no existe j I
N
tal que r
j
k
0, ento pare, o problema no tem
soluo , caso contrrio determine:
- ( x
B
k
)
p
/ (d
B
k
)
p
= = min {- ( x
B
K
)
i
/ (d
B
k
)
i
tal que (d
B
k
)
i
< 0 , i I
B
}, para
determinar o vetor de B
k
a sair da base.

Passo 5-
Atualize:
( B
k+1
)
p
( N
k
)
q
;
( N
k+1
)
q
( B
k
)
p
;
x B
B
k
k
=
1
b = y
k
;
k k+1.
47
3.8- Casos especiais do Mtodo Simplex
3.8.1- Empate na entrada

Quando houver empate na escolha da varivel que entra na base, deve-
se tomar a deciso arbitrariamente. A nica implicao envolvida que pode-
se escolher um caminho mais longo ou mais curto para se chegar soluo
tima.
3.8.2- Empate na sada (degenerao)

Poder ocorrer que durante a escolha de uma varivel para sair da base,
temos, empate, isto , duas ou mais variveis se anulam com o crescimento da
varivel que est entrando na base. Neste caso ocorre o que chamamos de
degenerao (temos uma soluo bsica factvel degenerada). A escolha
tambm arbitrria (uma das variveis bsicas assume valor zero).
Temos, ento, que a mesma soluo obtida atravs de bases
diferentes. Isso ocorre devido a hiperdeterminao de pontos extremos.

Exemplo 3.8.2.1
Maximizar z = 5x
1
+ 2x
2

Sujeito a:
x
1
3
x
2
4
4x
1
+ 3x
2
12
x
1
; x
2
0
3.8.3- Problemas com mltiplas solues

Eventualmente, um modelo de Programao Linear pode apresentar
mais de uma soluo tima. Quando isso ocorre, o Mtodo Simplex capaz de
acus-lo, pois o custo de uma varivel no-bsica nulo. Dizemos, ento, que
o sistema tem mltiplas solues timas.



48
Exemplo 3.8.3.1:
Maximizar z = x
1
+ 2x
2

Sujeito a:
x
1
3
x
2
4
x
1
+ 2x
2
9
x
1
; x
2
0
3.8.4- Soluo ilimitada

Quando aplicamos o Mtodo Simplex e nenhuma restrio impede o
crescimento da varivel que entra na base, ou seja, no conseguimos zerar
uma varivel bsica, dizemos que o problema tem soluo ilimitada.
Neste caso, o problema tem soluo bsica factvel mas no tem
soluo tima.
Exemplo 3.8.4.1:
Maximizar z = x
1
+ 2x
2

Sujeito a:
4x
1
+ x
2
20
x
1
+ 2x
2
10
x
1
2
x
1
; x
2
0

3.9- O Mtodo Simplex duas fases

Nos problemas onde as restries so do tipo (menor ou igual)
sempre possvel obtermos uma submatriz (identidade) com o auxilio das
variveis de folga, e assim a soluo inicial bvia.
Porm, quando no temos uma soluo inicial bvia, ou seja, no
conseguimos uma submatriz base (identidade) necessitamos de um
procedimento para desenvolv-la. Isto ocorre quando o problema de
Programao Linear tiver restries de = (igualdade) e ou restries do tipo
(maior ou igual).
49
Exemplo 3.9.1:
max. z = 6 x
1
- x
2

sujeito a:
4 x
1
+ x
2
21
2 x
1
+ 3 x
2
13
x
1
- x
2
= -1
x
1
e x
2
0
Passando o problema para a forma padro, termos:
min. -z = -6 x
1
+ x
2

sujeito a:
4 x
1
+ x
2
+ x
3
= 21
2 x
1
+ 3 x
2
- x
4
= 13
- x
1
+ x
2
= 1
x
1
, x
2
, x
3
, x
4
0.
No quadro:
x
1
x
2
x
3
x
4

4 1 1 0 21
2 3 0 -1 13
-1 1 0 0 1
-6 1 0 0

Portanto, no temos soluo inicial bvia. Como obter a soluo inicial?
Para resolv-lo usamos um procedimento chamado Fase 1 do Mtodo
Simplex, que consiste em explorar um problema auxiliar, equivalente ao PPL
inicial, com regio factvel ampliada.

3.9.1 Introduo de variveis artificiais

Introduzimos no problema de programao linear (j na forma padro)
variveis artificiais nas restries do tipo = e .
No exemplo anterior:
min. -z = -6 x
1
+ x
2

sujeito a:
50
4 x
1
+ x
2
+ x
3
= 21
2 x
1
+ 3 x
2
- x
4
+ x
a
1
= 13
- x
1
+ x
2
+ x
a
2
= 1
x
1
, x
2
, x
3
, x
4
, x
a
1
, x
a
2
0.
Esse problema de programao linear denominado relaxado ou
artificial, ou seja, a regio factvel ampliada.
No quadro:
x
1
x
2
x
3
x
4
x
a
1
x
a
2

x 4 1 1 0 0 0 21
x 2 3 0 -1 1 0 13
x -1 1 0 0 0 1 1
-6 1 0 0 0 0 0

Obtem-se uma soluo inicial bvia fazendo-se x
1
= x
2
= x
4
= 0,
com x
B
= (x
3
, x
a
1
, x
a
2
) = ( 21, 13,1) e x
N
= (x
1
, x
2
, x
4
) = (0, 0, 0).
Diz-se que as restries:
a) 2 x
1
+ 3 x
2
13
b) x
1
- x
2
= -1
foram relaxadas pois:
a) 2 x
1
+ 3 x
2
- x
4
+ x
a
1
= 13
Se x
4
= 0 e x
a
1
0 2 x
1
+ 3 x
2
13
Se x
4
> 0 e x
a
1
= 0 2 x
1
+ 3 x
2
13
b) - x
1
+ x
2
+ x
a
2
= 1
Se x
a
2
= 0 x
1
- x
2
= -1. Se x
a
2
> 0 x
1
- x
2
-1.
Consequentemente relaxou-se o conjunto das restries (ampliou-se
esse conjunto), como visto na figura 3.1.







51







Figura 3.1 Conjunto de solues ampliado

O Mtodo Simplex duas fases resolve o problema de programao linear
relaxado (ou auxiliar) at zerar as variveis artificiais (Fase 1), obtendo assim
uma soluo factvel para o problema de Programao Linear inicial, podendo
ser a soluo tima caso no exista custo relativo negativo (Fase 2).

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 c
T
x
sujeito a Ax=b (3.4)
x 0
Problema de Programao Linear relaxado:
minimizar c
T
x
s.a Ax + x
a
= b (3.5)
x, x
a
0
Problema de Programao Linear inicial tem soluo tima x
a
= 0.
De (3.4) tem-se Ax=b, x 0.
De (3.5) tem-se Ax + x
a
= b, x, x
a
0.
Ento: Ax + x
a
= b x
a
= 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);
Conjunto de Solues ampliado
x
2

x
1

52
4) Se atingirmos a soluo tima com as variveis artificiais diferentes de zero,
portanto com o valor da funo objetivo artificial diferente de zero, o problema
original um problema invivel.
A funo objetivo artificial formada pela soma das variveis artificiais,
ou seja: z
a
(x) = x
a
1
+ x
a
2
+ + x
a
p
com p m.

Considerando o exemplo anterior, termos:
z
a
(x) = x
a
1
+ x
a
2

onde: x
a
1
= 13 - 2 x
1
- 3 x
2
+ x
4

x
a
2
= 1 + x
1
- x
2
.
Logo z
a
(x) = 14 - x
1
- 4 x
2
+ x
4
14 = - x
1
- 4 x
2
+ x
4
.
Atravs de quadros, temos:
Quadro 1:
x
1
x
2
x
3
x
4
x
a
1
x
a
2

x
3
4 1 1 0 0 0 21
x
a
1
2 3 0 -1 1 0 13
x
a
2
-1 1 0 0 0 1 1
z
a
-1 -4 0 1 0 0 -14
z -6 1 0 0 0 0 0

Aplicando o Mtodo Simplex para obter x
a
1
= x
a
2
= 0.
Fase 1:
Como r
a
2
= -4, x
2
entra na base.
x
2
= = min
21
1
13
3
1
1
, ,


`
)
= 1 x
a
2
sai da base.
Quadro 2:
x
1
x
2
x
3
x
4
x
a
1
x
a
2

x
3
5 0 1 0 0 -1 20
x
a
1
5 0 0 -1 1 -3 10
x
2
-1 1 0 0 0 1 1
z
a
-5 0 0 1 0 4 -10
z -5 0 0 0 0 -1 -1

53
Como r
a
1
= -5 , x
1
entra na base.
x
1
= = min
20
5
10
5
1
1
, ,


`
)
= 2, x
a
1
sai da base.
Quadro 3:
x
1
x
2
x
3
x
4
x
a
1
x
a
2

x
3
0 0 1 1 -1 2 10
x
1
1 0 0 -1/5 1/5 -3/5 2
x
2
0 1 0 -1/5 1/5 2/5 3
z
a
0 0 0 0 1 1 0
z 0 0 0 -1 1 1 9

Como as variveis artificiais so zero, ento z
a
= 0 e tem-se uma
soluo factvel para o problema inicial.

Fase 2:
Elimina-se as variveis artificiais do quadro e a funo objetivo artificial,
ficando-se somente s com o problema inicial.
Quadro 4:
x
1
x
2
x
3
x
4

x
3
0 0 1 1 10
x
1
1 0 0 -1/5 2
x
2
0 1 0 -1/5 3
0 0 0 -1 9
Como r
4
=-1, x
3
sai da base; x
4
= = min
10
1
2
1 5
3
1 5
, ,


`
)
= 10 x
4
entra na
base.
Quadro 5:
x
1
x
2
x
3
x
4

x
4
0 0 1 1 10
x
1
1 0 1/5 0 4
x
2
0 1 1/5 0 5
0 0 1 0 10
54

Quadro timo:
x
B
= (x
4
, x
1
, x
2
) = (10, 4, 5), x
N
= (x
3
) = (0)
x* = (4, 5, 0, 10) e z* = 19.

3.9.2 Algoritmo para o problema com variveis artificiais

Um algoritmo anlogo quele visto na seo 3.7.4 definido para o caso
de introduo de variveis artificiais no PPL original. Agora, consideram-se
duas fases, as quais utilizam a execuo daquele algoritmo:
Fase 1: Considera-se o PPL original relaxado pela introduo das
variveis artificiais e aplica-se o algoritmo, j visto na seo citada, na tentativa
de se zerar estas variveis, mas, considerando-se para a atualizao das
variveis, a funo objetivo artificial. Se conseguir-se atingir a soluo tima do
PPL relaxado com as variveis artificiais diferentes de zero, ento, pare, pois o
PPL original invivel. Caso contrrio v para a fase 2;
Fase 2: Nesta fase, agora com uma soluo inicial para o PPL original,
verificado, inicialmente, se o custo relativo desta soluo maior ou igual a
zero. Se for, pare, a soluo atual tima. Caso contrrio, aplica-se o
algoritmo definido na seo 3.7.4 at se obter a soluo tima do PPL original.

3.10- Exerccios.

3.10.1) Resolva geometricamente e pelo mtodo Simplex os seguintes PPLs:
a) maximizar 5 x
1
+ 6x
2

sujeito a:
x x
x x
x x
1 2
1 2
1 2
3 5
4 9 12
0
+
+

,
;

b) maximizar 4 x
1
+ 2x
2

sujeito a:
55
2 8
2 7
0 3
0
1 2
1 2
1 2
1 2
x x
x x
x x
x x
+
+
+

,
;
c) maximizar x
2

sujeito a:

4 4 28
2 0 10
3 9
0 4
0
1 2
1 2
1 2
1 2
1 2
x x
x x
x x
x x
x x
+
+
+
+

,


d) maximizar x
1
+ x
2

sujeito a:
x x
x x
x x
1 2
1 2
1 2
4 4
3 1
0
+
+ =

,
;


e) PPL com mltiplas solues:
maximizar x
1
+ x
2

sujeito a:

+

+
0 ,
4
2 2
2 2
2 1
2 1
2 1
2 1
x x
x x
x x
x x
;
3.10.2) Dado o PPL:
minimizar z = -2 x
1
+ x
2
- x
3
sujeito a:

x x x
x x x
x x x
1 2 3
1 2 3
1 2 3
6
2 0 4
0
+ +
+ +

, ,
;
a) Resolva-o pelo mtodo simplex;
b) o que acontece se trocarmos c
2
= 1 por c
2
= -3. O quadro timo se altera?

56
3.10.3) Sejam x s , solues factveis para os seguintes sistemas de restries:
Ax = b, x 0 (S
1
) ; Ax + s = b, s 0 (S
2
) ;
Considerando-se as novas solues x + d
x
e s + d
s
, 0:
a) mostre que d
x
uma direo factvel para (S
1
) se d
x
N(A);
b) se A
T
A uma matriz no singular, ento: d
s
Im(A) e d
x
= - [A
T
A]
-1
A d
s
;
c) considerando-se o problema de minimizar c
T
x, d condies sobre d
x
para
que esta seja uma direo de descida;
d) se a restrio (S
1
) alterada para { Ax = b, 0 x h, h
n
}, como fica
a nova determinao de 0 para o mtodo Simplex ?

3.10.4) Baseado na escolha de 0 , do tem d) do exerccio 3.10.2) resolva
o seguinte PPL com variveis canalizadas:


maximizar 5 x
1
+ 6x
2

sujeito a:
x x
x x
x x
1 2
1 2
1 2
3 5
4 9 12
0 2 0 1
+
+

,
;


3.10.5) Considere o seguinte problema de programao linear:


minimizar z = 3x
1
+ 4x
2
+ 5x
3

sujeito a:


x + 2x + 3x
2x + 2x + x
0x + 0x + x
1 2 3
1 2 3
1 2 3

5
6
0
0
1 2 3
x x x , ,
;


a) resolva-o pelo mtodo simplex duas fases;

b) se o vetor b for trocado para b
( )
=
5 2
6 2
0
+

+
|
\

|
.
|
|

, com 0, analise o
problema em funo de para que no se altere a base tima;

c) dem , se o vetor c for trocado para c
( )
= ( 3 - , 4 + , 5 - ).




57
3.10.6) Suponha que para um PPL tem-se o seguinte quadro timo:

x
1
x
2
x
3
x
4
x
B
x
1
0 1 5/19 -3/19 45/19
x
2
1 0 -2/19 5/19 20/19
z 0 0 5/19 16/19 235/19

b =
15
10
|
\

|
.
| ; c =
5
3
|
\

|
.
|
r
T
= (0;0;5/19;16/19) e z
*
= 235/19;

a) Escreva o PPL original;

b) Se mudar-se o valor de b
2
para b
2
( ) = 10 - , estude condies sobre
para que o PPL no mude a base tima.

3.10.7) Um jovem pretente prestar um concurso pblico cujo exame envolve
duas disciplinas, D1 e D2. Ele sabe que, para cada hora de estudo, pode obter
2 pontos na nota da disciplina D1 e 3 pontos na D2 e que o rendimento
proporcional ao seu esforo. Ele dispe de no mximo 50 horas para os
estudos at o dia do exame. Para ser aprovado dever obter na disciplina D1
um mnimo de 20 pontos, na D2, no mnimo 30, e o total de pontos dever ser
de pelo menos 70. Como, alm da aprovao, ele gostaria de alcanar a
melhor classificao possvel, qual a melhor forma de distribuir as horas
disponveis para seu estudo?

3.10.8) Uma pessoa em dieta necessita ingerir pelo menos 20 unidades de
vitamina A, 10 unidades de vitamina B e 2 unidades de vitamina C. Ela deve
conseguir essas vitaminas a partir de dois tipos diferentes de alimentos: A1 e
A2. A quantidade de vitaminas que esses produtos contm por unidades e o
preo unitrio de cada um esto expressos na seguinte tabela:


Vitamina A Vitamina B Vitamina C Preo Unitrio
Alimento A1 4 1 1 30 u.m.
Alimento A2 1 2 --- 20 u.m.

Qual a programao de compra dos alimentos A1 e A2 que essa pessoa
deve fazer para cumprir sua dieta, ao menor custo possvel?

58
3.10.9) Uma companhia fabrica um produto a partir de dos igredientes, A e B.
Cada quilo de A contm 50 unidades do produto P
1
, 4 unidades do produto P
2,

2 unidades do produto

P
3
e custa 100 u.m.. Cada quilo de B contm 3 unidades
de produto P
1
, 5 unidades de produto P
2
, 10 unidades de produto P
3
e custa
150 u.m.. A mistura deve conter pelo menos 20 unidades de P
1
, 18 unidades
de P
2
e 30 unidades de P
3
.
Resolva este problema para que o custo do produto seja o menor
possvel.

3.10.10) Um depsito de 200000 m
2

deve ser alocado para armazenar trs
tipos de produtos, P
1
, P
2
e P
3
. Sabe-se que P
2
no deve ocupar mais espao
do que P
1
, que o espao ocupado por P
1
no deve ser maior que 3000 m
2
a
mais que a soma das reas de P
2
e P
3
, e que os espaos ocupados por P
2
e P
3

devem Ter pelo menos 5000 m
2
. Sabendo que o lucro de P
1
10000 u.m., de
P
2
e 8000 u.m. e de P
3
5000 u.m. por m
2
, resolva este problema de modo
que o lucro seja o maior possvel.

3.10.11) No Mtodo Simplex de 2 Fases, o problema auxiliar da fase 1 pode
ser invivel? Por qu? Pode ser ilimitado? Por qu?

Na prxima seo sero vistos conceitos do tpico Dualidade em Programao
Linear. A anlise destes servir para definir-se um outro mtodo para
resoluo de Problemas de Programao Linear denominado de Dual-
Simplex.

You might also like