Das Gradienten-Verfahren

 
  • Das Gradienten-Verfahren ist die einfachste Methode, unrestringierte Minimierungsaufgaben unter Benutzung von Ableitungen der Zielfunktion zu lösen. Das heißt, zu einer Funktion F in C1 (mindestens) ist ein xopt gesucht, für das F(xopt) <= F(x) für alle x aus einer Umgebung von xopt gilt.
  • Ausgehend von einem Startvektor x0 wird iteriert: xk+1 = xk - sigmakdk.
    Hierbei ist dk der Gradient von F(xk) und sigmak wird hier mit dem Schrittweitenverfahren von Albaali und Fletcher berechnet. Dies ist ein Einschachtelungsverfahren zur Erfüllung der strengen Powell-Wolfe-Abstiegskriterien:
    |grad F(x_next)'d| <= kappa*|grad F(x)'d|
    F(x)-F(x_next) >= sigma*delta*|grad F(x)'d|.
    Hier ist stets delta=0.01, kappa ist wählbar.
  • Die Konvergenz dieses Abstiegsverfahrens ist recht langsam, asymptotisch wie
    (cond(H)-1)/(cond(H)+1) , H = Hessematrix in der Lösung.
 

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|| <= 1.E-7 und ||x-xprev|| <= 1.E-7*(||x||+1))
    Eigene Kriterien bedeutet noch die Angabe einer Abbruchtoleranz für den Gradienten und die Änderung in x, sowie den Powell-Wolfe-Parameter kappa.
  • 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 der Index 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 Plots des Logarithmus 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