SIMPLEX Para o problema canônico: Max sujeito a Ax=b e x≥0.
-
Upload
nathalia-lobo-de-mendonca -
Category
Documents
-
view
217 -
download
0
Transcript of SIMPLEX Para o problema canônico: Max sujeito a Ax=b e x≥0.
![Page 1: SIMPLEX Para o problema canônico: Max sujeito a Ax=b e x≥0.](https://reader035.fdocument.pub/reader035/viewer/2022070508/5706386f1a28abb823906d38/html5/thumbnails/1.jpg)
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.](https://reader035.fdocument.pub/reader035/viewer/2022070508/5706386f1a28abb823906d38/html5/thumbnails/2.jpg)
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.](https://reader035.fdocument.pub/reader035/viewer/2022070508/5706386f1a28abb823906d38/html5/thumbnails/3.jpg)
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.](https://reader035.fdocument.pub/reader035/viewer/2022070508/5706386f1a28abb823906d38/html5/thumbnails/4.jpg)
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.](https://reader035.fdocument.pub/reader035/viewer/2022070508/5706386f1a28abb823906d38/html5/thumbnails/5.jpg)
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.](https://reader035.fdocument.pub/reader035/viewer/2022070508/5706386f1a28abb823906d38/html5/thumbnails/6.jpg)
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.](https://reader035.fdocument.pub/reader035/viewer/2022070508/5706386f1a28abb823906d38/html5/thumbnails/7.jpg)
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.](https://reader035.fdocument.pub/reader035/viewer/2022070508/5706386f1a28abb823906d38/html5/thumbnails/8.jpg)
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.](https://reader035.fdocument.pub/reader035/viewer/2022070508/5706386f1a28abb823906d38/html5/thumbnails/9.jpg)
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.](https://reader035.fdocument.pub/reader035/viewer/2022070508/5706386f1a28abb823906d38/html5/thumbnails/10.jpg)
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.](https://reader035.fdocument.pub/reader035/viewer/2022070508/5706386f1a28abb823906d38/html5/thumbnails/11.jpg)
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.](https://reader035.fdocument.pub/reader035/viewer/2022070508/5706386f1a28abb823906d38/html5/thumbnails/12.jpg)
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.](https://reader035.fdocument.pub/reader035/viewer/2022070508/5706386f1a28abb823906d38/html5/thumbnails/13.jpg)
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.](https://reader035.fdocument.pub/reader035/viewer/2022070508/5706386f1a28abb823906d38/html5/thumbnails/14.jpg)
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.](https://reader035.fdocument.pub/reader035/viewer/2022070508/5706386f1a28abb823906d38/html5/thumbnails/15.jpg)
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.](https://reader035.fdocument.pub/reader035/viewer/2022070508/5706386f1a28abb823906d38/html5/thumbnails/16.jpg)
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.](https://reader035.fdocument.pub/reader035/viewer/2022070508/5706386f1a28abb823906d38/html5/thumbnails/17.jpg)
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.](https://reader035.fdocument.pub/reader035/viewer/2022070508/5706386f1a28abb823906d38/html5/thumbnails/18.jpg)
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.](https://reader035.fdocument.pub/reader035/viewer/2022070508/5706386f1a28abb823906d38/html5/thumbnails/19.jpg)
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.](https://reader035.fdocument.pub/reader035/viewer/2022070508/5706386f1a28abb823906d38/html5/thumbnails/20.jpg)
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.](https://reader035.fdocument.pub/reader035/viewer/2022070508/5706386f1a28abb823906d38/html5/thumbnails/21.jpg)
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.](https://reader035.fdocument.pub/reader035/viewer/2022070508/5706386f1a28abb823906d38/html5/thumbnails/22.jpg)
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.](https://reader035.fdocument.pub/reader035/viewer/2022070508/5706386f1a28abb823906d38/html5/thumbnails/23.jpg)
COMO USAR DADOS DA ITERAÇÃO ANTERIOR (revisado)
• Forma didática:atualizar só B-1 e b’;
• Forma completa:considerar linha zero;
• Pivotações