Você está na página 1de 70

CENTRO FEDERAL DE EDUCAC

AO
TECNOL

OGICA DE MINAS GERAIS


Departamento de Ensino Superior
Engenharia de Producao Civil
Pesquisa Operacional I
3. Metodo Simplex
Sumario
1 Solucao Basica de um PL 2
2 Forma Preparada de um PL 14
3 Convergencia do Metodo Simplex 48
4 Metodo Simplex em Formato Tableau 55
5 Interpretacao do Tableau 60
6 Solucao Basica Inicial Factvel 64
Professor: Sergio Ricardo de Souza
Belo Horizonte, setembro de 2010
2
1 Solucao Basica de um PL
Seja o Problema de Otimiza cao Linear:
min z = c

x
suj. a Ax = b
x 0
no qual:
A
mn
, n > m
b
m
c
n
x
n
Selecione mvetores-coluna linearmente independentes da ma-
triz A, de modo que:
I = conjunto dos ndices dos vetores-coluna li-
nearmente independentes;
J = conjunto dos ndices dos vetores-coluna
restantes.
Portanto:
posto {A
I
} = m = A
I
e uma base
Logo, particionando:
A
I
x
I
+ A
J
x
J
= b
Desse modo:
x
I
= (A
I
)
1
b (A
I
)
1
A
J
x
J
(1)
3
Denicao 1 As particoes x
I
e x
J
sao denominadas:
x
I
: vetor de variaveis basicas;
x
J
: vetor variaveis nao-basicas.
Denicao 2 Faca x
J
= 0 em (1). Entao, o vetor:
x =
_
x
I
x
J
_
=
_
A
1
I
b
0
_
e denominado Solucao Basica com rela cao `a base I.
Se, alem disso,
x
I
0
entao x e denominado Solucao Basica Factvel.
Se, tambem,
x
I
> 0
entao x e denominado Solucao Basica Factvel nao-dege-
nerada e, nesse caso, a Solucao Basica referente ` a base
I e unica.
4
Exemplo 1
min z =
1
2
x
1
+ 2x
2
+ 3x
3
+ x
4
suj. a x
1
+ 2x
2
+ 4x
3
+ 4x
4
= 6
4x
1
+ 2x
2
+ x
3
+ 2x
4
= 10
x
i
0 , i = 1, 2, 3, 4
Para I = {1, 4} e J = {2, 3}:
A
I
x
I
+ A
J
x
J
= b
Substituindo:
_
1 4
4 2
_ _
x
1
x
4
_
+
_
2 4
2 1
_ _
x
2
x
3
_
=
_
6
10
_
Portanto:
_
x
1
x
4
_
=
_
1 4
4 2
_
1
_
6
10
_

_
1 4
4 2
_
1
_
2 4
2 1
_ _
x
2
x
3
_
Solucao basica:
x
J
= 0
_
x
2
x
3
_
=
_
0
0
_
x
I
=
_
1 4
4 2
_
1
_
6
10
_

_
x
1
x
4
_
=
_
2
1
_
Solu cao basica factvel nao- degenerada.
Solu cao unica.
5
Teorema 1 Seja S o conjunto poliedral convexo formado
pelos pontos factveis do PL:
min z = c

x
suj. a Ax = b
x 0
Um vetor x e um ponto extremo de S se e somente se e
uma solucao basica factvel para o PL acima.
Prova: Seja I = {1, 2, . . . , m} o conjunto de ndices de
uma base, de modo que
x =
_

_
x
1
x
2
.
.
.
x
m
0
0
.
.
.
0
_

_
0
e uma solu cao basica factvel. Entao:
A
1
x
1
+ A
2
x
2
+ . . . + A
m
x
n
= b
sendo
A
I
= [A
1
A
2
. . . A
m
]
uma base.
6
Suponha que x possa ser expresso como a combina cao con-
vexa de dois outros pontos em S, na forma:
x = y + (1 )z , 0 < < 1 , y = z
Como y 0, z 0 e 0 < < 1, entao:
_
_
_
x
i
= y
i
+ (1 )z
i
, i I
x
j
= y
j
+ (1 )z
j
, j J
y
j
= z
j
= x
j
= 0, j / I
Portanto:
_
_
_
A
1
y
1
+ A
2
y
2
+ . . . + A
m
y
m
= b
A
1
z
1
+ A
2
z
2
+ . . . + A
m
z
m
= b
Porem, como os vetores-coluna de ndices pertencentes ao
conjunto I formam uma base:
= sao LI solu cao unica
= x = y = z;
= x e um ponto extremo de S.
7
De forma reversa, suponha que x e um ponto extremo de S,
na forma:
x =
_

_
x
1
x
2
.
.
.
x
k
0
0
.
.
.
0
_

_
0
para
x
i
> 0, i = 1, 2, . . . , k
Logo:
A
1
x
1
+ A
2
x
2
+ . . . + A
k
x
k
= b
Suponha tambem que os vetores A
1
, A
2
, . . . , A
k
sao LD.
Portanto, pode-se escrever que:
A
1
y
1
+ A
2
y
2
+ . . . + A
k
y
k
= b
sendo y = [y
1
y
2
. . . y
k
0 0 . . . 0]

