Você está na página 1de 30

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)
ii)
iii)

Todas as variveis so no-negativas:


Todos os bi so no-negativos;
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 rmxm, x rm e b rm e
A fosse uma matriz inversvel, ento a soluo seria facilmente determinada.
A mxn

Porm, se dado um sistema Ax=b, onde: b m

mn

(3.1)

x n

Tal que m n, ou seja, sistema retangular, como determinar solues


de Ax=b?
O sistema acima sempre tem soluo?

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

chamar-se de submatriz no base N. As variveis associadas a esta


submatriz N so denominadas variveis no bsicas.
Notao: variveis no bsicas: xN.
3.2.1.2- Uma possvel soluo para Ax=b da definio acima
Seja

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

Logo pode-se escrever:

30

Ax=b [B: N]

xB
= b BxB+NxN=b.
xN

Portanto, o sistema Ax=b equivalente ao sistema:


BxB+NxN=b.

(3.2)

Isto define que xB = B-1b - B-1NxN 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, A x =b, denominada soluo bsica, se e somente se, em (3.2),
xN=0, ento:
A x =b x B = B-1b
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-1b 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 x1 e x2 S , [0,1].
31

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;

Assim, A( x1 + (1- )x2) = A x1 + (1- ) Ax2 = b + (1- )b = b.


Logo, A( x1 + (1- )x2) = b.
Para se mostrar ii): x1 0 e x2 0

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

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 =

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.

Desde que x i = 0 para i = m+1,...,n


1

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,

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 x1, x2,..., xp pontos extremos do conjunto S e seja S limitado.
Ento, x S , x pode ser escrito como combinao convexa dos
pontos extremos x1, x2,..., xp de S, ou seja, x =

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 ,

x pode ser escrito como

combinao convexa dos pontos extremos x1, x2,..., xp de S, ou seja, x =


p
i=1

i xi e

p
i =1

i = 1.

Logo, cTx = cT (

p
i=1

i x i ) = 1 cTx1 + 2 cTx2 +...+ p cTxp.

Seja x* um ponto extremo tal que cTx* cTxi (i=1,...p).


Mas

cTx = 1 cTx1 + 2 cTx2 +...+ p cTxp


33

1 cTx* + 2 cTx* +...+ p cTx* =

p
i=1

Ento,

ic T x * = cTx* .

cTx* cTx , 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.

34

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 = x1 + x2
sujeito a:
2 x1 + x2 8
x1 + 2x2 7
x2 3
x1 e x2 0

35

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


Min. -z = -x1 - x2
sujeito a:
2 x1 +

x2 + x3

=8

x1 + 2 x2

+ x4

x2

=7

+ x5 = 3

x1, x2, x3, x4, x5 0


Passo 1: Quadro 1

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

x5 = 3 - 0 x1 0 ( para qualquer > 0, x1 no afeta a factibilidade).


Para que x3 e x4 no percam sua factibilidade o menor valor que x1 pode
assumir 4 e da:

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

A varivel a sair da base x3 e a varivel a entrar na base x1 com o


valor assumido por > 0, ou seja, x1 = 4.
Nova base: vB = { x1, x4, x5} e vN = {x2, x3}.
Como o valor mnimo de ocorreu na 3 equao ento x3 sai da
base.. Ento, o elemento a11= 2 o piv da operao. Aplicando o
pivoteamaneto gaussiano nas equaes, obtemos o seguinte quadro:
Passo 4: Quadro 2:

vB

X1

x2

x3

x4

x5

x1

1/2

1/2

x4

3/2

-1/2

x5

-z

-1/2

1/2

-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 : x2.
Da x2 = = min

4 3 3
,
, = 2.
12 32 1

Passo 7: Varivel que sai:


x3 = 8 - x2 0

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

A varivel a sair da base x4 e x2 entra na base.


Nova base: vB = {x1, x2, x5} e vN = {x3, x4}.

37

Desde que o valor mnimo de ocorreu na 2 equao, ento x4 sai da


base e o elemento piv da operao a22=3/2.
Aplicando o pivoteamento gaussiano, obtemos o prximo quadro:
P asso 8 : Quadro 3: Atualizao do sistema em funo da nova base:

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

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* = (x1, x2, x3, x4, x5) = (3, 2, 0, 0, 1).
x*=

