Você está na página 1de 33

DEPARTAMENTO DE ENGENHARIA DE PRODUÇÃO

O Método
SIMPLEX
Disciplina: PESQUISA OPERACIONAL PARA A ENGENHARIA DE
PRODUÇÃO I

Professor: Lucas Calache (lucascalache@gmail.com)

19 de setembro de 2019 São Carlos - SP


Introdução ao Simplex

 Com duas variáveis conseguimos encontrar as soluções ótimas pelo


método do gráfico. Mas e quando temos mais variáveis? O que fazer?

 A solução ótima de uma programação linear é sempre um valor associado a


um ponto de intersecção dentro do espaço de soluções possíveis

 O simplex é um Procedimento algébrico


iterativo que permite melhorar a solução
de um problema de programação linear a
cada passo.

caminha pelos vértices até encontrar


uma solução que não possua soluções
vizinhas melhores que ela.

O Método SIMPLEX 2
Introdução ao Simplex

 O método é formado por um grupo de critérios para a escolha de


soluções básicas que melhorem o desempenho do modelo, e também de
um teste de otimalidade.
 Mas antes de aplicar o método simplex, o modelo na forma canônica
precisa ser convertido para uma forma padrão:

FORMA CANÔNICA FORMA PADRÃO


MAX Z = 3𝑋1 + 5𝑋2

?
Sujeito a:
2𝑋1 + 4𝑋2 ≤ 10
6𝑋1 + 𝑋2 ≤ 20
𝑋1 − 𝑋2 ≤ 30
𝑋1 , 𝑋2 ≥ 0

O Método SIMPLEX 3
Passo 1: Converter as
restrições funcionais de
desigualdade (forma canônica)
em restrições equivalentes de
igualdade (forma padrão)

4
Estabelecimento do método Simplex

 Introdução de variáveis de folga!

 Cada restrição de desigualdade apresenta uma variável de folga;

 Para restrições de desigualdade “≤”: A conversão é feita


adicionando à equação uma variável 𝑓𝑗 ≥ 0.
FORMA CANÔNICA FORMA PADRÃO
MAX Z = 3𝑋1 + 5𝑋2 𝑀𝑎𝑥 𝑧 = 3𝑋1 + 5𝑋2
Sujeito a:
Sujeito a: 2𝑋1 + 4𝑋2 + 𝑋𝐹1 = 10
2𝑋1 + 4𝑋2 ≤ 10 6𝑋1 + 𝑋2 + 𝑋𝐹2 = 20
6𝑋1 + 𝑋2 ≤ 20 𝑋1 − 𝑋2 + 𝑋𝐹3 = 30
𝑋1 − 𝑋2 ≤ 30 𝑋1 , 𝑋2 , 𝑋𝐹1 , 𝑋𝐹2 , 𝑋𝐹3 ≥ 0
𝑋1 , 𝑋2 ≥ 0
O Método SIMPLEX 5
Estabelecimento do método Simplex

 Existem duas variáveis mais que equações

 Dois graus de liberdade

 Quaisquer duas variáveis podem ser escolhidas para serem


consideradas iguais a qualquer valor arbitrário.

 O método simplex usa zero para este valor arbitrário;

 As variáveis consideradas zero são chamadas de não-básicas

 As demais são chamadas de variáveis básicas.

 Solução resultante = solução básica.


O Método SIMPLEX 6
Estabelecimento do método Simplex

𝑀𝑎𝑥 𝑧 = 3𝑋1 + 5𝑋2 Podemos observar uma solução


Sujeito a: formada pelas variáveis de folga
𝟐𝑿𝟏 + 𝟒𝑿𝟐 + 𝑿𝑭𝟏 = 𝟏𝟎
𝟔𝑿𝟏 + 𝑿𝟐 + 𝑿𝑭𝟐 = 𝟐𝟎 Basta fazer 𝑋1 = 0 e 𝑋2 = 0 e
𝑿𝟏 − 𝑿𝟐 + 𝑿𝑭𝟑 = 𝟑𝟎 teremos 𝑋𝐹1 = 10, 𝑋𝐹2 = 20,
𝑿𝟏 , 𝑿𝟐 , 𝑿𝑭𝟏 , 𝑿𝑭𝟐 , 𝑿𝑭𝟑 ≥ 𝟎 𝑋𝐹3 = 30

