Você está na página 1de 12

PESQUISA OPERACIONAL

O MTODO SIMPLEX
Introduo:
A Programao Linear busca obter valores para n variveis de deciso, x1, x2, ..., xn, a valores no
negativos, de modo a otimizar maximizar ou minimizar uma expresso linear, Z = c1x1 + c2x2 + ... +
cnxn, satisfazendo a um conjunto de restries lineares, na forma de igualdades ou de desigualdades,
representadas matricialmente por Ax {, =, } b.
A a matriz dos coeficientes tecnolgicos, x um vetor coluna com dimenso n reunindo as
variveis de deciso, e b 0 o vetor dos recursos ou insumos disponveis para a produo.
O Mtodo Simplex de resoluo da Programao Linear, desenvolvido por Dantzig (1947) ser
visto na forma de algoritmo e de exemplos resolvidos.
Para aplicar o mtodo simplex importante, em um primeiro momento, distinguir-se as restries
de igualdade das restries de desigualdade, pois facilita a introduo de diversos aspectos, embora mais
adiante se constate que essa diferena no relevante. A forma padro, correspondendo igualdade, a
mais geral, enquanto que a forma Ax b, com b 0, caracterstica da forma cannica.

Forma Padro:
A forma padro aquela em que as restries esto expressas por meio de equaes lineares:
Max (ou Min) Z c1 x1 c 2 x 2 c n x n
sujeito a

a11 x1 a12 x 2 a1n x n b1


a 21 x1 a 22 x 2 a 2 n x n b2

a m1 x1 a m 2 x 2 a mn x n bm
xi 0

(i 1,2,...,n)

onde: A = matriz mxn dos coeficientes tecnolgicos


b = vetor mx1 das constantes do lado direito
x = vetor nx1 das variveis de deciso
c = vetor 1xn dos coeficientes da funo objetivo

Forma Cannica:
O sistema dito na forma cannica quando, embutido na matriz dos coeficientes, encontra-se a

matriz identidade. Em conseqncia, esse sistema admite uma soluo trivial em que as variveis no
associadas s colunas da matriz identidade so nulas. Alm disso, se todo bi 0, (i = 1, ..., m), a soluo
tambm vivel. A soluo trivial consiste em fazer xn+i = bi, enquanto que as demais variveis x1 a xn
so nulas.

Prof. Andr Gandolpho

PESQUISA OPERACIONAL
Max (ou Min) Z = c1x1 + c2x2 + ... + cnxn + cn+1x1,n+1+ cn+2xn+2 + ... + cn+mxn+m
Sujeito a:

a11x1 + a12x2 + ... + a1nxn + xn+1

= b1

a21x1 + a22x2 + ... + a2nxn ..+ xn+2

= b2

.....

.....

.....

....

....

am1x1 + am2x2 + ... + amnxn

.....
+ xn+m = bn

x1, x2, ..., xn+m 0

SNTESE DO ALGORITMO SIMPLEX:


Formalizando, vamos escrever o mtodo Simplex na forma de um algoritmo. Para isso, considere
o problema de maximizao, colocado na forma cannica.
Quando se trata do problema em sua primeira iterao, os coeficientes so os dados originais do
problema. A partir da segunda iterao, os coeficientes vo se modificando, por conta dos pivotamentos.
A presena das barras sobre os coeficientes serve para indicar valores modificados. Deste modo, pode-se
escrever em termos de algoritmo o mtodo simplex:

O Algoritmo Simplex (Forma de Maximizao):


1. Coloca-se o problema na forma cannica, onde b i 0 (i = 1,2,...,m)
2. Se c j 0 , para j = 1,2,...,n, ento PARE, timo encontrado. Se houver algum cj < 0, escolher
dentre eles a menor, ou seja:

c s = min c j | c j 0 , v para (3), para fazer o vetor xs entrar na base.