x1
3
=
x2
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:
x1 + .........................................................y1q xq ...................................= y10
x2 +.....................................................y2q xq...................................= y20
.....................................................................................................
xp + ................................ypq xq...................................= yp0
...............................................................................
xm + ...................ypm xq..................................= ym0
com yi0 0 para i = 1,...,m.
Ento, a soluo bsica factvel atual :

xB = (x1 ,...,xm) e xN = (xm+1 ,...,xq,...,xn), com xi = yi0 0 para i = 1,...,m.

38

(3.3)

Para se obter a nova soluo, suponha que fazemos a varivel no


bsica xq entrar na base.
Se o elemento piv da operao ypq ento xp sai da base.
A nova soluo deve estar na forma cannica e assim deve-se efetuar
pivoteamento gaussiano em ypq.
Os novos coeficientes do sistema sero dados por:
linha p:

ypj = ypj / ypq ;

j = 1,...,n.

para i p: yij = yij - yiq * (ypj / ypq) .


para 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

que pode ser escrito por xB = y0 - yq . 0.


Logo, xq = =

y p0
y pq

= min {

yi0
tal que yiq > 0 }.
y iq

Assim, xq = 0 entra na base , xp = 0 sai da base e um novo


vrtice alcanado.
Se yiq < 0, i , ento a soluo ilimitada pois 0 tem-se que:
yi0 - yiq . 0 .

39

3.5.3- Decrscimo da funo objetivo.


A funo objetivo pode ser escrita por z = cBT xB + cNTxn.
Aps xq entrar na base tem-se:

z = cBT xB + cNTxn = cBT (y0 - yq . ) + cNTxn =


cBT y0 - cBT yq. + cq = z0 + (cq - zq) .
Denominando-se rq = cq - zq , se cq - zq < 0 ento, desde que > 0,

z0 + (cq - zq) = z0 + rq < z0 .


Logo, para rq < 0 tem-se garantido o decrscimo para a funo objetivo.
rq 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 = [ a1, ..., aq, ..., an ]
e a soluo corrente xB = B-1b = yk:

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:

yq = B-1 aq que expressa o novo vetor coluna aq na base nova.


Passo 3:
Se no existe nenhum yiq
contrrio, calcule os quocientes

> 0 pare, o problema ilimitado. Caso

yi0
para yiq > 0, para determinar qual varivel
y iq
40

ir sair da base. Se min {

y p0

base e xq =

y pq

y
yi0
tal que yiq > 0 } = p0 , ento xp = 0
yiq
y pq

sai da

> 0 entra na base.

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 ]

sistema de restries na forma padro.

coeficientes de custo relativo.

Soluo inicial:
Var. bs.

B-1

xB

1 0 0

0 1 0

0 0 1

Calcule wT = cBT B-1 = [0,0,0] e rNT = cNT - wTN = [-1,-1].


Fazendo-se a1 entrar na base temos o quadro a ser atualizado: y1 = B-1 a1.
Var. bs.

B-1

xB

y1

1 0 0

2 piv (a11 = 2)

0 1 0

0 0 1

41

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 :

B-1

Var. bs.

xB

1/2 0 0

-1/2 1 0

0 1

Ento, wT = [-1/2, 0, 0] e rNT = [-1/2, -1/2] = [r2 , r3 ].


Seleciona-se ento a2 para entrar na base: y2 = B-1 a2

B-1

Var. bs.

xB

y2

-1/2 0 0

1/2

-1/2 1 0

3/2 piv (a22 = 3/2)

0 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

xB

2/3 -1/3

-1/3 2/3

1/3 -2/3 1

Ento, wT = cBT B-1 e rNT = cNT - w TN = [1/3, 1/3] = [r3,r4]


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 subespao N(A).

42

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 A x = b.
A nova soluo x = x + d satisfaz o sistema

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.

Note que se perturbarmos x N por um vetor dN :

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 ;

onde dB = - B-1N dN.


Assim, a nova soluo : x = x + d com;

x=

xB
; x =
xN

xB
xN

obtidos acima.
Pela definio de d:
43

e d=

dB
,
dN

dB = - B-1N dN BdB + NdN = 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 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

n-m vetores linearmente independentes em N(A).


Tem-se assim, os vetores de N(A):

dj =

B1Nj
, j = 1,2,...,n-m;
ej

onde NJ a j-sima coluna da matriz N que corresponde ao vetor coluna aj da


matriz A. Tais vetores, alm de serem linearmente independentes, geram o
sub-espao N(A), ou seja, d N(A) ento d =

