Frank-Wulffův algoritmus [1] je iterativní optimalizační algoritmus prvního řádu pro konvexní optimalizaci s omezeními . Algoritmus je také známý jako metoda podmíněného gradientu [2] , metoda sníženého gradientu a algoritmus konvexní kombinace . Metodu původně navrhli Marguerite Frank a Philip Wolf v roce 1956 [3] . Při každé iteraci Frank-Wulffův algoritmus zvažuje lineární aproximaci objektivní funkce a pohybuje se ve směru minimalizace této lineární funkce (na stejné množině proveditelných řešení).
Předpokládejme, že je to kompaktní konvexní množina ve vektorovém prostoru a je to konvexní , diferencovatelná funkce reálné hodnoty . Problém optimalizace řeší Frank-Wulffův algoritmus
Minimalizovat za předpokladu .Zatímco konkurenční metody, jako je gradientní sestup pro omezenou optimalizaci, vyžadují, aby se každá iterace promítla do sady povolených hodnot, algoritmus Frank-Wulf potřebuje pouze vyřešit problém lineárního programování na stejné sadě při každé iteraci, takže řešení vždy zůstává v sadě možných řešení.
Konvergence Frank-Wulfova algoritmu je obecně sublineární - chyba účelové funkce vzhledem k optimální hodnotě je po k iteracích za předpokladu, že gradient je v nějaké normě Lipschitzův spojitý . Stejnou konvergenci lze ukázat, pokud jsou dílčí problémy vyřešeny pouze přibližně [4] .
Iterace algoritmu mohou být vždy reprezentovány jako nehustá konvexní kombinace extrémních bodů množiny proveditelných řešení, což přispělo k popularitě algoritmu pro řídké optimalizační problémy ve strojovém učení a zpracování signálů [5] , as i pro hledání minimálních nákladových toků v dopravních sítích [6] .
Pokud je množina možných řešení dána množinou lineárních nerovností, pak se dílčí problém řešený v každé iteraci stává problémem lineárního programování .
Přestože míru konvergence v nejhorším případě pro obecný případ nelze zlepšit, lze získat vyšší míru konvergence pro speciální problémy, jako jsou přísně konvexní problémy [7] .
Protože je funkce konvexní , pro libovolné dva body máme:
To platí i pro (neznámé) optimální řešení . To je . Nejlepší dolní mez uvažující bod je dána vzorcem
Tento poslední problém se řeší při každé iteraci Frank-Wulffova algoritmu, takže řešení dílčího problému nalezení směru v i -té iteraci lze použít k určení rostoucích dolních mezí při každé iteraci přiřazením a
Takové dolní meze na neznámé optimální hodnotě jsou v praxi velmi důležité, protože mohou být použity jako kritérium pro zastavení algoritmu a poskytují efektivní ukazatel kvality aproximace při každé iteraci, protože vždy .
Ukázalo se, že dualitní mezera , což je rozdíl mezi a spodní hranicí , klesá stejnou rychlostí, tzn.
Optimalizační metody | |
---|---|
Jednorozměrný |
|
Nulové pořadí | |
První objednávka | |
druhá objednávka | |
Stochastické | |
Metody lineárního programování | |
Metody nelineárního programování |