Se o mnimo c s ocorrer para mais de um s, escolher arbitrariamente um deles.
3. Entrar com o vetor xs na base.Para definir o vetor a sair da base surgem duas possibilidades
i) ais 0 para todo i = 1,...,m. Ento xs pode ser aumentado indefinidamente, sem fazer nenhuma
varivel bsica decrescer a zero e o valor de Z tende a infinito. PARE, a soluo ilimitada.
ii) ais > 0 para algum i. Nesse caso calcule o menor dos coeficientes bi/ais. Seja r a varivel bsica
tal que:

br
min
i
a rs

bi

a is 0

a is

Esta relao define que a varivel a sair da base a varivel bsica correpondente r-sima
equao, digamos xr, enquanto que ars denominado elemento pivot. V para o passo (4)
4. Troque na base a varivel na linha r pela varivel xs que passar a ser bsica. Estabelea a forma
cannica, ou seja, pivotar no coeficiente a rs . Isto exige que a linha r seja dividida por a rs ,
inclusive o elemento br. Para tornar zero os demais elementos da coluna s, tem-se que adicionar
mltiplos apropriados da linha r. Igualmente, o elemento c s deve se tornar zero pela adio de
Prof. Andr Gandolpho

PESQUISA OPERACIONAL
mltiplos da linha r. Como conseqncia dessas operaes, todos os elementos do quadro sofrem
alteraes que, para clculos automticos em computador, podem ser reduzidos s seguintes
regras:
Linha r:

a rj

a rj
a rs

j 1,2,..., n, n 1

i 0,1,..., m

i r
j 1,2,..., n, n 1

c j corresponde aos elementos da linha (0);

a
a ij a ij is a rj
a rs

Elemento i,j:

onde : a oj

a i,n 1 b i corresponde aos elementos da linha i e


a o,n 1 0, no quadro inicial indica os valores da funo objetivo Z.

5. V para (2) e realize novamente o teste de otimizao.

Fonte: Pizzolato e Gandolpho, 2005

Prof. Andr Gandolpho

PESQUISA OPERACIONAL

EXERCCIOS RESOLVIDOS
Resolva os seguintes problemas de Programao Linear utilizando o Mtodo Simplex na forma
de quadros:
1) Max Z = 2x1 + 3x2
sa
2x1 + 3x2 30
3x1 + 8x2 70
x1
0
x2 0
Soluo:
Aps colocar as Variveis de Folga temos o problema na sua forma cannica:
Max Z = 2x1 + 3x2
sa
2x1 + 3x2 + x3
= 30
3x1 + 8x2
+ x4 = 70
x1; x2; x3; x4
0
Em seguida o problema descrito na sua forma cannica colocado na forma de quadros,
conforme descrito a seguir:
No quadro inicial tem-se 2 candidatos a entrar na base, X1 e X2. Escolhe-se aquela varivel com
o coeficiente mais negativo, neste caso o X2. O teste da razo esta descrito na coluna ao lado do tableau.
Note que as duas variveis bsicas so candidatas a sair da base, sendo escolhida a X4 pois tem o menor
valor da razo.
Est marcado em amarelo o elemento pivot. A linha correspondente deve ser dividida por este
valor. Em seguida o tableau deve ser atualizado, conforme pode ser observado na 2a figura.
TABLEAU INICIAL
Base
Z
MAX
1
X3
0
X4
0

X1
-2
2
3

ENTRA
X2
-3
3
8

X3
0
1
0

X4
0
0
1

b
0
30
70

RAZO
10
35/4

SAI

Aps as atualizaes tem-se o seguinte tableau:


Base
MAX
X3
X2

ENTRA
X1
- 7/8
7/8
3/8

Z
1
0
0

X2
0
0
1

X3
0
1
0

X4
3/8
- 3/8
1/8

B
105/4
15/4
35/4

RAZO
30/7
70/3

SAI

