- Trust-Region-Verfahren
-
Das Trust-Region-Verfahren ist eine Klasse von robusten und effizienten Globalisierungsstrategien zur Errechnung eines lokalen Minimums einer möglicherweise nicht-konvexen, einmal stetig differenzierbaren Funktion. Die Trust-Region-Verfahren sind eng verwandt mit dem Levenberg-Marquardt-Algorithmus, besitzen jedoch signifikante Unterschiede in den zu lösenden quadratischen Teilproblemen und sind deterministisch in der Wahl der Schrittweitenbeschränkung. Unter bestimmten Umständen kann man zudem zeigen, dass Linesearch-Verfahren spezielle Varianten von Trust-Regionverfahren sind.
Inhaltsverzeichnis
Übersicht
Trust-Regionverfahren werden verwendet um Nichtlineare Programmierungsprobleme (NLP) der Art
Hierbei nimmt man an, dass J einmal stetig differenzierbar auf ist. Das bedeutet aber nicht, dass J eine konvexe Funktion ist. Da man zudem mit geringsten Änderungen am Algorithmus das folgende, nichtglatte Nichtlineare Programmierungsproblem
lösen kann, werden wir das Trust-Regionverfahren für diese Problemklasse betrachten. Hierbei ist mit , sowie H ein Hilbertraum.
Ein Trust-Regionverfahren ist ein iteratives Verfahren, welches aus einzelnen, sogenannten Trust-Regionschritten besteht. Ein solcher Trust-Regionschritt verläuft in zwei logischen Einheiten: Zunächst errechnet man eine Korrektur. Die Art und Weise wie eine solche Korrektur errechnet wird, ist im Prinzip frei wählbar, solange die Korrektur eine sogenannte „Sufficient Decrease Condition“ erfüllt. Aus Performancegründen errechnet man jedoch oftmals die Korrektur, indem man ein quadratisches Minimierungsproblem unter Nebenbedingungen löst. Die mit dieser Sequential Quadratic Programming (SQP) Variante errechneten Korrekturen sind unter bestimmten Umständen die Korrekturen, die man in einem (Quasi-)Newtonschritt errechnet. Da diese Korrektur, im Sinne der Aufgabenstellung des Minimierungsproblems jedoch beliebig schlecht sein kann, misst man die Brauchbarkeit der Korrektur und verändert anhand dessen die Nebenbedingungen des quadratischen Problems.
Ein Trust-Regionschritt im Detail
Errechnen der Korrektur. Wir nehmen an, dass eine zulässige Iterierte, gegeben ist. So errechnet man eine Korrektur, indem man das folgende Quadratische Programmierungs-Problem (QP) löst:
mit der quadratischen Funktion
Hierbei bezeichnet den Trust-Regionradius und eine symmetrische Approximation an die möglicherweise nicht existierende Hessematrix an uk. Für den Fall ist die Funktion ψk(s) eine Taylorapproximation zweiter Ordnung an J(uk + s) − J(uk).
Wir nehmen kurz an, dass die Matrix Mk symmetrisch positiv (semi-) definit ist und dass keine Nebenbedingungen in obigen QP Problem vorkommen. So sind die notwendigen und auch hinreichenden Bedingungen für ein Minimum gerade
welches ein Quasi-Newtonschritt ist.
Bemerkung zur Lösung des quadratischen Problems: Dieses Minimierungsproblem kann gemeinhin approximativ gelöst werden. Das heißt, dass die Lösung lediglich eine bessere Lösung des QP Problems sein muss als der sogenannte Cauchypunkt. Genauer gesagt heißt das, dass s folgende Unlgleichung erfüllen muss
wobei D(u) eine Coleman-Li-Skalierungsmatrix[1] ist, die auf der Diagonalen den Abstand zum Hindernis speichert.
Ohne weitere Annahmen muss man eine Formulierung mit Penaltyfunktion für die Lösung des quadratischen Minimierungsproblems verwenden, um in die Lösung mit einzubeziehen. Jedoch kann für einen endlich dimensionalen Raum H, durch ersetzt werden und ein abgeschnittenes Konjugierte Gradientenverfahren (truncated CG) oder ein nichtlineares Gauss-Seidelverfahren zur Lösung verwendet werden.
Wie erwähnt, kann s eine beliebig schlechte Korrektur sein, daher errechnet man zur Bestimmung der Qualität einer Korrektur ein Skalar, die sogenannte Kontraktionsrate
Der Wert ρk misst die Abweichung der durch die quadratischen Funktion ψk(s) vorhergesagten Reduktion von J (predicted reduction) von der tatsächlichen (actual reduction). In der Literatur findet man daher auch oft
Bemerkung zu ρk: De facto misst die Kontraktionsrate die Linearität des Gradienten von J. Wenn J eine quadratische Funktion ist, wird die Kontraktionsrate immer 1 sein, sofern . In der Praxis sollte man daher auch testen, ob J(uk) − J(uk + s) > 0 gilt.
Updateschritt. Schließlich wird anhand von ρk bestimmt, ob die Korrektur akzeptiert wird und wie der nächste Trust-Regionradius Δk + 1 gewählt wird.
Gilt , so wird uk + 1 = uk + s und Δk + 1 = γ2Δk gewählt. Andernfalls ist uk + 1 = uk und Δk + 1 = γ1Δk
Hierbei sind und γ2 > 1 > γ1 > 0 a priori zu wählen. In der Literatur werden gerne noch weitere Konstanten verwendet um die Wahl des neuen Trust-Regionradius feiner zu justieren, jedoch kommt das Verfahren mit diesen Konstanten aus.
Konvergenzeigenschaften
Man kann unter bestimmten, aber sehr schwachen Annahmen[1][2] zeigen, dass die so errechneten Iterierten gegen Lösungen der notwendigen Bedingungen erster Ordnung konvergieren.
Grundsätzlich geht man hierbei wie folgt vor:
- die Lösung des QP Problems erfüllt immer die sufficient decrease condition (wenn nicht wählt man den Cauchy Punkt). Das heißt: Sind Korrekturen erfolgreich, also gilt , dann erhält man folgende Ungleichung
Man kann also den tatsächlichen Abstieg in J durch die Norm des Gradienten und den Trust-Regionradius nach unten hin begrenzen.
- Nimmt man nun an, dass die Norm des Gradienten durch ε > 0 nach unten beschränkt ist, so erhält man Folgendes: Angenommen es gibt unendlich viele erfolgreiche Schritte, dann konvergiert J(uk) nach oder und man löst das Problem (zumindest dessen notwendigen Bedingungen erster Ordnung). Andernfalls muss aufgrund der obigen Ungleichung der Trust-Regionradius gegen 0 konvergieren. In dem Fall würde aber die quadratische Funktion eine immer bessere Approximation an J(uk) − J(uk + s) und die Decrease ratio ρk würde gegen 1 gehen. Das würde aber der Annahme, dass es nicht unendlich viele erfolgreiche Schritte gibt widersprechen.
Unterschiede zu anderen Verfahren
- Die Levenberg-Marquardt-Methode führt ein nichtdeterministisches Update der Schrittweitenbeschränkung durch.
- Das Trust-Regionverfahren ist newton-ähnlich, d.h. die Korrekturen werden anhand einer Taylorentwicklung zweiter Ordnung errechnet, beim Levenberg-Marquardt-Methode wird ein quadratisches Hilfsproblem gelöst, basierend auf einer Taylorentwicklung erster Ordnung.
- Im Gegensatz zu Linesearchalgorithmen wird im Trust-Regionverfahren vor dem Errechnen einer Korrektur die Schrittweitenbeschränkung gewählt. Aufgrund der zusätzlichen Constraints im Minimierungsproblem zu ψk(s), wird daher eine andere und bessere Lösung errechnet, als sie die gleiche Schrittweitenbeschränkung im Linesearchalgorithmus liefern würde.
Erweiterungen zu Trust-Region Verfahren
- Um Nichtlineare Programmierungsprobleme mit noch allgemeineren Nebenbedingungen der Art
wobei kann man sogenannte filter Trust-Region Verfahren verwenden.
- Es gibt Erweiterungen von Trust-Regionverfahren, die auch Konvergenz zu kritischen Punkten zweiter Ordnung errechnen, also Punkte u * für die gilt
- und
Literatur
- Thomas F. Coleman, Yuying Li: On the convergence of interior-reflective Newton methods for nonlinear minimization subject to bounds. In: Math. Programming. 67(2, Ser. A) 1994, ISSN 0025-5610, S. 189–224.
- A. R. Conn, N. I. M. Gould, Ph. L. Toint: Trust-region methods. Society for Industrial and Applied Mathematics, Philadelphia, PA, USA, 2000.
Einzelnachweise
Wikimedia Foundation.