Pesquisa Operacional: Método Simplex - Duas Fases
Pesquisa Operacional: Método Simplex - Duas Fases
Pesquisa Operacional: Método Simplex - Duas Fases
1
Exemplo 1: Minimização da função objetivo
Restrições:
2x1 + x2 ≥ 10
x1 + 5x2 ≥ 15
x1 ≥ 0
x2 ≥ 0
Função objetivo:
-z + 3x1 + 2x2 + 0f1 + 0f2 = 0
Passo 2: Montagem do quadro de cálculos.
Função objetivo:
-z + 3x1 + 2x2 + 0f1 + 0f2 = 0
BASE x1 x2 f1 f2 b
f1 2 1 1 0 10
f2 1 5 0 1 15
-z 3 2 0 0 0
Passo 3: Escolha da solução básica viável inicial.
– Variáveis não-básicas: x1 x 2 0
f1 10
– Variáveis básicas:
f 2 15
– Função objetivo: z 0
1ª Iteração
Passo 4: Variável que deve entrar na base.
Qual é o produto que mais contribui para o lucro?
(maior valor positivo (-z) = x1
BASE x1 x2 f1 f2 b
f1 2 1 1 0 10
f2 1 5 0 1 15
-z 3 2 0 0 0
BASE x1 x2 f1 f2 b
f1 2 1 1 0 10 Pivô (cruzamento) = 2
f2 1 5 0 1 15
-z 3 2 0 0 0
Passo 6: Transformação da matriz.
Deverão ser realizadas as operações com as
linhas da matriz, de forma que a coluna de X1
venha a se tornar um vetor identidade, com o
elemento 1 na 1ª linha.
Entra X1
no lugar de
f1
Passo 6: Transformação da matriz.
BASE x1 x2 f1 f2 b
L1 L1 / 2 x1 1 1/2 1/2 0 5
L2 L2 – L1 f2 0 -9/2 1/2 -1 -10
L3 L3 - 3L3
-z 0 1/2 -3/2 0 -15
BASE x1 x2 f1 f2 b
Matriz de cálculo f1 2 1 1 0 10
anterior
f2 1 5 0 1 15
-z 3 2 0 0 0
Nova solução:
– Variáveis não-básicas: f 1 x2 0
x1 5
– Variáveis básicas:
f 2 10
BASE x1 x2 f1 f2 b
x1 1 1/2 1/2 0 5
f2 0 -9/2 1/2 -1 -10
-z 0 1/2 -3/2 0 -15
BASE x1 x2 f1 f2 b
x1 1 1/2 1/2 0 5
f2 Pivô (cruzamento) = -9/2
0 -9/2 1/2 -1 -10
-z 0 1/2 -3/2 0 -15
Passo 6: Transformação da matriz.
Deverão ser realizadas as operações com as
linhas da matriz, de forma que a coluna de X2
venha a se tornar um vetor identidade, com o
elemento 1 na 2ª linha.
Entra X2
no lugar de
f2
Passo 6: Transformação da matriz.
BASE x1 x2 f1 f2 b
L1 L1 - L2/2 x1 1 0 5/9 -1/9 3,88
L2 – 2L2/9 x2 0 1 -1/9 2/9 2,22
L3 L3 – L2/2
-z 0 0 -1,44 -0,11 -16,11
BASE x1 x2 f1 f2 b
Matriz de cálculo x1 1 1/2 1/2 0 5
anterior
f2 0 -9/2 1/2 -1 -10
-z 0 1/2 -3/2 0 -15
Assim, obtemos a solução ótima para:
x1 = 3,89f1 = 0
x2 = 2,22f2 = 0
-z = -16,11 z=
16,11
BASE x1 x2 f1 f2 b
x1 1 0 5/9 -1/9 3,88
x2 0 1 -1/9 2/9 2,22
-z 0 0 -1,44 -0,11 -16,11
Quando maximizamos ou minimizamos uma função objetivo
temos:
Maximizar L = x1 + 2x2 Minimizar Z = 3x1 + 2x2
Restrições: Restrições:
3x1 + 4x2 ≤ 24 2x1 + x2 ≥ 10
5x1 + 2x2 ≤ 20 x1 + 5x2 ≥ 15
x1 ≥ 0 x1 ≥ 0
x2 ≥ 0 x2 ≥ 0
Restrições: Restrições:
3x1 + 4x2 ≥ 24 2x1 + x2 = 10
5x1 + 2x2 = 20 x1 + 5x2 ≤ 15
x1 ≥ 0 x1 ≥ 0
x2 ≥ 0 x2 ≥ 0
Quando as restrições são do tipo (=) ou (≥), esta solução não existe.
19
Seja o exemplo abaixo:
minimizar z = 10 x1 + 4 x2 + 5 x3
sujeito a: 8 x1 + 3 x2 + 4 x3 10
4 x1 + 3 x 2 8
x1, x2, x3 0
minimizar z = 10 x1 + 4 x2 + 5 x3
sujeito a: 8 x1 + 3 x2 + 4 x3 - f1 = 10
4 x1 + 3 x 2 + f 2 = 8
x1, x2, x3, f1, f2 0
8 x1 + 3 x2 + 4 x3 - f1 + z1 = 10
4 x1 + 3 x 2 + f 2 + z 2 = 8
x1, x2, x3, f1, f2, z1, z2 0
Percebe-se que o problema com as restrições acima não é o mesmo
problema, a não ser que todas as variáveis zi sejam iguais a zero.
Desta forma, podemos resolver o problema em duas fases:
Na primeira fase, substituímos a função objetivo original
por uma função objetivo auxiliar da seguinte forma:
Soma-se as variáveis das duas restrições:
8 x1 + 3 x2 + 4 x3 - f1 + z1 = 10
4 x 1 + 3 x 2 + 0 x3 + f 2 + z 2 = 8
12 x1 + 6 x2 + 4 x3 - f1 + f2 + z1 + z2 = 18
Representa-se as restrições em função de z1 e z2
12 x1 + 6 x2 + 4 x3 - f1 + f2 - 18 = - z1 - z2
portanto, a função objetivo auxiliar será:
zaux = - z1 - z2 = 12 x1 + 6 x2 + 4 x3 - f1 + f2 - 18
Nesse momento, aplicamos o método Simplex de forma a
maximizar a função objetivo auxiliar, com as restrições
contendo as variáveis auxiliares. A função objetivo auxiliar
será maximizada quando todas as variáveis zi forem iguais
a zero, já que não podem conter valores negativos.
A primeira fase do problema então consiste na
maximização da função objetivo auxiliar, que fornecerá
uma solução viável para o problema original.
A segunda fase consiste em resolver o problema original
tomando como solução inicial os valores obtidos pela
primeira fase para as variáveis xi e fi.
Resolvendo o problema:
minimizar z = 10 x1 + 4 x2 + 5 x3
sujeito a: 8 x1 + 3 x2 + 4 x3 - f1 + z1 = 10
4 x1 + 3 x 2 + f 2 + z2 = 8
x1, x2, x3, f1, f2 0
Função objetivo:
zaux = - z1 - z2 = 12 x1 + 6 x2 + 4 x3 - f1 + f2 - 18
Para resolver o problema, monta-se o quadro de forma
semelhante à sistemática anterior, colocando-se a função
objetivo artificial na última linha.
Base x1 x2 x3 f1 f2 z1 z2 b
z1 8 3 4 -1 0 1 0 10
z2 4 3 0 0 1 0 1 8
z' = - 10 4 5 0 0 0 0 0
z
zaux -12 -6 -4 1 -1 0 0 -18
Base x1 x2 x3 f1 f2 z1 z2 b x1
z1 8 3 4 -1 0 1 0 10 1
z2 4 3 0 0 1 0 1 8 0
z' = -z 10 4 5 0 0 0 0 0 0
zaux -12 -6 -4 1 -1 0 0 -18 0
Base x1 x2 x3 f1 f2 z1 z2 b
z1 8 3 4 -1 0 1 0 10
Matriz de cálculo
anterior z2 4 3 0 0 1 0 1 8
z' = - 10 4 5 0 0 0 0 0
z
zaux -12 -6 -4 1 -1 0 0 -18
Fase 1 – Segunda iteração
Variável a entrar na base: x2 (coluna com maior valor negativo na última
linha)
Variável a sair da base: z2 (o quociente 3/(3/2) é o menor quociente
entre a última coluna e a coluna da variável x2, que vai entrar na base)
Pivô = 3/6
Base x1 x2 x3 f1 f2 z1 z2 b X2
x1 1 3/8 1/2 -1/8 0 1/8 0 5/4 0
z2 0 3/6 -2 1/2 1 -1/2 1 3 1
z' = - 0 1/4 0 5/4 0 -5/4 0 -12,5 0
z 0
zaux 0 -3/6 2 -1/2 -1 3/2 0 -3
Montagem da matriz identidade
Base x1 x2 x3 f1 f2 z1 z2 b
L1 L1 - 3 L2 / 8 x1 1 0 1 -1/4 -1/4 1/4 -1/4 1/2
L2 2 L2 / 3 x2 0 1 -4/3 1/3 2/3 -1/3 2/3 2
L3 L3 - L2 / 4 z' = -z 0 0 1/3 7/6 -1/6 -7/6 1/6 -13
L4 L4 + 3 L2 / 2 zaux 0 0 0 0 1 1 1 0
Base x1 x2 x3 f1 f2 z1 z2 b
x1 1 3/8 1/2 -1/8 0 1/8 0 5/4
Matriz de cálculo
anterior z2 0 3/6 -2 1/2 1 -1/2 1 3
z' = - 0 1/4 0 5/4 0 -5/4 0 -12,5
z
zaux 0 -3/6 2 -1/2 -1 3/2 0 -3
Como na última linha o valor da função objetivo artificial é zero, a primeira fase terminou
e a solução encontrada é a solução básica inicial para a segunda fase.
Removendo a última linha e as colunas referentes às
variáveis artificiais, o quadro se torna:
Base x1 x2 x3 f1 f2 b
Base x1 x2 x3 f1 f2 z1 z2 b
x1 1 0 1 -1/4 -1/4 1/4 -1/4 1/2
Retirar x2 0 1 -4/3 1/3 2/3 -1/3 2/3 2
zaux, z1 e z2
z' = -z 0 0 1/3 7/6 -1/6 -7/6 1/6 -13
zaux 0 0 0 0 1 1 1 0
Fase 2 - Primeira iteração
Variável a entrar na base: f2 (coluna com maior valor negativo na última
linha)
Variável a sair da base: x2 (o quociente 2/(2/3) é o menor quociente
entre a última coluna e a coluna da variável f2, que vai entrar na base)
Pivô = 2/3
Base x1 x2 x3 f1 f2 b f2
x1 1 0 1 -1/4 -1/4 1/2 0
x2 0 1 -4/3 1/3 2/3 2 1
z' = -z 0 0 1/3 7/6 -1/6 -13 0
Base x1 x2 x3 f1 f2 b
minimizar z = 10 x1 + 4 x2 + 5 x3
sujeito a: 8 x1 + 3 x2 + 4 x3 ≥ 10
4 x1 + 3 x 2 ≤ 8
x1, x2, x3, f1, f2 0
Base x1 x2 x3 f1 f2 b
x1 = 1,25
x1 1 3/8 1/2 -1/8 0 5/4
x2 = 0
f2 0 3/6 -2 1/2 1 3
z = -z' = 12,5
z' = -z 0 1/4 0 5/4 0 -12,5
Memória de aula
37
Bibliografia indicada
38