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:[1]
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.[2]
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 pk
Die Nebenbedingungen in definieren einen Unterraum. Wenn in 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 Suchrichtung durch Lösen eines quadratischen Subproblems:[3]
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: [4]
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-Multiplikatoren λi
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.[5]
Berechnung der Schrittlänge αk
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.[6]
Literatur
Einzelnachweise
- ↑ Jorge Nocedal, Stephen J. Wright: Numerical Optimization. Second Edition. Springer, New York 2006, ISBN 978-0387-30303-1, S. 449.
- ↑ Jorge Nocedal, Stephen J. Wright: Numerical Optimization. Second Edition. Springer, New York 2006, ISBN 978-0387-30303-1, S. 472.
- ↑ Jorge Nocedal, Stephen J. Wright: Numerical Optimization. Second Edition. Springer, New York 2006, ISBN 978-0387-30303-1, S. 468.
- ↑ Roger Fletcher: Stable reduced Hessian updates for indefinite quadratic programming. Mathematical Programming (87.2) 2000, S. 251–264.
- ↑ Jorge Nocedal, Stephen J. Wright: Numerical Optimization. Second Edition. Springer, New York 2006, ISBN 978-0387-30303-1, S. 469f.
- ↑ Jorge Nocedal, Stephen J. Wright: Numerical Optimization. Second Edition. Springer, New York 2006, ISBN 978-0387-30303-1, S. 468f.