.
Desse modo, e possvel selecionar tal que:
z = x + y 0
v = x y 0
8
onde z S e v S. Assim:
x =
1
2
z +
1
2
v
Ou seja, x entao pode ser expresso como uma combina cao
convexa entre dois pontos de S.
No entanto, como x e um ponto extremo, isto nao pode ocor-
rer e, portanto, as colunas A
1
, A
2
, . . . , A
x
sao LI.
= x e solu cao basica factvel.
9
Exemplo 2
max z = x
1
+ x
2
suj. a 2x
1
+ x
2
8 (a)
x
1
+ 2x
2
7 (b)
x
2
3 (c)
x
1
0, x
2
0

max z = x
1
+ x
2
suj. a 2x
1
+ x
2
+ x
3
= 8
x
1
+ 2x
2
+ x
4
= 7
x
2
+ x
5
= 3
x
1
, x
2
, x
3
, x
4
, x
5
0
x
1
x
2
A
B
C
D
E
F
(a)
(b)
(c)
x
1
= 0
x
2
= 0
x
3
= 0
x
4
= 0
x
5
= 0
10
* Ponto extremo A:
I
A
= {3, 4, 5}
J
A
= {1, 2}

_
_
_
x
1
= 0
x
2
= 0
x
3
= 8
x
4
= 7
x
5
= 3
_

Soluc ao
b asica
factvel
z
A
= 0
* Ponto extremo B
I
B
= {3, 4, 2}
J
B
= {1, 5}

_
_
_
x
1
= 0
x
5
= 0
x
3
= 5
x
4
= 1
x
2
= 3
_

Soluc ao
b asica
factvel
z
B
= 3
* Ponto extremo C
I
C
= {3, 1, 2}
J
C
= {4, 5}

_
_
_
x
4
= 0
x
5
= 0
x
3
= 3
x
1
= 1
x
2
= 3
_

Soluc ao
b asica
factvel
z
C
= 4
11
* Ponto extremo D
I
D
= {5, 1, 2}
J
C
= {4, 3}

_
_
_
x
4
= 0
x
3
= 0
x
5
= 1
x
1
= 3
x
2
= 2
_

Soluc ao
b asica
factvel
z
D
= 5
* Ponto extremo E
I
E
= {5, 1, 4}
J
E
= {2, 3}

_
_
_
x
2
= 0
x
3
= 0
x
5
= 3
x
1
= 4
x
4
= 3
_

Soluc ao
b asica
factvel
z
E
= 4
* Ponto extremo F
I
F
= {5, 1, 3}
J
F
= {2, 4}

_
_
_
x
2
= 0
x
4
= 0
x
5
= 2
x
1
= 7
x
3
= 6
_

Soluc ao
b asica
Infactvel
12
Observe que:
Ax = b , A
mn
, b
m
possui um n umero maximo de solu coes basicas factveis, dado
pela expressao:
B
m
n
=
n!
m!(n m)!
No exemplo, n = 5, m = 3 B
m
n
= 10
Portanto, pode-se propor um metodo simplista para resolver
um PPL:
i) Listar todas as solu coes basicas factveis;
ii) Avaliar a fun cao objetivo em cada vertice do conjunto de
solu coes factveis e escolher a solu cao de que otimiza a
fun cao objetivo.
Problema: n umero elevado de vertices, mesmo para pro-
blemas de pequeno porte
Metodo mais simples = Metodo Simplex
13
Corolario 1 Se existir uma solucao otima nita no PL:
min z = c

x
suj. a Ax = b
x 0
entao existe uma solucao basica factvel otima que e um
ponto extremo do conjunto de restri coes.
Corolario 2 Se o conjunto S das solucoes factveis e
nao-vazio, entao ele possui pelo menos um ponto ex-
tremo.
Corolario 3 O conjunto S possui um n umero nito de
pontos extremos.
14
2 Forma Preparada de um PL
Seja o PPL:
min z = c

x
suj. a Ax = b
x 0
e considere:
I : conjunto ordenado dendices, que geram uma base factvel;
J : conjunto ordenado de ndices, associados `as (n m)
variaveis restantes.
Particionando as matrizes e vetores:
min z = c

I
x
I
+ c

J
x
J
suj. a A
I
x
I
+ A
J
x
J
= b
x
I
0
x
J
0
ou, em forma compacta:
c

I
c

J
A
I
A
J
x
I
x
J
=
z
b
15
Observe que:
A
I
x
I
+ A
J
x
J
= b
ou
x
I
= (A
I
)
1
b (A
I
)
1
A
J
x
J
Substituindo na fun cao objetivo:
z = c

I
x
I
+ c

J
x
J
= c

I
(A
I
)
1
b c

I
(A
I
)
1
A
J
x
J
+ c

J
x
J
= c

I
(A
I
)
1
b +
_
c

J
c

I
(A
I
)
1
A
J

x
J
Denindo:
= c

I
(A
I
)
1
Vetor multiplicador
z
0
= c

I
(A
I
)
1
b
= b Valor da fun cao objetivo para a base I
z
J
= c

I
(A
I
)
1
A
J
= A
J
16
obtem-se:
z = z
0
[z
J
c

J
] x
J
= b [A
J
c

J
] x
J
Portanto:
_
_
_
0. x
I
+ [A
J
c

J
] x
J
= b z
I. x
I
+ (A
I
)
1
A
J
x
J
= (A
I
)
1
b
ou seja:
0 A
J
c

J
I (A
I
)
1
A
J
x
I
x
J
=
b z
(A
I
)
1
b
Dena entao:
c =
_
0
.
.
. A
J
c

=
_
c
I
.
.
. c
J

c: vetor de custos, relativo `a base I.