n m

dj .

j= 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 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

Tal estratgia denominada estratgia simplex, que corresponde a


adotar a direo dj definida acima. Assim as direes dj 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:

44

IB = { j tal que j um ndice coluna relacionado base B};


IN = { j tal que j um ndice coluna relacionado N}.
Em uma iterao corrente, se tiver-se a soluo bsica factvel x =
xB
xN

, ento, para a obteno de uma nova soluo a factibilidade ser

garantida se:
x + d 0 x B + dB 0 ( x B )i + (dB)i 0, i IB.

Isto ocorre se e somente se:


= min {

(x B )i
tal que (dB)i < 0 , i IB }.
(d B )i

Se o mnimo ocorre para = - ( x B )p / (dB)p , p IB ento


( x B )p + (dB)p = 0, ento ( x B )p se torna no bsica e substituda por
( x N)q = , q IN.
Se (dB)i > 0,

IB , 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 rNT = cNT - cBT B-1N, j visto.
Este pode ser escrito por: rj = cj - cBTB-1(aN)j para j IN.
Se j IN tal que rj 0, ento interessante fazer xj assumir valor
positivo e entrar na base, pois dj uma direo de descida, ou seja,

cT( x + dj) cT x . Isto utilizado como critrio de mudana de base.


Se rj 0, j IN 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.

45

3.7.4- Algoritmo
Dada a soluo bsica inicial: x B0 = B 01 b = y0 com k=0, faa:

Passo 1Calcule o coeficiente de custo relativo (r kN )T = (c kN )T - (c kB )T Bk Nk.


Isto pode ser feito primeiro calculando-se w kB = (c kB )T Bk e ento o vetor
custo relativo ser, (r kN )T = (c kN )T - (w kB )T Nk.
Se (r kN )T 0, pare pois a soluo corrente tima. Caso contrrio:

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 3Calcule d kB = - B k1 (aN )q = ( yk)q ;

Passo 4Se no existe j IN tal que r kj 0, ento pare, o problema no tem


soluo , caso contrrio determine:
- ( x kB )p / (d kB )p = = min {- ( x KB )i / (d kB )i tal que (d kB )i < 0 , i IB }, para
determinar o vetor de Bk a sair da base.

Passo 5Atualize:
( B k+1 )p ( Nk)q ;
( Nk+1)q ( Bk)p ;
x kB = Bk1 b = yk ;

k k+1.

46

3.8- Casos especiais do Mtodo Simplex


3.8.1- Empate na entrada
Quando houver empate na escolha da varivel que entra na base, devese tomar a deciso arbitrariamente. A nica implicao envolvida que podese 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 = 5x1 + 2x2
Sujeito a:

x1

x2 4
4x1 + 3x2 12
x1; x2 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.

47

Exemplo 3.8.3.1:
Maximizar z = x1 + 2x2
Sujeito a:

x1

x2 4
x1 + 2x2 9
x1; x2 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 = x1 + 2x2
Sujeito a:
4x1 + x2 20
x1 + 2x2 10
x1 2
x1; x2 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).
48

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 0.


No quadro:

x1

x2

x3

x4

21

-1

13

-1

-6

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 x1 + x2
sujeito a:
49

4 x1 +

x2 + x3
- x4 + xa1

2 x1 + 3 x2
- x1 +

= 21
= 13
+ xa2 = 1

x2

x1, x2, x3, x4, xa1, xa2 0.


Esse problema de programao linear denominado relaxado ou
artificial, ou seja, a regio factvel ampliada.
No quadro:

x1

x2

x3

x4

xa1

xa2

21

-1

13

-1

-6

Obtem-se uma soluo inicial

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

foram relaxadas pois:


a) 2 x1 + 3 x2 - x4 + xa1 = 13
Se x4 = 0 e xa1 0

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 -

x2 = -1. Se xa2 > 0

x1 -

x2 -1.

Consequentemente relaxou-se o conjunto das restries (ampliou-se


esse conjunto), como visto na figura 3.1.

50

x2
Conjunto de Solues ampliado

x1

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 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

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: za(x) = xa1 + xa2 + + xap com p m.
Considerando o exemplo anterior, termos:
za (x) = xa1 + xa2
xa1 = 13 - 2 x1 - 3 x2 + x4

onde:

xa2 = 1 +

x1 -

x2 .