1 0 0 10
0 𝑋𝐹1 + 1 𝑋𝐹2 + 0 𝑋𝐹3 = 20
0 0 1 30

Solução básica inicial formada pelas variáveis de folga

O Método SIMPLEX 7
Passo 2: Igualar a função
objetivo a zero

8
Descrição do método para maximização

𝑀𝑎𝑥 𝑧 = 3𝑋1 + 5𝑋2

𝑍 − 3𝑋1 − 5𝑋2 = 0

 Coeficientes negativos a esquerda indicam que o valor de Z


pode ser aumentado com a entrada da variável na base, e na
proporção de seu coeficiente.

 A solução testada só será ótima quando as variáveis são


básicas não apresentarem coeficientes negativos

O Método SIMPLEX 9
Estabelecimento do método simplex

RESUMO DO MÉTODO:

Inicialização: identificar uma solução básica


viável;

Iteração: Mover-se para a melhor solução


básica adjacente;

Parada: Parar quando não houver nenhuma


solução básica viável adjacente melhor.
O Método SIMPLEX 10
Passo 3: Montar a tabela
Simplex

11
Descrição do método para maximização

𝑧 − 3𝑋1 − 5𝑋2 = 0
Sujeito a:
𝟐𝑿𝟏 + 𝟒𝑿𝟐 + 𝑿𝑭𝟏 = 𝟏𝟎
𝟔𝑿𝟏 + 𝑿𝟐 + 𝑿𝑭𝟐 = 𝟐𝟎
𝑿𝟏 − 𝑿𝟐 + 𝑿𝑭𝟑 = 𝟑𝟎
𝑿𝟏 , 𝑿𝟐 , 𝑿𝑭𝟏 , 𝑿𝑭𝟐 , 𝑿𝑭𝟑 ≥ 𝟎
Variáveis Variáveis de decisão Valores
na X1 X2 XF1 XF2 XF3 da
Solução solução
Z -3 -5 0 0 0 0
f1 2 4 1 0 0 10
f2 6 1 0 1 0 20
f3 1 -1 0 0 1 30

O Método SIMPLEX 12
Passo 4: escolher a
coluna pivô

13
Descrição do método para maximização

Aquela em que o valor de Z é mais negativo


(problemas de maximização);

Variáveis Variáveis de decisão Valores


na X1 X2 XF1 XF2 XF3 da
Solução solução
Z -3 -5 0 0 0 0
f1 2 4 1 0 0 10
f2 6 1 0 1 0 20
f3 1 -1 0 0 1 30

O Método SIMPLEX 14
Passo 5: escolher a Linha
pivô

15
Descrição do método para maximização

Menor resultado positivo da divisão sem considerar Z:


valor da solução/elemento da coluna pivô

Variáveis Variáveis de decisão Valores


na X1 X2 XF1 XF2 XF3 da
Solução solução
Z -3 -5 0 0 0 0
f1 2 4 1 0 0 10
f2 6 1 0 1 0 20
f3 1 -1 0 0 1 30

10/4 ; 20/1 ; 30/1


O Método SIMPLEX 16
Passo 6: Dividir a linha
pivô pelo número pivô

17
Descrição do método para maximização

A variável da coluna pivô entra na linha pivô:


Neste exemplo, 𝑥2 entra no lugar de 𝑓1;
Variáveis Variáveis de decisão Valores
na X1 X2 XF1 XF2 XF3 da
Solução solução
Z -3 -5 0 0 0 0
f1 2 4 1 0 0 10
f2 6 1 0 1 0 20
f3 1 -1 0 0 1 30

X2 0,5 1 0,25 0 0 2,5

