Articulo de referencia

Algoritmo de Frank-Wolfe

El algoritmo de Frank-Wolfe es un algoritmo iterativo de optimización de primer orden para la optimización convexa con restricciones . También conocido como método de gradiente ...

El algoritmo de Frank-Wolfe es un algoritmo iterativo de optimización de primer orden para la optimización convexa con restricciones . También conocido como método de gradiente condicional , [ 1 ] algoritmo de gradiente reducido y algoritmo de combinación convexa , el método fue propuesto originalmente por Marguerite Frank y Philip Wolfe en 1956. [ 2 ] En cada iteración, el algoritmo de Frank-Wolfe considera una aproximación lineal de la función objetivo y se mueve hacia un minimizador de esta función lineal (tomada sobre el mismo dominio). 

Planteamiento del problema

SuponerD{\displaystyle {\mathcal {D}}}es un conjunto convexo compacto en un espacio vectorial yF:DR{\displaystyle f\colon {\mathcal {D}}\to \mathbb {R} }es una función convexa , diferenciable y de valores reales . El algoritmo de Frank-Wolfe resuelve el problema de optimización.

MinimizarF(incógnita){\displaystyle f(\mathbf {x} )}
sujeto aincógnitaD{\displaystyle \mathbf {x} \in {\mathcal {D}}}.

Algoritmo

Un paso del algoritmo de Frank-Wolfe
Inicialización: Dejek0{\displaystyle k\leftarrow 0}y dejarincógnita0{\displaystyle \mathbf {x} _{0}\!}ser cualquier punto enD{\displaystyle {\mathcal {D}}}.
Paso 1. Subproblema de búsqueda de dirección: Encontrarsk{\displaystyle \mathbf {s} _{k}}resolver
MinimizarsTF(incógnitak){\displaystyle \mathbf {s} ^{T}\nabla f(\mathbf {x} _{k})}
Sujeto asD{\displaystyle \mathbf {s} \in {\mathcal {D}}}
(Interpretación: Minimizar la aproximación lineal del problema dada por la aproximación de Taylor de primer orden deF{\displaystyle f}alrededorincógnitak{\displaystyle \mathbf {x} _{k}\!}obligado a permanecer dentroD{\displaystyle {\mathcal {D}}}.)
Paso 2. Determinación del tamaño del paso: Establecerα2k+2{\displaystyle \alpha \leftarrow {\frac {2}{k+2}}}o alternativamente encontrarα{\displaystyle \alpha }que minimizaF(incógnitak+α(skincógnitak)){\displaystyle f(\mathbf {x} _{k}+\alpha (\mathbf {s} _{k}-\mathbf {x} _{k}))}sujeto a0α1{\displaystyle 0\leq \alpha \leq 1}.
Paso 3. Actualización: Dejeincógnitak+1incógnitak+α(skincógnitak){\displaystyle \mathbf {x} _{k+1}\leftarrow \mathbf {x} _{k}+\alpha (\mathbf {s} _{k}-\mathbf {x} _{k})}, dejarkk+1{\displaystyle k\flecha izquierda k+1}y vaya al Paso 1.

Propiedades

Mientras que otros métodos, como el descenso de gradiente para la optimización con restricciones, requieren un paso de proyección hacia atrás al conjunto factible en cada iteración, el algoritmo de Frank-Wolfe solo necesita la solución de un problema convexo sobre el mismo conjunto en cada iteración y permanece automáticamente en el conjunto factible.

La convergencia del algoritmo de Frank-Wolfe es sublineal en general: el error en la función objetivo al óptimo esO(1/k){\displaystyle O(1/k)}después de k iteraciones, siempre que el gradiente sea Lipschitz continuo con respecto a alguna norma. La misma tasa de convergencia también puede demostrarse si los subproblemas se resuelven solo de forma aproximada. [ 3 ]

Las iteraciones del algoritmo siempre pueden representarse como una combinación convexa dispersa de los puntos extremos del conjunto factible, lo que ha contribuido a la popularidad del algoritmo para la optimización voraz dispersa en problemas de aprendizaje automático y procesamiento de señales , [ 4 ] así como, por ejemplo, la optimización de flujos de costo mínimo en redes de transporte . [ 5 ]

Si el conjunto factible viene dado por un conjunto de restricciones lineales, entonces el subproblema a resolver en cada iteración se convierte en un programa lineal .

Si bien la tasa de convergencia en el peor de los casos conO(1/k){\displaystyle O(1/k)}En general, no se puede mejorar, pero se puede obtener una convergencia más rápida para clases de problemas especiales, como algunos problemas fuertemente convexos. [ 6 ]

Límites inferiores del valor de la solución y análisis primal-dual.

DesdeF{\displaystyle f}es convexa , para cualesquiera dos puntosincógnita,yD{\displaystyle \mathbf {x} ,\mathbf {y} \in {\mathcal {D}}}tenemos:

F(y)F(incógnita)+(yincógnita)TF(incógnita){\displaystyle f(\mathbf {y} )\geq f(\mathbf {x} )+(\mathbf {y} -\mathbf {x} )^{T}\nabla f(\mathbf {x} )}

