Sie sind auf Seite 1von 90

Mtodo Simplex

Captulo 2

Introduo
O modelo de PL reduz um sistema real a um conjunto de equaes ou
inequaes onde pretendemos otimizar uma funo objetivo.

A soluo tima ser encontrada em um ponto extremo do conjunto das


solues viveis.
Entretanto, o trabalho poder no ser pequeno. O nmero de pontos
extremos (ou vrtices) pode ser muito grande.

Principais Dificuldades (ou Etapas) do Processo

Obter solues viveis bsicas do sistema de


equaes.
Evitar o teste de todas as solues viveis bsicas
possveis para garantir a otimizao do sistema.
3

Fundamentos do
Mtodo Simplex

Forma Padro da Programao Linear: Exigncia do Mtodo


Forma Padro

Forma Matricial

( ) = 1 1 + 2 2 + +

11 1 + 12 2 + + 1 = 1

1 1 + 2 2 + + =

=
=

0.

1 0; 2 0; ; 0.
1 0; 2 0; ; 0.

Equivalncia de Formulaes

Cannica

Mista

Padro
6

Definies
A = matriz (mxn) dos coeficientes tecnolgicos.

x = vetor (nx1) das variveis de deciso.


b = vetor coluna (mx1) do lado direito das
restries.
Ou vetor dos recursos disponveis.
b 0.

c = vetor linha (1xn) dos lucros (ou dos custos).

Definies
Soluo factvel, compatvel ou vivel:
Vetor x que satisfaz as restries.

Regio factvel, compatvel ou vivel:


o conjunto de todas as solues factveis.
Se essa regio vazia, o programa linear impossvel ou invivel.
Soluo ilimitada:
aquela em que h uma regio factvel, mas o timo no finito.
Max Z ou Min Z - .
8

Base e Variveis Bsicas


Uma base de uma matriz A (m x n)
uma matriz quadrada de m
vetores coluna linearmente
independentes em Rm.

As variveis associadas a essas


colunas denominaremos variveis
bsicas.

Base e Variveis Bsicas


Podemos decompor o vetor das
variveis x em:
x = (xB, xR)

xB o vetor das variveis bsicas de


m componentes.
xR o vetor das restantes n m
variveis no bsicas.

10

Base e Variveis Bsicas


Podemos solucionar o conjunto das
equaes m x m somente em
funo das variveis bsicas.
Com isso temos x = (xB, 0).

Assim, podemos dividir a matriz A,


em:
Matriz base B (m x m);
Matriz R (m x n-m).

11

Soluo Bsica
Se B foi composta por colunas
linearmente independentes, sabese que ela ser uma matriz nosingular e que ser possvel resolver
o sistema:
BxB = b

Soluo bsica o vetor composto


de xB = B-1b e xR = 0.
x = (xB , xR).
12

Soluo Bsica Vivel


uma soluo bsica sem
componentes negativas.

13

Soluo Bsica
Consideraes:
Normalmente n > m.
Assume-se que as linhas de A so linearmente independentes entre as
m restries.
Soluo Bsica Degenerada:
Ocorre quando uma ou mais das variveis bsicas em uma soluo
bsica tem valor zero.

14

Exemplo
Seja o seguinte sistemas de
equaes que constitui algum
conjunto de restries:

Passando para a forma padro:

1 + 22 + 3 = 4
2 + 4 = 1

1 + 22 4
2 1

Matrizes A e B:
1 2 1 0
=
,
0 1 0 1

1 0
0 1

Nesse caso:
xB = (x3, x4) e xR=(x1, x2)
15

Conjunto de Solues Viveis


o conjunto = tal que = , 0
Teorema 1:
O conjunto C das solues viveis de um
modelo de PL um conjunto convexo.
Teorema 2:
Toda soluo bsica vivel do sistema Ax
= b um ponto extremo do conjunto de
solues viveis.
Ou seja, um extremo do conjunto C.

Ponto
Extremo

Soluo
Bsica
Vivel

16

Conjunto de Solues Viveis


Teorema 3:
Todo ponto extremo x de um conjunto de solues viveis de um sistema Ax = b
uma soluo bsica vivel.

Corolrio 1:
O conjunto dos pontos extremos de um conjunto de solues viveis finito e
limitado em C.