O Método SIMPLEX 18
PASSO 7: Encontrar os
valores para as demais
linhas

19
Descrição do método para maximização

 𝑁𝑜𝑣𝑎 𝑙𝑖𝑛ℎ𝑎 = 𝑉𝑎𝑙𝑜𝑟 𝑑𝑎 𝑙𝑖𝑛ℎ𝑎 𝑎𝑛𝑡𝑖𝑔𝑎 −(𝑉𝑎𝑙𝑜𝑟 𝑛𝑎 𝑐𝑜𝑙𝑢𝑛𝑎


𝑝𝑖𝑣ô 𝑥 𝑉𝑎𝑙𝑜𝑟 𝑛𝑎 𝑙𝑖𝑛ℎ𝑎 𝑝𝑖𝑣ô)
Variáveis Variáveis de decisão Valores
na X1 X2 XF1 XF2 XF3 da
Solução solução
Z -3 -5 0 0 0 0
X2 0,5 1 0,25 0 0 2,5
f2 6 1 0 1 0 20
f3 1 -1 0 0 1 30
Linha do Z:
1) 𝑉𝑎𝑙𝑜𝑟 𝑑𝑎 𝑙𝑖𝑛ℎ𝑎 1,𝑐𝑜𝑙𝑢𝑛𝑎 X1 = −3 –[−5.0,5]= -0,5
2) 𝑉𝑎𝑙𝑜𝑟 𝑑𝑎 𝑙𝑖𝑛ℎ𝑎 1,𝑐𝑜𝑙𝑢𝑛𝑎 X2 = −5 –[−5.1]= 0
3) 𝑉𝑎𝑙𝑜𝑟 𝑑𝑎 𝑙𝑖𝑛ℎ𝑎 1,𝑐𝑜𝑙𝑢𝑛𝑎 F1 =0 –[−5.0,25]= 1,25
4) 𝑉𝑎𝑙𝑜𝑟 𝑑𝑎 𝑙𝑖𝑛ℎ𝑎 1,𝑐𝑜𝑙𝑢𝑛𝑎 F2 =0 –[−5.0]= 0
5) 𝑉𝑎𝑙𝑜𝑟 𝑑𝑎 𝑙𝑖𝑛ℎ𝑎 1,𝑐𝑜𝑙𝑢𝑛𝑎 F3 =0 –[−5.0]= 0
6) 𝑉𝑎𝑙𝑜𝑟 𝑑𝑎 𝑙𝑖𝑛ℎ𝑎 1,𝑐𝑜𝑙𝑢𝑛𝑎 SOLUÇÃO =0 –[−5. 2,5]= 12,5
O Método SIMPLEX 20
Descrição do método para maximização

 𝑁𝑜𝑣𝑎 𝑙𝑖𝑛ℎ𝑎 = 𝑉𝑎𝑙𝑜𝑟 𝑑𝑎 𝑙𝑖𝑛ℎ𝑎 𝑎𝑛𝑡𝑖𝑔𝑎 −(𝑉𝑎𝑙𝑜𝑟 𝑛𝑎 𝑐𝑜𝑙𝑢𝑛𝑎


𝑝𝑖𝑣ô 𝑥 𝑉𝑎𝑙𝑜𝑟 𝑛𝑎 𝑙𝑖𝑛ℎ𝑎 𝑝𝑖𝑣ô)
Variáveis Variáveis de decisão Valores
na X1 X2 XF1 XF2 XF3 da
Solução solução
Z -3 -5 0 0 0 0
X2 0,5 1 0,25 0 0 2,5
f2 6 1 0 1 0 20
f3 1 -1 0 0 1 30
Linha do f2:
1) 𝑉𝑎𝑙𝑜𝑟 𝑑𝑎 𝑙𝑖𝑛ℎ𝑎 1,𝑐𝑜𝑙𝑢𝑛𝑎 X1 = 6 –[1.0,5]= 5,5
2) 𝑉𝑎𝑙𝑜𝑟 𝑑𝑎 𝑙𝑖𝑛ℎ𝑎 1,𝑐𝑜𝑙𝑢𝑛𝑎 X2 = 1 –[1.1]= 0
3) 𝑉𝑎𝑙𝑜𝑟 𝑑𝑎 𝑙𝑖𝑛ℎ𝑎 1,𝑐𝑜𝑙𝑢𝑛𝑎 F1 =0 –[1.0,25]= -0,25
4) 𝑉𝑎𝑙𝑜𝑟 𝑑𝑎 𝑙𝑖𝑛ℎ𝑎 1,𝑐𝑜𝑙𝑢𝑛𝑎 F2 =1 –[1.0]= 1
5) 𝑉𝑎𝑙𝑜𝑟 𝑑𝑎 𝑙𝑖𝑛ℎ𝑎 1,𝑐𝑜𝑙𝑢𝑛𝑎 F3 =0 –[1.0]= 0
6) 𝑉𝑎𝑙𝑜𝑟 𝑑𝑎 𝑙𝑖𝑛ℎ𝑎 1,𝑐𝑜𝑙𝑢𝑛𝑎 SOLUÇÃO =20 –[1. 2,5]= 17,5