Esto también se aplica a la solución óptima (desconocida).incógnita{\displaystyle \mathbf {x} ^{*}}. Eso es,F(incógnita)F(incógnita)+(incógnitaincógnita)TF(incógnita){\displaystyle f(\mathbf {x} ^{*})\geq f(\mathbf {x} )+(\mathbf {x} ^{*}-\mathbf {x} )^{T}\nabla f(\mathbf {x} )}. El mejor límite inferior con respecto a un punto dadoincógnita{\displaystyle \mathbf {x} }es dado por

F(incógnita)F(incógnita)+(incógnitaincógnita)TF(incógnita)minyD{F(incógnita)+(yincógnita)TF(incógnita)}=F(incógnita)incógnitaTF(incógnita)+minyDyTF(incógnita){\displaystyle {\begin{aligned}f(\mathbf {x} ^{*})&\geq f(\mathbf {x} )+(\mathbf {x} ^{*}-\mathbf {x} )^{T}\nabla f(\mathbf {x} )\\&\geq \min _{\mathbf {y} \in D}\left\{f(\mathbf {x} )+(\mathbf {y} -\mathbf {x} )^{T}\nabla f(\mathbf {x} )\right\}\\&=f(\mathbf {x} )-\mathbf {x} ^{T}\nabla f(\mathbf {x} )+\min _{\mathbf {y} \en D}\mathbf {y} ^{T}\nabla f(\mathbf {x} )\end{aligned}}}

El último problema de optimización se resuelve en cada iteración del algoritmo de Frank-Wolfe, por lo tanto la soluciónsk{\displaystyle \mathbf {s} _{k}}del subproblema de localización de direcciones delk{\displaystyle k}La -ésima iteración se puede utilizar para determinar límites inferiores crecientes.lk{\displaystyle l_{k}}durante cada iteración mediante la configuraciónl0={\displaystyle l_{0}=-\infty }y

lk:=máximo(lk1,F(incógnitak)+(skincógnitak)TF(incógnitak)){\displaystyle l_{k}:=\max(l_{k-1},f(\mathbf {x} _{k})+(\mathbf {s} _{k}-\mathbf {x} _{k})^{T}\nabla f(\mathbf {x} _{k}))}

Estos límites inferiores del valor óptimo desconocido son importantes en la práctica porque pueden utilizarse como criterio de parada y proporcionan un certificado eficiente de la calidad de la aproximación en cada iteración, ya que siemprelkF(incógnita)F(incógnitak){\displaystyle l_{k}\leq f(\mathbf {x} ^{*})\leq f(\mathbf {x} _{k})}.

Se ha demostrado que esta brecha de dualidad correspondiente , es decir, la diferencia entreF(incógnitak){\ Displaystyle f (\ mathbf {x} _ {k})}y el límite inferiorlk{\displaystyle l_{k}}, disminuye con la misma tasa de convergencia, es decir F(incógnitak)lk=O(1/k).{\displaystyle f(\mathbf {x} _{k})-l_{k}=O(1/k).}

Aplicaciones

El algoritmo de Frank-Wolfe se puede utilizar para calcular un equilibrio de Wardrop .

Notas

  1. Levitin, ES; Polyak, BT (1966). "Métodos de minimización con restricciones". Matemáticas Computacionales y Física Matemática de la URSS . 6 (5): 1. doi : 10.1016/0041-5553(66)90114-5 .
  2. Frank, M.; Wolfe, P. (1956). "Un algoritmo para programación cuadrática". Naval Research Logistics Quarterly . 3 ( 1– 2): 95– 110. doi : 10.1002/nav.3800030109 .
  3. Dunn, JC; Harshbarger, S. (1978). "Algoritmos de gradiente condicional con reglas de tamaño de paso de bucle abierto" . Journal of Mathematical Analysis and Applications . 62 (2): 432. doi : 10.1016/0022-247X(78)90137-3 .
  4. Clarkson, KL (2010). "Coresets, sparse greedy approximation, and the Frank-Wolfe algorithm". ACM Transactions on Algorithms . 6 (4): 1– 30. CiteSeerX 10.1.1.145.9299 . doi : 10.1145/1824777.1824783 . 
  5. Fukushima, M. (1984). "Un algoritmo de Frank-Wolfe modificado para resolver el problema de asignación de tráfico". Transportation Research Part B: Methodological . 18 (2): 169– 177. doi : 10.1016/0191-2615(84)90029-8 .
  6. Bertsekas, Dimitri (1999). Programación no lineal . Athena Scientific. pág. 215. ISBN  978-1-886529-00-7.

Bibliografía

  • Jaggi, Martin (2013). "Revisitando Frank–Wolfe: Optimización convexa dispersa sin proyección" . Journal of Machine Learning Research: Workshop and Conference Proceedings . 28 (1): 427– 435.(Documento de resumen)
  • Descripción del algoritmo de Frank-Wolfe
  • Nocedal, Jorge; Wright, Stephen J. (2006). Optimización numérica (2.ª  ed.). Berlín, Nueva York: Springer-Verlag . ISBN 978-0-387-30303-1..
  • Gábor Braun, Alejandro Carderera, Cyrille W. Combettes, Hamed Hassani, Amin Karbasi, Aryan Mokhtari y Sebastian Pokutta (2025). Métodos de gradiente condicional: desde los principios básicos hasta las aplicaciones de IA , SIAM (MOS-SIAM Series on Optimization), ISBN 978-1-61197-855-1.
  • https://conditional-gradients.org/ : un estudio de los algoritmos de Frank-Wolfe.
  • Marguerite Frank ofrece un relato personal de la historia del algoritmo.

Véase también