Bonsoir à tous,
Je me lance dans l'apprentissage de la méthode BFGS (Broyden-Fletcher-Goldfarb-Shanno), qui est une méthode d'optimisation.
Voici l'algorithme que j'utilise:
BFGS.png
Je souhaite utiliser le BFGS afin de trouver le vecteur de solutions x* de la fonction suivante:
f(x)= e(x1-1)- e(-x2+1)+(x1-x2)2
Voici le détail de mon calcul des deux premières itérations:
BFGS-Calcul_2.pdf
Au fil des itérations, il apparaît bien que le résultat converge vers deux valeurs x1 et x2. Le problème est que ce ne sont pas les bonnes !
Voici les résultats des valeurs x1 et x2 des 10 premières itérations:
ITERATION 1 X1 0 X2 0
ITERATION 2 X1 -0,092 X2 0,68
ITERATION 3 X1 1,014 X2 1,264
ITERATION 4 X1 0,75 X2 1,164
ITERATION 5 X1 0,782 X2 1,176
ITERATION 6 X1 0,79 X2 1,19
ITERATION 7 X1 0,785 X2 1,195
ITERATION 8 X1 0,794 X2 1,203
ITERATION 9 X1 0,796 X2 1,204
ITERATION 10 X1 0,796 X2 1,204
Je cherche donc à quel endroit j'aurais pu faire une erreur. Peut-être dans la recherche linéaire ?
J'ai l'impression de tourner en rond et de ne pas avancer en cherchant cette erreur. Je me dis qu'un œil neuf pourrait m'être utile !
Je remercie d'avance ceux qui prendront le temps de se pencher sur mon problème.
Bonne soirée
Léo
-----