O Método SIMPLEX 21
Descrição do método para maximização

 𝑁𝑜𝑣𝑎 𝑙𝑖𝑛ℎ𝑎 = 𝑉𝑎𝑙𝑜𝑟 𝑑𝑎 𝑙𝑖𝑛ℎ𝑎 𝑎𝑛𝑡𝑖𝑔𝑎 −(𝑉𝑎𝑙𝑜𝑟 𝑛𝑎 𝑐𝑜𝑙𝑢𝑛𝑎


𝑝𝑖𝑣ô 𝑥 𝑉𝑎𝑙𝑜𝑟 𝑛𝑎 𝑙𝑖𝑛ℎ𝑎 𝑝𝑖𝑣ô)
Variáveis Variáveis de decisão Valores
na X1 X2 XF1 XF2 XF3 da
Solução solução
Z -3 -5 0 0 0 0
X2 0,5 1 0,25 0 0 2,5
f2 6 1 0 1 0 20
f3 1 -1 0 0 1 30
Linha do f3:
1) 𝑉𝑎𝑙𝑜𝑟 𝑑𝑎 𝑙𝑖𝑛ℎ𝑎 1,𝑐𝑜𝑙𝑢𝑛𝑎 X1 = 1 –[−1.0,5]= 1,5
2) 𝑉𝑎𝑙𝑜𝑟 𝑑𝑎 𝑙𝑖𝑛ℎ𝑎 1,𝑐𝑜𝑙𝑢𝑛𝑎 X2 = −1 –[−1.1]= 0
3) 𝑉𝑎𝑙𝑜𝑟 𝑑𝑎 𝑙𝑖𝑛ℎ𝑎 1,𝑐𝑜𝑙𝑢𝑛𝑎 F1 =0 –[−1.0,25]= 0,25
4) 𝑉𝑎𝑙𝑜𝑟 𝑑𝑎 𝑙𝑖𝑛ℎ𝑎 1,𝑐𝑜𝑙𝑢𝑛𝑎 F2 =0 –[−1.0]= 0
5) 𝑉𝑎𝑙𝑜𝑟 𝑑𝑎 𝑙𝑖𝑛ℎ𝑎 1,𝑐𝑜𝑙𝑢𝑛𝑎 F3 =1 –[−1.0]= 1
6) 𝑉𝑎𝑙𝑜𝑟 𝑑𝑎 𝑙𝑖𝑛ℎ𝑎 1,𝑐𝑜𝑙𝑢𝑛𝑎 SOLUÇÃO = 30 –[−1. 2,5]= 32,5

O Método SIMPLEX 22
Resultado da tabela após 1ª iteração

Variáveis Variáveis de decisão Valores


