L'algorithme BFGS (voir [7]), dû à Broyden, Fletcher, Goldfarb et Shanno, est un algorithme de type quasi-Newton où la formule de mise à jour de l'approximation de la hessienne inverse est :
En pratique, on stocke et les paires calculées à chaque étape. En effet, il est trop coûteux de stocker toutes les matrices . L'inconvénient majeur de cet algorithme est le coût de stockage de toutes les paires , surtout lorsque la dimension du problème est importante (de l'ordre de ).