¿Por qué SQP es mejor que Lagrangian aumentada para la programación no lineal?

9

En el informe técnico sobre Galahad [1], los autores afirman, en el contexto de problemas generales de programación no lineal,

En nuestra opinión, nunca había habido muchas dudas de que los métodos SQP [programación cuadrática secuencial] tendrían más éxito [que los métodos lagrangianos aumentados] a largo plazo ...

¿Cuál podría ser la base de esa creencia? Es decir, ¿hay algún resultado teórico que sugiera que los métodos SQP deberían ser más rápidos / más confiables que los métodos lagrangianos aumentados?

[1] Galahad, una biblioteca de paquetes Fortran 90 seguros para subprocesos para la optimización no lineal a gran escala, por Gould, Orban y Toint

cjordan1
fuente

Respuestas:

2

Los métodos SQP requieren que el objetivo sea dos veces diferenciable (cf https://en.m.wikipedia.org/wiki/Sequential_quadratic_programming ) mientras que los lagrangianos aumentados trabajan incluso cuando el objetivo no es diferenciable (de ahí su reciente resurgimiento en la comunidad de procesamiento de imágenes cf ftp: //arachne.math.ucla.edu/pub/camreport/cam09-05.pdf )

No sé sobre el software galahad, pero si se supone que resuelve problemas de optimización diferenciables, probablemente lo hará mucho mejor utilizando un método que permita diferenciar la función objetivo.

dranxo
fuente
No es cierto que SQP requiera funciones objetivas dos veces diferenciables. Simplemente puede obtener un método que tenga una menor tasa de convergencia si la función objetivo tiene menos diferenciabilidad, pero eso es exactamente lo mismo que con los métodos lagrangianos aumentados.
Wolfgang Bangerth
2

En términos de iteraciones externas, SQP debería ganar porque incluye información de la segunda derivada, mientras que los métodos lagrangianos aumentados como ADMM no lo hacen.

Sin embargo, una cosa a tener en cuenta es que cada iteración para estos métodos implica la resolución de un sistema lineal, por lo que para hacer una comparación justa, debe tener en cuenta lo fácil que son resolver estos sistemas.

(ATA+ρI)x=b,
Aρminx||Axb||2

Para los métodos SQP, está resolviendo algo como donde es la arpillera (o aproximación de la misma) que generalmente solo está disponible implícitamente en términos de su acción en los vectores, y es el gradiente. El Hesse contiene no solo , sino también una combinación de otras matrices e inversas matriciales que provienen de la linealización de las restricciones y la regularización.H g A

Hx=g,
HgA

El preacondicionamiento de Hesse es un negocio bastante complicado y está mucho menos estudiado que el preacondicionamiento de problemas futuros. Un método estándar es aproximar el inverso de Hesse con L-BFGS, pero esto es de efectividad limitada cuando el inverso de Hesse es de alto rango. Otro método popular es aproximar el hessiano como la suma de una matriz de bajo rango más una matriz fácil de invertir, pero esto también tiene una eficacia limitada para problemas difíciles. Otras técnicas populares de estimación de Hesse se basan en aproximaciones dispersas, pero los problemas continuos a menudo tienen Hesse que tienen aproximaciones dispersas pobres.

Nick Alger
fuente
+1, aunque me gustaría advertir contra las declaraciones generales (con lo cual no me refiero específicamente a esta respuesta). Por ejemplo, en la optimización restringida por PDE, la aplicación menudo implica resolver un PDE no lineal, mientras que puede aplicarse resolviendo dos PDE lineales, que pueden ser significativamente más baratos (y más fáciles de preacondicionar) si el PDE original es desagradable. HAH
Christian Clason
Entonces, puede aplicarse resolviendo dos PDE, pero para aplicar necesita resolver 2 PDEs por iteración de kryolv en su solucionador. Por otro lado, es un operador directo, por lo que generalmente no implica ninguna solución PDE. Típicamente, uno realmente conoce la matriz explícitamente, por ejemplo, una plantilla de diferencia finita de 5 puntos en una malla. Precondicionadores para se pueden utilizar para precondicionadores construcción de , pero es más difícil utilizarlos para precondición . H - 1HH1A A A T A + ρ I HAAAATA+ρIH
Nick Alger
Si es un operador lineal hacia adelante (que no es el caso en la optimización no lineal restringida a PDE), entonces está en lo correcto. De lo contrario, la aplicación de requiere una resolución PDE lineal por iteración de Newton (o iteración de punto fijo), seguida de otra para (que siempre es lineal). Cuál de los dos métodos requiere menos trabajo total (por ejemplo, por número de soluciones PDE lineales) depende mucho del problema específico. Diferentes herramientas para diferentes trabajos, es todo lo que digo. A A TAAAT
Christian Clason
Estoy de acuerdo con diferentes herramientas para diferentes trabajos. El Hessian de Gauss-Newton para el problema de optimización restringida PDE que tengo en mente - tal que - es , y el hessiano completo es este más otros términos. Entonces, aquí contiene dos inversas y contiene dos inversas dentro de un inverso. Au=qH=A-TCTCA-1+αRTRHH-1minq,u12||Cuy||2+α2||Rq||2Au=qH=ATCTCA1+αRTRHH1
Nick Alger
Y tenía en mente la restricción (p. Ej., asigna a la solución de , que aparece en la identificación de parámetros o la optimización de la topología). S q u - ( q u ) = fS(q)=uSqu(qu)=f
Christian Clason