Você está na página 1de 5

Anlise do algoritmo SIMPLEX (Nelder & Mead)

A anlise que ser feita nestas notas ser para minimizao de uma funo de duas variveis, por facilitar o entendimento do algoritmo, no comprometendo o caso de mais variveis. Neste caso o simplex um triangulo e inicialmente os seus vrtices devem ser estimados. A funo calculada para os valores das variveis independentes, que aqui chamaremos de x1 e x2, nos vrtices do triangulo, obtendo-se os trs valores ym , yg e yp. Ym - menor valor. Yp - maior valor. Yg - valor intermedirio. Os pontos (x1,x2) em cada vrtice sero designados como xm,xg e XP. xm - o par de valores (x1,x2) correspondente a ym. xg - o par de valores (x1,x2) correspondente a yg. xP - o par de valores (x1,x2) correspondente a yp.

xm xc

xp

xg

O ponto mdio entre xm e xg ser chamado de xc.

Incio do loop. Verificar a convergncia (critrio no final destas notas). Se convergiu, sai do loop.

Reflexo do ponto xp, sobre a reta que passa por xp e xc. xr = (1+).xc .xp

xm xc

xr

xp

xg

A funo (yr), calculada em xr. Existem ento duas situaes: a - yr maior que ym. Este caso ser analisado depois. b yr menor que ym. Neste caso, a direo est certa e deve-se avanar fazendo uma expanso na tentativa de se aproximar mais do mnimo.

xe = .xr + (1-).xc xe
xm xc xr

xg

A funo (ye) calculada em xe. Existem ento duas situaes:

c ye menor que ym. Neste caso houve melhora na busca do mnimo e o novo simplex definido por xm, xg e xe. Voltar para o incio do loop.

d ye maior que ym. No houve melhora na busca do mnimo e o novo simplex definido por xm, xg e xr. Voltar para o incio do loop. Anlise do item a. (yr maior que ym). e - yr menor que yg. Embora yr maior que ym, a reflexo ainda aceita e o novo simplex definido por xm, xg e xr. Voltar para o incio do loop. f yr maior que yg. Aqui existem duas situaes: g yr menor que yp. O novo simplex definido por xm, xg e XP onde XP foi substitudo por xr e deve ser feita uma compresso. Pular para o item i. h yr maior que yp. Neste caso a reflexo piorou a busca e o novo simplex definido por xm, xg e xp e deve ser feita uma compresso. i xcomp = .xp + (1-).xc

xm

xc xcomp

xp

xg

A funo (ycomp) calculada em xcomp. J ycomp menor que yp. Substituir xp por xcomp e o novo simplex determinado por xm, xg e XP. Voltar para o incio do loop. k ycomp maior que yp. Substituir: xg por (xg+xm)/2 xp por (xp+xm)/2

O novo simplex definido por xm, xg e xp. Voltar para o incio do loop.

Nesta implementao =1, =0.5 e =2

O critrio de convergncia usado : tolc menor ou igual a uma tolerancia admitida (1.0e-06) Com tolc = sqrt( (yi-ymedio)2/n)

Yi funo em cada vrtice do tringulo.

Você também pode gostar