Note que ainda existe um candidato a entrar na base, o X1. Neste caso, aps o teste da razo
possvel determinar a varivel a sair da base, ou seja, o X3. Novamente tem-se o elemento pivot
marcado em amarelo. Feitas as atualizaes obtm-se o seguinte tableau:
Base
MAX
X1
X2

Z
1
0
0

X1
0
1
0

X2
0
0
1

X3
1
8/7
- 3/7

X4
0
- 3/7
2/7

b
30
30/7
50/7

RAZO

No tableau atualizado no existem candidatos a entrar na base. Como os coeficientes do lado


direito so no negativos, conclui-se que chegou-se ao ponto timo.
Desta forma, tem-se a seguinte soluo final tima:
X1 = 30/7 = 4,29;
X2 = 50/7 = 7,14;
Z = 30
Prof. Andr Gandolpho

PESQUISA OPERACIONAL
2) Max Z = 4x1 + 1x2
sa
9x1 + 1x2 18
3x1 + 1x2 12
x1
0
x2 0
Soluo:
Colocando as Variveis de Folga:
Max Z = 4x1 + 1x2
sa
9x1 + 1x2 + x3
= 18
3x1 + 1x2
+ x4 = 12
x1; x2; x3; x4
0
Em seguida o problema descrito na sua forma cannica colocado na forma de quadros,
conforme descrito a seguir:
TABLEAU INICIAL
ENTRA
Base
Z
X1
MAX
1
-4
X3
0
9
X4
0
3
a

X2
-1
1
1

X3
0
1
0

X4
0
0
1

b
0
18
12

RAZO

X3
4/9
1/9
- 1/3

X4
0
0
1

b
8
2
6

RAZO

X3
1/6
1/6
- 1/2

X4
5/6
- 1/6
3/2

b
13
1
9

RAZO

1 iterao
Base
MAX
X1
X4

Z
1
0
0

X1
0
1
0

ENTRA
X2
- 5/9
1/9
2/3

Tableau Final
Base
MAX
X1
X2

Z
1
0
0

X1
0
1
0

X2
0
0
1

Soluo final tima:


X1 = 1;
X2 = 9;

Prof. Andr Gandolpho

2
4

18
9

SAI

SAI

Z = 13

PESQUISA OPERACIONAL
3) Max
sa

8x1 + 5x2
12x1 + 10x2 150
x1
130
x2 100
40x1 + 60x2 567

Soluo:
Colocando as variveis de folga:
Max 8x1 + 5x2
sa
12x1 + 10x2 + x3
= 150
x1
+ x4
= 130
x2
+ x5
= 100
40x1 + 60x2
+ x6 = 567
x1; x2; x3; x4; x5; x6
0
Em seguida o problema descrito na sua forma cannica colocado na forma de quadros,
conforme descrito a seguir:
TABLEAU INICIAL
Base
Z
MAX
1
X3
0
X4
0
X5
0
X6
0

ENTRA
X1
-8
12
1
0
40

X2
-5
10
0
1
60

X3
0
1
0
0
0

X4
0
0
1
0
0

X5
0
0
0
1
0

X6
0
0
0
0
1

b
0
150
130
100
567

RAZO

X1
0
1
0
0
0

X2
5/3
5/6
- 5/6
1
80/3

X3
2/3
1/12
- 1/12
0
-10/3

X4
0
0
1
0
0

X5
0
0
0
1
0

X6
0
0
0
0
1

b
100
25/2
235/2
100
67

RAZO

12,5
130

SAI

14,175

1 iterao
TABLEAU TIMO
Base
Z
MAX
1
X1
0
X4
0
X5
0
X6
0

X1= 25/2;

X2 = 0;

Prof. Andr Gandolpho

X3 = 0;

X4 = 0;

Z = 100

