Método Simplex – passos elementares da resolução matricial
1. Formular o problema de programação linear sob a forma normal/standardizada
(passar inequações a equações através da utilização de variáveis de folga).
2. Identificar uma solução básica admissível inicial (uma boa ideia é verificar se o
ponto de máxima folga é uma solução admissível). Uma solução básica contém um
número de variáveis idêntico ao número de restrições do problema.
3. Passar todos os coeficientes e constantes do problema para um quadro simplex. Se
o problema for de maximização, os coeficientes da função objectivo devem ser
passados para o quadro simplex com o mesmo sinal. Se o problema for de
minimização, os coeficientes da f.o. devem mudar de sinal quando entram no
quadro simplex.
4. Verificar se esta solução é óptima, ie, verificar se não há nenhum coeficiente
positivo na linha da função objectivo.
a. Caso isto se verifique, a solução óptima está encontrada. Não há
nenhuma solução alternativa que melhore o valor da função objectivo.
b. Caso isto não se verifique, escolher a coluna com o coeficiente mais
positivo na linha da função objectivo como coluna pivot. A variável
associada a essa coluna deve entrar na solução básica, já que é a que
garante o maior crescimento no valor da função objectivo.
5. A variável a sair da solução básica é aquela associada à restrição que primeiro
limita o crescimento da nova variável básica. A forma de determinar essa variável é
escolhendo a linha com o menor valor não-negativo do coeficiente reduzido =
ki/(coeficiente em xj). A linha associada a essa variável é a linha pivot. (ki é o termo
independente em cada equação i; xj é a nova variável a entrar na base, ie, a variável
associada à coluna pivot j)
6. O elemento pivot é aquele coeficiente que se encontra na intersecção da coluna
pivot com a linha pivot (cij).
7.
Terminada a iteração anterior, é necessário calcular um novo quadro simplex. Este
cálculo baseia-se na operação sobre linhas de Gauss-Jordan e pode resumir-se da
seguinte forma:
a. Nova linha pivot = (Velha linha pivot)/(elemento pivot)
b. Todas as outras linhas:
Nova linha = (Velha linha) – (Coeficiente da coluna pivot associado à
velha linha)*(Nova linha pivot)
Iteração 0
x3
x4
x5
z
x1
1
0
1
150
x2
1
1
1.4
300
Coluna
pivot
x3
1
0
0
0
x4
0
1
0
0
x5
0
0
1
0
k
5000
2700
5400
0
x1
1
0
1
150
x2
0
1
0
0
x3
1
0
0
0
x4
-1
1
-1.4
-300
x5
0
0
1
0
k
2300
2700
1620
-810000
k/c(xj)
5000.0
2700.0
3857.1
Linha pivot
Iteração 1
x3
x2
x5
z
c. O valor no canto inferior direito representa o simétrico da f.o..
8. Encontrada a solução óptima (ver ponto 4), o valor óptimo de cada variável básica
corresponde ao valor da última coluna na linha respectiva a essa variável.
Download

Método Simplex – passos elementares da resolução matricial