Logo z (x) = 14 - x1 - 4 x2 + x4

14 = - x1 - 4 x2 + x4.

Atravs de quadros, temos:


Quadro 1:

x1

x2

x3

x4

xa1

xa2

x3

21

xa1

-1

13

-1

-1

-4

-14

-6

Aplicando o Mtodo Simplex para obter xa1 = xa2 = 0.

Fase 1:
Como ra2 = -4, x2 entra na base.
x2 = = min

21 13 1
, , =1
1 3 1

xa2 sai da base.

Quadro 2:
x1

x2

x3

x4

xa1

xa2

x3

-1

20

xa1

-1

-3

10

x2

-1

za

-5

-10

-5

-1

-1

52

Como ra1 = -5 , x1 entra na base.


20 10 1
, ,
= 2, xa1 sai da base.
5 5 1

x1 = = min
Quadro 3:
x1

x2

x3

x4

xa1

xa2

x3

-1

x1

-1/5 1/5 -3/5

x2

-1/5 1/5 2/5

-1

10

Como as variveis artificiais so zero, ento za = 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:
x1

x2

x3

x4

x3

10

x1

-1/5

x2

-1/5

-1

Como r4 =-1, x3 sai da base; x4 = = min


base.
Quadro 5:
x1

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

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 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

e) PPL com mltiplas solues:


maximizar x1 + x2
sujeito a:
2 x1 + x2 2
x1 2 x2 2 ;
x1 + x2 4
x1 , x2 0

3.10.2) Dado o PPL:


minimizar z = -2 x1 + x2 - x3
sujeito a:
x1 + x 2 + x 3 6
x1 + 2x 2 + 0x 3 4 ;
x1, x 2 , x 3 0
a) Resolva-o pelo mtodo simplex;
b) o que acontece se trocarmos c2 = 1 por c2 = -3. O quadro timo se altera?

55

3.10.3) Sejam x, s solues factveis para os seguintes sistemas de restries:


Ax = b, x 0
(S1) ;
Ax + s = b, s 0
(S2) ;
Considerando-se as novas solues x + dx e s + ds , 0:
a) mostre que dx uma direo factvel para (S1) se dx N(A);
b) se ATA uma matriz no singular, ento: ds Im(A) e dx = - [ATA]-1A ds ;
c) considerando-se o problema de minimizar cTx, d condies sobre dx para
que esta seja uma direo de descida;
d) se a restrio (S1) 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 x1 + 6x2
sujeito a:
x1 + 3x 2 5
4 x1 + 9 x 2 12
;
0 x1 2, 0 x 2 1

3.10.5) Considere o seguinte problema de programao linear:

sujeito a:

minimizar z = 3x1 + 4x2 + 5x3


x1 + 2x 2 + 3x 3 5
2x1 + 2x 2 + x 3 6
;
0x1 + 0x 2 + x 3 0
x1 , x 2 , x 3 0

a) resolva-o pelo mtodo simplex duas fases;


5 + 2
6 2 , com 0,
0+
problema em funo de para que no se altere a base tima;

b) se o vetor b for trocado para b( ) =

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

56

analise o

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

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;

a) Escreva o PPL original;


b) Se mudar-se o valor de b2 para b2 ( ) = 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:

Alimento A1
Alimento A2

Vitamina A
4
1

Vitamina B
1
2

Vitamina C
1
---

Preo Unitrio
30 u.m.
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?

57

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 P1, 4 unidades do produto P2,
2 unidades do produto P3 e custa 100 u.m.. Cada quilo de B contm 3 unidades
de produto P1, 5 unidades de produto P2, 10 unidades de produto P3 e custa
150 u.m.. A mistura deve conter pelo menos 20 unidades de P1, 18 unidades
de P2 e 30 unidades de P3.
Resolva este problema para que o custo do produto seja o menor
possvel.
3.10.10) Um depsito de 200000 m2 deve ser alocado para armazenar trs
tipos de produtos, P1, P2 e P3. Sabe-se que P2 no deve ocupar mais espao
do que P1, que o espao ocupado por P1 no deve ser maior que 3000 m2a
mais que a soma das reas de P2 e P3, e que os espaos ocupados por P2 e P3
devem Ter pelo menos 5000 m2. Sabendo que o lucro de P1 10000 u.m., de
P2 e 8000 u.m. e de P3 5000 u.m. por m2, 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 DualSimplex.

58

Você também pode gostar