Quasi-Newton

Existen muchas variaciones o métodos quasi-Newton. En todos ellos la idea es hacer B_k en (1) una aproximación a la Hessiana construyendola a partir de la función y su gradiente utilizando algunos o todos los pasos tomados previamente.

Aca tenemos los pasos que utiliza el método quasi-Newton. El camino es menos directo que para Newton.
Quasi-Newton es el método utilizado por defecto para problemas que no sean sumas de cuadrados

FindMinimumPlot[Cos[x^2 - 3 y] + Sin[x^2 + y^2], {{x, 1}, {y, 1}}]

[Graphics:../HTMLFiles/optimizacion_82.gif]

{{-2., {x1.37638, y1.67868}}, {Steps9, Function13, Gradient13}, ⁃ContourGraphics⁃}

Aca tenemos el número de pasos y evaluaciones de función utilizados para encontrar el mínimo del mismo problema que se utilizó con Newton

First[Timing[Block[{e = 0, s = 0}, {{min, minpoint}, {points}}    = Reap[FindMinimum ... valuationMonitore ++]] ; Print[s, " steps and ", e, " evaluations"]]]]

FindMinimum :: cvmit : Failed to converge to the requested accuracy or precision within 100 iterations. More…

100 steps and 111 evaluations

9.61 Second

La siguiente tabla muestra la opciones que se pueden utilizar con métodos quasi-Newton

opción valor por defecto explicación
''StepMemory'' Automatic cantidad de pasos a recordar al para aproximar la Hessiana, debe ser entero positivo o Automatic
''StepControl'' ''LineSearch'' como controlar los pasos, puede ser : ''LineSearch'', o None

Created by Mathematica  (August 9, 2004)