PESQUISA OPERACIONAL
4) Max Z = 22x1 + 20x2
st
1x1 + 3x2 60
2x1 + 0x2 24
0x1 + 1x2 15
3x1 + 1x2 45
Soluo:
Colocando as variveis de folga:
Max Z = 22x1 + 20x2
sa
1x1 + 3x2 + x3
= 60
2x1 + 0x2
+ x4
= 24
0x1 + 1x2
+ x5
= 15
3x1 + 1x2
+ x6 = 45
x1; x2; x3; x4; x5; x6
0
Em seguida o problema descrito na sua forma cannica colocado na forma de quadros,
conforme descrito a seguir:
TABLEAU INICIAL
Base
Z
MAX
1
X3
0
X4
0
X5
0
X6
0

ENTRA
X1
-22
1
2
0
3

X2
-20
3
0
1
1

X3
0
1
0
0
0

X4
0
0
1
0
0

X5
0
0
0
1
0

X6
0
0
0
0
1

b
0
60
24
15
45

RAZO

Z
1
0
0
0
0

X1
0
0
1
0
0

ENTRA
X2
-20
3
0
1
1

X3
0
1
0
0
0

X4
11
- 1/2
1/2
0
-3/2

X5
0
0
0
1
0

X6
0
0
0
0
1

b
264
48
12
15
9

RAZO

Z
1
0
0
0
0

X1
0
0
1
0
0

X2
0
0
0
0
1

X3
0
1
0
0
0

ENTRA
X4
-19
4
1/2
3/2
-3/2

X5
0
0
0
1
0

X6
20
-3
0
-1
1

b
444
21
12
6
9

RAZO

TABLEAU TIMO
Base
Z
MAX
1
X3
0
X1
0
X4
0
X2
0

X1
0
0
1
0
0

X2
0
0
0
0
1

X3
0
1
0
0
0

X4
0
0
0
1
0

X5
38/3
-8/3
- 1/3
2/3
1

X6
22/3
- 1/3
1/3
- 2/3
0

b
520
5
10
4
15

RAZO

1 iterao
Base
MAX
X3
X1
X5
X6
a

2 iterao
Base
MAX
X3
X1
X5
X2

60
12

SAI

15

16
15
9

5,25
24
4

SAI

SAI

x1 = 10; x2 = 15; x3 = 5; x4 = 0; x5 = 4; Z = 520


Prof. Andr Gandolpho

PESQUISA OPERACIONAL
5) Seja o seguinte modelo de Programao Linear (Pizzolato & Gandolpho, 2005):
Max.

Z = 2x1 + 3x2

Sujeito a

x1 + 2x2 8
2x1 + 3x2 5
x1 + x2 6
x1,

x2 0

Como j explicado, as inequaes podem ser transformadas em equaes pela introduo de


variveis de folga, com peso nulo na funo objetivo:
Max

Z = 2x1 + 3x2 + 0x3 + 0x4 + 0x5

Sujeito a

x1 + 2x2 + x3
2x1 + 3x2

= 8
+ x4

x1 + x2

= 5
+ x5 = 6

xi 0, para i = 1,2,...,5
O sistema acima possui uma soluo trivial, ou seja, fazendo x1 = 0 e x2 = 0 tem-se:

x 3 8

variveis bsicas x 4 5
x 6
5

x 1 0
variveis no - bsicas
x 2 0

Colocando na forma de quadros tem-se:


Base
Max
X3
X4
X5

Z
1
0
0
0

X1
X2
X3
X4
X5
2
3
0
0
0
1
2
1
0
0
2
3
0
1
0
1
1
0
0
1
Quadro 1: Mtodo Simplex, Quadro Inicial

b
0
8
5
6

Linha (0)
Linha (1)
Linha (2)
Linha (3)

Observando-se a linha (0) no quadro acima, de um problema de maximizao, nota-se que os


