simplex para o problema canônico: max sujeito a ax=b e x≥0

23
SIMPLEX Para o problema canônico: Max <c,x> sujeito a Ax=b e x≥0.

Upload: nathalia-lobo-de-mendonca

Post on 07-Apr-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SIMPLEX Para o problema canônico: Max sujeito a Ax=b e x≥0

SIMPLEX

Para o problema canônico:

Max <c,x> sujeito a Ax=b e x≥0.

Page 2: SIMPLEX Para o problema canônico: Max sujeito a Ax=b e x≥0

Iteração do SIMPLEX ideal

• Entrada: base viável ordenada (j1,j2,j3......jm)

• Possíveis saídas (Mutuamente excludentes) :

• 1- Vértice ótimo• 2-Aresta de ilimitação• 3-Base ordenada para a próxima iteração.

Page 3: SIMPLEX Para o problema canônico: Max sujeito a Ax=b e x≥0

Cálculo do vértice associado à base VIÁVEL conhecida (j1,j2,j3......jm);

• Calcule a inversa de base B-1 por B-1= (Aj1,Aj2,Aj3......Ajm)-1 ;

Não esqueça que para o correspondente vértice, vk=0 se k não estiver na base

• Calcule as componentes do vértice que não são obrigatoriamente nulas por:

b´= B-1b e vji= b’i, i=1,2.....m.

Page 4: SIMPLEX Para o problema canônico: Max sujeito a Ax=b e x≥0

Teste de otimalidade:

• Compute a projeção do vetor da função objetivo c em cada arestas emergentes de v,

• ou seja, escreva a função objetivo em termos de variáveis não básicas (quando Ax=b):

<c,x>= < c,v>+ < Γ~,x~> , onde Γ=c-AtB-1tcB...... note que ΓB=0 .

Note que (AtB-1cB)não é bem definido.

Page 5: SIMPLEX Para o problema canônico: Max sujeito a Ax=b e x≥0

Preparo de uma das três possíveis saídas.

• Compute inteligentemente, Γ=c-AtB-1tcB

lembrando que<c,x>= < c,v>+ < Γ~,x~>

para todo x tal que Ax=b

Page 6: SIMPLEX Para o problema canônico: Max sujeito a Ax=b e x≥0

Cálculos ideais em cada iteração:

• Cálculo do vértice associado à base VIÁVEL conhecida (j1,j2,j3......jm);

• Teste de otimalidade;

• Preparo de uma das três possíveis saídas.

Page 7: SIMPLEX Para o problema canônico: Max sujeito a Ax=b e x≥0

Vértice ótimo

• Como<c,x>= < c,v>+ < Γ~,x~>

para todo x tal que Ax=b

e para todo ponto viável Ax=b e x≥0, segue que: Γ=c-AtB-1tcB ≤0 → v, que é viável, é solução do (PLC).

Page 8: SIMPLEX Para o problema canônico: Max sujeito a Ax=b e x≥0

Aresta de ilimitação

• Se existe k tal que:1)ΓK=(Γ=c-AtB-1tcB)K>0

e2)π=B-1Ak≤0Então:

(xB=b’-λπ , xk=λ, xj=0 para j≠k)λ≥0

é semireta de ilimitação do (PLC).

Page 9: SIMPLEX Para o problema canônico: Max sujeito a Ax=b e x≥0

3-Base ordenada para a próxima iteração.

• Se existe k tal que:

1)ΓK=(Γ=c-AtB-1tcB)K>0

e2)π=B-1Ak tem componente positiva, a base

(j1,j2,..,j î-1 ,k, jî-1,.....jm) é viável e sob (HND) está associada a vértice melhor que v.

Page 10: SIMPLEX Para o problema canônico: Max sujeito a Ax=b e x≥0

Iteração do SIMPLEX “real”• Entrada: base viável ordenada (j1,j2,j3......jm) e resultados da iteração anterior (B-1,b’,Γk,π...)

• Possíveis saídas (Mutuamente excludentes) :

• 1- Vértice ótimo• 2-Aresta de ilimitação• 3-Base ordenada para a próxima iteração.

Page 11: SIMPLEX Para o problema canônico: Max sujeito a Ax=b e x≥0

COMO USAR DADOS DA ITERAÇÃO ANTERIOR (forma 1)

• Na forma de tabela (“tableau”) de sistema linear, onde as variáveis dependentes são escritas em termos das independentes.

-

-

-

Page 12: SIMPLEX Para o problema canônico: Max sujeito a Ax=b e x≥0

COMO USAR DADOS DA ITERAÇÃO ANTERIOR (tabular)

• Na forma de tabela (“tableau”) de sistema linear, onde as variáveis dependentes são escritas em termos das independentes.

