Semidefinite Programmierung

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 20. Mai 2021 um 16:39 Uhr durch imported>Anonym~dewiki(31560) (→‎Slater-Bedingung).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

In der semidefiniten Programmierung (SDP, auch semidefinite Optimierung) werden Optimierungsprobleme untersucht, deren Variablen keine Vektoren, sondern symmetrische Matrizen sind. Als Nebenbedingung wird verlangt, dass diese Matrizen positiv (oder negativ) semidefinit sind, woraus sich der Name der Problemstellung ergibt.

Anwendungen gibt es auf dem Gebiet der Approximationstheorie, der Kontrolltheorie, der kombinatorischen Optimierung, der optimalen Versuchsplanung und in der Technik.

Problemformulierung

Gegeben sei der reelle Vektorraum der reellen, symmetrischen Matrizen versehen mit dem Frobenius-Skalarprodukt

.

Hierbei ist die Spur einer Matrix.

Des Weiteren sei der Kegel der symmetrischen, positiv semidefiniten Matrizen und die durch diesen Kegel definierte verallgemeinerte Ungleichung, die sogenannte Loewner-Halbordnung.

Normalform

Das Optimierungsproblem

mit ist ein lineares semidefinites Programm oder einfach semidefinites Programm (kurz SDP) in Normalform. Gesucht wird also eine reelle, symmetrische Matrix , die positiv semidefinit ist, deren Skalarprodukt mit vorgegebenen Matrizen einen bestimmten Wert annimmt und die maximal bezüglich des Frobenius-Skalarprodukts ist. Manchmal werden auch die Gleichungsnebenbedingungen zusammengefasst durch eine Lineare Funktion , die durch

definiert ist. Dann lauten die Ungleichungsnebenbedingungen mit .

Ungleichungsform

Analog zu linearen Optimierungsproblemen existiert auch die Ungleichungsform eines SDPs:

wobei und sind. Gelegentlich wird die Ungleichungsform auch geschrieben als

Hierbei entspricht der Einführung einer Schlupfvariable. Diese Form wird gerne gewählt, um Analogien zu den linearen Programmen klarzumachen. Auch hier wird gelegentlich eine lineare Funktion definiert durch

,

um die Notation zu vereinfachen und spätere Dualitätsaussagen klarer zu machen.

Ohne verallgemeinerte Ungleichungen

Formuliert man SDP ohne verallgemeinerte Ungleichungen, so werden die Bedingungen (Normalform) und (Ungleichungsform mit Schlupfvariable) meist ausgeschrieben als „ (bzw- ) ist positiv semidefinit“.

Nichtlineare semidefinite Programme

Gelegentlich werden auch nichtlineare semidefinite Programme betrachtet, diese haben dann entweder keine lineare Zielfunktion mehr oder nichtlineare Restriktionen.

Klassifikation und Spezialfälle

Als konvexe Optimierungsprobleme

Semidefinite Programme sind immer konvexe Optimierungsprobleme. Dies folgt daraus, dass alle Gleichungsrestriktionen immer affin-linear sind und alle Ungleichungsrestriktionen (unter Verwendung von verallgemeinerten Ungleichungen) immer affin-linear sind und damit auch immer K-konvexe Funktionen sind. Damit ist die Restriktionsmenge konvex. Da außerdem die Zielfunktion immer linear ist, handelt es sich immer um ein (abstraktes oder verallgemeinertes) konvexes Problem, unabhängig ob es als Minimierungsproblem oder als Maximierungsproblem formuliert ist.

Als konisches Programm

Semidefinite Programme sind konische Programme auf dem Vektorraum der symmetrischen reellen Matrizen versehen mit dem Frobenius-Skalarprodukt und unter Verwendung des Kegels der positiv semidefiniten Matrizen. Der lineare Unterraum des wird in der Normalform durch den Kern der Abbildung , also durch die Lösungsmenge der Gleichung , beschreiben. In der Ungleichungsform mit Schlupfvariable wird der Unterraum durch das Bild der Abbildung beschrieben.

Spezialfall lineare Programme

Ein Spezialfall eines semidefiniten Programmes ist ein lineares Programm. Dazu ersetzt man alle auftretenden Matrizen durch Diagonalmatrizen. Dadurch reduziert sich die Anforderung, dass positiv semidefinit sein soll, zu , das Frobenius-Skalarprodukt geht zum Standardskalarprodukt über und damit werden die Gleichungsrestriktionen zu einem linearen Gleichungssystem.

Beispiel