Corolrio 2:
Se existe uma soluo vivel, ento existe uma soluo bsica vivel.

17

Conjunto de Solues Viveis


Teorema 4:
Se uma funo objetivo possui um mximo
ou um mnimo finito, ento pelo menos uma
soluo tima um ponto extremo do
conjunto convexo C.
Se a funo objetivo assume o mximo ou o
mnimo em mais de um ponto extremo,
ento ela toma o mesmo valor para
qualquer combinao convexa desses
pontos.

Soluo
tima

Ponto
Extremo

18

O Algoritmo Primal
Simplex

19

Viso Geral: Situaes Consideradas


O mtodo de inverso da matriz bsica m x m deduzida a
partir de A, uma matriz de restries m x n.
As condies de troca de variveis dentro da matriz
bsica.

O algoritmo pode
ser adaptado
para buscar uma
base vivel
inicial.

Em busca da contnua melhoria da soluo.

As regras de parada do algoritmo e a interpretao dessa


situao final.

Mas isso no faz


parte da essncia
do mtodo.

20

Viso Geral: Situaes Consideradas

O mtodo de inverso da
matriz bsica:
Operaes elementares,
embora o mtodo de
inverso no esteja
amarrado pelo simplex.

As condies de troca de
variveis dentro da matriz
bsica.
O critrio aponta a escolha
da varivel de maior
contribuio imediata para
a funo objetivo.

As regras de parada do
algoritmo e a interpretao
dessa situao final.
Troca de variveis no
melhora o critrio de
otimizao.
Identificao de um
comportamento
patolgico.

21

Critrio de Melhoria de uma Soluo Bsica


Considere-se que existe uma
soluo bsica vivel para:
=
=

0.

Podemos supor que a soluo


bsica existente seja representada
por
B 1b
x

Cujo valor associado


B 1b
B 1b
1
z0 c
CB , CR
CB B b
0
0
22

Critrio de Melhoria de uma Soluo Bsica


Pode-se escrever o vetor x, em
funo das variveis bsicas e nobsicas.

xB
x e b Ax BxB RxR
xR
1

xB B b B RxR

xB B 1b B 1a j x j
jJ

Pode-se reescrever z=cx:

z cx
cB xB cR xR
1

1
cB B b B a j x j c j x j
jJ

jJ
cB B 1b cB B 1a j x j c j x j
jJ

jJ

cB B 1b cB B 1a j c j x j
jJ

z0 z j c j x j
jJ

23

Critrio de Melhoria de uma Soluo Bsica


O termo zj cj tambm chamado de custo reduzido.
Se chamarmos de k o ndice de varivel no bsica:

z z0 zk ck xk
Disso resulta:
1

xB B b B ak xk
b yk xk

onde
b B 1b
yk B 1ak
24

Critrio de Melhoria de uma Soluo Bsica


xB1 b1 y1k

xB2 b2 y2 k
xk

xBm bm ymk

Essa condio s ocorre quando:

bi

bs
mnimo : yik 0 xs
1i m
ysk
yik

Para satisfazer a condio de no


negatividade xk s poder crescer
at que a primeira componente xbi
se j reduzida a zero.

25

Exemplo de Aplicao do Critrio de Melhoria

Minimizar z 3x1 5 x2
sujeito a :
x1 x3 4
x2 x4 6
3 x1 2 x2 x5 18
x1 0, x2 0, x3 0, x4 0, x5 0

1 0 1 0 0
A a1 , a2 , a3 , a4 , a5 0 1 0 1 0
3 2 0 0 1
4
b 6
18
c 3 5 0 0 0

26

Exemplo de Aplicao do Critrio de Melhoria


Considere-se a base composta
por x3, x2 e x5:

1 0 0
B a3 , a2 , a5 0 1 0
0 2 1

Matriz Inversa:

1 0 0
B 1 0 1 0
0 2 1

I = {3, 2, 5} e J = {1, 4}
27

Exemplo de Aplicao do Critrio de Melhoria


Segue-se que:
x3
1 0 0 4 4
xB x2 B 1b 0 1 0 6 6
x5
0 2 1 18 6

znova

x1 0
xR
x4 0

4
cx cB xB cR xR 0 5 0 6 30
6
28

