MÉTODO DUAL SIMPLEX
MÉTODO DUAL SIMPLEX
Simplex: Mantém a viabilidade do primal e tenta encontrar a sua
otimalidade.
Dual Simplex: Mantém a otimalidade do primal e procura encontrar
a sua viabilidade.
Exemplo 1:
Max Z = -3x1 - 4x2 - 9x3
x1 + x3 ≥ 5
Suj a: x2 + 2x3 ≥ 2
x1, x2, x3 ≥ 0
Forma Padrão
Max Z = -3x1 - 4x2 - 9x3
x1 + x3 - x4 = 5
Suj a: x2 + 2x3 - x5 = 2
x1, x2, x3, x4, x5 ≥ 0
Tablô Inicial:
Base x1 x2 x3 x4 x5 b
x4 -1 0 -1 1 0 -5
x5 0 -1 -2 0 1 -2
---------------------------------------------
-3 -4 -9 0 0 Z
Observe que a linha da função objetivo indica a otimalidade primal.
Entretanto, a solução básica correspondente é infactível. Dessa forma, é
possível aplicar o Dual Simplex.
Variável a sair da base:
br = min { -5, -2 } = -5
Assim, a variável x4 deixa a base.
Tablô Inicial:
Base x1 x2 x3 x4 x5 b
x4 -1 0 -1 1 0 -5
x5 0 -1 -2 0 1 -2
---------------------------------------------
-3 -4 -9 0 0 Z
Variável a entrar na base:
−3 −9
min { , }=3
−1 −1
Assim, a variável x1 entra na base.
Base x1 x2 x3 x4 x5 b
x1 1 0 1 -1 0 5
x5 0 -1 -2 0 1 -2
---------------------------------------------
0 -4 -6 -3 0 Z +15
O tablô indica que a otimalidade primal foi mantida, ou seja, os elementos na
linha da função objetivo são não-positivos.
Entretanto, como a variável x5 = -2, a solução continua sendo infactível e há
que retornar ao passo 1 do método.
Base x1 x2 x3 x4 x5 b
x1 1 0 1 -1 0 5
x5 0 -1 -2 0 1 -2
---------------------------------------------
0 -4 -6 -3 0 Z +15
Variável a sair da base: x5
Variável a entrar na base:
−4 −6
min { , }=3
−1 −2
Logo a variável x3 entra na base.
Base x1 x2 x3 x4 x5 b
1 1
x1 1 - 0 -1 4
2 2
1 1
x3 0 1 0 - 1
2 2
---------------------------------------------
0 -1 0 -3 -3 Z + 21
A otimalidade primal continuou sendo mantida, enquanto a viabilidade primal
foi alcançada.
Dessa forma, a solução atual é ótima.
SOLUÇÃO ÓTIMA
Variáveis básicas: x1* = 4
x3* = 1 com Z* = -21
Variáveis não-básicas: x2* = x4* = x5* = 0
É extremamente importante entender perfeitamente o teste da razão no
método Dual Simplex.
Algoritmo Dual Simplex
Suponha que a função objetivo consiste em Maximizar. O quadro inicial do PPL
na forma canônica pode ser escrito na seguinte forma:
Base x1 ... xs ... xn xn+1 ... xn+r ... xn+m b
-------------------------------------------------------------------------
xn+1 a11 ... a1s ... a1n 1 ... 0 ... 0 b1
. . . . . . .
xn+r ar1 ... ars ... arn 0 ... 1 ... 0 br
. . . . . . . .
. . . . . . . .
xn+m am1 ... ams ... amn 0 ... 0 ... 1 bm
----------------------------------------------------------------------------
c1 ... cs ... cn 0 ... 0 ... 0 Z(x)
Algoritmo Dual Simplex
Para aplicarmos o Dual – Simplex, é necessário que o quadro acima apresente
as seguinte características:
a) Todas os elementos na linha da função objetivo sejam não-positivos, ou
seja cj ≤ 0, para j = 1, 2, ...,n. Esta condição é chamada de otimalidade
primal.
b) A solução b apresente, pelo menos, um elemento negativo, ou seja, a
solução é primal inviável.
Algoritmo Dual Simplex
1) Seleção da variável a deixar a base. Escolha a variável mais negativa. Seja
br = min { bi para bi < 0 }
Assim, a variável básica correspondente à linha r sai da base e a linha r é a linha
do pivô.
2) Seleção da variável que entra na base.
Introduzir na base aquela variável cujo coeficiente na linha da função objetivo
atingir zero mais rapidamente, quando um múltiplo da linha r for somado à linha
da função objetivo. Duas possibilidades podem ocorrer:
a) A avaliação da variável a entrar na base se restringe às variáveis não básicas que
tem um coeficiente negativo na linha r. Neste caso aplica-se a seguinte regra:
𝑐 ҧ𝑘 𝑐 ҧ𝑘
= min { para todo 𝑎ത rj < 0 }
𝑎ത 𝑟𝑘 𝑎ത 𝑟𝑘
Assim, xk entra na base. Vá para o passo 3.
Algoritmo Dual Simplex
b) Caso 𝑎ത rj ≥ 0 para todo j = 1, 2, ..., n, a linha r não contém elementos
negativos, então o problema é inviável. Pare.
3) Faça um pivoteamento em torno do elemento 𝑎ത rk e vá para o passo 4.
4) Teste de Viabilidade Primal:
Se todos os bi , i = 1, 2, ... , m forem não-negativos a solução obtida é
ótima, pare. Caso contrário, vá para o passo 1.
Exemplo 2:
Max Z = - x1 - 4x2 - 3x4
x1 + 2x2 – x3 + x4 ≥ 3
Suj a: - 2x1 - x2 + 4x3 + x4 ≥ 2
x1, x2, x3, x4 ≥ 0
Tablô Inicial:
Base x1 x2 x3 x4 x5 x6 b
x5 1 2 -1 1 -1 0 3
x6 -2 -1 4 1 0 -1 2
-------------------------------------------------
-1 -4 0 -3 0 0 Z
O tablô não está na forma canônica.
Tablô Inicial:
Base x1 x2 x3 x4 x5 x6 b
x5 -1 -2 1 -1 1 0 -3
x6 2 1 -4 -1 0 1 -2
-------------------------------------------------
-1 - 4 0 -3 0 0 Z
Solução básica inviável inicial:
Variáveis básicas x5 = -3; x6 = -2
Variáveis não-básicas x1 = x2 = x3 = x4 = 0 Z=0
Tablô Inicial:
Base x1 x2 x3 x4 x5 x6 b
x5 -1 -2 1 -1 1 0 -3
x6 2 1 -4 -1 0 1 -2
-------------------------------------------------
-1 - 4 0 -3 0 0 Z
A variável x5 deixa a base;
Enquanto, a variável x1 entra na base
Porque?
Base x1 x2 x3 x4 x5 x6 b
x1 1 2 -1 1 -1 0 3
x6 0 -3 -2 -3 2 1 -8
-------------------------------------------------
0 -2 -1 -2 -1 0 Z+3
A variável x6 deixa a base;
Enquanto, a variável x3 entra na base
Porque?
Base x1 x2 x3 x4 x5 x6 b
7 5 1
x1 1 0 -2 - 7
2 2 2
3 3 1
x3 0 1 -1 - 4
2 2 2
-------------------------------------------------
1 1 1
0 - 0 - -2 - Z+7
2 2 2
A solução encontrada é primal viável e também satisfaz o critério de
otimalidade. Logo esta solução é ótima.