COMPLEX : Uma evolução do SIMPLEX

24
COMPLEX : Uma evolução do SIMPLEX Otimização de Processos COQ – 897 PEQ/COPPE/UFRJ

description

COMPLEX : Uma evolução do SIMPLEX. Otimização de Processos COQ – 897 PEQ/COPPE/UFRJ. Método SIMPLEX. Spendley et al., Technometris, 4 (p.441),1962 Idéia simples e robusta Fácil implementação. Elementos do SIMPLEX. Elementos definidos para problemas em várias dimensões - PowerPoint PPT Presentation

Transcript of COMPLEX : Uma evolução do SIMPLEX

Page 1: COMPLEX : Uma evolução do SIMPLEX

COMPLEX : Uma evolução do SIMPLEX

Otimização de ProcessosCOQ – 897

PEQ/COPPE/UFRJ

Page 2: COMPLEX : Uma evolução do SIMPLEX

Método SIMPLEX

• Spendley et al., Technometris,4 (p.441),1962

• Idéia simples e robusta• Fácil implementação

Page 3: COMPLEX : Uma evolução do SIMPLEX

Elementos do SIMPLEX

• Elementos definidos para problemas em várias dimensões

• Número de vértices do SIMPLEX equivale ao número de dimensões mais 1

Page 4: COMPLEX : Uma evolução do SIMPLEX

Passos no SIMPLEX

• Avanço na direção colinear àquela que é definida pelo pior ponto e pelo centróide, no sentido oposto;

• Reflexão do ponto xW tendo como linha de base a aresta xBxN.

xW

xB

xN

xCxR

Page 5: COMPLEX : Uma evolução do SIMPLEX

Localização do Centróide

• Localização vetorial do centróide

• Corresponde ao ponto médio no espaço vetorial

xW

xB

xN

xC

n

xBxNxWxC

n = número de vértices do simplex

Page 6: COMPLEX : Uma evolução do SIMPLEX

Avanço na direção escolhida

• O novo ponto corresponderá a diferença dos vetores vezes coeficiente de avanço, tendo como ponto de partida o centróide

• Abandona-se sempre o pior ponto avaliado pela Fobj

xW

xB

xN

xC

xC -xWalfa(xC -xW)

xC + alfa (xC - xW)

Page 7: COMPLEX : Uma evolução do SIMPLEX

Otimização com o SIMPLEX

• Varredura na direção do ponto de ótimo

Page 8: COMPLEX : Uma evolução do SIMPLEX

Problemas no SIMPLEX

• Regra de avanço rígida

• Pouco refinamento da solução

Page 9: COMPLEX : Uma evolução do SIMPLEX

Método COMPLEX

• Nelder, A.J. & Mead, R., The Computer Journal, 3 (p.308), 1965

• O poliedro que representa o SIMPLEX poderá ser não regular

• Possibilidade de adicionar vértices extras

Page 10: COMPLEX : Uma evolução do SIMPLEX

Elementos do COMPLEX

• Elementos irregulares que avançam mais rapidamente nas direções mais vantajosas

Page 11: COMPLEX : Uma evolução do SIMPLEX

Passos no COMPLEX

• Reflexão (=SIMPLEX)• Expansão• Contração Positiva• Contração Negativa

Page 12: COMPLEX : Uma evolução do SIMPLEX

Alg

orit

mo

do C

OM

PL

EX

Inicia a Otimização

Construção doSIMPLEX

Avaliação ,ordenamento dosvalores da Fobj edeterminação do

centróide

Reflexão

xR é melhorque xB ?

xR é melhorque xN ?

xR é melhorque xW ?

Tolerânciaalcançada ?

Expansão

xE é melhorque xR ?

xW = xE xW = xR xW = xC

Termina

xR = xC +alfa( xC -xW )

xE = xC +gama( xC -xW )

Contração nadireção positiva

Contração nadireção negativa

Sim

Não

Sim

Não

Sim

Não

Sim

Não

Sim

Não

xC = xC +beta( xC -xW )

xC = xC -beta( xC -xW )

gama > 1

alfa = 1

0 < beta < 1

Page 13: COMPLEX : Uma evolução do SIMPLEX

Função Teste22

2121 ),( xxxxu

Page 14: COMPLEX : Uma evolução do SIMPLEX

-10 -8 -6 -4 -2 0 2 4 6 8 10-10

-8

-6

-4

-2

0

2

4

6

8

10

start pointoptimum

Solução na MatLab com o COMPLEX

Page 15: COMPLEX : Uma evolução do SIMPLEX

Função de Rosenbrock• Função “banana”: 2

122

1221 )1()(100),( xxxxxu

Page 16: COMPLEX : Uma evolução do SIMPLEX

-20

-10

0

10

20

-150

-100

-50

0

50

100

150

Gráfico de Níveis da Função “banana”

Page 17: COMPLEX : Uma evolução do SIMPLEX

Solução no MatLab – “banana”• Rotina programada pelo Prof. Argimiro

-20 -15 -10 -5 0 5 10 15 20-20

-15

-10

-5

0

5

10

15

20start pointoptimum

Page 18: COMPLEX : Uma evolução do SIMPLEX

Desempenho: COMPLEX — “banana”

  Nº de avaliações da Fobj

PontoInicial

Rosenbrock COMPLEX

(10,10) 273 304

(-10,10) 279 283

(-10,-10) 479 187

(10,-10) 543 198

Page 19: COMPLEX : Uma evolução do SIMPLEX

Função Alpina212121 )()(),( xxxsinxsinxxu

Page 20: COMPLEX : Uma evolução do SIMPLEX

Solução no MatLab - Alpina• Rotina programada pelo Prof. Argimiro

0 1 2 3 4 5 6 7 8 9 100

1

2

3

4

5

6

7

8

9

10start pointoptimum

Page 21: COMPLEX : Uma evolução do SIMPLEX

4.5 5 5.5 6 6.5 7 7.5 8 8.5 9

3.5

4

4.5

5

5.5

6

6.5start pointoptimum

Região da Solução - Alpina

Page 22: COMPLEX : Uma evolução do SIMPLEX

Mais de perto ...

7.2 7.4 7.6 7.8 8 8.2 8.4 8.6

4.2

4.4

4.6

4.8

5

5.2

5.4

5.6

5.8start pointoptimum

Page 23: COMPLEX : Uma evolução do SIMPLEX

Avaliação do Número de Vértices Extras22

2121 ),( xxxxu

-10 -8 -6 -4 -2 0 2 4 6 8 10-10

-8

-6

-4

-2

0

2

4

6

8

10start pointoptimum

r=0; nS=125

-10 -8 -6 -4 -2 0 2 4 6 8 10-10

-8

-6

-4

-2

0

2

4

6

8

10start pointoptimum

r=1; nS=167

-10 -8 -6 -4 -2 0 2 4 6 8 10-10

-8

-6

-4

-2

0

2

4

6

8

10start pointoptimum

r=2; nS=208 r=3; nS=258

-10 -8 -6 -4 -2 0 2 4 6 8 10-10

-8

-6

-4

-2

0

2

4

6

8

10start pointoptimum

Page 24: COMPLEX : Uma evolução do SIMPLEX

Conclusões

• Método Robusto• Eficiência comparável aos demais métodos diretos• Testes com os fatores alfa, beta e gama mostraram

que o número de avaliações da função objetivo altera-se significativamente

• Aumentar o número de vértices não ofereceu vantagens imediatas

• Excelente capacidade de refino da solução