cÁlculo da inversa da base prof. m.sc. fÁbio francisco da costa fontes setembro - 2009
TRANSCRIPT
CÁLCULO DA INVERSA DA BASE
Prof. M.Sc. FÁBIO FRANCISCO DA COSTA FONTES
Setembro - 2009
O método simplex revisado não computa a inversa B-1 da base diretamente. A primeira base considerada é sempre uma matriz identidade:
B = IB-1 = I
A partir dessa base, as demais são calculadas por um procedimento computacional, que será mostrado a seguir.
Cálculo da inversa da base
Cálculo da inversa da base
Seja uma matriz identidade representada por:
Im = (e1, e2 , ... , em)
Onde ei são vetores identidade, com o elemento 1 na linha i.Sejam xe a variável que entra na base e xs a variável que sai. A próxima inversa da base pode ser calculada, a partir da inversa atual, fazendo-se a seguinte operação:
Cálculo da inversa da base
B-1nova = E . B-1
Onde a matriz E é dada por
E = (e1 , e2 , ... , es-1 , δ , es+1 , ... , em)
e o vetor δ é formado da seguinteforma:
Cálculo da inversa da base
- a1e/ ase
- a2e/ ase
: :δ = 1/ ase
: : - ame/ ase
Onde aie são os coeficientes atualizados na iteração K da variável que está entrando na base, ou seja, da variável xe, e ase é o pivô.
Cálculo da inversa da baseAssim, a matriz E é uma matriz identidade ondea coluna s foi substituída pelo vetor calculadoacima.
Através deste procedimento, as inversas dasbases serão calculadas sucessivamente de umaforma computacionalmente simples.
SIMPLEXExemplo para explicação do algoritmo
do método simplex revisadoMax x1 + x2 Max x1 + x2
s.a: 2x1 + x2 ≤2 s.a: 2x1+x2 + x3=2
x1 + 3x2 ≤ 3 x1+3x2+x4=3
x1≥0 e x2≥0 x1,x2,x3,x4≥0
simplex
x1 x2 x3 x4 b x3 2 1 1 0 2 ½ 0 0 x4 1 3 0 1 3 E= -½ 1 0 1 1 0 0 0 -½ 0 1 x1 1 ½ ½ 0 1 1 -1/5 0 x4 0 5/2 -½ 1 2 0 2/5 0 0 ½ -½ 1 -1 0 -1/5 1
simplex
x1 1 0 3/5 -1/5 3/5 x2 0 1 -1/5 2/5 4/5 0 0 -2/5 -1/5 -7/5
simplex
O mesmo exemplo sendo resolvido de forma matricial temos:
SOLUÇÃO MATRICIAL E MÉTODO SIMPLEX
REVISADO
Passo1- solução básica inicial 2 1 1 0 IB={3,4} INB={1,2}A= cB
T = (0 0) xB = x3
1 3 0 1 cNT = (1 1) x4
xN = x1
N= 2 1 B=B-1= 1 0 b= 2 x2
1 3 0 1 3
SOLUÇÃO MATRICIAL E MÉTODO SIMPLEX
REVISADO
Passo2 –
cNT- cB
TB-1N=(1 1)-(0 0) 1 0 2 1 =(1 1)
0 1 1 3 Como existe cNi- cB
TB-1Ni ≥ 0, então a solução ainda não é ótima.
X1 entra na base
SOLUÇÃO MATRICIAL E MÉTODO SIMPLEX
REVISADOPasso3 –b’ = B-1b = 1 0 2 = 2 0 1 3 3Passo4 –
N1 = B-1N1 = 1 0 2 = 2 0 1 1 1min{b’1/N1¹, b’2/N1
2}=min{2/2, 3/1}=1
X3 sai da base
SOLUÇÃO MATRICIAL E MÉTODO SIMPLEX
REVISADO
Passo5 – Achar a nova solução BásicaIB={1,4} INB={3,2}
B= 2 0 N= 1 1 XB = x1
1 1 0 3 x4
xN = x3 cB
T=(1 0) cNT=(0 1) x2
Como a troca foi de x1 com x3, então em B os coeficientes que estão entrando na base são:
Como B-1nova = E . B-1
B-1
nova =
11
02B
O pivô
1
2
1
02
1
10
01
12
1
02
1
N1
Retornando ao Passo2.
SOLUÇÃO MATRICIAL E MÉTODO SIMPLEX
REVISADO
cNT- cB
TB-1N=(0 1)-(1 0) ½ 0 1 1 =(-½ ½)
-½ 1 0 3x2 entra na base
Passo3 –b’= B-1b = ½ 0 2 = 1 -½ 1 3 2
SOLUÇÃO MATRICIAL E MÉTODO SIMPLEX
REVISADO
Passo4 –N² = B-1N²= ½ 0 1 = ½ -½ 1 3 5/2
min{b’/N1², b’/N2²}min{1/(½), 2/(5/2)}=0,8x4 sai da base
SOLUÇÃO MATRICIAL E MÉTODO SIMPLEX
REVISADO
Passo5 –IB={1,2} INB={3,4}B= 2 1 N= 1 0 1 3 0 1 xB = x1 xN = x3
x2 x4
cBT=(1 1) cN
T=(0 0)
Como a troca foi de x2 com x4, então em B os coeficientes que estão entrando na base são:
Como B-1nova = E . B-1
B-1
nova =
2
51
2
12
BO pivô
5
2
5
15
1
5
3
12
1
02
1
5
20
5
11
N2
Retornando ao Passo2.
SOLUÇÃO MATRICIAL E MÉTODO SIMPLEX
REVISADO
cNT- cB
TB-1N=(0 0)-(1 1) 3/5 -1/5 1 0
-1/5 2/5 0 1cN
T- cBTB-1N =(-2/5 -1/5)
Como não existe cNi- cBTB-1Ni ≥ 0,
então a solução é ótima.Calcular xB e Z
SOLUÇÃO MATRICIAL E MÉTODO SIMPLEX
REVISADO
xB = B-1b
xB = 3/5 -1/5 2 = 3/5
-1/5 2/5 3 4/5
Z=cBTB-1b= (1 1) 3/5 -1/5 2
-1/5 2/5 3Z= (2/5 1/5) 2 = 7/5 3
exercício
Max Z = x1 + x2
S.a: 2x1 + x2 ≤ 2 6x1 + x2 ≤ 3 x1, x2 ≥ 0
Algoritmo Simplex Revisado Inicialização: Determine uma partição para a matriz A dada por A=[B : N] e em
conseqüência para cT=[cBT : cN
T] e xT=[xBT:xN
T], B-1 = B logica verdade Enquanto (logica) faça //teste de otimalidade// Se (cN
T - cBTB-1Nj) < = 0
logicafalso Senão b’ B-1b N j B-1Nj
Se Nij < = 0 i=1,...,m
Escreva(“Saida p/ ilimitação”) halt Senão Min{b’i / Ni
j tal que Nij > 0)}
Atualize A, cT e xT
E (e1, e2, ...,er-1, δ, er+1, ..., em) B-1 E.B-1
Fim se Fim se Fim enquanto xB B-1b Z cB
T xB escreva (Z, xB) Fim