Você está na página 1de 6

O que o mtodo Simplex?

O mtodo Simplex um algoritmo que permite resolver problemas de Programao Linear. A ideia bsica do mtodo Simplex consiste em resolver repetidas vezes um sistema de equaes lineares para obter uma sucesso de SBA, cada uma "melhor" do que a anterior, at se chegar a uma SBA ptima. Em teoria de otimizao matemtica, o algoritmo simplex de George Dantzig uma tcnica popular para dar solues numricas de problemas da programao linear. Um mtodo sem relao, mas chamado de maneira similar o mtodo Nelder-Mead ou mtodo simplex de baixo custo devido a Nelder e Mead (1965) e um mtodo numrico para otimizao de problemas livres multidimensionais, pertencentes classe mais geral de algoritmos de busca. Em ambos os casos, o mtodo usa o conceito de um simplex, que um poltopo de N + 1 vrtices em N dimenses: um segmento de linha sobre uma linha, um tringulo sobre um plano, um tetraedro em um espao de trs dimenses e assim sucessivamente. Estes procedimentos so vlidos para problemas de maximizao:

y y y y

Introduzir as variveis de folga, uma para cada desigualdade; Montar um quadro para os clculos, colocando os coeficientes de todas as variveis com os respectivos sinais e, na ltima linha, incluir os coeficientes da funo objetivo transformada; Estabelecer uma soluo bsica inicial, usualmente atribuindo valor zero s variveis originais e achando valores positivos para as variveis de folga; Como prxima varivel a entrar na base, escolher a varivel no bsica que oferece, na ltima linha, a maior contribuio para o aumento da funo objetivo (ou seja, tem o maior valor negativo). Se todas as variveis que esto fora da base tiverem coeficientes nulos ou positivos nesta linha, a soluo atual tima. Se alguma dessas variveis tiver coeficiente nulo, isto significa que ela pode ser introduzida na base sem aumentar o valor da funo objetivo. Isso quer dizer que temos uma soluo tima, com o mesmo valor da funo objetivo. Para escolher a varivel que deve deixar a base, deve-se realizar o seguinte procedimento:

<!--[if !supportLists]--><!--[endif]-->Dividir os elementos da ltima coluna pelos correspondentes elementos positivos da coluna da varivel que vai entrar na base. Caso no haja elemento nenhum positivo nesta coluna, o processo deve parar, j que a soluo seria ilimitada. <!--[if !supportLists]--><!--[endif]-->O menor quociente indica a equao cuja a respectiva varivel bsica dever ser anulada, tornando-se varivel no bsica.

y y y y y y y y y y y y y y y y

Usando operaes vlidas com as linhas da matriz, transformar o quadro de clculos de forma a encontrar a nova soluo bsica. A coluna da nova varivel bsica de ver se tornar um vetor identidade, onde o elemento 1 aparece na linha correspondente varivel que est sendo anulada. Retornar ao passo 4 para iniciar outra iterao. Mtodo Simplex passo a passo Max Z = 3x1 + 5x2 Sujeito = 2x1 + 4x2 <=10 6x1 + x2 <=20 x1 -4x2 <=10 x1, x2 >=0 1 Passo Igualar a Funo Objetivo a zero. Z - 3x1 -5x2 = 0 2 Passo Acrescentar variveis de folga nas restries. 2x1 + 4x2 + F3 = 10 6x1 + x2 + F4 = 20 x1 - x2 + F5 = 30 3Passo

Construir um tableau contendo os coeficientes da funo e das restries.

Z 1 F3 F2 F5

X1 -3 0 0 0

X2 -5 2 6 1

F3 0 4 1 -1

F4 0 1 0 0

F5 0 0 1 0

BASE 0 0 10 0 20 1 30

Numero piv 4 Linha piv F3 Coluna piv X2

Base: Valores encontrados aps a igualdade. 4Passo Escolher a coluna piv , identificando o coeficiente de maior valor negativo absoluto na primeira linha(1). 5Passo Escolher as linha piv, dividindo se os termos da base, pelos coeficientes positivos da coluna piv. BASE/COEFICIENTE DA COLUNA PIVO 10/4 = 2,5 20/1 = 20 OBS: Para a escolha da linha piv s sero analisados valores que sejam positivos. 6 Passo O numeropiv o coeficiente entre a coluna e a linha piv. Ex: No Tableau. O objetivo e que no sobrem nmeros negativos na 1 (primeira linha). 7 Passo Calcular a nova linha piv, dividindo se a antiga linha pivpelo numero piv.

NLP = 0 , 0,5 , 1 , 0,25 , 0 , 0 ; 2,5

8 Passo Reescrever cada uma das outras linhas da seguinte maneira: 1 multiplicar os elementos da nova linha piv pelo coeficie da coluna piv na linha com o sinal nte trocado. 2 somar termo termo com os elementos da linha em questo. NL1 = (NLP)x5+Antiga linha 1 5 x ( 0 , 0,5 , 1 , 0,25 , 0 , 0 ; 2,5 )=(0 , 2,5 , 5 , 1,25 , 0 , 0 ; 12,5) + ( 1 , -3 , -5 , 0 , 0 , 0 ;0) = NL1 : -0,5 , 0 , 1,25 , 0 , 0 ; 12,5 NL3 -1 x ( 0 , 0,5 , 1 , 0,25 , 0 , 0 ; 2,5)=(0 , -0,5 , -1 , -0,25 , 0 , 0 ; -2,5)+(0 , 6 , 1 , 0 , -0,25 , 1 , 0 ;20)= NL3 : 0 , 5,5 , 0 , -0,25 , 1 , 0 ; 17,5 NL4 1 x (0 , 0,5 , 1 , 0,25 , 0 , 0 ; 2,5)=(0 , 0,5 , 1 , 0,25 , 0 , 0 ; 2,5)+(0 , 1 , -1 , 0 , 0 , 1 ; 30)= NL4 : 0 , 1,5 , 0 , 0,25 , 0 , 1 ; 32,5