Exemplo de Aplicao do Critrio de Melhoria


Segue-se que:
x3
1 0 0 4 4
xB x2 B 1b 0 1 0 6 6
x5
0 2 1 18 6

x2

(0, 6)

(2, 6)

(4, 3)
2

(0, 0)

4
(4, 0)

x1

29

Exemplo de Aplicao do Critrio de Melhoria


Para melhorar a soluo devemos calcular os custos reduzidos (zj cj):

z1 c1 cB B 1a1 c1
1 0 0 1
[0 5 0] 0 1 0 0 3
0 2 0 3
3

z4 c4 cB B 1a4 c4
1 0 0 0
[0 5 0] 0 1 0 1 0
0 2 0 0
5

Melhor escolha => Varivel x1


30

Exemplo de Aplicao do Critrio de Melhoria


A varivel que deve sair da base:
bi

bs
mnimo : yik 0
1i m
ysk
yik

x3 4 1 4
x 6 / 0
2
x5 6 3 2

A nova base:
1 0 1
B a3 , a2 , a1 0 1 0
0 2 3

31

Formalizao
Inicializao:
Colocar o modelo na forma padro.
Determinar uma soluo bsica vivel inicial.
I = conj. de ndices das colunas de A da base e J das no bsicas.

Passo 1:
Calcular os valores (zj cj).
Se todos os (zj cj) 0, ento a soluo bsica vivel tima.
O algoritmo deve parar.

Caso contrrio J1={jJ|zj cj > 0} (continua com os custos reduzidos positivos).


32

Formalizao
Passo 2:
Se todos os yi 0 para j J1, no existe soluo tima finita.
O algoritmo deve parar.

Determinar a varivel que entra na base:


Aquela com o maior custo reduzido.
Determinar k de modo que (zk ck) = max{zj cj}.

Caso contrrio, determinar varivel que sai da base:


A variao relacionada coluna k que gera a menor relao bs/ysk.

33

Formalizao
Passo 3:
Considere a nova base B.

Calcular a nova soluo bsica vivel.


Atualizar R, I e J.

Voltar ao passo 1.

34

O Quadro Simplex

35

Exemplo Numrico

Maximizar z 4 x1 5 x2 9 x3 11x4
sujeito a :
x1 x2 x3 x4 15
7 x1 5 x2 3x3 2 x4 120
3 x1 5 x2 10 x3 15 x4 100
x1 0, x2 0, x3 0, x4 0

36

Inicializao: Transformar para a Forma Padro

Maximizar z 4 x1 5 x2 9 x3 11x4 0 x5 0 x6 0 x7
sujeito a :
x1 x2 x3 x4 x5 15
7 x1 5 x2 3x3 2 x4 x6 120
3 x1 5 x2 10 x3 15 x4 x7 100
x1 0, x2 0, x3 0, x4 0, x5 0, x6 0, x7 0

37

Inicializao: Quadro Inicial de Clculo e Obteno de uma


Base Vivel Inicial

ndice das Variveis

ndice das variveis Bsicas

Valor da F.O.

Valor de zj cj

xB

Y= B-1R
B-1
(Variveis no-bsicas) Variveis Bsicas

rea de
Clculos

38

Inicializao: Quadro Inicial de Clculo


Maximizar z 4 x1 5 x2 9 x3 11x4 0 x5 0 x6 0 x7
sujeito a :

Vetor c de custos
(ou lucros).
(Neste caso).

ndice das variveis.

x1 x2 x3 x4 x5 15
7 x1 5 x2 3x3 2 x4 x6 120

11

15

120

100

10

15

3 x1 5 x2 10 x3 15 x4 x7 100
x1 0, x2 0, x3 0, x4 0, x5 0, x6 0, x7 0

Vetor b de restries.

Matriz A dos coeficientes tecnolgicos.


39

Inicializao: Obteno de uma Base Vivel Inicial


Maximizar z 4 x1 5 x2 9 x3 11x4 0 x5 0 x6 0 x7
sujeito a :

Valor inicial da funo objetivo z


para a soluo bsica inicial.

x1 x2 x3 x4 x5 15

B 1b
x

