Active-Set-Methoden
Active-Set-Methoden sind eine Klasse iterativer Algorithmen zur Lösung von quadratischen Optimierungsproblemen.
Mathematische Problemstellung
Jedes quadratische Programm kann in eine standardisierte Form überführt werden:
wobei
die Anzahl der Entscheidungsvariablen ist. In der Zielfunktion
entspricht
der Hesse-Matrix, die Mengen
und
indizieren die Ungleichheits- und Gleichheitsbedingungen. Oft wird dabei
gefordert, dass die Matrix
positiv
semidefinit ist, da dann das Optimierungsproblem konvex ist.
Active Set
Eine Nebenbedingung
ist aktiv an einem Punkt
,
wenn
gilt.
Das Active Set
ist die Menge aller aktiven Bedingungen an einem gültigen Punkt
:
Algorithmus
Active-Set-Methoden setzen eine initiale gültige Lösung
voraus. Die Algorithmen berechnen dann in jeder Iteration einen gültigen Punkt
,
bis ein Optimum erreicht ist. Dabei wird eine Menge
verwaltet, die angibt, welche Nebenbedingungen in der aktuellen Iteration aktiv
sein sollen.
1 Gegeben: gültiger Punkt,
2 3 for k=0,1,.. do 4 berechne eine Suchrichtung
5 if
6 berechne Lagrange-Multiplikatoren
7 if
8 terminiere und gib
aus 9 else 10 finde Ungleichheitsbedingung
mit
11
12 end 13 else 14 berechne Schrittlänge
15 if
16 finde Nebenbedingung j die
beschränkt 17
18 end 19
20 end
Berechnung der Suchrichtung 
Die Nebenbedingungen in
definieren einen Unterraum. Wenn
der optimalen Lösung der Zielfunktion in diesem Unterraum ist, kann man die
Suchrichtung als
definieren. Substituiert man dies in die Zielfunktion, erhält man die
Surchrichtung
durch Lösen eines quadratischen Subproblems:
wobei
der Gradient an der aktuellen Lösung ist und die Spalten der Matrix
die Vektoren
sind.
Dieses Subproblem kann auf verschiedenen Weisen gelöst werden. Eine Möglichkeit ist dabei ein Nullspace-Ansatz:
Hat man eine Matrix ,
deren Spalten eine Basis für den Kern
der Matrix
bilden, kann man den gültigen Bereich des Subproblems durch
parametrisieren. Löst man nun das Gleichungssystem
,
wobei
die reduzierte Hesse-Matrix ist, erhält man die Suchrichtung im originalen
Problem.
Berechnung der Lagrange-Multiplikatioren 
Falls die Suchrichtung
ist, ist
bereits optimal im aktuellen Unterraum. Man muss dann eine geeignete
Ungleichheitsbedingung aus
entfernen. Die Lagrange-Multiplikatoren
erhält man durch Lösen eines linearen Gleichungssystems:
Falls alle
sind, erfüllen
und
die Karush-Kuhn-Tucker-Bedingungen,
welche notwendige Kriterien für die Optimalität sind. Wenn zudem die
Hesse-Matrix
positiv semidefinit ist, sind diese Bedingungen hinreichend und
ist die optimale Lösung des Problems. Entfernt man eine Ungleichheitsbedingung
mit negativem Lagrange-Multiplikator aus
erhält man in der nächsten Iteration eine Suchrichtung.
Berechnung der Schrittlänge 
Hat man eine Suchrichtung ,
muss man die maximale Schrittlänge
berechnen. Eine volle Schrittlänge mit
führt direkt zum Minimum im durch
definierten Unterraum. Die Schrittlänge ist jedoch häufig durch eine
Nebenbedingung
beschränkt.
Alle Nebenbedingungen in
mit
sind auch am Punkt
für alle
erfüllt, da dann die Ungleichung
gilt. Alle Nebenbedingungen
mit
werden am neuen Punkt nur dann eingehalten, wenn für diese Nebenbedingungen die
Ungleichung
gilt. Dies ist äquivalent mit der Bedingung
Um so nah wie möglich an das Optimum im aktuellen Unterraum zu kommen, kann man die maximale Schrittlänge durch diese Formel berechnen:
Die Nebenbedingung, die diese Länge beschränkt, wird in die Menge
aufgenommen, da diese Nebenbedingung nun aktiv ist.



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