Innere-Punkte-Verfahren
Innere Punkte Verfahren sind in der Optimierung eine Klasse von Algorithmen um Optimierungsaufgaben zu lösen. Ihr Hauptanwendungsgebiet sind lineare oder quadratische Programme. Sie werden aber auch zur Lösung (allgemeiner) nichtlinearer Programme, semidefinierter Programme oder Komplementaritätsproblemen eingesetzt.
Im Vergleich zu den traditionelleren Active Set Methoden (z.B. Simplex-Verfahren), zeichnen sich Innere Punkte Verfahren durch bessere theoretische Eigenschaften (polynomiale Komplexität) und schnellere Konvergenz für sehr große dünnbesetzte Probleme aus. Ein Nachteil ist, dass sie vergleichbar ungeeignet zum Lösen einer Serie von Optimierungsaufgaben sind (was für viele Algorithmen der ganzzahligen Optimierung, z.B. Branch and Bound oder Cutting-Plane-Verfahren wichtig ist).
Aufgabenstellung
Im einfachsten Fall werden Innere Punkte Verfahren benutzt um das lineare Problem
zu lösen. Dabei ist A eine mxn-Matrix, und c, b sind jeweils n-, m-dimensionale Vektoren. Die zulässige Menge hat die Form eines Polyeders. Aus der Theorie der linearen Optimierung ist bekannt, dass die Lösung des Optimierungsproblemes in einer der Ecken des Polyeders angenommen wird. Im Gegensatz zum Simplex-Verfahren, das sich entlang der Kanten von Ecke zu Ecke bewegt, versuchen Innere Punkte Verfahren einen Pfad zum Optimum durch das "innere" der Polyeders zu finden.
Geschichte
Logarithmische Barriere Verfahren wurden schon von Fiacco und McCormick (1968) beschrieben. Sie galten damals jedoch als ineffizient und (durch den das Logarithmieren sehr kleiner Zahlen) als numerisch instabil. Als Geburtsstunde der inneren Punkte Verfahren, gilt gemeinhin Karmarkars Arbeit von 1984, die zum ersten Mal einen polynomischen potentiell praktisch einsetzbaren Algorithmus für lineare Probleme beschreibt. Dieser Algorithmus wies schon viele Gemeinsamkeiten zu den modernen Verfahren auf, die bedeutenden Durchbrüche, die innere Punkte Verfahren zu einer echten Konkurrenz für das Simplex-Verfahren machten, geschahen jedoch erst in den 1990er Jahren (z.B. Mehrotra (1992)).
Herleitung
Vom heutigen Standpunkt aus gibt es verschiede Wege um Innere Punkte Verfahren zu motivieren. Eine Möglichkeit ist über Logarithmische Barrieren: Hierbei werden die Positivitätsbedingungen durch logarithmische Terme ersetzt (hierbei ist ein Parameter). Anstatt des Urprungsproblems löst man also
Für kleine Werte von wird sehr groß, man versucht also durch Bestrafung kleiner x Werte, die Lösung des Optimierungsproblems im inneren der Menge der positiven Koordinaten zu halten. Diese Bestrafung wird umso kleiner je kleiner der Parameter ist, im Grenzwert erwartet man, dass die Lösung des Barriereproblems gegen die Lösung des Ursprungsproblems konvergiert. Das Barriereproblem ist ein (streng) konvexes Problem, seine (einzige, globale) Lösung findet man durch Anwendung des Lagrangen Multiplikatorensatz als Lösung des (nichtlinearen) Gleichungssystems
Für jeden Wert ist dieses Gleichungssystem eindeutig lösbar. Die Menge aller Lösungen für verschiedene beschreibt einen Pfad (den zentralen Pfad), der das Analytische Zentrum des zulässigen Polyeders (für ) mit der Lösung des Ursprungsproblems (für ) verbindet. Algorithmisch kann das Gleichungssystem per Newton Verfahren gelöst werden. In Innere Punkte Verfahren wird nach jeder Iteration des Newton Verfahren der Parameter reduziert. Durch geeignete Heuristiken wird sicher gestellt dass die Konvergenz von und die des Newton Verfahrens synchron ablaufen.
Eigenschaften
- Innere Punkte Verfahren sind global konvergent.
- Die Kurzschrittvariante des Innere Punkte Verfahrens braucht im ungünstigsten Fall Iterationen um die Lösung eines linearen Problemes mit Genauigkeit zu finden. Dies ist zur Zeit die beste bekannte theoretische Schranke. Das Kurzschrittverfahren ist in der Praxis anderen Varianten jedoch unterlegen.
- In der Praxis beobachtet man Iterationen.
Algorithmus
- Wähle primale und duale Startvektoren .
- Setze
- Reduziere .
- Berechne die Newton-Richtung durch Lösen des linearen Gleichungssytems:(dabei sind Diagonalmatrizen auf deren Diagonale die Elemente der Vektoren x, s stehen, sowie ).
- Wähle eine Schrittweite , so dass komponentenweise gilt. Einige Varianten des Innere Punkte Verfahrens stellen weitere Bedingungen an .
- Setze
- Zurück zu Schritt 2
Varianten des Verfahrens und Umgebungen
Es gibt mehrere Varianten des Innere Punkte Verfahrens die sich im wesentlichen in der Wahl von und unterscheiden. Die wichtigsten sind Kurzschrittverfahren, Langschrittverfahren und Predictor-Corrector-Verfahren (in etwa Vorhersage und Korrektur). Um sie zu beschreiben werden die folgenden Umgebungen des zentralen Pfades benötigt:
und
dabei ist das Innere der zulässigen Menge. Der zentrale Pfad ist durch die Bedingung definiert. In der -Umgebung wird die 2-Norm der Abweichung des Vektors von beschränkt, bei der -Umgebung wird lediglich verlangt, dass die Produkte nicht zu klein werden.
Die Varianten des Innere Punkte Verfahrens sind im einzelnen:
- Kurzschrittverfahren: Für geignete Parameter wird und gesetzt. Wenn der Startpunkt in ist, so gilt dies auch für alle weiteren Iterationspunkte.
- Langschrittverfahren: werden gewählt. Es wird mit gesetzt und so gewählt, dass zusätzlich gilt.
- Predictor-Corrector-Verfahren: Es wird zuerst gewählt, und das maximale für diesen Fall bestimmt (Predictor). Dieses liefert einen Schätzwert für das optimale , das nun im zweiten Schritt gewählt wird. Im zweiten Schritt wird ausserdem versucht den Linearisierungsfehler der dritten Gleichung () durch das Newton-Verfahren zu korrigieren. Im Predictor-Corrector-Verfahren wird das obige Newton-Gleichungssystem für zwei verschiedene rechte Seiten gelöst. Es ist möglich dies sehr effizient zu implementieren (Cholesky-Zerlegung).
Das Predictor-Corrector-Verfahren ist den anderen Varianten in der Praxis überlegen, ist jedoch schwerer zu analysieren und besitzt schlechtere theoretische Eigenschaften.
Literatur
- A.V. Fiacco, G.P. McCormick, Nonlinear Programming: Sequential Unconstrained Minimization Techniques, John Willey & Sons, 1968.
- N. Karmarkar, A new polynomial-time algorithm for linear programming. Combinatorica 4 (1984), no. 4, 373--395.
- S. Mehrotra, On the implementation of a primal-dual interior point method. SIAM J. Optim. 2 (1992), no. 4, 575--601.
- S.J. Wright, Primal-dual interior-point methods. Society for Industrial and Applied Mathematics (SIAM), Philadelphia, PA, 1997. ISBN: 0-89871-382-X