Escolar Documentos
Profissional Documentos
Cultura Documentos
Técnicas de otimização
O método simplex e a análise de
sensibilidade
Aula 6 - Parte I
6x1+ 4x2 ≤ 24
Define-se s1 como a folga ou a quantidade não utilizada de M1, a
restrição pode ser convertida na seguinte equação:
O método simplex - O modelo de PL em forma de
equação
● Conversão de desigualdades em equações com lado direito não
negativo.
Por exemplo, no modelo da dieta, a restrição que representa os
requisitos mínimos da ração é
x1 + x2 ≥ 800
A eq. (2) é uma restrição de sobra, porém, com sinal negativo do lado
direito. Porém, precisamos garantir que o lado direito seja positivo.
Assim, multiplicamos os dois lados da equação por -1:
O método simplex - O modelo de PL em forma de
equação
Inequações modulares.
A eq. (2) é uma restrição de sobra, porém, com sinal negativo do lado
direito. Por isso, precisamos garantir que o lado direito seja positivo.
Assim, multiplicamos os dois lados da equação por -1:
Assim,
que o fluxo seja yi = 70kw de i para m. Em termos de y-i, y+i tem que y-i
= 70 e y+i = 0.
Já se yi = -70kw. Teríamos um fluxo em sentido m para i e y-i = 0 e y+i =
70.
O método simplex
Como lidar com variáveis irrestritas
Demonstração: Vamos demonstrar numericamente que a técnicas
funciona. Impondo yi = y+i- y-i, analisemos algumas possibilidades.
● yi = -1
Então y+i- y-i = -1. Ou y+i = y-i- 1. Sabendo que y-i ≥ 0 e y+i≥ 0. Então,
poderíamos fazer y-i= 0 e, por consequência, y+i= -1. Isto contradiz a
posição de não negatividade. Portanto, y-i= 1 e y+i= 0.
● yi = 1
Então y+i- y-i = 1. Ou y+i = y-i+ 1. Sabendo que y-i ≥ 0 e y+i≥ 0. Então,
podemos fazer y-i= 0 e, por consequência, y+i= 1. Portanto, y-i= 0 e y+i=
1.
O método simplex
Como lidar com variáveis irrestritas
Em um PL no qual há diversas variáveis irrestritas, uma transformação
do tipo yi = y-i - y+i, onde y-i ≥ 0 e y+i≥ 0 dobrará o número
correspondente de variáveis não negativas. Em vez disso, podemos
substituir k variáveis irrestritas por exatamente k + 1 variáveis não
negativas usando a substituição yi = y’i - w, onde y’i , w ≥ 0.
O método simplex
Modelo padrão
Exercícios. As técnicas aqui expostas tiveram por objetivo transformar
um modelo qualquer na forma padrão do algoritmo simplex, ou seja:
Max Z = f(x)
Sujeito a
Ax = b
x >= 0
Vamos transformar os seguintes modelos para o modelo padrão.
O método simplex
Modelo padrão
a) b)
O método simplex
Modelo padrão
c) b)
O método simplex
Determinação algébrica dos pontos extremos
Em um conjunto de m x n equações (m < n), se igualarmos n - m =
variáveis a zero, e depois resolvermos as m equações para as n
variáveis restantes a solução resultante, se for única, é denominada
solução básica e deve corresponder a um ponto extremo (viável ou
inviável) da região de soluções.
Ponto C da figura.
O método simplex
Determinação algébrica dos pontos extremos
A figura mostra o gráfico da região de soluções
Note que temos
pontos extremos.
Os pontos E e F
são básicos, mas
não viáveis.
O método simplex
Determinação algébrica dos pontos extremos
As n - m variáveis zero são denominadas de variáveis não básicas.
As demais são denominadas variáveis básicas.
O método simplex
Em vez de enumerar todas as soluções básicas (pontos extremos) do
problema de PL, o método simplex investiga somente algumas destas
soluções.
As colunas das variáveis que estão na base devem formar uma matriz
(submatriz) identidade na tabela. Assim como era quando s1 estava na
base.
O método simplex - Detalhes do cálculo do algoritmo
simplex
Para pivotear, dividimos a linha da variável que sai da base pelo pelo
elemento da coluna da variável que entra na base. Voltando à tabela
original:
O método simplex - Detalhes do cálculo do algoritmo
simplex
Para pivotear, dividimos a linha da variável que sai da base pelo pelo
elemento da coluna da variável que entra na base. Voltando à tabela
original:
O método simplex - Detalhes do cálculo do algoritmo
simplex
Como queremos que x1 entre e s1 sai, precisamos que o elemento a{s1, x1}
seja igual a um. Basta dividir toda a linha s1 por a{s1, x1}
O método simplex - Detalhes do cálculo do algoritmo
simplex
Como queremos que x1 entre e s1 sai, precisamos que o elemento a{s1, x1}
seja igual a um. Basta dividir toda a linha s1 por a{s1, x1}
Para garantir isso, considere que a coluna x1(variável que entra na base)
seja j e que a linha s1 (variável que sai da base) seja i.
s2 sai da base.
O método simplex - Detalhes do cálculo do algoritmo
simplex
Após o pivoteamento
Note que não há variável não básica com valor negativo na linha z. Isto
significa que não há variáveis candidatas a entrar na base, ou seja,
estamos na solução ótima do problema.
O método simplex - Detalhes do cálculo do algoritmo
simplex
1. Linha do pivô
a. Substitua a variável que sai da base na coluna Base pela
variável que entra na base.
b. Nova linha do pivô = Linha do pivô atual / elemento pivô.
Base z x1 x2 s1 s2 Solução
z 1 -2 -3 0 0 0
s1 0 2 1 1 0 4
s2 0 1 2 0 1 5
Técnicas de otimização
O método simplex e a análise de
sensibilidade
Aula 7 - Parte II
Base x1 x2 x3 x4 Solucao
z -4 -1 0 0 0
x2 3 1 0 0 3
x3 4 3 -1 0 6
x4 1 2 0 1 4
Solução inicial
Note que a solução do quadro anterior não é viável. As variáveis que
botamos na base não formam uma base viável, pois precisaríamos
multiplicar a linha de x3 por -1 e teríamos um lado direito negativo. O
que o método simplex não admite.
1. O método de big-M
2. O método das duas fases
Sujeito a
Solução inicial - método M-grande
Considerando M=100, temos a seguinte base inicial
Base x1 x2 x3 x4 R1 R2 Solucao
z -4 -1 0 0 -100 -100 0
R1 3 1 0 0 1 0 3
R2 4 3 -1 0 0 1 6
x4 1 2 0 1 0 0 4
Solução inicial - método M-grande
Considerando M=100, temos a seguinte base inicial
Base x1 x2 x3 x4 R1 R2 Solucao
z -4 -1 0 0 -100 -100 0
R1 3 1 0 0 1 0 3
R2 4 3 -1 0 0 1 6
x4 1 2 0 1 0 0 4
Base x1 x2 x3 x4 R1 R2 Solucao
R1 3 1 0 0 1 0 3
R2 4 3 -1 0 0 1 6
x4 1 2 0 1 0 0 4
Base x1 x2 x3 x4 R1 R2 Solucao
R1 3 1 0 0 1 0 3
R2 4 3 -1 0 0 1 6
x4 1 2 0 1 0 0 4
Quem sai?
Solução inicial - método M-grande
Como se trata de um problema de minimização, deve entrar na base a
variável com maior coeficiente não negativo.
R2 1,5
x4 4
Solução inicial - método M-grande
Após pivoteamentos:
Base x1 x2 x3 x4 R1 R2 Solucao
x1 1 0,33 0 0 0,33 0 1
R2 0 1,67 -1 0 -1,33 1 2
x4 0 1,67 0 1 -0,33 0 3
x1 1 0,33 0 0 0,33 0 1
R2 0 1,67 -1 0 -1,33 1 2
x4 0 1,67 0 1 -0,33 0 3
x1 3
R2 1,2 R2
x4 1,8
Solução inicial - método M-grande
Após pivoteamentos:
Base x1 x2 x3 x4 R1 R2 Solucao
x4 0 0 1 1 1 -1 1
x4 0 0 1 1 1 -1 1
x2 -2
x4 1 x4
Solução inicial - método M-grande
Após pivoteamentos:
Base x1 x2 x3 x4 R1 R2 Solucao
x3 0 0 1 1 1 -1 1
c) d)
Solução inicial - das duas fases
O método do M-grande apresenta uma grande desvantagem. A
escolha de M grande suficientemente, mas que não gere instabilidade
numérica durante a solução do problema.
Exemplo:
Sujeito a
Solução inicial - Método das duas fases
Base x1 x2 x3 x4 R1 R2 Solucao
z 0 0 0 0 -1 -1 0
R1 3 1 0 0 1 0 3
R2 4 3 -1 0 0 1 6
x4 1 2 0 1 0 0 4
z 7 4 -1 0 0 0 9
R1 3 1 0 0 1 0 3
R2 4 3 -1 0 0 1 6
x4 1 2 0 1 0 0 4
Bastou fazer
zatual = zanterior + R1anterior + R2anterior
Solução inicial - Método das duas fases
Base x1 x2 x3 x4 R1 R2 Solucao
z 7 4 -1 0 0 0 9
R1 3 1 0 0 1 0 3
R2 4 3 -1 0 0 1 6
x4 1 2 0 1 0 0 4
z 7 4 -1 0 0 0 9
R1 3 1 0 0 1 0 3
R2 4 3 -1 0 0 1 6
x4 1 2 0 1 0 0 4
R2 1,5
x4 4
Solução inicial - Método das duas fases
Após pivoteamentos
Base x1 x2 x3 x4 R1 R2 Solucao
z 0 1,67 -1 0 -2,33 0 2
x1 1 0,33 0 0 0,33 0 1
R2 0 1,67 -1 0 -1,33 1 2
x4 0 1,67 0 1 -0,33 0 3
z 0 1,67 -1 0 -2,33 0 2
x1 1 0,33 0 0 0,33 0 1
R2 0 1,67 -1 0 -1,33 1 2
x4 0 1,67 0 1 -0,33 0 3
R2 1,2 R2
x4 1,8
Solução inicial - Método das duas fases
Após pivoteamentos
Base x1 x2 x3 x4 R1 R2 Solucao
z 0 0 0 0 -1 -1 0
x4 0 0 1 1 1 -1 1
Base x1 x2 x3 x4 R1 R2 Solucao
z 0 0 0 0 -1 -1 0
x4 0 0 1 1 1 -1 1
Sujeito a
Solução inicial - Método das duas fases
Fase II
Base x1 x2 x3 x4 Solucao
z -4 -1 0 0 0
x1 1 0 0,2 0 0,6
x2 0 1 -0,6 0 1,2
x4 0 0 1 1 1
Base x1 x2 x3 x4 Solucao
z 0 0 -0,33 0 3,6
x1 1 0 0,33 0 0,6
x2 0 1 -1,67 0 1,2
x4 0 0 1 1 1
Solução inicial - Método das duas fases
Base x1 x2 x3 x4 Solucao
z 0 0 0,2 0 3,6
x1 1 0 0,2 0 0,6
x2 0 1 -0,6 0 1,2
x4 0 0 1 1 1
Base x1 x2 x3 x4 Solucao
z 0 0 0,2 0 3,6
x1 1 0 0,2 0 0,6
x2 0 1 -0,6 0 1,2
x4 0 0 1 1 1
x2 -2
x4 1 x4
Solução inicial - Método das duas fases
Após pivoteamentos
Base x1 x2 x3 x4 Solucao
z 0 0 0 -0,2 3,4
x1 1 0 0 -0,2 0,4
x2 0 1 0 0,6 1,8
x3 0 0 1 1 1
c) d)
13
13
Ministério da Educação
Universidade Federal do Piauí
Pró-reitoria de Ensino e Pós-graduação
Centro de Tecnologia
Programa de Pós-graduação em Engenharia Elétrica
Técnicas de otimização
O método simplex e a análise de
sensibilidade
Aula 7 - Parte III
1. Degeneração
2. Soluções ótimas alternativas
3. Soluções ilimitadas
4. Soluções não existentes
Casos especiais do método simplex
Degeneração
Quando isso acontece, no mínimo uma variável básica será zero na iteração
seguinte, e diz-se que a nova solução é degenerada.
Quanto ao modelo, a degeneração indica que este tem pelo menos uma
restrição redundante.
Faremos mais análises com base no exemplo:
Casos especiais do método simplex
Degeneração
Iteração 0
Base x1 x2 x3 x4 Solucao
z -3 -9 0 0 0
x3 1 4 1 0 8
x4 1 2 0 1 4
Entra na base ?
Sai da base ?
Casos especiais do método simplex
Degeneração
Iteração 0
Base x1 x2 x3 x4 Solucao
z -3 -9 0 0 0
x3 1 4 1 0 8
x4 1 2 0 1 4
Entra na base x2
Sai da base x4 ou x3 X3
Casos especiais do método simplex
Degeneração
Iteração 1
Base x1 x2 x3 x4 Solucao
z -0,75 0 2,25 0 18
x2 0,25 1 0,25 0 2
x4 0,5 0 -0,5 1 0
Entra na base ?
Sai da base ?
Casos especiais do método simplex
Degeneração
Iteração 1
Base x1 x2 x3 x4 Solucao
z -0,75 0 2,25 0 18
x2 0,25 1 0,25 0 2
x4 0,5 0 -0,5 1 0
Entra na base x1
Sai da base x4
Casos especiais do método simplex
Degeneração
Solução ótima
Base x1 x2 x3 x4 Solucao
z 0 0 1,5 1,5 18
x2 0 1 0,5 -0,5 2
x1 1 0 -1 2 0
Examine a figura:
Casos especiais do método simplex
Degeneração
Na prática, o simples fato de saber que alguns recursos são supérfluos pode ser
valioso durante a implementação da solução.
Assim, é possível que o método entre em um ciclo infinito sem nunca melhorar a FO
nem nunca satisfazer a condição de otimalidade.
Casos especiais do método simplex
Degeneração
Do ponto de vista teórico, a degeneração tem duas implicações:
2. O segundo ponto teórico surge no exame das iterações 1 e 2. Ambas as iterações,
embora com variáveis básicas e não básicas diferentes, resultam em valores
idênticos para o valor da função objetivo.
Casos especiais do método simplex
Degeneração
Quando a função objetivo tem direção paralela a uma restrição vinculadora não
redundante, a função objetivo pode assumir o mesmo valor em mais de um ponto de
solução, o que dá origem a soluções alternativas.
Iteração 0
Base x1 x2 x3 x4 Solucao
z -2 -4 0 0 0
x3 1 2 1 0 5
x4 1 1 0 1 4
Iteração 0
Base x1 x2 x3 x4 Solucao
z -2 -4 0 0 0
x3 1 2 1 0 5
x4 1 1 0 1 4
x4 4
Casos especiais do método simplex
Soluções ótimas alternativas
Resolvendo pelo método simplex
Base x1 x2 x3 x4 Solucao
z 0 0 2 0 10
Base x1 x2 x3 x4 Solucao
z 0 0 2 0 10
x4 3
Casos especiais do método simplex
Soluções ótimas alternativas
Resolvendo pelo método simplex
Base x1 x2 x3 x4 Solucao
z 0 0 2 0 10
x2 0 1 1 -1 1
x1 1 0 -1 2 3
Casos especiais do método simplex
Soluções ótimas alternativas
Resolvendo pelo método simplex
Base x1 x2 x3 x4 Solucao
z 0 0 2 0 10
Note que a variável não-básica x1 tem valor zero. Isto indica que x1 pode entrar na
base sem alterar o valor de z.
Casos especiais do método simplex
Soluções ótimas alternativas
Comentário: na prática, soluções ótimas alternativas são úteis porque podemos
escolher entre muitas soluções alternativas sem que o valor da FO sofra alteração.
No caso do mix de produtos, pode haver vantagem em produzir dois produtos em vez
de um para enfrentar a concorrência. Então, C seria uma solução mais atraente.
Casos especiais do método simplex
Solução ilimitada
Em alguns problemas de PL, os valores das variáveis podem ser aumentados
indefinidamente, sem violar nenhuma das restrições.
A irregularidade mais provável em tais modelos é que uma ou mais restrições não
redundantes deixaram de ser levadas em conta ou os parâmetros de algumas
restrições podem não ter sido estimados corretamente.
Casos especiais do método simplex
Solução ilimitada
Considere o exemplo:
Casos especiais do método simplex
Solução ilimitada
Iteração 1
Base x1 x2 x3 x4 Solucao
z 0 -3 2 0 20
x1 1 -1 1 0 10
x4 0 2 -2 1 20
x4 10
Casos especiais do método simplex
Solução ilimitada
Iteração 2 Não há candidato a sair da base
Base x1 x2 x3 x4 Solucao
z 0 0 -1 1,5 50
x1 1 0 0 0,5 20
x2 0 1 -1 0,5 10
x3 é candidata a entrar na base, porém não há variável candidata a sair. Isto significa
que temos que manter x3 fora da base e que podemos aumentar seu valor
indefinidamente.
Iteração 0
Base x1 x2 x3 x4 R Solucao
z -3 -2 0 0 100 0
x3 2 1 1 0 0 2
R 3 4 0 -1 1 12
Casos especiais do método simplex
Solução inviável
Iteração 0
Base x1 x2 x3 x4 R Solucao
x3 2 1 1 0 0 2
R 3 4 0 -1 1 12
Iteração 0
Base x1 x2 x3 x4 R Solucao
x3 2 1 1 0 0 2
R 3 4 0 -1 1 12
R 3
Casos especiais do método simplex
Solução inviável
Iteração 1
Base x1 x2 x3 x4 R Solucao
x3 2 1 1 0 0 2
R -5 0 -4 -1 1 4
Base x1 x2 x3 x4 R Solucao
x3 2 1 1 0 0 2
R -5 0 -4 -1 1 4
A iteração 1 mostra que a variável artificial R é positiva (=4), o que indica que o
problema é inviável.
Técnicas de otimização
O método simplex e a análise de
sensibilidade
Aula 8 - Parte IV
Serão consideradas
Assim, podemos dizer que o preço dual de $14/h é válido para o intervalo
Isto significa que há uma faixa para os coeficientes da função objetivo que
manterá inalterada a solução ótima em C.
Assim, a razão c1/c2 pode variar entre ⅓ e 2/1, o que resulta na seguinte
condição:
B1 = f(x1)
B2 = f(x2)
x2 x 1 b = x0