c
I
: vetor de custos basicos, relativo `a base I.
c
J
: vetor de custos nao-basicos, relativo `a base I.
17
Logo:
_
_
_
0. x
I
+ c
J
x
J
= b z
I. x
I
+ (A
I
)
1
A
J
x
J
= (A
I
)
1
b
ou seja:
0 c
J
I (A
I
)
1
A
J
x
I
x
J
=
b z
(A
I
)
1
b
= Forma Preparada para a base I
Fazendo x
J
= 0:
_

_
x
I
= (A
I
)
1
b 0 Solu cao basica factvel
z = b Valor da fun cao objetivo para
esta solu cao basica factvel
18
Exemplo 3 Considere o problema:
min z =
_
25 35 50 11 12

x
suj. a
_
3 4 5 1 2
2 3 4 1 1
_
x
_
42
24
_
x
i
0, i = 1, 2, 3, 4, 5.
_
_
_
_
min z =
_
25 35 50 11 12 0 0

x
suj. a
_
3 4 5 1 2 1 0
2 3 4 1 1 0 1
_
x =
_
42
24
_
x
i
0, i = 1, 2, 3, 4, 5, 6, 7.
Escreva na forma:
x
1
x
2
x
3
x
4
x
5
x
6
x
7
25 35 50 11 12 0 0 z
3 4 5 1 2 1 0 42
2 3 4 1 1 0 1 24
19
Seja a base:
I = {4, 5}
J = {1, 2, 3, 6, 7}
Faca o seguinte procedimento:
l
c
l
c
+ (1) l
1
+ (10) l
2
Portanto:
x
1
x
2
x
3
x
4
x
5
x
6
x
7
2 1 5 0 0 1 10 282 z
3 4 5 1 2 1 0 42
2 3 4 1 1 0 1 24
= Corresponde a zerar os coecientes das vari aveis
basicas na funcao objetivo
= Pivotear sobre a funcao objetivo.
20
Vetor Multiplicador
= c

I
A
1
I
=
_
11 12

_
1 2
1 1
_
1
=
_
11 12

_
1 2
1 1
_
=
_
1 10

1
= 1 Multiplicador da linha 1.

2
= 10 Multiplicador da linha 2.
Sistematizando:
_
c

I
c

J
z
A
I
A
J
b
_

_
0 A
J
c

J
b z
A
I
A
J
b
_
l
c
l
c
+ A
c = Ac
21
Continuando o exemplo:
x
1
x
2
x
3
x
4
x
5
x
6
x
7
2 1 5 0 0 1 10 282 z
3 4 5 1 2 1 0 42
2 3 4 1 1 0 1 24
Faca o seguinte procedimento:
l
1
(1) l
1
+ (2) l
2
l
2
(1) l
1
+ (1) l
2
Logo:
x
1
x
2
x
3
x
4
x
5
x
6
x
7
2 1 5 0 0 1 10 282 z
1 2 3 1 0 1 2 6
1 1 1 0 1 1 1 18
Reduzir a particao associada `as variaveis b asicas
na matriz de restricoes a uma matriz identidade.
Pivotear sobre as restri coes.
22
Particao das variaveis basicas.
A
I
=
_
1 2
1 1
_
A
1
I
=
_
1 2
1 1
_
Sistematizando:
_
0 A
J
c

J
b z
A
I
A
J
b
_
=
_
0 A
J
c

J
b z
I A
1
I
A
J
A
1
I
b
_
Pre-multiplicar a matriz de restri coes A por A
1
I
.
Resumindo:
Pivotear sobre a parti cao A
I
, de modo a reduzi-la
`a matriz identidade.
Pivotear sobre a funcao objetivo, de modo a zerar
os coecientes das variaveis basicas.
_
c

I
c

J
z
A
I
A
J
b
_
=
_
0 A
J
c

J
b z
I A
1
I
A
J
A
1
I
b
_
23
Exemplo 4 Seja o mesmo exemplo anterior, onde:
I = {4, 5}
J = {1, 2, 3, 6, 7}
Portanto:
A
I
=
_
1 2
1 1
_
= A
1
I
=
_
1 2
1 1
_
c

I
=
_
11 12

= c

I
A
1
I
=
_
11 12

_
1 2
1 1
_
=
_
1 10

x
I
= A
1
I
b
=
_
1 2
1 1
_ _
42
24
_
=
_
6
18
_
24
z
0
= c

I
x
I
= b
=
_
11 12

_
6
18
_
= 282
A
1
I
A
J
=
_
1 2
1 1
_ _
3 4 5 1 0
2 3 4 0 1
_
=
_
1 2 3 1 2
1 1 1 1 1
_
c
J
= A
J
c

J
=
_
1 10

_
3 4 5 1 0
2 3 4 0 1
_

_
25 35 50 0 0

=
_
2 1 5 1 10

25
Considere a forma preparada na base I:
min z = b c
J
x
J
suj. a x
I
+ A
1
I
A
J
x
J
= A
1
I
b
x
J
0
x
I
0
Se c
J
< 0 para todo j J
= Nao e possvel melhorar o valor de z caso algum x
j
,
j J, tenha seu valor aumentado positivamente a
partir de zero.
Se c
j
> 0, j J
= Aumentar o valor das variaveis nao-basicas corres-
pondentes, mantendo a factibilidade do problema, im-
plica em melhorar o valor de z.
Escolha, entao, o ndice k J de modo que:
k = max
jJ
{ c
J
: c
j
> 0}
26
Logo, o novo valor da fun cao objetivo sera:
z = b c
k
x
k
Porem, observe que resta determinar qual o limite de cres-
cimento do valor de x
k
(a partir de seu valor inicial nulo),
de modo que a fun cao objetivo tenha o maior avan co no
processo de otimiza cao.
Assim:
A
I
x
I
+ A
J
x
J
= b
ou
A
I
x
I
+ A
k
x
k
= b

