Una técnica para resolver problemas científicos. Un método paso a paso para resolver una pregunta..
Pesquisa Operacionalexpertisetreinamento.com.br/wp-content/uploads/2017/02/5-Método... · Método...
Transcript of Pesquisa Operacionalexpertisetreinamento.com.br/wp-content/uploads/2017/02/5-Método... · Método...
Método Simplex
Resolver um problema de Programação Linear significa basicamente resolver sistemas de equações lineares;
Esse procedimento, apesar de correto, é bastante trabalhoso, podendo ficar impraticável;
Para resolver um problema real de Programação Linear precisamos de uma sistemática que nos diga:
Qual o sistema de equações que deve ser resolvido;
Que o próximo sistema a ser resolvido fornecerá uma solução melhor que os anteriores;
Como identificar a solução ótima, uma vez que a tenhamos encontrado;
Essa sistemática é dada pelo Método Simplex
Método Simplex – Procedimentos:
Passo 1:
Passo 2:
Passo 3:
Passo 4:
Introduzir as variáveis de folga, uma para cada desigualdade.
Montar um quadro para os cálculos, colocando os coeficientes de todas as variáveis com os respectivos sinais e, na última linha, incluir os coeficientes da função-objetivo transformada.
Estabelecer uma solução básica inicial, usualmente atribuindo zero às variáveis originais e achando valores positivos para as variáveis de folga.
Como próxima variável a entrar na base, escolher a variável não-básica que fornece, na última linha, a maior contribuição para o aumento da função objetivo (ou seja, tem o maior valor negativo).
Se todas as variáveis que estão fora da base tiverem coeficientes nulos ou positivos nessa linha, a solução atual é ótima.
Se alguma dessas variáveis tiver valor nulo, temos outra solução ótima, com o mesmo valor da função-objetivo.
Método Simplex
Passo 5:
Passo 6:
Passo 7:
Para escolher a variável que deve deixar a base, deve-se realizar o seguinte procedimento:
a) Dividir os elementos da última coluna pelos correspondentes elementos positivos da coluna da variável que vai entrar na base. Se não houver elemento nenhum positivo nessa coluna, o processo deve parar, já que a solução é ilimitada.
b)O menor coeficiente indica a equação cuja respectiva variável básica deverá ser anulada, tornando-se variável não-básica.
Usando operações com as linhas da matriz, transformar a coluna da nova variável básica num vetor identidade, onde o elemento 1 aparece na linha correspondente à variável que está sendo anulada.
Retornar ao PASSO 4 para iniciar nova iteração.
Método Simplex – Exemplo Prático
MAX Z = 3X1 + 5X2; Sujeito a (S.A.)
2x1 + 4x2 10
6x1 + x2 20
x1 – x2 30
x1 0; x2 0
1º Passo: Igualar a Função Objetivo à Zero
Z – 3x1 – 5x2 = 0
2º Passo: Inserir as variáveis de folga
1) 2x1 + 4x2 + xF1 = 10
2) 6x1 + x2 + xF2 = 20
3) X1 – x2 + xF3 = 30
Método Simplex – Exemplo Prático
3º Passo: Construir a tabela com o objetivo de Maximizar Z
Z X1 X2 XF1 XF2 XF3 b
1 -3 -5 0 0 0 0
0 2 4 1 0 0 10
0 6 1 0 1 0 20
0 1 -1 0 0 1 30
Entra
Sai
Objetivo: Desaparecer os nºs negativos em Z
4º Passo: Identificar a variável que entra. O método é procurar o número
negativo de maior valor absoluto na equação da função objetivo.
Observamos (-5) em X2.
5º Passo: Identificar a linha que sai (LINHA PIVÔ). O Método é dividir os
valores base pelos números da coluna que entra (Coluna X2).
10 / 4 = 2,5
20 / 1 = 20
30 / -1 = -30
Escolher a linha em que o resultado foi o menor positivo.
Observamos que o menor positivo é 2,5, e a linha é a segunda.
Método Simplex
6º Passo: Identificar o elemento PIVÔ.
Este elemento está localizado no cruzamento da coluna que entra com a
linha que sai. Neste caso, o número é
7º Passo: Calcular a nova linha PIVÔ.
O cálculo é feito dividindo cada elemento da linha PIVÔ pelo número
encontrado no cruzamento, ou seja, 4.
4
0 2 4 1 0 0 10
: 4 0 0,5 1 0,25 0 0 2,5 NLP
8º Passo: Calcular as novas linhas.
O método é multiplicar a NLP pelo número oposto do nº na função
objetivo existente na coluna que entra. Observemos que o nº é (-5), então
o oposto é (+5). O resultado da multiplicação é então somado a 1ª linha
da tabela e então é calculada a nova 1ª Linha.
Método Simplex
8º Passo: Calcular as novas linhas.
O método é multiplicar a NLP pelo número oposto do nº na função
objetivo existente na coluna que entra. Observemos que o nº é (-5), então
o oposto é (+5). O resultado da multiplicação é então somado a 1ª linha
da tabela e então é calculada a nova 1ª Linha.
NLP
Resultado Mult.
1ª Linha da Tab.
Nova 1ª Linha.
A segunda linha da nova tabela é a própria linha PIVÔ, implica que a próxima
linha a ser calculada será a nova 3ª Linha.
0 0,5 1 0,25 0 0 2,5
X (5) 0 2,5 5 1,25 0 0 12,5
+ 1 -3 -5 0 0 0 0
1 -0,5 0 1,25 0 0 12,5
NOVA 1ª LINHA
Método Simplex
NOVA 3ª LINHA
Seguindo o mesmo padrão de cálculo da 1ª linha, a 3ª linha é encontrada
multiplicando a Nova Linha Pivô (NLP) pelo oposto existente na 3ª Linha, na
coluna que entra. O nº é 1 e o oposto é -1. O resultado é somado com a antiga 3ª
linha. Após esta soma, encontra-se a nova 3ª Linha.
NLP
Resultado Mult.
3ª Linha da Tab.
Nova 3ª Linha.
0 0,5 1 0,25 0 0 2,5
X (-1) 0 -0,5 -1 -0,25 0 0 -2,5
+ 0 6 1 0 1 0 20
0 5,5 0 -0,25 1 0 17,5
Método Simplex
NOVA 4ª LINHA
Seguindo o mesmo padrão de cálculo da 3ª linha, a 4ª linha é encontrada
multiplicando a Nova Linha Pivô (NLP) pelo oposto existente na 4ª Linha, na
coluna que entra. O nº é -1 e o oposto é +1. O resultado é somado com a antiga 4ª
linha. Após esta soma, encontra-se a nova 4ª Linha.
NLP
Resultado Mult.
4ª Linha da Tab.
Nova 4ª Linha.
0 0,5 1 0,25 0 0 2,5
X (+1) 0 0,5 1 0,25 0 0 2,5
+ 0 1 -1 0 0 1 30
0 1,5 0 0,25 0 1 32,5
Método Simplex
10º Passo: Apresentar a solução:
Z X1 X2 XF1 XF2 XF3 b
1 -0,5 0 1,25 0 0 12,5 1ª Linha
0 0,5 1 0,25 0 0 2,5 2ª Linha
0 5,5 0 -0,25 1 0 17,5 3ª Linha
0 1,5 0 0,25 0 1 32,5 4ª Linha
Z X1 X2 XF1 XF2 XF3 b
1 -0,5 0 1,25 0 0 12,5
0 0,5 1 0,25 0 0 2,5
0 5,5 0 -0,25 1 0 17,5
0 1,5 0 0,25 0 1 32,5
1 0 0
0 1 0
0 0 1
Matriz Solução
VARIÁVEIS BÁSICAS
X2 = 2,5
XF2 = 17,5
XF3 = 32,5
VARIÁVEIS NÃO BÁSICAS
X1 = 0
XF1 = 0
VALOR DE Z
Z = 12,5
A SOLUÇÃO NÃO É ÓTIMA PORQUE AINDA APARECE Nº NEGATIVO NA FUNÇÃO
OBJETIVO (X1 = -0,5), NESTE CASO, TEMOS QUE RECALCULAR.
9º Passo: Reescrever a tabela com as novas linhas calculadas.
Método Simplex
NOVA ETAPA – RECÁLCULO DA TABELA
Entra
Z X1 X2 XF1 XF2 XF3 b
1 -0,5 0 1,25 0 0 12,5
0 0,5 1 0,25 0 0 2,5
0 5,5 0 -0,25 1 0 17,5 Sai
0 1,5 0 0,25 0 1 32,5
Objetivo: Desaparecer os nºs negativos em Z
11º Passo: Identificar a variável que entra. O método é procurar o número
negativo de maior valor absoluto na equação da função objetivo.
Observamos (-0,5) em X1.
12º Passo: Identificar a linha que sai (LINHA PIVÔ). O Método é dividir os
valores base pelo número da coluna que entra (Coluna X1).
2,5 / 0,5 = 5
17,5 / 5,5 = 3,18
32,5 / 1,5 = 21,67
Escolher a linha em que o resultado foi o menor positivo.
Observamos que o menor positivo é 3,18 e a linha é a terceira.
Método Simplex
13º Passo: Identificar o elemento PIVÔ.
Este elemento está localizado no cruzamento da coluna que entra com a
linha que sai. Neste caso, o número é
14º Passo: Calcular a nova linha PIVÔ.
O cálculo é feito dividindo cada elemento da linha PIVÔ pelo número
encontrado no cruzamento, ou seja, 5,5.
5,5
0 5,5 0 -0,25 1 0 17,5 Sai
5,5 0,000 1,000 0,000 -0,045 0,182 0,000 3,182 NLP
15º Passo: Calcular as novas linhas.
O método é multiplicar a linha PIVÔ pelo número oposto do nº na função
objetivo existente na coluna que entra. Observemos que o nº é (-0,5),
então o oposto é (+0,5). O resultado da multiplicação é então somado a 1ª
linha da tabela e então é calculada a nova 1ª Linha.
Método Simplex
16º Passo: Calcular as novas linhas.
O método é multiplicar a NLP pelo número oposto do nº na função
objetivo existente na coluna que entra. Observemos que o nº é (-0,5),
então o oposto é (+0,5). O resultado da multiplicação é então somado à 1ª
linha da tabela e então é calculada a nova 1ª Linha.
A próxima linha a ser calculada será a nova 2ª Linha.
5,5 0,000 1,000 0,000 -0,045 0,182 0,000 3,182 NLP
0,5 0 0,5 0 -0,023 0,0909 0 1,5909 Resultado Mult.
+ 1 -0,5 0 1,25 0 0 12,5 Soma com a 1ª Linha
1 0 0 1,2273 0,0909 0 14,091 Nova 1ª Linha
NOVA 1ª LINHA
Método Simplex
17º Passo: Calcular as novas linhas.
O método é multiplicar a NLP pelo número oposto do nº na função
objetivo existente na coluna que entra. Observemos que o nº é (+0,5),
então o oposto é (-0,5). O resultado da multiplicação é então somado à 2ª
linha da tabela e então é calculada a nova 2ª Linha.
A próxima linha a ser calculada será a nova 4ª Linha. É a quarta porque a terceira
e a NOVA LINHA PIVÔ e ela não é recalculada.
NOVA 2ª LINHA
5,5 0,000 1,000 0,000 -0,045 0,182 0,000 3,182 NLP
-0,5 0 -0,5 0 0,0227 -0,091 0 -1,591 Resultado Mult.
+ 0 0,5 1 0,25 0 0 2,5 Soma com a 2ª Linha
0 0 1 0,2727 -0,091 0 0,9091 Nova 2ª Linha
Método Simplex
18º Passo: Calcular as novas linhas.
O método é multiplicar a NLP pelo número oposto do nº na função
objetivo existente na coluna que entra. Observemos que o nº é (+1,5),
então o oposto é (-1,5). O resultado da multiplicação é então somado à 4ª
linha da tabela e então é calculada a nova 4ª Linha.
Após calculada a última linha da tabela, reescrevemos a nova tabela e
observamos se ainda tem algum número negativo na linha da função objetivo.
Se não tiver, identificamos a solução ótima para o problema de programação
linear.
NOVA 4ª LINHA
:5,5 0,000 1,000 0,000 -0,045 0,182 0,000 3,182 NLP
-1,5 0 -1,5 0 0,0682 -0,273 0 -4,773 Resultado Mult.
+ 0 1,5 0 0,25 0 1 32,5 Soma com a 4ª Linha
0 0 0 0,318 -0,273 1 27,73 Nova 4ª Linha
Método Simplex
19º Passo: Rescrever a nova tabela
20º Passo: Apresentar a solução:
1 0 0
0 1 0
0 0 1
Matriz Solução
VARIÁVEIS BÁSICAS
X1 = 3,18
X2 = 0,91
XF3 = 27,73
VARIÁVEIS NÃO BÁSICAS
XF1 = 0
XF2 = 0
VALOR DE Z
Z = 14,09
A solução é ótima, pois não temos mais valores negativos em Z
Z X1 X2 XF1 XF2 XF3 b
1 0 0 1,2273 0,0909 0 14,091 Nova 1ª Linha
0 0 1 0,2727 -0,091 0 0,9091 Nova 2ª Linha
0 1,0 0 -0,045 0,182 0 3,182 NLP
0 0 0 0,318 -0,273 1 27,73 Nova 4ª Linha
Z X1 X2 XF1 XF2 XF3 b
1 0 0 1,2273 0,0909 0 14,091 Nova 1ª Linha
0 0 1,0 0,2727 -0,091 0 0,9091 Nova 2ª Linha
0 1,0 0 -0,045 0,182 0 3,182 NLP
0 0 0 0,318 -0,273 1,0 27,73 Nova 4ª Linha
VARIÁVEIS DE SOLUÇÃO