210 likes | 448 Views
SOLUÇÃO MATRICIAL E MÉTODO SIMPLEX REVISADO Prof. M.Sc. FÁBIO FRANCISCO DA COSTA FONTES Setembro - 2009. SOLUÇÃO MATRICIAL E MÉTODO SIMPLEX REVISADO. Refletindo sobre o método simplex, nota-se que nem todos os elementos do quadro são necessários para obter uma nova solução. Precisamos de:
E N D
SOLUÇÃO MATRICIAL E MÉTODO SIMPLEX REVISADO Prof. M.Sc. FÁBIO FRANCISCO DA COSTA FONTES Setembro - 2009
SOLUÇÃO MATRICIAL E MÉTODO SIMPLEX REVISADO Refletindo sobre o método simplex, nota-se que nem todos os elementos do quadro são necessários para obter uma nova solução. Precisamos de: 1- todos os cj, j ∊ N, para podermos encontrar cs = Min(cj); 2- a coluna ps = (a1s,a2s,a3s,...,ams), que corresponde à variável xs, contendo os elementos necessários para o pivoteamento; 3- os valores de b, o que nos permite obter Min {bi / ais}, ais > o i ∊ M Portanto, valores atualizados das variáveis básicas(após o pivoteamento).
SOLUÇÃO MATRICIAL E MÉTODO SIMPLEX REVISADO Então para um menor esforço computacional, o ideal seria atualizar uma coluna somente quando a variável a ela associado fosse escolhida para entrar na base, ou seja, desejamos uma maneira de obter diretamente o valor dos elementos de uma coluna na iteração n sem que ela tenha sido atualizada nas n – 1 iterações anteriores
SOLUÇÃO MATRICIAL E MÉTODO SIMPLEX REVISADO Dado o problema Max cTx s.a: Ax = b x≥ 0 Onde A é m x n Escolhe-se m variáveis/coluna para serem básicas e supõe-se que estas são as m primeiras. Assim, a matriz A pode ser particionada em:
SOLUÇÃO MATRICIAL E MÉTODO SIMPLEX REVISADO A = [B : N] onde Bmxm e Nmxn-m Mas esta partição induz a partição em X e C dados por xB X = --- CT = [cBT:cNT] xN Daí se obtém Ax = b <==> [B : N]xB --- = b xN BxB + NxN = b
SOLUÇÃO MATRICIAL E MÉTODO SIMPLEX REVISADO Se existe B-1 então B-1BXB + B-1NxN = B-1b Como B-1B = I, então xB +B-1NxN = B-1b ou xB = B-1b – B-1NxN Por outro lado cTx = cBTxB + CNTXN = cBT(B-1b – B-1NxN) + cNTxN = cBTB-1b –CBTB-1NxN+cNTxN = cBTB-1b +(cNT – cBTB-1N)xN
SOLUÇÃO MATRICIAL E MÉTODO SIMPLEX REVISADO Então: cTx = cBTB-1b +(cNT – cBTB-1N)xN xB = B-1b – B-1NxN Fazendo xN = 0 Z=cTx = cBTB-1b xB = B-1b≥0
SOLUÇÃO MATRICIAL E MÉTODO SIMPLEX REVISADO Exemplo para explicação do algoritmo do método simplex revisado Max 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
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= cBT = (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 – Teste de Otimalidade e seleção da variável que entra na base cNT- cBTB-1N=(1 1)-(0 0) 1 0 2 1 =(1 1) 0 1 1 3 Como existe cNi- cBTB-1Ni ≥ 0, então a solução ainda não é ótima. X1 entra na base
SOLUÇÃO MATRICIAL E MÉTODO SIMPLEX REVISADO • Considerando a coluna i que entra na base, temos: xB = B-1b – B-1NixNi Como XB≥ 0 B-1b – B-1NixNi≥ 0 – B-1NixNi ≥- B-1b Como XNi ≥ 0, pois estará entrando na base, então: , com B-1Ni > 0 Quem sai da base é Min { , com B-1Ni > 0}
SOLUÇÃO MATRICIAL E MÉTODO SIMPLEX REVISADO Passo3 – Atualizar b b’ = B-1b = 1 0 2 = 2 0 1 3 3 Passo4 – Determinar a variável que deve sair da base N1 = B-1N1 = 1 0 2 = 2 0 1 1 1 min{b’1/N1¹, b’2/N12}=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ásica IB={1,4} INB={3,2} B= 2 0 N= 1 1 B-1= ½ 0 1 1 0 3 -½ 1 xB = x1 xN = x3 cBT=(1 0) cNT=(0 1) x4x2 Retornar ao Passo2.
SOLUÇÃO MATRICIAL E MÉTODO SIMPLEX REVISADO cNT- cBTB-1N=(0 1)-(1 0) ½ 0 1 1 =(-½½) -½ 1 0 3 x2 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,8 x4 sai da base
SOLUÇÃO MATRICIAL E MÉTODO SIMPLEX REVISADO Passo5 – IB={1,2} INB={3,4} B= 2 1 N= 1 0 B-1= 3/5 -1/5 1 3 0 1 -1/5 2/5 xB = x1 xN = x3 cBT=(1 1) cNT=(0 0) x2 x4 Retornar ao Passo2.
SOLUÇÃO MATRICIAL E MÉTODO SIMPLEX REVISADO cNT- cBTB-1N=(0 0)-(1 1) 3/5 -1/5 1 0 -1/5 2/5 0 1 cNT- 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 3 Z= (2/5 1/5) 2 = 7/5 3
Exemplo 2 Resolva o problema abaixo: Max 3x1 + 5x2 s.a: x1 ≤ 4 x2 ≤ 12 3x1 + 2x2 ≤ 18 x1≥0 e x2≥0
Bibliografia ANDRADE, Eduardo Leopoldino. Introdução à Pesquisa Operacional: Métodos e Modelos Para A Análise de Decisão. Rio de Janeiro: LTC, 1989. Cap. 3, p. 377. MACULAN FILHO, Nelson; PEREIRA, Mário Veiga Ferraz. Programação linear. São Paulo: Atlas, 1980. Cap. 3, p. 182.