x
I
= (A
I
)
1
b (A
I
)
1
A
k
x
k
=

b Y
k
x
k
onde

b = (A
I
)
1
b
Y
k
= (A
I
)
1
A
k
27
Logo:
_

_
x
I
1
x
I
2
.
.
.
x
I
r
.
.
.
x
I
m
_

_
=
_

b
1

b
2
.
.
.

b
r
.
.
.

b
m
_

_
y
1
k
y
2
k
.
.
.
y
r
k
.
.
.
y
m
k
_

_
x
k
Duas situa coes podem ocorrer:
i) y
i
k
0 x
I
i
aumenta positivamente quando x
k
aumenta na mesma dire cao
factibilidade garantida.
ii) y
i
k
> 0 x
I
i
decrescera
determinar o maximo valor de crescimento de x
k
.
x
r
=

b
r
y
r
k
= min
i I
_

b
i
y
i
k
: y
i
k
> 0
_
x
r
valor de bloqueio
x
I
r
= 0

28
Uma nova solu cao basica factvel e determinada.

=
_
_
_
x
k
entrou para a base
x
r
saiu da base

Novo conjunto das variaveis basicas:


I = {1, 2, . . . , k, . . . , m}
29
Exemplo 5
min x
1
+ x
2
suj. a x
1
+ 2x
2
+ x
3
= 4 (a)
x
2
+ x
4
= 1 (b)
x
1
, x
2
, x
3
, x
4
0
Identicacao dos dados:
c

= [1 1 0 0]
A =
_
1 2 1 0
0 1 0 1
_
, b =
_
4
1
_
Para I = {1, 2}:
x
I
=
_
x
1
x
2
_
= (A
I
)
1
b =
_
1 2
0 1
_
1
_
4
1
_
=
_
2
1
_
x
J
=
_
x
3
x
4
_
=
_
0
0
_
x =
_
2 1 0 0

30
Vetor multiplicador:
= c
I
(A
I
)
1
=
_
1 1

_
1 2
0 1
_
1
=
_
1 1

Calculo do custo relativo:


c
J
= A
J
c

J
=
_
1 1

_
1 0
0 1
_

_
0 0

=
_
1 1

k = 3 = max
j J
{ c
J
: c
j
> 0}
Portanto:
x
I
= (A
I
)
1
b (A
I
)
1
A
k
x
k
=
_
1 2
0 1
_
1
_
4
1
_

_
1 2
0 1
_
1
_
1
0
_
x
3
ou seja:
31
_
x
1
x
2
_
=
_
2
1
_

_
1
0
_
x
3
Assim:
r = min
i I
_

b
i
y
i
k
, y
i
k
> 0
_
= 1
x
3
entra na base I.
x
1
deixa a base I.

Nova Base: I = {3, 2}


Nova Solucao
x =
_

_
0
1
2
0
_

_
z
0
= 1
32
Geometria do problema
x
1
x
2
(a)
(b)
x
1
x
2

x
3
= 0
x
4
= 0
x
3
x
4
(a)
(b)
x
1
x
2

x
2
= 0
x
1
= 0

min 3 x
3
+ x
4
suj. a x
1
+ x
3
2x
4
= 2
x
2
+ x
4
= 1
x 0
33
Resumindo:
a) Entrada na base:
k = max
jJ
{ c
J
: c
j
> 0 }
b) Sada da base:
r = min
iI
_

