En análisis numérico , un método cuasi-Newton es un método numérico iterativo que se utiliza para encontrar ceros o máximos y mínimos locales de funciones mediante una fórmula de recurrencia iterativa muy similar a la del método de Newton , con la diferencia de que utiliza aproximaciones de las derivadas de las funciones en lugar de derivadas exactas. El método de Newton requiere la matriz jacobiana de todas las derivadas parciales de una función multivariada cuando se utiliza para buscar ceros, o la matriz hessiana cuando se utiliza para encontrar extremos . Los métodos cuasi-Newton, por otro lado, se pueden utilizar cuando las matrices jacobiana o hessiana no están disponibles o su cálculo en cada iteración resulta impracticable.
Algunos métodos iterativos que se reducen al método de Newton, como la programación cuadrática secuencial , también pueden considerarse métodos cuasi-Newtonianos.
Búsqueda de ceros: cálculo de raíces
Método de Newton para encontrar los ceros de una función.de múltiples variables viene dado por, dóndees la inversa derecha de la matriz jacobianadeevaluado para.
Estrictamente hablando, cualquier método que reemplace el jacobiano exactocon una aproximación es un método cuasi-Newton. [ 1 ] Por ejemplo, el método de cuerdas (dondees reemplazado por(para todas las iteraciones) es un ejemplo sencillo. Los métodos que se presentan a continuación para la optimización se refieren a una subclase importante de los métodos cuasi-Newton, los métodos secantes . [ 2 ]
Utilizar métodos desarrollados para encontrar extremos con el fin de encontrar ceros no siempre es una buena idea, ya que la mayoría de estos métodos requieren que la matriz empleada sea simétrica. Si bien esto se cumple en el contexto de la búsqueda de extremos, rara vez se cumple al buscar ceros. Los métodos "bueno" y "malo" de Broyden son dos métodos comúnmente utilizados para encontrar extremos que también pueden aplicarse para encontrar ceros. Otros métodos que se pueden utilizar son el método de actualización de columnas , el método de actualización de columnas inversa , el método de mínimos cuadrados cuasi-Newton y el método de mínimos cuadrados inversos cuasi-Newton.
Más recientemente, se han aplicado métodos cuasi-Newton para encontrar la solución de múltiples sistemas acoplados de ecuaciones (por ejemplo, problemas de interacción fluido-estructura o problemas de interacción en física). Estos métodos permiten encontrar la solución resolviendo cada sistema constituyente por separado (lo cual es más sencillo que el sistema global) de forma cíclica e iterativa hasta hallar la solución del sistema global. [ 2 ] [ 3 ]
Búsqueda de extremos: optimización
La búsqueda de un mínimo o un máximo de una función escalar está estrechamente relacionada con la búsqueda de los ceros del gradiente de esa función. Por lo tanto, los métodos cuasi-Newton se pueden aplicar fácilmente para encontrar los extremos de una función. En otras palabras, sies el gradiente de, luego buscando los ceros de la función vectorialcorresponde a la búsqueda de los extremos de la función escalar; el jacobino deahora se convierte en el Hessiano deLa principal diferencia radica en que la matriz hessiana es simétrica , a diferencia de la matriz jacobiana, cuando se buscan ceros . La mayoría de los métodos cuasi-Newton utilizados en optimización aprovechan esta simetría.
En optimización , los métodos cuasi-Newton (un caso especial de los métodos de métrica variable ) son algoritmos para encontrar máximos y mínimos locales de funciones . Estos métodos se basan en el método de Newton para hallar los puntos estacionarios de una función, es decir, aquellos donde el gradiente es cero. El método de Newton asume que la función puede aproximarse localmente como una cuadrática en la región cercana al óptimo y utiliza las derivadas primera y segunda para encontrar el punto estacionario. En dimensiones superiores, el método de Newton utiliza el gradiente y la matriz hessiana de las segundas derivadas de la función que se desea minimizar.
En los métodos cuasi-Newton, no es necesario calcular la matriz hessiana. Esta se actualiza analizando sucesivos vectores gradiente. Los métodos cuasi-Newton son una generalización del método de la secante para hallar la raíz de la primera derivada en problemas multidimensionales. En múltiples dimensiones, la ecuación de la secante está subdeterminada , y los métodos cuasi-Newton se diferencian en cómo restringen la solución, generalmente añadiendo una actualización simple de bajo rango a la estimación actual de la matriz hessiana.
El primer algoritmo cuasi-Newton fue propuesto por William C. Davidon , físico del Laboratorio Nacional Argonne . Desarrolló la fórmula de actualización DFP en 1959 , popularizada posteriormente por Fletcher y Powell en 1963, aunque hoy en día se usa con poca frecuencia. Los algoritmos cuasi-Newton más comunes son la fórmula SR1 (de "rango uno simétrico"), el método BHHH , el método BFGS (propuesto independientemente por Broyden , Fletcher , Goldfarb y Shanno en 1970) y su extensión de baja memoria, L-BFGS . La clase de Broyden es una combinación lineal de los métodos DFP y BFGS.
La fórmula SR1 no garantiza que la matriz de actualización sea definida positiva y puede utilizarse para problemas indefinidos. El método de Broyden no requiere que la matriz de actualización sea simétrica y se utiliza para hallar la raíz de un sistema general de ecuaciones (en lugar del gradiente) actualizando el jacobiano (en lugar del hessiano).
Una de las principales ventajas de los métodos cuasi-Newton sobre el método de Newton es que la matriz hessiana (o, en el caso de los métodos cuasi-Newton, su aproximación)no necesita ser invertido. El método de Newton y sus derivados, como los métodos de punto interior , requieren que el hessiano sea invertido, lo que normalmente se implementa resolviendo un sistema de ecuaciones lineales y suele ser bastante costoso. En contraste, los métodos cuasi-Newton generalmente generan una estimación dedirectamente.
Al igual que en el método de Newton , se utiliza una aproximación de segundo orden para encontrar el mínimo de una función.La serie Taylor dealrededor de una iteración es
dónde () es el gradiente yuna aproximación a la matriz hessiana . [ 4 ] El gradiente de esta aproximación (con respecto a) es
y al establecer este gradiente en cero (que es el objetivo de la optimización) se obtiene el paso de Newton:
La aproximación hessianase elige para satisfacer
que se denomina ecuación secante (la serie de Taylor del gradiente mismo). En más de una dimensiónestá subdeterminado . UsandoSerían suficientes secantes diferentes para determinar, pero es equivalente a calcular una matriz hessiana de diferencias finitas. En una dimensión, resolver paray aplicar el paso de Newton con el valor actualizado es equivalente al método de la secante . Los diversos métodos cuasi-Newton difieren en su elección de la solución a la ecuación de la secante (en una dimensión, todas las variantes son equivalentes). La mayoría de los métodos (pero con excepciones, como el método de Broyden ) buscan una solución simétrica (); además, las variantes que se enumeran a continuación pueden estar motivadas por encontrar una actualización.que sea lo más cercano posible aen alguna norma ; es decir,, dóndees una matriz definida positiva que define la norma. Un valor inicial aproximadosuele ser suficiente para lograr una convergencia rápida, aunque no existe una estrategia general para elegir.. [ 5 ] Nótese quedebe ser positivo-definido. Lo desconocidose actualiza aplicando el paso de Newton calculado utilizando la matriz hessiana aproximada actual:
- , conelegido para satisfacer las condiciones de Wolfe ;
- ;
- El gradiente calculado en el nuevo punto, y
Se utiliza para actualizar la matriz hessiana aproximada.o directamente su inversoutilizando la fórmula de Sherman-Morrison .
- Una propiedad clave de las actualizaciones de BFGS y DFP es que sies definida positiva yse elige para satisfacer las condiciones de Wolfe, entoncesTambién es definida positiva.
Las fórmulas de actualización más populares son:
Otros métodos son el método de Pearson, el método de McCormick, el método de Broyden simétrico de Powell (PSB) y el método de Greenstadt. [ 2 ] Estas actualizaciones recursivas de matrices de bajo rango también pueden representarse como una matriz inicial más una corrección de bajo rango. Esta es la representación cuasi-Newton compacta , que es particularmente efectiva para problemas con restricciones y/o de gran tamaño.
Relación con la inversión de matrices
Cuandoes una función cuadrática convexa con hessiano definido positivo., cabría esperar que las matricesgenerado por un método cuasi-Newton para converger a la inversa de la matriz hessiana. Este es, en efecto, el caso de la clase de métodos cuasi-Newton basados en actualizaciones de mínimo cambio. [ 6 ]
Métodos cuasi-Newton regulares
En 1985, en el artículo “Métodos cuasi-Newton regulares” [ 7 ] , se intentó ofrecer una visión general de los diversos enfoques de los métodos cuasi-Newton. En este artículo, se desarrolló una clase integral de estos métodos, una representación de todas las fórmulas de rango 1 de la denominada clase simétrica y novelizada de Huang, que incluye métodos bien conocidos como los de Davidon-Fletcher-Powell (DFP), Broyden-Fletcher-Goldfarb-Shanno (BFGS) y métrica de variables autoescalables (SSVM). También se ofrecen sugerencias para optimizar aún más el comportamiento de la solución de los métodos cuasi-Newton. Se construyó la siguiente clase de fórmulas de actualización cuasi-Newton “regulares” (es decir, preferidas para su uso debido a propiedades especiales):
con
- positivo definido;
- .
Para una minimización de haz aproximada y suficientemente precisa, definida positivay arbitrario, lo siguiente se aplica a estos métodos regulares, que se derivan de la fórmula anterior:
1) Los métodos son métodos cuasi-Newton.
2) Las matricesson definidas positivas para todas las iteraciones. Por lo tanto,
- Se aplica a todas las iteraciones.
3) Para todas las iteraciones, obtenemos soluciones al problema de minimización.
Para la minimización exacta del haz y las funciones objetivo cuadráticas, cada uno de estos métodos también finaliza en el punto mínimo tras un máximo de n iteraciones. En particular, los métodos cuasi-Newton regulares poseen las buenas propiedades tanto de la clase Greenstadt extendida como de la clase Huang extendida simétrica en lo que respecta a la convergencia y la estabilidad.
Se puede suponer que todos los métodos cuasi-Newton particularmente potentes son regulares.
Implementaciones destacadas
Existen implementaciones de métodos cuasi-Newton en muchos lenguajes de programación.
Entre las implementaciones de código abierto más destacadas se incluyen:
- GNU Octave utiliza una forma de BFGS en su
fsolvefuncionamiento, con extensiones de región de confianza . - La biblioteca científica GNU implementa el algoritmo Broyden-Fletcher-Goldfarb-Shanno ( BFGS ).
- ALGLIB implementa (L)BFGS en C++ y C#.
optimLa rutina de optimización de propósito general de R utiliza el método BFGSmethod="BFGS"mediante el uso de . [ 8 ]- Scipy .optimize tiene fmin_bfgs. En la extensión SciPy para Python , la
scipy.optimize.minimizefunción incluye, entre otros métodos, una implementación de BFGS . [ 9 ]
Entre las implementaciones propietarias más destacadas se incluyen:
- Mathematica incluye solucionadores cuasi-Newton. [ 10 ]
- La biblioteca NAG contiene varias rutinas [ 11 ] para minimizar o maximizar una función [ 12 ] que utilizan algoritmos cuasi-Newton.
- En la caja de herramientas de optimización de MATLAB , la
fminuncfunción utiliza (entre otros métodos) el método cuasi-Newton BFGS . [ 13 ] Muchos de los métodos restringidos de la caja de herramientas de optimización utilizan BFGS y la variante L-BFGS . [ 14 ]
Véase también
Referencias
- ↑ Broyden, CG (1972). «Métodos cuasi-Newton». En Murray, W. (ed.). Métodos numéricos para la optimización sin restricciones . Londres: Academic Press. pp. 87–106 . ISBN 0-12-512250-0.
- 1 2 3 Haelterman, Rob (2009). "Estudio analítico del método cuasi-Newton de mínimos cuadrados para problemas de interacción" . Tesis doctoral, Universidad de Gante . Recuperado el 14 de agosto de 2014 .
- ↑ Rob Haelterman; Dirk Van Eester; Daan Verleyen (2015). "Aceleración de la solución de un modelo físico dentro de un tokamak mediante el método de actualización de columnas (inversa)" . Journal of Computational and Applied Mathematics . 279 : 133–144 . doi : 10.1016/j.cam.2014.11.005 .
- ↑ "Introducción al teorema de Taylor para funciones multivariables - Math Insight" . mathinsight.org . Consultado el 11 de noviembre de 2021 .
- ↑ Nocedal, Jorge; Wright, Stephen J. (2006). Optimización numérica . Nueva York: Springer. pp . 142. ISBN 0-387-98793-2.
- ↑ Robert Mansel Gower; Peter Richtarik (2015). "Las actualizaciones cuasi-Newton aleatorizadas son algoritmos de inversión de matrices linealmente convergentes". arXiv : 1602.01768 [ math.NA ].
- ↑ Bacharach, Guido; Freiling, Gerhard (1985). Reguläre Quasi-Newton-Verfahren . Universidad de Duisburg.
- ↑ "función optim - RDocumentation" . www.rdocumentation.org . Consultado el 21 de febrero de 2022 .
- ↑ "Scipy.optimize.minimize — Manual de SciPy v1.7.1" .
- ↑ "Optimización sin restricciones: métodos para la minimización local — Documentación del lenguaje Wolfram" . reference.wolfram.com . Consultado el 21 de febrero de 2022 .
- ↑ El Grupo de Algoritmos Numéricos. "Índice de palabras clave: cuasi-Newton" . Manual de la biblioteca NAG, Mark 23. Consultado el 9 de febrero de 2012 .
- ↑ El Grupo de Algoritmos Numéricos. "E04 – Minimizar o maximizar una función" (PDF) . Manual de la biblioteca NAG, Mark 23. Consultado el 9 de febrero de 2012 .
- ↑ "Encontrar el mínimo de una función multivariable sin restricciones - MATLAB fminunc" . Archivado del original el 12/01/2012 . Consultado el 07/03/2012 .
- ↑ "Algoritmos de optimización no lineal con restricciones - MATLAB y Simulink" . www.mathworks.com . Consultado el 21 de febrero de 2022 .
Lecturas adicionales
- Bonnans, JF; Gilbert, J. Ch.; Lemaréchal, C. ; Sagastizábal, CA (2006). Optimización numérica : aspectos teóricos y numéricos (Segunda edición). Springer. ISBN 3-540-35445-X.
- Fletcher, Roger (1987), Métodos prácticos de optimización (2.ª ed.), Nueva York: John Wiley & Sons , ISBN 978-0-471-91547-8.
- Nocedal, Jorge; Wright, Stephen J. (1999). «Métodos cuasi-Newton» . Optimización numérica . Nueva York: Springer. págs. 192–221 . ISBN 0-387-98793-2.
- Press, WH; Teukolsky, SA; Vetterling, WT; Flannery, BP (2007). «Sección 10.9. Métodos cuasi-Newton o de métrica variable en multidimensiones» . Numerical Recipes: The Art of Scientific Computing (3.ª ed.). Nueva York: Cambridge University Press. ISBN 978-0-521-88068-8.
- Scales, LE (1985). Introducción a la optimización no lineal . Nueva York: MacMillan. págs. 84–106 . ISBN 0-333-32552-4.
- Métodos cuasi-Newton