coeficientes negativos das variveis x1 e x2 sugerem que ambas as variveis devem aumentar para
provocar o aumento da funo objetivo. Escolhendo-se a varivel x2 para entrar na base, em razo de seu
maior coeficiente negativo na linha (0), a pergunta agora sobre a varivel que deve sair. Para escolhla, faz-se o teste do quociente entre os elementos da coluna b e os elementos positivos da coluna da
varivel a entrar, x2, como mostrado direita do Quadro 2. Desse modo, x4 ser excluda, enquanto que o
elemento a22 = 3, situado na linha (2) com a coluna (2), e marcado em negrito, ser chamado de
elemento pivot.

Prof. Andr Gandolpho

PESQUISA OPERACIONAL
Base
Max
X3
X4
X5

Z
1
0
0
0

X1
X2
X3
X4
X5
2
3
0
0
0
1
2
1
0
0
2
0
1
0
3
1
1
0
0
1
Quadro 2: Mtodo Simplex, Entra x2 e Sai x4

b
0
8
5
6

Razo
8/2 = 4
5/3 = 1,67
6/1 = 6

Identificada a varivel a entrar na base, x2, e a varivel a sair, x4, tem-se na interseo o elemento
pivot, de valor 3. A operao de mudana de base consiste em criar um vetor unitrio na coluna x 2,
mediante operaes elementares (constituindo-se precisamente em aplicao do mtodo de eliminao
de Gauss-Jordan). Para isso, divide-se a linha (2) por 3; depois, soma-se mltiplos desta linha s demais,
inclusive linha (0), de modo a zerar os respectivos coeficientes. Assim, linha (0) ser somado 3 vezes
a nova linha (2); linha (1) soma-se 2 vezes a nova linha (2); e linha (3) soma-se 1 vezes a nova
linha (2). O resultado est expresso no Quadro 3.
Agora tem incio a prxima iterao, inspecionando-se os coeficientes da linha (0). A presena de
um valor negativo, em problema de maximizao, sugere que a varivel x 1 deva entrar na base. Para
identificar a varivel a sair, h que determinar o quociente mnimo entre os valores da coluna b e os
valores positivos da coluna de x1, como mostrado direita do Quadro 3. Desse modo, entra a varivel x1
e sai a varivel x3 , sendo 7/3 o elemento pivot.
Base
Max
X3
X2
X5

Z
1
0
0
0

X1
4
7/3
2/3
5/3

X2
X3
X4
X5
Razo
b
0
0
1
0
5
0
1
2/3
0
14/3
(14/3)/(7/3)=2
1
0
1/3
0
5/3
0
0
1/3
1
13/3
(13/3)/(5/3)=13/5
Quadro 3: Mtodo Simplex, Entra x1 e Sai x3

Analogamente, a mudana de base consiste em criar um vetor unitrio na coluna x 1, mediante


operaes elementares. Para isso, divide-se a linha (1) por 7/3; depois, soma-se linha (0) 4 vezes a
nova linha (1); linha (2) soma-se 2/3 vezes a nova linha (1); e linha (3) soma-se 5/3 vezes a nova
linha (1). O resultado est expresso no Quadro 4, com as variveis bsicas x1 = 2, x2 = 3 e x5 = 1, sendo
Z = 13.
A prxima iterao comea com o exame dos coeficientes da linha (0) no Quadro 4. A presena
de um valor negativo, em problema de maximizao, sugere que a varivel x4 deva voltar base. Para
identificar a varivel a sair da base, h que determinar o quociente mnimo entre os valores da coluna b e
os valores positivos da coluna de x4. Desse modo, entra a varivel x4 e sai a varivel x5, sendo 1/7 o
elemento pivot.

Prof. Andr Gandolpho

PESQUISA OPERACIONAL
Base
X1
X2
X5

Z
1
0
0
0

X1
0
1
0
0

X2
X3
X4
X5
b
0
12/7
1/7
0
13
0
3/7
2/7
0
2
1
2/7
1/7
0
3
0
5/7
1
1
1/7
Quadro 4: Mtodo Simplex, Entra x4 e Sai x5

Razo
(3)/(1/7)=21
(1)/(1/7)=7

