Método Simplex - sistemas.riopomba.ifsudestemg.edu.br · Método Simplex A ideia do método...
Transcript of Método Simplex - sistemas.riopomba.ifsudestemg.edu.br · Método Simplex A ideia do método...
Método Simplex● A ideia do método simplex consiste em
caminhar pela fronteira do poliedro de um PPL, através de pontos extremos adjacentes com valores da função objetivo sempre melhores do que os valores anteriores.
● Max ou Min
● Considere o problema de PL
Max Z= 3x1 + 5x
2
s. a: 2x1 + 4x
2 <= 10
6x1 + x
2 <= 20
x1 – x
2 <= 30
x1, x
2 >= 0
Simplex para Maximização
● O problema na forma padrão
Max Z= 3x1 + 5x
2
s. a: 2x1 + 4x
2 + x
3 = 10
6x1 + x
2 +x
4 = 20
x1 – x
2 +x
5 = 30
x1, x
2 >= 0
● Pode-se visualizar uma solução formada pelas variáveis de folga.
● Se fizermos x1 e x
2 iguais a 0, teremos x
3= 10,
x4 = 20 e x
5 = 30
1 0 0 10 0 x
3 + 1 x
4 + 0 x
5 = 20
0 0 1 30
Max Z= 3x1 + 5x
2
Examinando a FO e a solução inicial x1 =0, x
2 =0 e z=0,
temos:Se x
1 entra na base, Z= 3. Se x
2 entra na base, Z=5.
Se o coeficiente de x1 ou x
2 fosse negativo, a entrada da
variável diminuiria o valor de z, de acordo com o seu coeficiente.
Enquanto a FO apresentar variáveis não básicas com coeficientes positivos, ela pode ser aumentada.
VB Z x1 x2 x3 x4 x5 const
1 -3 -5 0 0 0 0
x3 0 2 4 1 0 0 10
x4 0 6 1 0 1 0 20
x5 0 1 -1 0 0 1 30
SBF inicial = 0, com {0,0,10,20,30}
VB Z x1 x2 x3 x4 x5 const
1 -3 -5 0 0 0 0
x3 0 2 4 1 0 0 10/4 = 2,5
x4 0 6 1 0 1 0 20/1 = 20
x5 0 1 -1 0 0 1 30
Entra na base - a variável com maior coeficiente negativoSai da base – a variável que primeiro se anula com a entrada da variável escolhida
L2 = L2/4Cada uma das outras linhas:1) multiplicar os elementos da nova linha pivô pelo coeficiente da variável que entra da outra linha, com sinal trocado2) Somar termo a termo com os elementos da outra linhaL1=L1 + (5)L2
VB Z x1 x2 x3 x4 x5 const1 -3 -5 0 0 0 0
x2 0 0,5 1 0,25 0 0 2,5x4 0 6 1 0 1 0 20x5 0 1 -1 0 0 1 30
L1 1 -3 -5 0 0 0 0L2 0 2,5 5 1,25 0 0 12,5Nova linha
1 -0,5 0 1,25 0 0 12,5
VB Z x1 x2 x3 x4 x5 const
1 -0,5 0 1,25 0 0 12,5
x2 0 0,5 1 0,25 0 0 2,5
x4 0 6 1 0 1 0 20
x5 0 1 -1 0 0 1 30
L3=L3 + (-1)L2
VB Z x1 x2 x3 x4 x5 const1 -0,5 0 1,25 0 0 12,5
x2 0 0,5 1 0,25 0 0 2,5x4 0 6 1 0 1 0 20x5 0 1 -1 0 0 1 30
L3 0 6 1 0 1 0 20L2 0 -0,5 -1 -0,25 0 0 -2,5Nova linha
0 5,5 0 -0,25 1 0 17,5
VB Z x1 x2 x3 x4 x5 const
1 -0,5 0 1,25 0 0 12,5
x2 0 0,5 1 0,25 0 0 2,5
x4 0 6 1 0 1 0 20
x5 0 1 -1 0 0 1 30
L4=L4 + (1)L2
VB Z x1 x2 x3 x4 x5 const1 -0,5 0 1,25 0 0 12,5
x2 0 0,5 1 0,25 0 0 2,5x4 0 5,5 0 -0,25 1 0 17,5x5 0 1 -1 0 0 1 30
L4 0 1 -1 0 0 1 30L2 0 0,5 1 0,25 0 0 2,5Nova linha
0 1,5 0 0,25 0 1 32,5
VB Z x1 x2 x3 x4 x5 const
1 -0,5 0 1,25 0 0 12,5
x2 0 0,5 1 0,25 0 0 2,5
x4 0 5,5 0 -0,25 1 0 17,5
x5 0 1,5 0 0,25 0 1 32,5
VB Z x1 x2 x3 x4 x5 const
1 -0,5 0 1,25 0 0 12,5
x2 0 0,5 1 0,25 0 0 2,5
x4 0 5,5 0 -0,25 1 0 17,5
x5 0 1,5 0 0,25 0 1 32,5
SBF Z = 12,5, com {0, 2,5, 0, 17,5, 32,5}x1 ainda é negativo, ainda não é a melhor solução
VB Z x1 x2 x3 x4 x5 const
1 -0,5 0 1,25 0 0 12,5
x2 0 0,5 1 0,25 0 0 2,5 2,5/0,5 = 5
x4 0 5,5 0 -0,25 1 0 17,5 17,5/5,5=3,18
x5 0 1,5 0 0,25 0 1 32,5 32,5/1,5= 21,67
Entra na base x1 – menor coeficiente negativo
Sai da base x4, a primeira que se anula com a entrada de x
1
VB Z x1 x2 x3 x4 x5 const
1 -0,5 0 1,25 0 0 12,5
x2 0 0,5 1 0,25 0 0 2,5
x4 0 5,5 0 -0,25 1 0 17,5
x5 0 1,5 0 0,25 0 1 32,5
L3 = L3/5,5
VB Z x1 x2 x3 x4 x5 const
1 -0,5 0 1,25 0 0 12,5
x2 0 0,5 1 0,25 0 0 2,5
x1 0 1 0 -0,045 0,18 0 3,18
x5 0 1,5 0 0,25 0 1 32,5
L1 = L1 + (0,5L3)
VB Z x1 x2 x3 x4 x5 const
1 -0,5 0 1,25 0 0 12,5
x2 0 0,5 1 0,25 0 0 2,5
x1 0 1 0 -0,045 0,18 0 3,18
x5 0 1,5 0 0,25 0 1 32,5
L1 1 -0,5 0 1,25 0 0 12,5L3 0 0,5 0 -0,022 0,09 0 1,59Nova linha
1 0 0 1,227 0,09 0 14,09
VB Z x1 x2 x3 x4 x5 const
1 0 0 1,227 0,09 0 14,09
x2 0 0,5 1 0,25 0 0 2,5
x1 0 1 0 -0,045 0,18 0 3,18
x5 0 1,5 0 0,25 0 1 32,5
L2 = L2 + (-0,5L3)
VB Z x1 x2 x3 x4 x5 const
1 0 0 1,227 0,09 0 14,09
x2 0 0,5 1 0,25 0 0 2,5
x1 0 1 0 -0,045 0,18 0 3,18
x5 0 1,5 0 0,25 0 1 32,5
L2 0 0,5 1 0,25 0 0 2,5L3 0 -0,5 0 0,022 -0,09 0 -1,59Nova linha
0 0 1 0,272 -0,09 0 0,91
VB Z x1 x2 x3 x4 x5 const
1 0 0 1,227 0,09 0 14,09
x2 0 0 1 0,272 -0,09 0 0,91
x1 0 1 0 -0,045 0,18 0 3,18
x5 0 1,5 0 0,25 0 1 32,5
L4 = L4+ (-1,5)L3
VB Z x1 x2 x3 x4 x5 const
1 0 0 1,227 0,09 0 14,09
x2 0 0 1 0,272 -0,09 0 0,91
x1 0 1 0 -0,045 0,18 0 3,18
x5 0 1,5 0 0,25 0 1 32,5
L232,5 0 1,5 0 0,25 0 1 2,5L3 0 -1,5 0 0,067 -0,27 0 -4,77Nova linha
0 0 0 0,317 -0,27 1 27,73
VB Z x1 x2 x3 x4 x5 const
1 0 0 1,227 0,09 0 14,09
x2 0 0 1 0,272 -0,09 0 0,91
x1 0 1 0 -0,045 0,18 0 3,18
x5 0 0 0 0,317 -0,27 1 27,73
SBF = 14,09, com {3,18; 0,91; 0; 0; 27,73}
Esta é a solução ótimaOs valores dos coeficientes de x
3 e x
4 são positivos. Qualquer uma delas que entrar na
base diminuirá o valor de Z, contrariando o objetivo
VB Z x1 x2 x3 x4 x5 const
1 0 0 1,227 0,09 0 14,09
x2 0 0 1 0,272 -0,09 0 0,91
x1 0 1 0 -0,045 0,18 0 3,18
x5 0 0 0 0,317 -0,27 1 27,73
Simplex para Minimização● Considere o problema
de PL Min Z= 4x
1 – 2x
2
s. a: 2x1 + x
2 <= 10
x1 – x
2 <= 8
x1,x
2 >= 0
Max (-Z)= -4x1 + 2x
2
s. a: 2x1 + x
2 <= 10
x1 – x
2 <= 8
x1,x
2 >= 0
Max (-Z)= -4x1 + 2x
2
s. a: 2x1 + x
2 + x
3 = 10
x1 - x
2 +x
4 = 8
x1,x
2 >= 0
● O problema na forma padrão
Min Z= 4x1 – 2x
2
s. a: 2x1 + x
2 + x
3 = 10
x1 - x
2 +x
4 = 8
x1,x
2 >= 0
Exemplo
VB Z x1 x2 x3 x4 const
-1 4 -2 0 0 0
x3 0 2 1 1 0 10
x4 0 1 -1 0 1 8
VB Z x1 x2 x3 x4 const
1 -4 2 0 0 0
x3 0 2 1 1 0 10
x4 0 1 -1 0 1 8
Modo 1) Max (-Z)= -4x1 + 2x
2
Entra na base a variável com coeficiente mais negativo
Modo 2) Min Z= 4x1 – 2x
2
Entra na base a variável de maior ceficiente positivo
Restrições do tipo = e >=
● O problema na forma padrão
Min Z= 10x1 + 6x
2
s. a: 4x1 + 2x
2 >= 24
x1 < = 8
x1 + 2x
2 = 12
x1,x
2 >= 0
●
●
Min Z= 10x1 + 6x
2
s. a: 4x1 + 2x
2 - x
3 = 24
x1 + x
4 = 8
x1 + 2x
2 = 12
x1,x
2 >= 0
Inserir variável artificial
Método das Penalidades (Big M)● Dado um PPL na forma padrão, ara cada uma
das equações que não tem uma variávl de folga, deve-se adicionar uma variável artificial a
i
do lado esquerdo da equação.● Como estas variáveis não fazem parte do PPL
original, o método atribui uma penalização M (M--> inf) às variáveis artificiais, subtraindo o produto Ma
i da FO (max) ou adicionando (min)
x2 > x3
Zx
1
x4
x2
SBF Z= 64, com {4,4,0, 4,0,0}
As variáveis artificiais assumem valor nulo na solução ótima
Método das duas fases● Também utiliza variáveis artificiais● Inserir, na forma padrão, uma variável artificial
em cada uma das restrições que não possui variável de folga.
● Fase 1 – encontrar SBF inicial para o problema original. Criase uma FO de min, representando a soma de todas as variáveis artificiais.
● A solução ótima encontrada via simplex para o problema adaptado é usada como SBFinicial da fase 2.
● Fase 2 – encontrar uma solução ótima para o problema original. Elimina-se as variáveis artificiais.
Casos especiais – Múltiplas Soluções
max Z= 8x1 + 4x
2
s. a: 4x1 + 2x
2 <= 16
x1 + x
2 <= 6
x1,x
2 >= 0
● O problema na forma padrão
Max Z= 8x1 + 4x
2
s. a: 4x1 + 2x
2 + x
3 = 16
x1 + x
2 +x
4 = 6
x1,x
2 ,x
3,x
4 >= 0
A FO é 2x a restrição 1 - A reta da FO e a reta da primeira restrição são paralelas. Como Essa restrição é ativa, tem-se um problema com infinitas soluções ótimasCombinação Linear
Solução Ilimitada● Ocorre quando a variável que entra na base
não possui em sua coluna nenhum coeficiente positivo.
Não existe solução ótima● Pode-se identificar, pelos métodos Big M e
duas fases.● Um caso com solução infactível, terá na
solução final do Big M ou na fase 1 do duas fases, pelo menos uma variável artificial com coeficiente positivo.
Solução Degenerada● Uma solução é degenerada se há pelo menos uma
solução básica viável com uma variável básica com valor igual a 0. Se há, essa solução é uma solução básica viável degenerada
Max Z= 5x1 + 3x
2
sa: 4x1 + 2x
2 <= 12
4x1 + x
2 <= 10
x1 + x
2 <= 4
x1 , x
2 >= 0
VB z x1 x2 x3 x4 x5 const1 -5 -3 0 0 0 0
x3 0 4 2 1 0 0 12x4 0 4 1 0 1 0 10x5 0 1 1 0 0 1 4
VB z x1 x2 x3 x4 x5 const1 0 -1,75 0 1,25 0 12,5
x3 0 0 1 1 -1 0 2 2/1=2x1 0 1 0,25 0 0,25 0 2,5 2,5/0,25=10x5 0 0 0,75 0 -0,25 1 1,5 1,5/0,75=2
VB z x1 x2 x3 x4 x5 const1 0 0 0 0,67 2,33 16
x3 0 0 0 1 -0,67 -1,33 0x1 0 1 0 0 0,33 -0,33 2x2 0 0 1 0 -0,33 1,33 2
z x1 x2 x3 x4 x5 constVB 1 0 0 1,75 -0,5 0 16x2 0 0 1 1 -1 0 2x1 0 1 0 -0,25 0,5 0 2
x5 0 0 0 -0,75 0,5 1 0