na X1 X2 XF1 XF2 XF3 da
Solução solução
Z -3 -5 0 0 0 0
X2 0,5 1 0,25 0 0 2,5
f2 6 1 0 1 0 20
f3 1 -1 0 0 1 30

Variáveis Variáveis de decisão Valores


na X1 X2 XF1 XF2 XF3 da
Solução solução
Z -0,5 0 1,25 0 0 12,5
X2 0,5 1 0,25 0 0 2,5
f2 5,5 0 -0,25 1 0 17,5
f3 1,5 0 0,25 0 1 32,5
O Método SIMPLEX 23
Descrição do método para maximização

Variáveis Variáveis de decisão Valores


na X1 X2 XF1 XF2 XF3 da
Solução solução
Z -0,5 0 1,25 0 0 12,5
X2 0,5 1 0,25 0 0 2,5
f2 5,5 0 -0,25 1 0 17,5
f3 1,5 0 0,25 0 1 32,5

Variáveis não Variáveis Básicas:


básicas X2 = 2,5 Valor de Z:
X1 = 0 XF2 = 17,5 12,5
XF1 = 0 XF3 = 32,5

O Método SIMPLEX 24
Descrição do método para maximização

Quando parar as iterações?


Maximização: Enquanto houver valores negativos na linha Z,
não chegamos na solução ótima:
Deve-se repetir os passos 4, 5, 6 e 7

Variáveis Variáveis de decisão Valores


na X1 X2 XF1 XF2 XF3 da
Solução solução
Z -0,5 0 1,25 0 0 12,5
X2 0,5 1 0,25 0 0 2,5
f2 5,5 0 -0,25 1 0 17,5
f3 1,5 0 0,25 0 1 32,5

O Método SIMPLEX 25
Descrição do método para maximização

Passo 4: escolher a coluna Pivô


Passo 5: escolher a Linha Pivô

Variáveis Variáveis de decisão Valores


na X1 X2 XF1 XF2 XF3 da
Solução solução
Z -0,5 0 1,25 0 0 12,5
X2 0,5 1 0,25 0 0 2,5
f2 5,5 0 -0,25 1 0 17,5
f3 1,5 0 0,25 0 1 32,5

2,5/0,5 = 5; 17,5/5= 3,5; 32,5/1,5 = 21,6

O Método SIMPLEX 26
Descrição do método para maximização

Passo 6: Dividir a linha pivô pelo número pivô

Variáveis Variáveis de decisão Valores


na X1 X2 XF1 XF2 XF3 da
Solução solução
Z -0,5 0 1,25 0 0 12,5
X2 0,5 1 0,25 0 0 2,5
f2 5,5 0 -0,25 1 0 17,5
f3 1,5 0 0,25 0 1 32,5

X1 1 0 -0,045 0,18 0 3,18

O Método SIMPLEX 27
Descrição do método para maximização

Passo 7: Encontrar os novos valores para as demais linhas

Variáveis Variáveis de decisão Valores


na X1 X2 XF1 XF2 XF3 da
Solução solução
Z -0,5 0 1,25 0 0 12,5
X2 0,5 1 0,25 0 0 2,5
X1 1 0 -0,045 0,18 0 3,18
f3 1,5 0 0,25 0 1 32,5

 𝑁𝑜𝑣𝑎 𝑙𝑖𝑛ℎ𝑎 = 𝑉𝑎𝑙𝑜𝑟 𝑑𝑎 𝑙𝑖𝑛ℎ𝑎 𝑎𝑛𝑡𝑖𝑔𝑎 −(𝑉𝑎𝑙𝑜𝑟 𝑛𝑎 𝑐𝑜𝑙𝑢𝑛𝑎


𝑝𝑖𝑣ô 𝑥 𝑉𝑎𝑙𝑜𝑟 𝑛𝑎 𝑙𝑖𝑛ℎ𝑎 𝑝𝑖𝑣ô)

O Método SIMPLEX 28
Descrição do método para maximização

Variáveis Variáveis de decisão Valores


