Você está na página 1de 5

IM380 – Métodos de Otimização de Sistemas

Gabriela Otsubo

Método Simplex

O Método Simplex foi implementado de forma que as entradas são as matrizes f, A e b, onde f é a função a
ser maximizada, A e b representam as restrições ([A]{x} = {b}) e todas as variáveis devem ser maiores ou iguais a 0.
No algoritmo, o problema deve ser introduzido já na forma padrão.

Para evitar verificar se há uma base factível óbvia, optou-se por generalizar o algoritmo, de modo que todo
problema passa pela fase 1, onde serão inseridas as variáveis artificias para formar uma base factível. Este passo
consiste em adicionar uma matriz identidade e a função artificial φ, que representa a subtração das variáveis
artificiais. Logo o problema é resolvido na forma:

[ |]
{ 0 } {−1 } φ
[ A ] aum = { f } {0 } z
[ A ] [ I ] {b }

O primeiro passo é zerar os coeficientes correspondentes ao vetor {−1 } mostrado na matriz [A]aum,
identificando a base. Com a base formada, o problema artificial (max φ) é resolvido pelo algoritmo Simplex.

Então, o algoritmo vai para a fase 2, onde elimina-se a função artificial e as colunas correspondente as
variáveis artificiais na matriz [A]aum e algoritmo Simplex é aplicado novamente.

O método Simplex foi implementado de acordo com os seguintes passos:

1 – Teste da otimalidade: verifica-se se todos os coeficientes da função objetivo são negativos. Se sim, o
quadro atual representa a solução ótima e o algoritmo extrai o ponto ótimo e o valor da função objetivo do quadro.
Caso contrário, o algoritmo continua;

2 – Escolha da variável para entrar na base: encontra-se o maior coeficiente da função objetivo e a coluna
correspondente é identificada;

3 – Teste da solução ilimitada: verifica-se se todos os coeficientes da coluna identificada no passo anterior
são não positivos. Se sim, significa que o domínio não é limitado. Neste caso, o algoritmo imprime uma mensagem
de alerta de alerta e para. Caso contrário, o algoritmo continua;

4 – Escolha da variável para sair da base: o objetivo deste passo é identificar a linha bloqueio, o que consiste
em escolher o vértice adjacente que maximiza a função dentro do domínio. Para isso, faz-se a divisão de cada
elemento do vetor {b} pelo coeficiente (se este for positivo) da coluna identificada no passo 2, pertencente a mesma
linha. A linha bloqueio, correspondente a variável que irá sair da base, será a que apresentar o valor mínimo.

5 – Identificação do pivô: o pivô será o coeficiente que pertence a coluna da variável que sairá da base e a
linha bloqueio.

6 – Pivoteamento: inicialmente, a linha bloqueio é normalizada com relação ao pivô, então os coeficientes da
coluna do pivô são zerados, o que atualiza a base de acordo com as escolhas dos passos anteriores.

Ao final do passo 6, tem-se um a nova base, o que significa que o algoritmo passou de um vértice do domínio
para outro adjacente. Então, volta-se ao passo 1, para verificar se esta é a solução ótima ou é necessário pular para
outro vértice.
IM380 – Métodos de Otimização de Sistemas
Gabriela Otsubo

Problema P(1)

P
P(1)

Conforme mencionado anteriormente, apesar do problema P(1) apresentar uma base factível óbvia, são
adicionadas variáveis artificiais que são utilizadas para forma a base de partida. Logo, a matriz [A] aum será:

No final da fase 1, tem-se:

Conforme esperado, o valor mínimo da função artificial é nulo. Com isso, é possível verificar a nova base
factível. Para dar início a fase 2, elimina-se as colunas correspondente as variáveis artificiais:

Percebe-se que a função objetivo não tem coeficientes positivos, então a solução ótima já é obtido na fase 1.
IM380 – Métodos de Otimização de Sistemas
Gabriela Otsubo

Problema P(2)

P(2
)

Diferente do problema P(1), o P(2) não está na forma padrão e não possui uma base factível óbvia.
Primeiramente, é necessário obter a forma padrão:

P(2) na forma padrão

Depois, a matriz [A]aum é montada:

Ao final da fase 1, tem-se:

Novamente o valor mínimo da função artificial é nulo e tem-se uma nova base factível, que não é composta
das variáveis artificias. Eliminando-se as colunas correspondente as variáveis artificiais:

Pode-se perceber que, neste caso, ainda há coeficientes positivos na função objetivo. Então a função
objetivo ainda pode crescer. Ao final da fase 2:
IM380 – Métodos de Otimização de Sistemas
Gabriela Otsubo

Como a função objetivo não tem coeficientes positivos, o quadro representa a solução ótima:

Problema P(3)

É importante notar que o problema analisado pode apresentar múltiplas soluções, ou seja, a solução ótima
não é um vértice, mas um segmento de reta. Neste caso, o algoritmo apresentará como solução ótima um vértice
pertencente a este segmento de reta, o que pode ser visto no problema abaixo:

P(3
)

Passando para a forma padrão, a matriz [A]aum será:

Ao final da fase 1:

Ao final da fase 2:
IM380 – Métodos de Otimização de Sistemas
Gabriela Otsubo

A solução obtida é:

Porém, percebe-se que, no quadro final, há uma variável não básica (x 4) cujo coeficiente da função objetivo é
nulo. Isso indica que o problema apresenta múltiplas soluções. Resolvendo analiticamente, observa-se que a solução
ótima pode ser qualquer ponto pertencente ao segmento da reta x = 9-2y dentro do domínio.

Você também pode gostar