b
i
y
i
k
, y
k
i
> 0
_
Questoes a serem respondidas:
Criterio de parada: quando uma solu cao e otima.
Impossibilidade de troca de base.
34
Teorema 2 Se o vetor de custos relativo `a base I e n ao-
positivo, ou seja, se
c
j
= z
j
c
j
0
para todo j J, entao a solucao basica factvel corres-
pondente e otima.
Prova: Sabemos que, na base I,
z = z
0
(z
J
c
J
)x
J
= z
0
c
J
x
J
ou seja
z
0
z = c
J
x
J
=

jJ
c
j
x
j
Suponha que c
J
0, ou seja, nao e possvel determinar uma
variavel nao-basica que entre na base. Logo

jJ
c
j
x
j
0
pois x
j
0 para todo j J. Assim
z
0
z 0 z
0
z
e, portanto, a solu cao basica factvel corrente e otima
x

= [x
I
x
J
]
Porem, se
35
z
j
c
j
0
j
J
mas
z
k
c
k
= 0
Logo:
x
I
= (A
I
)
1
b (A
I
)
1
A
k
x
k
=

b y
k
x
k
Determina-se pontos que sao distintos de x

, mas que tem


o mesmo valor da fun cao objetivo quando x
k
cresce a partir
de zero.
N umero innito de solu cao alternativas.

36
Exemplo 6
min 3x
1
+ x
2
suj. a x
1
+ 2x
2
+ x
3
= 4
x
1
+ x
2
+ x
4
= 1
x
i
0, i = 1, 2, 3, 4
I = {1, 4}
A
I
=
_
1 0
1 1
_
(A
I
)
1
=
_
1 0
1 1
_
x
I
=
_
x
1
x
2
_
= (A
I
)
1
b =
_
1 0
1 1
_ _
4
1
_
=
_
4
5
_
x
J
=
_
x
2
x
3
_
=
_
0
0
_
z
0
= 12
= c
I
(A
I
)
1
=
_
3 0

_
1 0
1 1
_
=
_
3 0

37
c
J
= A
J
c
J
=
_
3 0

_
2 1
1 0
_

_
1 0

=
_
7 3

< 0
= x =
_

_
4
0
0
5
_

_
= x

Altere a funcao objetivo para


f(x) = z = 2x
1
4x
2
Agora, para
x =
_

_
4
0
0
5
_

_
z
0
= 8
38
Observe que:
= c
I
(A
I
)
1
=
_
2 0

_
1 0
1 1
_
=
_
2 0

c
J
= A
J
c
J
=
_
2 0

_
2 1
1 0
_

_
4 0

=
_
0 2

0
= x = x

Porem:
c
2
= 0
Logo:
39
_
x
1
x
4
_
=
_
1 0
1 1
_ _
4
1
_

_
1 0
1 1
_ _
2
1
_
x
2
=
_
4
5
_

_
2
3
_
x
2
= x =
_

_
x
1
x
2
x
3
x
4
_

_
=
_

_
4 2x
2
x
2
0
5 3x
2
_

_
= z

= z
0
= 8
para x
2

5
3
Famlia de solucoes otimas alternativas.
40
Suponha que nao seja possvel efetuar a troca de base, ou
seja, no criterio de sada,
y
k
i
< 0 , i I
Logo, nao e possvel determinar a variavel de bloqueio,
ou seja, em
x
I
= (A
I
)
1
b (A
I
)
1
A
k
x
k
=

b y
k
x
k
todos os elementos de y
k
sao negativos.
= x
k
pode crescer indenidamente sem que a factibili-
dade do problema seja alterada.
= Solu cao ilimitada
41
Exemplo 7
min x
1
3x
2
suj. a x
1
2x
2
+ x
3
= 4
x
1
+ x
2
+ x
4
= 3
x
i
0 , i = 1, . . . , 4
1
a
iteracao
I
1
= {3, 4}
x
I
=
_
x
3
x
4
_
= (A
I
)
1
b =
_
1 0
0 1
_ _
4
3
_
=
_
4
3
_
x
J
=
_
x
1
x
2
_
=
_
0
0
_
= c
I
(A
I
)
1
=
_
0 0

_
1 0
0 1
_
=
_
0 0

42
c
J
= A
J
c
J
=
_
0 0

_
1 2
1 1
_

_
1 3

=
_
1 3

x
2
entra na base
x
I
=
_
x
3
x
4
_
= (A
I
)
1
b (A
I
)
1
A
2
x
2
=
_
4
3
_

_
2
1
_
x
2
x
4
sai da base
=
_
_
_
x
4
sai da base
x
2
= 3
2
a
iteracao
I
2
= {3, 2}
x
I
=
_
x
3
x
2
_
= (A
I
)
1
b =
_
1 2
0 1
_
1
_
4
3
_
=
_
10
3
_
43
x
J
=
_
x
1
x
4
_
=
_
0
0
_
= c
I
(A
I
)
1
=
_
0 3

_
1 2
0 1
_
1
=
_
0 3

c
J
= A
J
c
J
=
_
0 3

_
1 0
1 1
_

_
1 0

=
_
4 2

x
1
entra na base
x
I
=
_
x
3
x
2
_
= (A
I
)
1
b (A
I
)
1
A
1
x
1
=
_
10
3
_

_
1 2
0 1
_ _
1
1
_
x
1
=
_
10
3
_

_
1
1
_
x
1
solucao ilimitada
44
x

=
_

_
x
1
x
2
x
3
x
4
_

_
=
_

_
0
3
10
0
_

_
+
_

_
1
1
1
0
_

_
x
1
, x
1
0
x
1
x
2
45
Algoritmo 1 Metodo Simplex
Algoritmo para minimizacao
min c

x
suj. a Ax = b
x 0
A
mn
, m < n
Dados: Escolha uma base inicial factvel, de modo que:
I = conjunto de ndices basicos;
J = conjunto de ndices nao-basicos.
Passo 1: Determine:
x
I
= (A
I
)
1
b
= c

I
(A
I
)
1
z
0
= b = c

I
x
I
46
Passo 2: Calcule:
c
J
= A
J
c
J
Passo 3: Encontre:
k = max
jJ
{ c
J
, j J}
Passo 4: Se c
k
0, pare: a solucao e otima. De outro
modo, continue.
Passo 5: Determine:
y
k
= (A
I
)
1
A
k
Passo 6: Se y
k
0, pare: a solucao otima e ilimitada.
Caso contrario, continue.
Passo 7: Encontre:
r = min
iI
_

b
i
y
I
k
, y
I
k
> 0
_
47
Passo 8: Atualize o conjunto I, retirando o ndice r e
acrescentado o ndice k. Retorne ao passo 1.
Solu cao otima:
x

=
_
x
B
0
_
z

= c

= c

I
x
I
= b
= Problema de maximiza cao Duas Formas
a) Multiplicar a fun cao objetivo por 1.
b) Resolver diretamente:
b1) No passo 3 (criterio de entrada na base)
k = max
jJ
{ c
J
, j J}
b2) No passo 4 (criterio de parada)
Se c
k
0, pare: a solu cao e otima. De outro modo,
continue.
48
3 Convergencia do Metodo Simplex
Teorema 3 Na ausencia de degenerescencia, o metodo
simplex converge em um n umero nito de passos.
Prova: Em uma itera cao, tres situa coes podem ocorrer:
a) Ponto otimo e alcan cado:
c
k
0
b) Solu cao ilimitada:

_
c
k
> 0
y
k
0
c) Uma nova solu cao basica e gerada:

_
c
k
> 0
y
k
> 0
Neste ultimo caso o valor da fun cao objetivo e estrita-
mente decrementado de
z = c
k
b
k
y
r
k
> 0
e uma solu cao melhorada e encontrada. Como o n umero
de solu coes basicas factveis e nito, o metodo ira conver-
gir em um n umero nito de passos.

49
Exemplo 8
max z = x
1
+ x
2
suj. a 2x
1
+ x
2
8
x
1
+ 2x
2
7
x
2
3
x
i
0, i = 1, 2, 3

min z = x
1
x
2
suj. a 2x
1
+ x
2
+ x
3
= 8
x
1
+ 2x
2
+ x
4
= 7
x
2
+ x
5
= 3
x
i
0, i = 1, 2, 3, 4, 5
- Iteracao 1
I = {3, 4, 5}
J = {1, 2}
A
I
=
_
_
1 0 0
0 1 0
0 0 1
_
_
(A
I
)
1
=
_
_
1 0 0
0 1 0
0 0 1
_
_
x
I
= (A
I
)
1
b =
_
_
8
7
3
_
_
, x
J
=
_
0
0
_
, z
1
= 0
50
= c

I
(A
I
)
1
=
_
0 0 0

_
_
1 0 0
0 1 0
0 0 1
_
_
=
_
0 0 0

c
J
= A
J
c
J
=
_
0 0 0

_
_
2 1
1 2
0 1
_
_

_
1 1

=
_
1 1

Como c
1
= c
2
, qualquer um pode ter tomado.
Assuma que o ndice 1 entra na base.
Portanto, k = 1.
x
I
=
_
_
x
3
x
4
x
5
_
_
= (A
I
)
1
b (A
I
)
1
A
1
x
1
=
_
_
8
7
3
_
_

_
_
2
1
0
_
_
x
1

_
_
_
x
1
4
x
1
7
x
3
sai da base
51
- Iteracao 2
I = {1, 4, 5}
J = {3, 2}
A
I
=
_
_
2 0 0
1 1 0
0 0 1
_
_
= (A
I
)
1
=
_
_
1/2 0 0
1/2 1 0
0 0 1
_
_
x
I
= (A
I
)
1
b
_
_
1/2 0 0
1/2 1 0
0 0 1
_
_
_
_
8
7
3
_
_
=
_
_
4
3
3
_
_
z
2
= 4
= c
I
(A
I
)
1
=
_
1 0 0

_
_
1/2 0 0
1/2 1 0
0 0 1
_
_
=
_
1/2 0 0

c
J
= A
J
c
J
=
_
1/2 0 0

_
_
1 1
0 2
0 1
_
_

_
0 1

=
_
1/2 1/2

k = 2 x
2
entra na base
52
x
I
= (A
I
)
1
b (A
I
)
1
A
2
x
2
=
_
_
x
1
x
4
x
5
_
_
=
_
_
4
3
3
_
_

_
_
1/2 0 0
1/2 1 0
0 0 1
_
_
_
_
1
2
1
_
_
x
2
=
_
_
4
3
3
_
_

_
_
1/2
3/2
1
_
_
x
2
=
_

_
x
2
8
x
2
2 x
4
sai da base
x
2
3
53
- Iteracao 3
I = {1, 2, 5}
J = {3, 4}
A
I
=
_
_
2 1 0
1 2 0
0 1 1
_
_
(A
I
)
1
=
_
_
2/3 1/3 0
1/3 2/3 0
1/3 2/3 1
_
_
x
I
= (A
I
)
1
b
=
_
1 1 0

_
_
2/3 1/3 0
1/3 2/3 0
1/3 2/3 1
_
_
_
_
8
7
3
_
_
=
_
_
3
2
1
_
_
z
3
= 5
= c
I
(A
I
)
1
=
_
1 1 0

_
_
2/3 1/3 0
1/3 2/3 0
1/3 2/3 1
_
_
=
_
1/3 1/3 0

54
c
J
= A
J
c
J
=
_
1/3 1/3 0

_
_
1 0
0 1
0 0
_
_

_
0 0

=
_
1/3 1/3

= Solucao otima
x

=
_

_
3
2
0
0
1
_

_
= z

= 5
55
4 Metodo Simplex em Formato Tableau
Considere o PPL
min z = c

x
suj. a Ax = b
x 0
tendo base inicial I, de modo que
min z = c
I
x
I
+ c
J
x
J
suj. a A
I
x
I
+ A
J
x
J
= b
x
I
0
x
J
0
que e equivalente a
min z
suj. a z c
I
x
I
c
J
x
J
= 0
A
I
x
I
+ A
J
x
J
= b
x
I
0
x
J
0
Da expressao acima, tem-se que:
x
I
+ (A
I
)
1
A
J
x
J
= (A
I
)
1
b
e
z + 0 . x
I
+
_
c
I
(A
I
)
1
A
J
c
J

x
J
= c
I
(A
I
)
1
b
56
de modo que, para:
x
J
= 0

_
_
_
x
I
= (A
I
)
1
b
z = c
I
(A
I
)
1
b
Fazendo:
= c
I
(A
I
)
1
c
J
= A
J
c
J
tem-se entao que
_
_
_
z + 0 . x
I
+ c
J
x
J
= b
x
I
+ (A
I
)
1
A
J
x
J
= (A
I
)
1
b
e, para x
J
= 0:
_
_
_
z = b
x
I
= (A
I
)
1
b
57
A tabela seguinte resume este desenvolvimento:
z x
I
x
J
LD
z 1 0 c
I
(A
I
)
1
A
J
c
J
c
I
(A
I
)
1
b
x
I
0 I (A
I
)
1
A
J
(A
I
)
1
b

z x
I
x
J
LD
z 1 0 c
J
b
x
I
0 I (A
I
)
1
A
J
(A
I
)
1
b
Procedimento:
a) Dada a base inicial I, escreva o Tableau inicial.
b) Determine a variavel a entrar na base:
k = max
jJ
{ c
j
, c
j
> 0}
c) Determine a variavel a sair da base:
r = min
iI
_

b
i
y
i
k
, y
i
k
> 0
_
d) Realize uma opera cao de pivoteamento na coluna k.
d1) Divida a linha r por y
n
k
;
d2) Para i = r, some a linha i com a linha r multiplicada
por y
i
k
e coloque o resultado na linha i;
d3) Some a linha de custo `a linha r multiplicada por c
k
e coloque o resultado na linha de custo.
58
Exemplo 9
min z = x
1
+ x
2
4x
3
suj. a x
1
+ x
2
+ 2x
3
9
x
1
+ x
2
x
3
2
x
1
+ x
2
+ x
3
4
x 0
min z =
_
1 1 4 0 0 0