na X1 X2 XF1 XF2 XF3 da
Solução solução
Z -0,5 0 1,25 0 0 12,5
X2 0,5 1 0,25 0 0 2,5
X1 1 0 -0,045 0,18 0 3,18
f3 1,5 0 0,25 0 1 32,5

Variáveis Variáveis de decisão Valores


na X1 X2 XF1 XF2 XF3 da
Solução solução
Z 0 0 1,227 0,09 0 14,09
X2 0 1 0,272 -0,09 0 0,91
X1 1 0 -0,045 0,18 0 3,18
f3 0 0 0,317 -0,27 1 27,73
O Método SIMPLEX 29
Descrição do método para maximização

Variáveis Variáveis de decisão Valores


na X1 X2 XF1 XF2 XF3 da
Solução solução
Z 0 0 1,227 0,09 0 14,09
X2 0 1 0,272 -0,09 0 0,91
X1 1 0 -0,045 0,18 0 3,18
f3 0 0 0,317 -0,27 1 27,73

Existem valores negativos na linha de Z?


Solução ótima alcançada!
Variáveis não Variáveis Básicas: Valor de Z:
básicas X1 = 3,18 14,09
XF1 = 0 X2 = 0,91
XF2 = 0 XF3 = 27,73 Conferir no Excel!
O Método SIMPLEX 30
PARA ENTREGAR: Calcular a
solução ótima aplicando o método
simplex.

MAX Z = 2𝑋1 + 3𝑋2 + 𝑋3


Sujeito a:
𝑋1 + 𝑋2 + 𝑋3 ≤ 40
2𝑋1 + 𝑋2 − 𝑋3 ≤ 20
3𝑋1 + 2𝑋2 − 𝑋3 ≤ 30
𝑋1 , 𝑋2 , 𝑋3 ≥ 0
31
Problema da Minimização

 Se a função objetivo for de minimização, devemos multiplica-la


por -1, obtendo uma função equivalente para maximização.

𝑀𝑖𝑛𝑖𝑚𝑖𝑧𝑎𝑟 𝑧 = 3𝑋1 − 4𝑋2 + 𝑋3


Sujeito a:
𝑋1 + 𝑋2 + 𝑋3 ≤ 10 𝑀𝑎𝑥𝑖𝑚𝑖𝑧𝑎𝑟 −𝑧 = −3𝑋 + 4𝑋 − 𝑋
1 2 3
2𝑋1 + 𝑋2 − 𝑋3 ≤ 20 Sujeito a:
𝑋1 , 𝑋2 , 𝑋3 ≥ 0 𝑋1 + 𝑋2 + 𝑋3 ≤ 10
2𝑋1 + 𝑋2 − 𝑋3 ≤ 20
𝑋1 , 𝑋2 , 𝑋3 ≥ 0

Resolvido o modelo equivalente, teremos a solução do modelo


original com a troca do sinal de Z

O Método SIMPLEX 32
O problema da variável livre

Se alguma variável do modelo não possuir a condição de não


negatividade, podemos substituí-la pela diferença de duas outras
variáveis não negativas, pois um número qualquer sempre pode ser
escrito como a diferença de dois números positivos.

𝑀𝑎𝑥 𝑧 = 𝑋1 − 2𝑋2 + 𝑋3 𝑋2 = 𝑋4 − 𝑋5
Sujeito a:
𝑋1 + 𝑋2 + 𝑋3 ≤ 10
2𝑋1 + 3𝑋3 ≤ 20
𝑋1 ≥ 0, 𝑋2 ⇒ 𝐿𝑖𝑣𝑟𝑒 𝑀𝑎𝑥 𝑧 = 𝑋1 − 2𝑋4 − 2𝑋5 + 𝑋3
Sujeito a:
𝑋1 + 𝑋4 − 𝑋5 + 𝑋3 ≤ 10
2𝑋1 + 3𝑋3 ≤ 20
𝑋1 ≥ 0, 𝑋2 ⇒ 𝐿𝑖𝑣𝑟𝑒

O Método SIMPLEX 33