Algoritmul Broyden-Fletcher-Goldfarb-Shanno

Algoritmul  Broyden-Fletcher-Goldfarb-Shanno (BFGS) este o metodă de optimizare numerică iterativă concepută pentru a găsi maximul/minimul local al unei funcționale neliniare fără restricții.

BFGS este una dintre cele mai utilizate metode cvasi-newtoniene . În metodele cvasi-newtoniene, Hessianul funcției nu este calculat direct . În schimb, Hessianul este estimat aproximativ, pe baza demersurilor întreprinse până acum. Există, de asemenea, o modificare limitată de memorie a acestei metode ( L-BFGS ), care este concepută pentru a rezolva probleme neliniare cu un număr mare de necunoscute, precum și o modificare limitată de memorie într-un cub multidimensional ( L-BFGS-B ) .

Această metodă găsește minimul oricărei funcții convexe diferențiabile de două ori continuu. În ciuda acestor limitări teoretice, experiența a arătat că BFGS gestionează bine și funcțiile neconvexe.

Descriere

Să fie rezolvată sarcina de optimizare a funcționalului:

Metodele de ordinul doi rezolvă această problemă în mod iterativ, prin extinderea funcției într-un polinom de gradul doi:

unde  este Hessianul funcționalului în punctul . Adesea, calculul Hessianului este laborios, astfel încât algoritmul BFGS în loc de valoarea reală calculează valoarea aproximativă a lui , după care găsește minimul problemei pătratice obținute:

De regulă, după aceasta, se efectuează o căutare pe o direcție dată pentru un punct pentru care sunt îndeplinite condițiile Wolfe .

Orice matrice nedegenerată, bine condiționată poate fi luată ca aproximare inițială a Hessianului. Adesea este luată matricea de identitate . Valoarea aproximativă a Hessianului în pasul următor este calculată prin formula:

unde  este matricea de identitate,  este pasul algoritmului pe iterație,  este modificarea gradientului pe iterație.

Deoarece calcularea matricei inverse este dificilă din punct de vedere computațional, în loc să se calculeze , matricea inversă este actualizată :

unde .

Algoritm

dat initialize while     find direction     compute , satisface conditiile lui Wolfe     designate si     compute end







   

Literatură

  1. Nocedal, George; Wright, Stephen J. Optimizare numerică. — ediția a II-a. — SUA: Springer, 2006. — ISBN 978-0-387-30303-1 .
  2. Avriel, Mardoheu. Programare neliniară: analiză și metode. - Editura Dover, 2003. - ISBN 0-486-43227-0 .