Das LBFGS-Verfahren

 
  • Das Limited Memory BFGS-Verfahren ist eine Methode zur Lösung unrestringierter Minimierungsaufgaben mit mindestens stetig differenzierbarer Zielfunktion. Das heißt, zu einer Funktion F in C1 ist ein xopt gesucht, für das F(xopt) <= F(x) für alle x aus einer Umgebung von xopt gilt.
  • Wie der Name des Verfahrens schon zeigt, baut dieses Verfahren auf dem gleichen Vorgehen auf wie das BFGS-Verfahren. Hier "merkt" man sich jedoch für die Darstellung von Ak nur eine begrenzte Anzahl zurückliegender Richtungen und speichert Ak nicht als n*n Matrix, und daher ist das LBFGS-Verfahren auch für große Probleme geeignet.
  • Als Schrittweitenverfahren wird die fortgesetzte quadratische bzw. kubische Interpolation in Kombination mit dem Powell-Wolfe Abstiegskriterium verwendet, mit den fest eingestellten Parametern kappa=0.9 und delta=0.01.
 

Die Eingaben

 
  • Sie haben die Wahl zwischen 14 vorgegebenen Funktionen, zu denen Sie auch eine genauere Beschreibung nachlesen können. Oder Sie geben eine eigene Funktion f, abhängig von n Variablen x(1),...,x(n), und die Startwerte zu diesen Variablen an.
  • Sie können entweder Standardabbruchkriterien wählen oder eigene Kriterien angeben.
    (Standardabbruch: ||grad f|| <= eps und ||x-xprev|| <= eps*(||x||+1), eps=1.0e-7)
    Eigene Kriterien bedeutet dann noch die Angabe einer Abbruchtoleranz eps für den Gradienten und die Änderung in x, sowie die Anzahl der dargestellten Schritte und die Länge des Gedächtnisses, also die Anzahl der berücksichtigten zurückliegenden Schritte.
    Das Verfahren bricht außerdem auch dann ab, wenn die relative Änderung in F kleiner als 1.E-12 ist.
  • Für die festeingestellten Funktionen ist noch eine Angabe der Startwerte der Variablen möglich, wobei Sie auch hier eine Standardinitialisierung wählen können. Sie finden die jeweilige Anzahl n der Variablen bei den Kurzbeschreibungen oben im Eingabeformular.
  • Des weiteren haben Sie die Wahl, ob Sie einen Höhenlinienplot als Ausgabe möchten. Wenn ja, dann wird noch die beiden Indices der Variablen, bezüglich derer das Bild geplottet werden soll, sowie entsprechende Intervallangaben benötigt. Bei der Berechnung der Höhenlinien werden die anderen Variablen auf den berechneten Optimalwert gesetzt.
 

Die Ausgaben

 
  • CPU-Zeit.
  • Den Grund des Rechnungsabbruchs.
  • Die berechnenten Optimalwerte f(xopt) und x(1)opt,...,x(n)opt.
  • Die Anzahl der Funktionsaufrufe.
  • Zwei logarithmische Plots des Fehlers f - fopt sowie der Norm des Gradienten von f.
  • Und den Höhenlinienplot, falls Sie diesen gewünscht hatten.
 

Das Eingabeformular

 
 

Zurück: Unrestringierte Minimierung

 
Back to the top!

23.01.2009