x
suj. a
_
_
1 1 2 1 0 0
1 1 1 0 1 0
1 1 1 0 0 1
_
_
x =
_
_
9
2
4
_
_
x 0
Iteracao 1
I = {4, 5, 6}
z x
1
x
2
x
3
x
4
x
5
x
6
LD
z 1 1 1 4 0 0 0 0
x
4
0 1 1 2 1 0 0 9
x
5
0 1 1 1 0 1 0 2
x
6
0 1 1 1 0 0 1 4
59
Iterac ao 2
I = {4, 5, 3}
z x
1
x
2
x
3
x
4
x
5
x
6
LD
z 1 3 5 0 0 0 4 16
x
4
0 3 1 0 1 0 2 1
x
5
0 0 2 0 0 1 1 6
x
3
0 1 1 1 0 0 1 4
Iterac ao 3
I = {1, 5, 3}
z x
1
x
2
x
3
x
4
x
5
x
6
z 1 0 4 0 1 0 2 17
x
1
0 1
1
3
0
1
3
0
2
3
1
3
x
5
0 0 2 0 0 1 1 6
x
3
0 0
2
3
1
1
3
0
1
3
13
3
x

=
_
1
3
0
13
3
0 6 0

= 17
A

I
=
_
_
1 0 2
1 1 1
1 0 1
_
_
60
5 Interpretacao do Tableau
Seja o Tableau
z x
I
x
J
LD
z 1 0 c
I
(A
I
)
1
A
J
c
J
c
I
(A
I
)
1
b
x
I
0 I (A
I
)
1
A
J
(A
I
)
1
b