Z 1 F3 F2 F5

X1 -0,5 0 0 0

X2 0 0,5 5,5 1,5

F3 1,25 1 0 0

F4 0 0,25 -0,25 0,25

F5 0 0 1 0

BASE 12,5 0 2,5 0 17,5 1 32,5

9 Passo Se restarem nmeros negativos na primeira linha continuar as interaes a partir do 4 Passo. Se sobrarem apenas nmeros positivos parar as interaes pois este e o resultado timo. 10 Passo A cada construo de um tableau trocar os valores das variveis da coluna e linha piv do tableau anterior.

NLP = 0 , 1 , 0 , -0,045 , 0,18 , 0 ; 3,18 NL1 = (NLP)x5+Antiga linha 1 0,5 x (0 , 1 , 0 , -0,045 , 0,18 , 0 ; 3,18)=(0 , 0,5 , 0 , -0,022 , 0,09 , 0 ; 1,59) + ( 1 , -0,5 , 0 , 1,25 , 0 , 0 ; 12,5) = NL1 : 1 , 0 , 0 , 1,227 , 0,09, 0 ; 14,9 NL2 -0,5 x (0 , 1 , 0 , -0,045 , 0,18 , 0 ; 3,18)=(0 , -0,5 , 0 , -0,0225 , -0.09 , 0 ; -1,59)+(0 , 0,5 , 1 , 0,25 , 0 , 0 ;2,5)= NL2 : 0 , 0 , 1 , 0,2275 , -0,09 , 0 ; 0,91 NL4 -1,5 x (0 , 1 , 0 , -0,045 , 0,18 , 0 ; 3,18)=( 0 , -1,5 , 0 , 0,0675 , -0,27 , 0 ; -4,77)+(0 , 1,5 , 0 , 0,25 , 0 , 1 ; 32,5)= NL4 : 0 , 0 , 0 , 0,3175 , -0,27 , 1 ; 27,73

Z 1 X2 X1 F5

F3 0 0 0 0

F4 0 0 1 0

F3 1,227 1 0 0

F4 0,09 0,2275 -0,045 0,3175

F5 0 -0.09 0,18 -0,27

BASE 14,09 0 0 1

0,91 3,18 27,73

X1 = 3,18 X2 = 0,91 F3 =27,73 Z = 14,09 Max Z = 3x1 + 5x2 = 3(3,18) + 5(0,91) = 9,54 + 4,55 = 14,09 valor de Z. Minimizar Min Z = 3x1 + 2x2 Sujeito : 2x1 +x2 >=10 x1 + 5x2 >=15 x1, x2 >=0 OBS: Para transformar em um problema de maximizao basta multiplicar a F.O por (-1). Min Z = 3x1 + 2x2 (-1) Max Z = -3x1 -2x2 Sujeito : 2x1 +x2 >=10 x1 + 5x2 >=15

x1, x2 >=0 -Z + 3x1 + 2x2 = 0 2x1 +x2 +F1 = 10 x1 + 5x2 +F2 = 15

-Z -Z F1 F2

X1 1 0 0

X2 3 2 1

F1 2 1 5

F2 0 1 0

BASE 0 0 0 10 1 15

Base / Numero piv 10/2 = 5 15/1 = 15

NLP = 0 , 1 , 0,5 , 0,5 , 0 ; 5 NL1 = -3 x (0 , 1 , 0,5 , 0,5 , 0 ; 5) = (0, -3 , -1,5 , -1,5 , 0 ; -15) + (1 , 3 , 2 , 0 , 0 ; 0) = NL1: 1 , 0 , 0,5 , -1,5 , 0 ; -15 NL3 = -1 x (0 , 1 , 0,5 , 0,5 , 0 ; 5) = (0 , -1 , -0,5 , 0,5 , 0 , -5) + (0 , 1 , 5 , 0 , 1 ;15) = NL3: 0 , 0 , 4,5 , 0,5 , 1 ; 10

-Z -Z F1 F2

X1 1 0 0

X2 0 1 0

F1 0,5 0,5 4,5

F2 -1,5 0,5 0,5

BASE 0 -15 0 5 1 10

No considerar a coluna Z. Base / Numero piv 5/0,5 = 10 10/4,5 = 2,22

NLP = 0 , 0 , 1 , -0,11 , 0,22 ; 2,22 NL1 = -0,5 x (0 , 0 , 1 , -0,11 , 0,22 ; 2,22) = (0, 0 , -0,5 , 0,055 , -0,11 ; -1,11) + (1 , 0 , 0,5 , -1,5 , 0 ; -15) = NL1: 1 , 0 , 0 , -1,445 , -0,11 ; -16,11 NL2 = -0,5 x (0 , 0 , 1 , -0,11 , 0,22 ; 2,22) = (0 , 0 , -0,5 , 0,055 , -0,11 ;-1,11) + (0 , 1 , 0,5 , 0,5 , 0 ; 5) = NL2: 0 , 1 , 0 , 0,555 , -0,11 ; 3,89

Fonte: http://www.webartigos.com/articles/2947/1/Metodo-Simplex/pagina1.html#ixzz1HF9W6X2i

Você também pode gostar