--o teste de otimalidade recai nesta caracterização e daí surge linha zero .

-

Page 13: SIMPLEX Para o problema canônico: Max sujeito a Ax=b e x≥0

COMO USAR DADOS DA ITERAÇÃO ANTERIOR (tabular)

• Na forma de tabela (“tableau”) de sistema linear, onde as variáveis dependentes são escritas em termos das independentes.

--o teste de otimalidade recai nesta caracterização e daí surge linha zero .

-tableau original: z-ctx=0 -----------1 -c t[ 0 Ax=b ---------- 0 A [ b

-

Page 14: SIMPLEX Para o problema canônico: Max sujeito a Ax=b e x≥0

COMO USAR DADOS DA ITERAÇÃO ANTERIOR (tabular)

• Na forma de tabela (“tableau”) de sistema linear, onde as variáveis dependentes são escritas em termos das independentes.

--o teste de otimalidade recai nesta caracterização e daí surge linha zero .

-tableau original: z-ctx=0 -----------1 -c t[ 0 Ax=b ---------- 0 A [ b

-tableau da base B : z-Γtx =ctv ---------1 -Γt [ctv 0 B-1A[ b’

Page 15: SIMPLEX Para o problema canônico: Max sujeito a Ax=b e x≥0

COMO USAR DADOS DA ITERAÇÃO ANTERIOR (tabular)

-tableau da base B : z-Γtx =ctv ---------1 -Γt [ctv Ax =b 0 B-1A [ b’-

Page 16: SIMPLEX Para o problema canônico: Max sujeito a Ax=b e x≥0

COMO USAR DADOS DA ITERAÇÃO ANTERIOR (tabular)

-tableau da base B : z-Γtx =ctv ---------1 -Γt [ctv Ax =b 0 B-1A [ b’- Na coluna associada a xj temos B-1Aj ;- Em particular na coluna associada à xji temos ei ;

Page 17: SIMPLEX Para o problema canônico: Max sujeito a Ax=b e x≥0

COMO USAR DADOS DA ITERAÇÃO ANTERIOR (tabular)

-tableau da base B : z-Γtx =ctv ---------1 -Γt [ctv Ax =b 0 B-1A [ b’- Na coluna associada a xj temos B-1Aj ;- Em particular na coluna associada à xji temos ei ; - Para a linha zero, na coluna associada a xj

temos -Γ j, sendo que para as básicas Γj =0.

Page 18: SIMPLEX Para o problema canônico: Max sujeito a Ax=b e x≥0

COMO USAR DADOS DA ITERAÇÃO ANTERIOR (tabular)

-tableau da base B : z-Γtx =ctv ---------1 -Γt [ctv Ax =b 0 B-1A [ b’- Na coluna associada a xj temos B-1Aj ;- Em particular na coluna associada à xji temos ei ; - Para a linha zero, na coluna associada a xj

temos -Γ j, sendo que para as básicas Γj =0. - Pivotações.

Page 19: SIMPLEX Para o problema canônico: Max sujeito a Ax=b e x≥0

COMO USAR DADOS DA ITERAÇÃO ANTERIOR (revisado)

• Organização matricial;• Não calcula Γ=c-AtB-1tcB = c- (B-1A)t cB ,

mas sim Γ=c-At (B-1tcB)=c-At λ ,com λ= (B-1cB)daí nome com multiplicadores

Page 20: SIMPLEX Para o problema canônico: Max sujeito a Ax=b e x≥0

COMO USAR DADOS DA ITERAÇÃO ANTERIOR (revisado)

• Organização matricial;• Não calcula Γ=c-AtB-1tcB = c- (B-1A)t cB ,

mas sim Γ=c-At (B-1tcB)=c-At λ,com λ= (B-1tcB)daí nome com multiplicadores

Operação fundamental é a atualização de inversa de base (B-1)

Page 21: SIMPLEX Para o problema canônico: Max sujeito a Ax=b e x≥0

COMO USAR DADOS DA ITERAÇÃO ANTERIOR (revisado)

• Forma didática:atualizar só B-1 e b’;

Page 22: SIMPLEX Para o problema canônico: Max sujeito a Ax=b e x≥0

COMO USAR DADOS DA ITERAÇÃO ANTERIOR (revisado)

• Forma didática:atualizar só B-1 e b’;

• Forma completa:considerar linha zero;

Page 23: SIMPLEX Para o problema canônico: Max sujeito a Ax=b e x≥0

COMO USAR DADOS DA ITERAÇÃO ANTERIOR (revisado)

• Forma didática:atualizar só B-1 e b’;

• Forma completa:considerar linha zero;

• Pivotações