Innere-Punkte-Verfahren

Innere-Punkte-Verfahren sind in der Optimierung eine Klasse von Algorithmen zur Lösung von Optimierungsaufgaben. 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, wie z.B. Branch and Bound oder Schnittebenenverfahren, wichtig ist).
Aufgabenstellung
Im einfachsten Fall werden Innere-Punkte-Verfahren benutzt, um das lineare Problem
zu lösen. Dabei ist A eine -Matrix,
und c, b sind jeweils n- bzw. m-dimensionale Vektoren. Die zulässige
Menge
hat die Form eines Polyeders.
Aus der Theorie der linearen Optimierung ist bekannt, dass eine optimale Lösung
des Optimierungsproblems 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“ des Polyeders
zu finden.
Geschichte
Logarithmische-Barriere-Verfahren wurden erstmals von Ragnar Anton Kittil Frisch (1956) beschrieben. Als wichtige frühe Referenz zum Thema Barriere-Verfahren gilt Fiacco und McCormick (1968). Sie galten damals jedoch als ineffizient und (durch das Logarithmieren sehr kleiner Zahlen) als numerisch instabil. Als Geburtsstunde der Inneren-Punkte-Verfahren gilt gemeinhin die Arbeit von Narendra Karmarkar von 1984, in der er zum ersten Mal einen polynomialen potentiell praktisch einsetzbaren Algorithmus für lineare Probleme beschreibt. Dieser Algorithmus wies schon viele Gemeinsamkeiten zu den modernen Verfahren auf, auch wenn die bedeutenden Durchbrüche, die Innere-Punkte-Verfahren zu einer echten Konkurrenz für das Simplex-Verfahren machten, erst in den 1990er Jahren geschahen (z.B. Mehrotra (1992)).
Herleitung
Vom heutigen Standpunkt aus gibt es verschiedene Wege, um
Innere-Punkte-Verfahren zu motivieren. Eine Möglichkeit ist über
Logarithmische Barrieren: Hierbei werden die Positivitätsbedingungen
durch logarithmische Strafterme
in der Zielfunktion ersetzt (hierbei ist
ein Parameter). Anstatt des Ursprungsproblems 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 lagrangeschen
Multiplikatorensatz als Lösung des (nichtlinearen) Gleichungssystems
Hierbei entspricht die erste Zeile der Zulässigkeit bezüglich des Primalen
Problems, die zweite Zeile der Zulässigkeit bezüglich des Dualen Problems nach
der Einführung von Schlupfvariablen
und die dritte Zeile dem komplementären
Schlupf. 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-Verfahrens der Parameter
reduziert. Durch geeignete Heuristiken wird sichergestellt, 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 Problems mit Genauigkeit
zu finden. Dies ist zurzeit 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
Gleichungssystems:
(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 von Innere-Punkte-Verfahren, die sich im
Wesentlichen in der Wahl von
und
unterscheiden. Die wichtigsten sind Kurzschrittverfahren,
Langschrittverfahren und Predictor-Corrector-Verfahren
(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 Euklidische
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. geeignete 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 außerdem 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.



© biancahoegel.de
Datum der letzten Änderung: Jena, den: 01.04. 2020