z x
I
x
J
LD
z 1 0 c
J
b
x
I
0 I (A
I
)
1
A
J
(A
I
)
1
b
que equivale `as equa coes
_
_
_
z +
_
c
I
(A
I
)
1
A
J
c
J

x
J
= c
I
(A
I
)
1
b
x
I
+ (A
I
)
1
A
J
x
J
= (A
I
)
1
b
ou
_
_
_
z + c
J
x
J
= b
x
I
+ y
J
x
J
= (A
I
)
1
b
onde
y
J
= (A
I
)
1
A
J
61
Escrevendo em fun cao de x
J
:
_
_
_
z = c
I
(A
I
)
1
b
_
c
I
(A
I
)
1
A
J
c
J

x
J
x
I
= (A
I
)
1
b (A
I
)
1
A
J
x
J
ou
_
_
_
z = b c
J
x
J
x
I
= (A
I
)
1
b y
J
x
J
Portanto:
z
x
J
= c
J
x
I
x
J
= y
J
z
b
=
x
I
b
= (A
I
)
1
A
J
= A
I
y
J
A
j
= A
I
y
j
z
x
j
= c
j
x
i
x
j
= y
i
j
z
b
i
=
i
x
i
b
i
= (A
I
)
1
ij
62
Exemplo 10 Interprete o exemplo anterior.
Iterac ao 1
z
x
1
= c
1
= 1
z
x
2
= c
2
= 1
z
x
3
= c
3
= 4
x
4
x
1
= y
4
1
= 1
x
5
x
1
= y
5
1
= 1
x
6
x
1
= y
6
1
= 1
x
I
x
3
= y
3
=
_
_
2
1
1
_
_
z
b
1
=
1
= 0
z
b
2
=
2
= 0
z
b
3
=
3
= 0
x
4
b
1
= 1
x
5
b
2
= 0
x
4
b
3
= 0
(A
I
)
1
=
_
_
1 0 0
0 1 0
0 0 1
_
_
Iteracao 2
z
x
J
= c
J
=
_
3 5 4

x
I
x
1
= y
1
=
_
_
3
0
1
_
_
x
I
x
2
= y
2
=
_
_
1
2
1
_
_
63
z
b
= =
_
0 0 4

(A
I
)
1
=
_
_
1 0 2
0 1 1
0 0 1
_
_
Iteracao 3
z
x
J
= c
J
=
_
1 4 2

x
I
x
2
= y
2
=
_
_
1/3
2
2/3
_
_
x
I
x
4
= y
4
=
_
_
1/3
0
1/3
_
_
z
b
= =
_
1 0 2

(A
I
)
1
=
_
_
1/3 0 2/3
0 1 1
1/3 0 1/3
_
_
64
6 Solucao Basica Inicial Factvel
Seja o PPL:
max z = x
1
+ 2x
2
suj. a x
1
+ x
2
2
x
1
+ x
2
1
x
2
3
x 0

min z = x
1
2x
2
suj. a x
1
+ x
2
x
3
= 2
x
1
+ x
2
x
4
= 1
x
2
+ x
5
= 3
x 0

Nao ha uma base inicial obvia

Introduz-se variaveis articiais


min z = x
1
+ 2x
2
suj. a x
1
+ x
2
x
3
+ x
6
= 2
x
1
+ x
2
x
4
+ x
7
= 1
x
2
+ x
5
= 3
x 0
x
6
, x
7
: variaveis articiais
= I = {6, 7, 5} forma uma base inicial factvel.
65
Porem, o novo PPL so e equivalente ao PPL original se as
variaveis articiais forem nulas.
_
Ax = b
x 0
_

_
_
Ax + x
a
= b
x 0
x
a
0
_
_
_
_
x
a
= 0
_
_
Metodo das Duas Fases
Fase I determinar base inicial:
Objetivo: zerar as variaveis articiais.
a) Acrescenta-se variaveis articiais.
b) Monta-se o Problema Articial (PA).
min = 1x
a
suj. a Ax + x
a
= b
x 0
x
a
0
c) Resolver o Problema Articial pelo metodo simplex.
c.1) Se o valor otimo de (PA) for

= 0 x

a
= 0:

Solu cao otima do (PA) e uma solu cao basica


factvel inicial para o problema original.
66
c.2) Se > 0 x

a
> 0:

O problema original e infactvel.


c.3) Se x
a
= 0, mas alguns dos componentes de x
a
estao
na base com valor zero:

Solu cao degenerada da Fase I.


= Tentar substituir as variaveis basicas articiais
pelas nao-basicas originais:
* Caso seja possvel Fase II;
* Caso nao seja possvel suprimir a linha corres-
pondente `a variavel articial nula.
Fase II resolver problema original.
a) Retornar ao problema original;
b) Obter c
I
= 0 para a base inicial determinada;
c) Aplicar o metodo simplex.
67
Exemplo 11 Considere o problema anterior.
Fase I
min = x
6
+ x
7
suj. a x
1
+ x
2
x
3
+ x
6
= 2
x
1
+ x
2
x
4
+ x
7
= 1
x
2
+ x
5
= 3
x
i
0 i = 1, . . . , 7
x
1
x
2
x
3
x
4
x
5
x
6
x
7
LD
1 0 0 0 0 0 1 1
0 1 1 1 0 0 1 0 2
0 1 1 0 1 0 0 1 1
0 0 1 0 0 1 0 0 3
Soma-se as linhas 1 e 2 `a linha 0 a m de zerar os
coecientes de custos relativos associados `as vari aveis
articiais.
Cada iteracao da fase I gera uma solucao infactvel
para o problema original.
A fase I termina ao se determinar um vertice do
conjunto de solucoes do problema original.
68
x
1
x
2
x
3
x
4
x
5
x
6
x
7
LD
1 0 2 1 1 0 0 0 3
x
6
0 1 1 1 0 0 1 0 2
x
7
0 1 1 0 1 0 0 1 1
x
5
0 0 1 0 0 1 0 0 3

