Frank-Wulff-algoritmen [1] är en iterativ första ordningens optimeringsalgoritm för konvex optimering med begränsningar . Algoritmen är också känd som den villkorliga gradientmetoden [2] , den reducerade gradientmetoden och den konvexa kombinationsalgoritmen . Metoden föreslogs ursprungligen av Marguerite Frank och Philip Wolf 1956 [3] . Vid varje iteration överväger Frank-Wulff-algoritmen en linjär approximation av objektivfunktionen och rör sig i riktning mot att minimera denna linjära funktion (på samma uppsättning möjliga lösningar).
Antag att det är en kompakt konvex uppsättning i ett vektorrum , och är en konvex , differentierbar verkligt värderad funktion av . Frank-Wulff-algoritmen löser optimeringsproblemet
Minimera tillhandahålls .Medan konkurrerande metoder, såsom gradientnedstigning för begränsad optimering, kräver att varje iteration projicerar in i en uppsättning tillåtna värden, behöver Frank-Wulf-algoritmen bara lösa ett linjärt programmeringsproblem på samma uppsättning vid varje iteration, så lösningen förblir alltid i uppsättningen möjliga lösningar.
Konvergensen av Frank-Wulf-algoritmen är i allmänhet sublinjär - felet för objektivfunktionen med avseende på det optimala värdet är efter k iterationer, förutsatt att gradienten är Lipschitz kontinuerlig i någon norm. Samma konvergens kan visas om delproblemen endast löses ungefär [4] .
Algoritmens iterationer kan alltid representeras som en icke-tät konvex kombination av extrema punkter i uppsättningen av genomförbara lösningar, vilket har hjälpt algoritmens popularitet för glesa giriga optimeringsproblem inom maskininlärning och signalbehandling [5] , som samt för att hitta minimikostnadsflöden i transportnät [6] .
Om uppsättningen av möjliga lösningar ges av en uppsättning linjära olikheter, blir delproblemet som löses vid varje iteration ett linjärt programmeringsproblem .
Även om den värsta konvergenshastigheten för det allmänna fallet inte kan förbättras, kan högre konvergenshastigheter erhållas för speciella problem såsom strikt konvexa problem [7] .
Eftersom funktionen är konvex har vi för två punkter :
Detta gäller även för den (okända) optimala lösningen . Det vill säga . Den bästa nedre gränsen med tanke på en poäng ges av formeln
Detta sista problem löses vid varje iteration av Frank-Wulff-algoritmen, så lösningen på delproblemet att hitta riktningen vid iterationen kan användas för att bestämma ökande nedre gränser vid varje iteration genom att tilldela och
Sådana nedre gränser för det okända optimala värdet är mycket viktiga i praktiken, eftersom de kan användas som ett kriterium för att stoppa algoritmen och ge en effektiv indikator på kvaliteten på approximationen vid varje iteration, eftersom alltid .
Det har visat sig att dualitetsgapet , som är skillnaden mellan och den nedre gränsen , minskar i samma takt, d.v.s.
_ | Optimeringsmetoder|
---|---|
En-dimensionell |
|
Noll ordning | |
Första beställning | |
andra beställning | |
Stokastisk | |
Linjära programmeringsmetoder _ | |
Icke -linjära programmeringsmetoder |