Novamente, a mudana de base consiste em criar um vetor unitrio na coluna x 4, mediante


operaes elementares. Para isso, divide-se a linha (3) por 1/7; depois, soma-se linha (0) 1/7 vezes a
nova linha (3); linha (2) soma-se 1/7 vezes a nova linha (3); e linha (1) soma-se 2/7 vezes a nova
linha (3). O resultado est expresso no Quadro 5, com as variveis bsicas x1 = 4, x2 = 2 e x4 = 7, sendo
Z = 14. O exame da linha (0) do Quadro 5 indica que todos os seus coeficientes so no positivos e,
portanto, a presente soluo tima.
Base
Max
X1
X2
X4

Prof. Andr Gandolpho

Z
1
0
0
0

X1
X2
X3
X4
X5
0
0
1
0
1
1
0
1
0
2
0
1
1
0
1
0
0
5
1
7
Quadro 5: Mtodo Simplex, Soluo tima.

b
14
4
2
7

10

PESQUISA OPERACIONAL
6) Seja o seguinte modelo de Programao Linear (Pizzolato & Gandolpho, 2005):
Z 2x 1 3x 2

M ax
Sujeito a

x 1 2x 2 2
x1 x 2 3
3x 1 5x 2 15
x1 , x 2 0

Como j explicado, as inequaes podem ser transformadas em equaes pela introduo de


variveis de folga, com peso nulo na funo objetivo:
Max

Z = 2x1 + 3x2 + 0x3 + 0x4 + 0x5

Sujeito a

x1 + 2x2 + x3
x1 + x2

= 2
+ x4

= 3

3x1 + 5x2

+ x5 = 15

xi 0, para i = 1,2,...,5

entra
X2
-3
2
1
5

X3
0
1
0
0

X4
0
0
1
0

X5
0
0
0
1

RHS
0
5
4
15

razo

sai X3
X4
X5

X1
-2
1
1
3

X2
0
1
0
0

X3
1,5
0,5
-0,5
-2,5

X4
0
0
1
0

X5
0
0
0
1

RHS
7,5
2,5
1,5
2,5

razo

X2
sai X4
X5

entra
X1
-0,5
0,5
0,5
0,5
X1
0
0
1
0

X2
0
1
0
0

X3
1
1
-1
-2

X4
1
-1
2
-1

X5
0
0
0
1

RHS
9
1
3
1

X2
X1
X5

2,5
4
3

5
3
5

Soluo Final tima:


VARIVEL
X1
X2
X3
X4
X5
FO

Prof. Andr Gandolpho

VALOR
3,0
1,0
1,0
3,0
1,0
9,0

11

PESQUISA OPERACIONAL

Referncias Bibliogrficas:
1) Notas de Aula de Fernando M. A. Nogueira Universidade Federal de Juiz de Fora UFJF;
2) Marco Cesar Goldbarg and Henrique Pacca L. Luna. Otimizao Combinatria e Programao
Linear: Modelos e Algoritmos. Editora Campus, 2a edio, Rio de Janeiro, 2005;
3) Maristela Oliveira dos Santos Universidade de So Paulo USP Notas de Aula maro de 2010;
4) Notas de Aula de Rosa Ferreira Canelas Editora Lisboa;
5) Pizzolato, Nlio Domingues; Gandolpho, Andr A.; Tcnicas de Otimizao, LTC, Rio de Janeiro,
2005;
6) Pires, Marlia; Notas de Aulas de Programao Matemtica Curso de Licenciatura em Matemtica;
Universidade do Algarve Portugal; 2005/2006;
7) Puccini, Abelardo de Lima; Pizzolato, Nlio Domingues, Programao Linear, LTC, 2 a Edio, Rio
de Janeiro.
8) Taha, Hamdy A.; Pesquisa Operacional; Editora Pearson; 8a Edio

Prof. Andr Gandolpho

12

Você também pode gostar