x
1
x
2
x
3
x
4
x
5
x
6
x
7
LD
1 2 0 1 1 0 0 2 1
x
6
0 2 0 1 1 0 1 1 1
x
2
0 1 1 0 1 0 0 1 1
x
5
0 1 0 0 1 1 0 1 2

x
1
x
2
x
3
x
4
x
5
x
6
x
7
LD
1 0 0 0 0 0 1 1 0
x
1
0 1 0 1/2 1/2 0 1/2 1/2 1/2
x
2
0 0 1 1/2 1/2 0 1/2 1/2 3/2
x
5
0 0 0 1/2 1/2 1 1/2 1/2 3/2
= Solu cao basica factvel inicial.
x =
_
x
1
x
2
_
=
_
1/2
3/2
_
z = 5/2
69
Fase II
z x
1
x
2
x
3
x
4
x
5
LD
z 1 1 2 0 0 0 0
0 1 0 1/2 1/2 0 1/2
0 0 1 1/2 1/2 0 3/2
0 0 0 1/2 1/2 1 3/2
Zerando-se os coecientes de custos relativos associados
aos elementos da base
z x
1
x
2
x
3
x
4
x
5
LD
z 1 0 0 1/2 3/2 0 5/2
x
1
0 1 0 1/2 1/2 0 1/2
x
2
0 0 1 1/2 1/2 0 3/2
x
5
0 0 0 1/2 1/2 1 3/2

z x
1
x
2
x
3
x
4
x
5
LD
z 1 3 0 2 0 0 4
x
4
0 2 0 1 1 0 1
x
2
0 1 1 1 0 0 2
x
5
0 1 0 1 0 1 1

70
z x
1
x
2
x
3
x
4
x
5
LD
z 1 1 0 0 0 2 6
x
4
0 1 0 0 1 1 2
x
2
0 0 1 0 0 1 3
x
3
0 1 0 1 0 1 1

=
_

_
x
1
x
2
x
3
x
4
x
5
_

_
=
_

_
0
3
1
2
0
_

_
z

= 6

Você também pode gostar