Will man eine symmetrische Matrix finden, für die die Summe der k größten Eigenwerte so klein wie möglich ist, kann man das als Problem der semidefiniten Programmierung formulieren. Dabei minimiert man als Zielfunktion die Variable t, von der man in einer Nebenbedingung fordert, dass sie größer oder gleich der Summe der k größten Eigenwerte von X ist. Diese Nebenbedingung ist sehr schwierig zu handhaben, weil es keine leicht zu berechnende Funktion gibt, die zu einer Matrix die Eigenwerte angibt, schon gar nicht in einer sortierten Form. Allerdings kann man die Nebenbedingung äquivalent durch die folgenden drei Bedingungen ausdrücken:[1]

  1. .

Dabei ist E die Einheitsmatrix, t und s sind reelle Variablen, X und Z sind Matrixvariablen. Diese Bedingungen sind mathematisch leichter zu behandeln, obwohl sie auf den ersten Blick schwieriger aussehen. Alle lassen sich einfach berechnen, da sie linear in den Variablen sind. Auch die Berechnung der Spur ist einfach. Für die Überprüfung auf positive Semidefinitheit für die zweite und dritte Bedingung gibt es spezielle Verfahren, die dann zur Lösung des Problems herangezogen werden.

Dualität

Lagrange-Dualität

Ist ein SDP in Normalform gegeben durch

,

so lässt sich das duale Problem bezüglich der Lagrange-Dualität wie folgt formulieren. Man formuliert die Gleichungsnebenbedingungen um zu . Damit erhält man als Lagrange-Funktion

.

und unter Ausnutzung der Selbstdualität des semidefiniten Kegels das duale Problem

.

fungiert hier als Schlupfvariable. Dies ist ein SDP in Ungleichungsform. Für das genaue Vorgehen siehe Lagrange-Dualität konischer Programme.

Analog zu den konischen Programmen erhält man auch als duales Problem eines SDPs in Ungleichungsform

das SDP in Normalform

,

Somit sind die SDPs abgeschlossen bezüglich der Lagrange-Dualität und das duale Problem des dualen Problems ist stets wieder das primale Problem. Außerdem gilt stets die schwache Dualität, also dass der Zielfunktionswert des dualen Problems stets kleiner ist als der Zielfunktionswert des primalen Problems. Ist außerdem die Slater-Bedingung erfüllt (siehe unten), so gilt die starke Dualität, die Optimalwerte des primalen und des dualen Problems stimmen also überein.

Dualität konischer Programme

Fasst man SDPs als abstrakte konische Programme auf, so lässt sich der lineare Unterraum durch die oben beschriebene lineare Funktion beschreiben. Er ist dann genau die Lösungsmenge der Gleichung . Somit lässt sich das primale konische Problem als SDP in Normalform schreiben.

Hierbei sei . Der für das duale Problem nötige Orthogonalraum wird dann durch den zu adjungierten Operator , der durch definiert ist, beschrieben. Somit lautet das konische duale Problem:

.

Das duale Problem ist dann also ein SDP in Ungleichungsform mit Schlupfvariable. Es gilt dann stets für alle zulässigen

Ist die Slater-Bedingung erfüllt (siehe unten) und das primale Problem hat einen endlichen Optimalwert , so hat das duale Problem eine Optimallösung , und es gilt

.

Slater-Bedingung

Die Slater-Bedingung ist eine Voraussetzung an das primale Problem, die garantiert, dass starke Dualität gilt. Sie fordert, dass das Problem einen Punkt besitzt, der die Gleichungsnebenbedingungen erfüllt, und alle Ungleichungsnebenbedingungen strikt erfüllt, dass also bzw. für mindestens einen Punkt in allen Ungleichungsnebenbedingungen des Problems gleichzeitig gilt. Da aber genau dann gilt, wenn ist, was wiederum äquivalent dazu ist, dass eine positiv definite Matrix ist, ist die Slater-Bedingung für SDPs bereits erfüllt, wenn es eine positiv definite Matrix gibt, welche die Gleichungsnebenbedingungen erfüllt.

Literatur

  • Florian Jarre, Josef Stoer: Optimierung. Springer, Berlin 2004, ISBN 3-540-43575-1.
  • Johannes Jahn: Introduction to the Theory of Nonlinear Optimization. 3. Auflage. Springer, Berlin 2007, ISBN 978-3-540-49378-5.

Einzelnachweise

  1. Florian Jarre, Josef Stoer: Optimierung. Springer, Berlin 2004, S. 419.

Weblinks