7 x1 5 x2 3x3 2 x4 x6 120
3 x1 5 x2 10 x3 15 x4 x7 100
x1 0, x2 0, x3 0, x4 0, x5 0, x6 0, x7 0

Soluo Bsica Vivel Inicial,


considerando as variveis no
bsicas como iguais a zero.

11

15

120

100

10

15

Base
40

Passo 1: Regra da Parada


(Avaliao dos Custos Reduzidos)

11

15

120

100

10

15

Como existe custo reduzido maior que zero, existem


solues melhores.
Uma varivel deve entrar na base.

41

Passo 2: Varivel que Entra na Base


(Avaliao dos Custos Reduzidos)

11

15

120

100

10

15

Entra a varivel com o maior custo reduzido positivo.

42

Passo 2: Varivel que Sai da Base


(Determinao do Piv)

11

15

0b

15/1

120

120/2

100

10

15

100/15

bs

ysk

ysk

bs
ysk
43

Passo 2: Varivel que Sai da Base


(Determinao do Piv)

11

15

15/1

120

120/2

100

10

15

100/15

bs
mnimo i : yik 0 xs
1i m
ysk
yik

x7 sai da base porque 100/15 o menor valor para o crescimento


de x4.
O piv o valor correspondente dessa linha na coluna de x4. Nesse
caso seu valor 15.
44

Passo 3: Clculo dos valores de soluo associados nova


base (Pivoteamento)

11

15

120

20/3 1/5

1/3

2/3

1/15

/15

A linha do piv dividida por 15, para tornar o piv


igual um e tornar a nova base uma base cannica.

45

Passo 3: Clculo dos valores de soluo associados nova


base (Pivoteamento)

-220/3

9/5

4/3

5/3

-11/15

25/3

4/5

2/3

1/3

-1/15

320/3

33/5

13/3

5/3

-2/15

20/3

1/5

1/3

2/3

1/15

Em seguida, atravs do mtodo das operaes


elementares torna-se os demais elementos da
coluna de x4 iguais a zero.
Com isso tambm se obtm a nova soluo bsica e
o novo valor de z.
46

Passo 1: Regra da Parada


(Avaliao dos Custos Reduzidos)
1

-220/3

9/5

4/3

5/3

-11/15

25/3

4/5

2/3

1/3

-1/15

320/3

33/5

13/3

5/3

-2/15

20/3

1/5

1/3

2/3

1/15

Ainda existem custos reduzidos maiores que zero. Portanto,


ainda deve haver uma soluo melhor.

47

Passo 2: Varivel que Entra na Base


(Avaliao dos Custos Reduzidos)
1

-220/3

9/5

4/3

5/3

-11/15

25/3

4/5

2/3

1/3

-1/15

320/3

33/5

13/3

5/3

-2/15

20/3

1/5

1/3

2/3

1/15

48

Passo 2: Varivel que sai da base


(Determinao do piv)
1

-220/3

9/5

4/3

5/3

-11/15

25/3

4/5

2/3

1/3

-1/15

125/12

320/3

33/5

13/3

5/3

-2/15

1600/99

20/3

1/5

1/3

2/3

1/15

100/3

49

Passo 3: Clculo dos valores de soluo associados nova


base (Pivoteamento)
1

-220/3

9/5

4/3

5/3

-11/15

125/12

5/6

5/12

5/4

-1/12

320/3

33/5

13/3

5/3

-2/15

20/3

1/5

1/3

2/3

1/15

/(4/5)

50

Passo 3: Clculo dos valores de soluo associados nova


base (Pivoteamento)
1

-1105/12

-1/6

11/12

-9/4

-7/12

125/12

5/6

5/12

5/4

-1/12

455/12

-7/6

-13/12

-33/4

5/12

55/12

1/6

7/12

-1/4

1/12

51

Passo 2: Regra da Parada


(Avaliao dos Custos Reduzidos)
1

-1105/12

-1/6

11/12

-9/4

-7/12

125/12

5/6

5/12

5/4

-1/12

455/12

-7/6

-13/12

-33/4

5/12

55/12

1/6

7/12

-1/4

1/12

52

Passo 2: Regra da Parada


(Avaliao dos Custos Reduzidos)
1

-1105/12

-1/6

11/12

-9/4

-7/12

125/12

5/6

5/12

5/4

