6. Método SIMPLEX:
1) Introduz o método simplex para resolver problemas de programação linear, incluindo colocar o problema na forma padrão e implementar o algoritmo simplex.
2) Discutem os tipos de soluções que podem surgir ao resolver um problema de programação linear usando o método simplex, como solução única ótima, múltiplas soluções ótimas e solução ilimitada.
3) Apresentam o método das duas fases para lidar com problemas que não tenham solução ou tenham solução ilimitada.
Projeto Planejamento - Luis Alberto - 20 out 2012 - VF
6 0 cap 006
1. Apostila de Exercícios da
Disciplina de Pesquisa
Operacional I
Luís Alberto Duncan Rangel
UFF – EEIMVR – Volta Redonda
Departamento de Engenharia de Produção
Capítulo 6
2. SUMÁRIO
6. Método SIMPLEX:
6.1 Introdução ao Método SIMPLEX
6.2 Forma Padrão de um PPL
6.3 Transformação de um PPL para a Forma Padrão
6.5 Algoritmo Simplex através dos quadros
6.6 Tipos de soluções de um PPL6.6 Tipos de soluções de um PPL
6.6.1 Uma única solução ótima
6.6.2 Múltiplas ou infinitas soluções ótimas
6.7 Método das Duas Fases
6.7.1 Uma única solução ótima
6.7.2 Múltiplas ou infinitas soluções ótimas
6.7.3 Solução ilimitada
6.7.4 Sem solução
6.7.5 PPL degenerado, Exercícios
3. 6.1 Introdução ao Método SIMPLEX
O algoritmo Simplex foi desenvolvido por Dantzig em 1947.
O objetivo do algoritmo é otimizar a função objetivo. Para fazer
isto é necessário colocar o PPL esteja em uma forma adequada
para implementar o algoritmo.
6. Método SIMPLEX
para implementar o algoritmo.
5. 6.1 Introdução ao Método SIMPLEX
Nesta forma, pode-se associar o seguinte significado a cada
elemento do modelo do PPL:
x (n.x.1) é o vetor coluna das variáveis de decisão do PPL
c (1.x.n) é o vetor linha dos coeficientes da função objetivo do PPL
6. Método SIMPLEX
c (1.x.n) é o vetor linha dos coeficientes da função objetivo do PPL
A (m.x.n) é a matriz dos coeficientes tecnológicos do PPL
B (m.x.1) é o vetor coluna dos coeficientes dos recursos
disponíveis ou necessários do PPL.
6. 6.2 Transformação de um PPL para a Forma Padrão
Nesta forma do modelo matemático as restrições do modelo são
descritas através de equações lineares. Não existem inequações
nesta forma de representação do modelo matemático.
Max (ou Min) Z = c1x1 + c2x2 + c3x3 + . . . + cnxn
Sujeito a: a11x1 + a12x2 + a13x3 + . . . + a1nxn = b1
6. Método SIMPLEX
Sujeito a: a11x1 + a12x2 + a13x3 + . . . + a1nxn = b1
a21x1 + a22x2 + a23x3 + . . . + a2nxn = b2
a31x1 + a32x2 + a33x3 + . . . + a3nxn = b3
. . .
amx1 + am2x2 + am3x3 + . . . + amnxn = bm
x1>=0; x2>=0; x3>=0; . . . ; xn>=0
7. 6.2 Transformação de um PPL para a Forma Padrão
Em notação matricial tem-se:
Max (ou Min) Z = C.X
6. Método SIMPLEX
Max (ou Min) Z = C.X
Sujeito a: A.X = B
X>=0
8. 6.2 Transformação de um PPL para a Forma Padrão
6.2.1 Desigualdade do tipo menor ou igual:
Se uma restrição for representada da seguinte forma:
X1 + 3X2 + 5X3 <= 9
6. Método SIMPLEX
X1 + 3X2 + 5X3 <= 9
Para transforma esta restrição, faz-se necessário a inserção de
uma variável de folga. Desta forma, tem-se:
X1 + 3X2 + 5X3 + XF4 = 9
9. 6.2 Transformação de um PPL para a Forma Padrão
6.2.1 Desigualdade do tipo menor ou igual:
Exemplo. Coloque o PPL abaixo na forma padrão:
MAX Z = 6X1 + 2X2 + 4X3
6. Método SIMPLEX
MAX Z = 6X1 + 2X2 + 4X3
S.A.
3X1 - 5X2 <= 31
8X1 + 9X3 <= 29
X1>=0; X2>=0; X3>=0
10. 6.2 Transformação de um PPL para a Forma Padrão
6.2.1 Desigualdade do tipo menor ou igual:
Na Forma Padrão
MAX Z = 6X1 + 2X2 + 4X3
6. Método SIMPLEX
MAX Z = 6X1 + 2X2 + 4X3
S.A
3X1 - 5X2 + XF4 = 31
8X1 + 9X3 + XF5 = 29
X1>=0; X2>=0; X3>=0, XF4>=0, XF5>=0
11. 6.2 Transformação de um PPL para a Forma Padrão
6.2.1 Desigualdade do tipo maior ou igual:
Se uma restrição for representada da seguinte forma:
7X3 + 4X5 >= 13
6. Método SIMPLEX
7X3 + 4X5 >= 13
Para transforma esta restrição, faz-se necessário a inserção de
uma variável de excesso (que é uma variável de folga com sinal
negativo). Desta forma, tem-se:
7X3 + 4X5 – XF6 = 13
12. 6.2 Transformação de um PPL para a Forma Padrão
6.2.2 Desigualdade do tipo maior ou igual:
Exemplo. Coloque o PPL abaixo na forma padrão:
6. Método SIMPLEX
MAX Z = X1 + 2X4 – 5X5
SUJEITO A
X1 - 3X3 >= 27
2X2 + 9X4 >= 16
X1>=0; X2>=0; X3>=0; X4>=0; X5>=0
13. 6.2 Transformação de um PPL para a Forma Padrão
6.2.2 Desigualdade do tipo maior ou igual:
Na Forma Padrão:
6. Método SIMPLEX
MAX Z = X1 + 2X4 – 5X5
SUJEITO A
X1 - 3X3 – XF6 = 27
2X2 + 9X4 – XF7 = 16
X1>=0; X2>=0; X3>=0; X4>=0; X5>=0
XF6>=0; XF7>=0
14. 6.2 Transformação de um PPL para a Forma Padrão
6.2.3 Variável sem restrição de sinal:
Se uma variável do modelo matemático puder assumir qualquer
valor, isto é, valores positivos, negativos ou nulos, é necessário a
sua substituição por duas outras variáveis que só possam assumir
valores positivos.
6. Método SIMPLEX
valores positivos.
X4 – pode assumir qualquer valor (X4 – qq).
15. 6.2 Transformação de um PPL para a Forma Padrão
6.2.3 Variável sem restrição de sinal:
Desta forma, esta variável será substituída pela expressão:
6. Método SIMPLEX
X4 = X41 – X42
sendo que X41 >=0; e X42 >= 0.
Assim:
Se X41 > X42 o valor a ser assumido por X4 é positivo.
Se X41 < X42 o valor a ser assumido por X4 é negativo.
Se X41 = X42 o valor a ser assumido por X4 é nulo.
16. 6.2 Transformação de um PPL para a Forma Padrão
6.2.4 Lado direito negativo:
Se uma restrição apresenta um valor negativo no lado direito, para
colocar esta restrição na forma padrão, tem-se que multiplicar toda
a restrição por (-1), alterando os sinais das constantes, invertendo
6. Método SIMPLEX
a restrição por (-1), alterando os sinais das constantes, invertendo
o sinal da inequação e alterando o valor do lado direito da
restrição por um valor positivo.
Por exemplo: 2x1 – 7x2 >= - 9
Multiplicando a restrição por (-1) tem-se:
- 2x1 + 7x2 <= 9
17. 6.2 Transformação de um PPL para a Forma Padrão
6.2.5 Equivalência entre Min e Max:
Se um PPL tiver por objetivo a minimização da FO, pode-se fazer a
transformação deste PPL de minimização em maximização, através
6. Método SIMPLEX
transformação deste PPL de minimização em maximização, através
da multiplicação da FO do PPL de minimização por (-1). Desta
forma, estar-se-á trabalhando com o simétrico da FO, e nada será
alterado em relação à otimização da FO.
Por exemplo: (FO) MIN Z = 3X1 – 2X2
Multiplicando a FO por (-1) ter-se-á: (FO) MAX - Z = - 3X1 + 2X2
18. 6.2 Transformação de um PPL para a Forma Padrão
6.2.6 Exercício – Coloque o PPL na Forma Padrão:
MAX Z = 4X1 + 3X2 + 5X4
S.A.
6. Método SIMPLEX
S.A.
2X2 + 4X3 + 3X4 <= 24
3X1 + 2X2 + 4X3 <= 48
4X1 - 4X2 + 5X4 <= 80
X1>=0; X2>=0; X3>=0; X4>=0
19. 6.2 Transformação de um PPL para a Forma Padrão
6.2.6 Exercício – Coloque o PPL na Forma Padrão:
Na Forma Padrão:
6. Método SIMPLEX
MAX Z = 4X1 + 3X2 + 5X4
S.A.
2X2 + 4X3 + 3X4 + XF5 = 24
3X1 + 2X2 + 4X3 + XF6 = 48
4X1 - 4X2 + 5X4 + XF7 = 80
X1>=0; X2>=0; X3>=0; X4>=0
XF5>=0; XF6=0; XF7>=0
20. 6.2 Transformação de um PPL para a Forma Padrão
6.2.6 Exercício – Coloque o PPL na Forma Padrão:
MIN Z = 2X1 - X2 + 3X3
S.A.
6. Método SIMPLEX
S.A.
X2 + 3X3 >= 12
2X1 - X2 >= 14
3X1 + 2X2 + X3 <= 80
X1>=0; X2>=0; X3>=0
21. 6.2 Transformação de um PPL para a Forma Padrão
6.2.6 Exercício – Coloque o PPL na Forma Padrão:
Na Forma Padrão:
6. Método SIMPLEX
MAX - Z = - 2X1 + X2 - 3X3
S.A.
X2 + 3X3 – XF4 = 12
2X1 - X2 – XF5 = 14
3X1 + 2X2 + X3 + XF6 = 80
X1>=0; X2>=0; X3>=0
XF4>=0; XF5=0; XF6>=0
23. 6.3 Algoritmo SIMPLEX:
Na Forma Padrão temos:
MAX Z = 5X1 + 2X2
6. Método SIMPLEX
MAX Z = 5X1 + 2X2
S.A.
X1 + XF3 = 3
X2 + XF4 = 4
X1 + 2X2 + XF5 =9
X1>=0; X2>=0;
XF3>=0; XF4>=0; XF5>=0
24. 6.3 Algoritmo SIMPLEX:
Preencher o quadro com os coeficientes do PPL na Forma
Padrão:
MAX Z = 5X1 + 2X2 => Z – 5X1 – 2X2 = 0
S.A. X1 + XF3 = 3
6. Método SIMPLEX
S.A. X1 + XF3 = 3
X2 + XF4 = 4
X1 + 2X2 + XF5 =9
X1>=0; X2>=0;XF3>=0; XF4>=0; XF5>=0
Q1
VB Z X1 X2 XF3 XF4 XF5 B
FO 1 -5 -2 0 0 0 0
XF3 0 1 0 1 0 0 3
XF4 0 0 1 0 1 0 4
XF5 0 1 2 0 0 1 9
25. 6.3 Algoritmo SIMPLEX:
6. Método SIMPLEX
Q1
VB Z X1 X2 XF3 XF4 XF5 B
FO 1 -5 -2 0 0 0 0
XF3 0 1 0 1 0 0 3
XF4 0 0 1 0 1 0 4
Observando o quadro, temos:
Posso otimizar o PPL? Sim, existem Variáveis de Decisão (V.D.)
com coeficiente negativo X1 = - 5 e X2 = - 2.
Qual a V.D. que vai se tornar Variável Básica (V.B.)? A variável
que dá a maior taxa de crescimento a Função Objetivo (F.O.),
que neste caso é a variável X1.
XF4 0 0 1 0 1 0 4
XF5 0 1 2 0 0 1 9
26. 6.3 Algoritmo SIMPLEX:
6. Método SIMPLEX
Q1
VB Z X1 X2 XF3 XF4 XF5 B
FO 1 -5 -2 0 0 0 0
XF3 0 1 0 1 0 0 3 3 / 1 = 3
XF4 0 0 1 0 1 0 4 4 / 0 = ?
Para que X1 se torne V.B., uma V.B. tem que sair da base (XF3,
XF4, XF5)?
Esta variável é determinada através da relação entre o valor de B e
dos coeficientes da coluna da variável que vai se tornar básica.
O menor valor positivo indica a variável que vai deixar de ser
básica. Neste caso é a variável XF3 que vai deixar de ser básica.
XF4 0 0 1 0 1 0 4 4 / 0 = ?
XF5 0 1 2 0 0 1 9 9 / 1 = 9
27. 6.3 Algoritmo SIMPLEX:
6. Método SIMPLEX
Q1
VB Z X1 X2 XF3 XF4 XF5 B
FO 1 -5 -2 0 0 0 0
XF3 0 1 0 1 0 0 3 3 / 1 = 3
XF4 0 0 1 0 1 0 4 4 / 0 = ?
Para que X1 se torne V.B., uma V.B. tem que sair da base (XF3,
XF4, XF5)?
Esta variável é determinada através da relação entre o valor de B e
dos coeficientes da coluna da variável que vai se tornar básica.
O menor valor positivo indica a variável que vai deixar de ser
básica. Neste caso é a variável XF3 que vai deixar de ser básica.
XF4 0 0 1 0 1 0 4 4 / 0 = ?
XF5 0 1 2 0 0 1 9 9 / 1 = 9