Metoda Nelder-Mead

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Metoda Nelder-Mead , cunoscută și sub numele de metoda simplex (nu trebuie confundată cu metoda omonimă de programare liniară ) sau metoda amoeba , este o metodă de optimizare neliniară a funcțiilor definite pe un domeniu n- dimensional. Este o metodă euristică de căutare care poate converge către puncte nestacionare [1] în cazul problemelor care pot fi rezolvate cu metode alternative. [2] Metoda poartă numele matematicienilor John Nelder și Roger Mead, care au publicat-o în 1965. [3]

Considerent general

Aplicarea metodei Nelder-Mead la funcția Rosenbrock .
Aplicarea metodei Nelder-Mead la funcția Himmelblau .

Metoda nu folosește derivate și se bazează pe conceptul de simplex , un anumit tip de politop cu n + 1 vârfuri într-un spațiu n-dimensional; exemple de simplex sunt un segment într-o linie, un triunghi în plan, un tetraedru în spațiu etc. Metoda aproximează optimul local al unei probleme în n variabile atunci când funcția obiectivă este netedă și unimodală.

Metoda generează o nouă poziție de test prin extrapolarea comportamentului funcției obiective evaluate în fiecare punct al domeniului la vârfurile unui simplex. Algoritmul alege apoi unul dintre aceste puncte, pentru a fi înlocuit cu un punct nou. Cel mai simplu pas este înlocuirea punctului cel mai îndepărtat de optim cu centroidul celor n puncte rămase: dacă evaluarea în noul punct este mai bună decât punctul curent, căutarea se continuă cu tendința exponențială în direcția identificată de punct, în caz contrar, este căutat în direcția unui punct care oferă o evaluare mai bună.

Spre deosebire de metodele moderne de optimizare, metoda Nelder - Mead poate converge pe puncte nestacionare dacă problema nu satisface condiții mai puternice. [1] Metoda a fost îmbunătățită semnificativ din 1979. [2]

Există mai multe variante ale metodei, în funcție de natura problemei de rezolvat. O tehnică comună implică utilizarea unui mic simplex de amplitudine constantă care urmează aproximativ direcția gradientului (care reprezintă direcția de variație maximă a funcției).

Formularea posibilă a metodei Nelder-Mead

  • 1. Sortarea în funcție de valoarea funcției în vârfurile simplexului:
  • 2. Calculul centrului de greutate a vârfurilor excluse .
  • 3. Reflecție
Se calculează al doilea punct reflex
Dacă punctul reflex este mai bun decât penultimul cel mai rău punct, dar nu mai valabil decât cel mai bun punct, de exemplu: ,
atunci se determină un nou simplex prin înlocuirea celui mai rău punct cu punctul reflex , și reveniți la pasul 1.
  • 4. Extindere
Dacă punctul care a fost reflectat este cel mai bun, con atunci se calculează al doilea punct extins
Dacă punctul extins astfel găsit este mai bun decât punctul reflectat, al doilea , atunci un nou simplex este determinat prin înlocuirea celui mai rău punct cu punctul obținut în expansiune și reveniți la pasul 1.
În caz contrar, un nou simplex este determinat prin înlocuirea celui mai rău punct cu punctul reflex , și reveniți la pasul 1.
În cazul rămas, când, de exemplu, punctul obținut din reflexie nu este mai bun decât penultimul punct cel mai rău, treceți la pasul 5.
  • 5. Contracția
Cu siguranță am ajuns la acest punct
Se determină un punct de contracție
Dacă punctul de contracție este mai bun decât cel mai rău punct, de ex. , atunci un nou simplex este determinat prin înlocuirea celui mai rău punct cu punctul de contracție , și reveniți la pasul 1.
În caz contrar, continuați cu pasul 6.
  • 6. Reducere
Toate punctele, cu excepția celor mai bune, sunt înlocuite cu
apoi reveniți la pasul 1.

Notă : , , Și sunt respectiv coeficienții de reflexie, expansiune, contracție și reducere. Valorile cele mai des utilizate sunt , , Și .

Pentru reflecție, a fi vârful asociat cu valoarea mai mare, ne așteptăm să găsim o valoare mai mică în reflectarea lui în fața opusă formată din toate vârfurile excluzând . Pentru expansiune, dacă punctul reflex este noul minim dintre vârfurile din care ne așteptăm să găsim valori interesante în direcția de la la . În ceea ce privește contracția, dacă se așteaptă o valoare mai bună în cadrul simplexului format de vârfuri . În cele din urmă, reducerea tratează cazul rar în care contracția crește valoarea , ceea ce nu este probabil să se întâmple atunci când cineva este suficient de aproape de un punct minim non-singular. Determinarea simplexului inițial este importantă, deoarece un simplex inițial prea mic poate duce la o căutare locală, crescând riscul de eșec. Din acest motiv, simplexul inițial trebuie construit cu atenție și acordând atenție naturii problemei.

Notă

  1. ^ a b
  2. ^ a b
  3. ^ John A. Nelder, R. Mead, O metodă simplex pentru minimizarea funcției , în Computer Journal , vol. 7, 1965, pp. 308-313, DOI : 10.1093 / comjnl / 7.4.308 .

Bibliografie

  • Avriel, Mordecai (2003). Programare neliniară: analiză și metode. Editura Dover. ISBN 0-486-43227-0 .
  • Coope, ID; CJ Price, 2002. „Bazele pozitive în optimizarea numerică”, Computational Optimization & Applications , Vol. 21, No. 2, pp. 169–176, 2002.
  • WH Press, SA Teukolsky, WT Vetterling și BP Flannery, secțiunea 10.5. Downhill Simplex Method in Multidimensions , in Numerical Recipes: The Art of Scientific Computing , 3rd, New York, Cambridge University Press, 2007, ISBN 978-0-521-88068-8 .

Alte proiecte

linkuri externe

Matematica Portalul de matematică : accesați intrările Wikipedia care se ocupă de matematică