-1/12

455/12

-7/6

-13/12

-33/4

5/12

55/12

1/6

7/12

-1/4

1/12

53

Passo 2: Varivel que sai da base


(Determinao do piv)
1

-1105/12

-1/6

11/12

-9/4

-7/12

125/12

5/6

5/12

5/4

-1/12

25

455/12

-7/6

-13/12

-33/4

5/12

55/12

1/6

7/12

-1/4

1/12

55/7

54

Passo 3: Clculo dos valores de soluo associados nova


base (Pivoteamento)
1

-695/7

-3/7

-11/7

-13/7

-5/7

50/7

5/7

-5/7

10/7

-1/7

325/7

-6/7

13/7

-61/7

4/7

55/7

2/7

12/7

-3/7

1/7

55

Passo 1: Regra da Parada


1

-695/7

-3/7

-11/7

-13/7

-5/7

50/7

5/7

-5/7

10/7

-1/7

325/7

-6/7

13/7

-61/7

4/7

55/7

2/7

12/7

-3/7

1/7

Todos os custos reduzidos so menores ou iguais a zero. Portanto,


a soluo no pode mais melhorar e a soluo atual a tima.
O valor timo de z 695/7.

56

Exerccio

Maximizar z 3 x1 5 x2
sujeito a :
x1 4
x2 6
3 x1 2 x2 18
x1 0, x2 0

57

Exerccio

Maximizar z 3 x1 5 x2
sujeito a :
x1 4

x2
x1 = 4

3x1 + 2x2 = 18
8
(2, 6)

2x2 = 12

x2 6

3 x1 2 x2 18

x1 0, x2 0

Z = 36 = 3x1 + 5x2

(4, 3)

x1

58

Exerccio
Maximizar z 3x1 5 x2 0 x3 0 x4 0 x5
sujeito a :
x1 x3 4
x2 x4 6
3 x1 2 x2 x5 18

18

x1 0, x2 0, x3 0, x4 0, x5 0

59

Exerccio

-30

-5

4/0

6/1

18/2

-2

18

-5l2

-2l2

60

Exerccio

-36

-3

-1

-3l3

4/1

2/3

-1/3

-l3

6/3

-2/3

1/3

-30

-5

-2

/3

z = 36 com x1 = 2 e x2 = 6

61

Obteno da Soluo
Bsica inicial

62

Exemplo

Minimizar z 3x1 5 x2

Minimizar z 3x1 5 x2 0 x3 0 x4 0 x5

sujeito a :

sujeito a :

x1 4

x1 x3 4

x2 6

x2 x4 6

3 x1 2 x2 18

3 x1 2 x2 x5 18

x1 0, x2 0

x1 0, x2 0, x3 0, x4 0, x5 0

63

Exemplo

Minimizar z 3x1 5 x2 0 x3 0 x4 0 x5
sujeito a :
x1 x3 4
x2 x4 6
3 x1 2 x2 x5 18

Matriz formada pelas variveis de


folga uma base, mas no vivel.

1 0 0
B 0 1 0
0 0 1

x1 0, x2 0, x3 0, x4 0, x5 0

64

Exemplo
x2
x1 = 4

Ponto de origem no pertence


regio de solues viveis.

8
x2 = 6

1 0 0
B 0 1 0
0 0 1

4
2

3x1 + 2x2 = 18
2

x1
65

Solues
Opes Gerais

Varivel Artificial

Descobrir uma base vivel por


outro mtodo qualquer e ento
aplicar o Simplex.

So variveis acrescentadas para


viabilizar uma base cannica.

Adaptar o Simplex para gerar uma


base vivel a partir de uma invivel.
Adotaremos a segunda opo.

No precisam possuir nenhuma


ligao com a realidade da
modelagem do problema.
Algoritmo ser aplicado em 2 fases.
Variveis artificiais sero
descartadas no processo.
66

Varivel Artificial

Minimizar z 3x1 5 x2 0 x3 0 x4 0 x5 ? x6a


sujeito a :
x1 x3 4
x2 x4 6
3 x1 2 x2 x5 x6a 18

B a3

a4

1 0 0
a6a 0 1 0
0 0 1

x1 0, x2 0, x3 0, x4 0, x5 0

67

Mtodo do Grande M
Associar a essas variveis um custo extraordinariamente alto (ou um lucro muito
baixo).
M seria essa valor muito alto.

Naturalmente, o Simplex tenderia a eliminar essas variveis da base em busca de


variveis mais significativas.
Desvantagens:
Dificuldades numricas quando implementados computacionalmente (devido a
arredondamentos nas divises decorrentes).
Alm disso, como definir um valor grande?

68

Mtodo das Duas Fases


Se refere ao uso de duas funes objetivo.
A 1 usada na 1 fase para minimizar o nmero de variveis artificiais existentes
na base.
Uma vez otimizada a primeira funo e retiradas todas as variveis artificiais da
base, prossegue-se normalmente com a funo objetivo original.

No exemplo acrescentamos a funo da primeira fase:

Minimizar q 0 x1 0 x2 0 x3 0x4 0 x5 1x6a

69

Mtodo das Duas Fases


Minimizar q 0 x1 0 x2 0 x3 0x4 0 x5 1x6a

Note-se que o vetor de custo das variveis


bsicas no nulo.

Minimizar z 3x1 5 x2 0 x3 0 x4 0 x5 0 x

a
6

sujeito a :
1

x2 x4 6

-1

3 x1 2 x2 x5 x6a 18

x1 0, x2 0, x3 0, x4 0, x5 0

18

-1

x1 x3 4

70

Mtodo das Duas Fases: clculos dos custos reduzidos

18

z1 c1 3

-1

z2 c2 2

z3 c3 0

18

-1

z4 c4 0
z5 c5 1
z6 c6 0

A funo da primeira fase obtida somando as linhas


onde as variveis artificiais esto presentes linha da
funo objetivo da primeira fase.
71

Mtodo das Duas Fases: 1 fase

18

-1

4/1

18

-1

18/3

72

Mtodo das Duas Fases: 1 fase

-3

-1

-12

-3

-3

-1

73

Mtodo das Duas Fases: 1 fase


Esta coluna no mais necessria.

-1

-27

9/2

5/2

-1

3/2

1/2

-1/2

-3/2

-1/2

1/2

74

Mtodo das Duas Fases : 2 fase

-27

9/2

5/2

3/2

1/2

-3/2

-1/2

75

Mtodo das Duas Fases : 2 fase

-36

-3

-2/3

-1/3

2/3

1/3

76

Mtodo das Duas Fases : 2 fase

-42

-3

-5

1/3

77

Mtodo das Duas Fases


1 Fase

2 Fase

x2

x2

z = -36
z = -42

q=0

z = -27

q=6

q = 18

x1

x1
78

Casos Especiais

79

Empate na Entrada
Regra de Blant:
Entre todas as variveis a entrar na base, selecione a varivel que possui o menor
(ou maior) ndice.
A nica implicao que o caminho pode ser mais longo ou mais curto para se
chegar soluo tima.

80

Empate na Sada - Degenerao


Tambm se deve seguir a Regra de Blant.
Entretanto, existem implicaes:
1

3/1

12

12/4

81

Empate na Sada - Degenerao

-15

-5

4/1

-4

Soluo factvel bsica degenerada

82

Empate na Sada - Degenerao

-15

-7/3

-2/3

4/3

-1/3

-4/3

1/3

Soluo factvel bsica degenerada:


A varivel que entrar na base tambm se anular.

83

Empate na Sada - Degenerao


Eventualmente, em casos de degenerao pode ocorrer a ciclagem:
Circuitos fechados interminveis em busca da soluo tima.

Tal problema dificilmente encontrado em problemas reais.


A regra de Blant costuma ser suficiente para esgotar a questo.

84

Mltiplas Solues timas


Ocorre quando a funo objetivo paralela alguma aresta.
Exemplo:
Note-se o paralelismo (considerando as variveis originais x1 e x2) entre a linha de z e
a ltima linha.

1
85

Mltiplas Solues timas


Exemplo (aps alguns passos):

-9

-1

-1

-2

86

Mltiplas Solues timas


possvel gerar outra base:

-9

-1

-1

-2

87

Mltiplas Solues timas


Tambm soluo tima:

-9

-1

88

Dualidade

89

90

Das könnte Ihnen auch gefallen