Komplementaritätsbedingung
Die Komplementaritätsbedingung, auch komplementärer Schlupf genannt (englisch complementary Slackness), ist eine Aussage der mathematischen Optimierung, die eine Verbindung zwischen den Optimalpunkten zweier Optimierungsprobleme knüpft, die zueinander dual bezüglich der Lagrange-Dualität sind. Die Komplementaritätsbedingung ist ein notwendiges Optimalitätskriterium und findet Anwendung bei Innere-Punkte-Verfahren und den Karush-Kuhn-Tucker-Bedingungen.
Aussage
[Bearbeiten | Quelltext bearbeiten ]Allgemeiner Fall
[Bearbeiten | Quelltext bearbeiten ]Problemstellung
[Bearbeiten | Quelltext bearbeiten ]Gegeben seien zwei Optimierungsprobleme wie in der nachfolgenden Tabelle:
Primales Problem | Duales Problem |
---|---|
{\displaystyle {\begin{aligned}{\text{Minimiere }}&f(x)&\\{\text{unter den Nebenbedingungen }}&g_{i}(x)\leq 0&i=1,\dotsc ,p\\&h_{j}(x)=0&j=1,\dotsc ,q\\&x\in X&\end{aligned}}} | {\displaystyle {\begin{aligned}{\text{Maximiere }}&q(\lambda ,\mu )&\\{\text{unter den Nebenbedingungen }}&\lambda _{i}\geq 0&i=1,\dotsc ,p\end{aligned}}} |
Dabei ist
- {\displaystyle q(\lambda ,\mu )=\inf _{x\in X}\left(f(x)+\sum _{i=1}^{p}\lambda _{i}g_{i}(x)+\sum _{j=1}^{q}\mu _{j}h_{j}(x)\right)}
die duale Funktion und {\displaystyle f,g_{i},h_{j}:\mathbb {R} ^{n}\mapsto \mathbb {R} }
Aussage
[Bearbeiten | Quelltext bearbeiten ]Die Komplementaritätsbedingung lautet nun
- {\displaystyle \lambda _{i}^{*}g_{i}(x^{*})=0{\text{ für alle }}i=1,\dotsc ,p}
für zulässige {\displaystyle x^{*},\lambda ^{*}}. Eine alternative Formulierung in Vektorschreibweise mit {\displaystyle g(x)=(g_{1}(x),\dots ,g_{p}(x))^{T}} und {\displaystyle \lambda =(\lambda _{1},\dots ,\lambda _{p})^{T}} ist
- {\displaystyle (\lambda ^{*})^{T}g(x^{*})=0}.
Ist der {\displaystyle i}-te Lagrange-Multiplikator (die {\displaystyle i}-te Ungleichungsrestriktion) ungleich Null, so muss die {\displaystyle i}-te Ungleichungsrestriktion (der {\displaystyle i}-te Lagrange-Multiplikator) folglich gleich Null sein:
- {\displaystyle {\begin{aligned}\lambda _{i}^{*}>0\implies g_{i}(x^{*})=0\\g_{i}(x^{*})<0\implies \lambda _{i}^{*}=0\end{aligned}}}.
Es muss also stets mindestens einer der beiden Faktoren null sein. Dies folgt daraus, dass {\displaystyle \lambda _{i}^{*}\geq 0} und {\displaystyle g_{i}(x^{*})\leq 0} gilt, da beide dual bzw. primal zulässig sind.
Gültigkeit
[Bearbeiten | Quelltext bearbeiten ]Gilt die starke Dualität (d. h. sind der Optimalwert des primalen und des dualen Problems gleich), wird der Optimalwert in {\displaystyle x^{*}} und {\displaystyle (\lambda ^{*},\mu ^{*})} angenommen und ist er endlich, so gilt die Komplementaritätsbedingung.
Alternativ findet sich auch im Rahmen der KKT-Bedingungen die Formulierung, dass wenn {\displaystyle x^{*}} optimal für das primale Problem ist, {\displaystyle f(x^{*})} endlich ist und gewisse Regularitätsbedingungen (auch constraint qualifications genannt) gelten, so existieren {\displaystyle \lambda _{i}^{*}\geq 0}, so dass für {\displaystyle x^{*},\lambda ^{*}} die Komplementaritätsbedingung gilt. Die Regularitätsbedingungen garantieren die starke Dualität (meist nur im Punkt {\displaystyle x^{*}}) und ermöglichen damit die Ergänzung der primalen Optimallösung um die duale Optimallösung.
Für lineare Programme
[Bearbeiten | Quelltext bearbeiten ]Problemstellung
[Bearbeiten | Quelltext bearbeiten ]Handelt es sich bei den Optimierungsproblemen um lineare Programme, so nehmen das primale und das duale Problem eine besondere Form an und der komplementäre Schlupf vereinfacht sich.
Primales Problem | Duales Problem |
---|---|
{\displaystyle {\begin{aligned}{\text{Minimiere }}&c^{T}x&\\{\text{unter den Nebenbedingungen }}&Ax=b\\&x\geq 0\end{aligned}}} | {\displaystyle {\begin{aligned}{\text{Maximiere }}&b^{T}y&\\{\text{unter den Nebenbedingungen }}&A^{T}y\leq c\end{aligned}}} |
Dabei ist {\displaystyle x,c\in \mathbb {R} ^{n},,円,円b,y\in \mathbb {R} ^{m}} und {\displaystyle A\in \mathbb {R} ^{m\times n}}.
Aussage
[Bearbeiten | Quelltext bearbeiten ]Bezeichne {\displaystyle [x]_{i}} die i-te Komponente des Vektors {\displaystyle x}. Dann lautet die Komplementaritätsbedingung für zulässige {\displaystyle x^{*},y^{*}}
- {\displaystyle (x^{*})^{T}(A^{T}y^{*}-c)=0{\text{ bzw. }}[x^{*}]_{i}\cdot [A^{T}y^{*}-c]_{i}=0}.
Damit folgt
- {\displaystyle {\begin{aligned}\left[x^{*}\right]_{i}>0\implies \left[A^{T}y^{*}\right]_{i}=\left[c\right]_{i}\\\left[A^{T}y^{*}-c\right]_{i}<0\implies \left[x^{*}\right]_{i}=0\end{aligned}}}.
Ist das duale Problem mit einer Schlupfvariable {\displaystyle s\in \mathbb {R} ^{n}} formuliert, lauten die Nebenbedingungen also
- {\displaystyle A^{T}y+s=c,,円,円s\geq 0,}
so lautet die Komplementaritätsbedingung
- {\displaystyle (x^{*})^{T}s^{*}=0{\text{ bzw. }}[x^{*}]_{i}\cdot [s]_{i}=0}
und
- {\displaystyle {\begin{aligned}\left[x^{*}\right]_{i}>0\implies \left[s^{*}\right]_{i}=0\\\left[s^{*}\right]_{i}>0\implies \left[x^{*}\right]_{i}=0\end{aligned}}}.
Dies erklärt die Namensgebung als komplementärer Schlupf: Entweder die Schlupfvariable ist null oder die primale Variable ist null.
Gültigkeit
[Bearbeiten | Quelltext bearbeiten ]Die Formulierung der Komplementaritätsbedingung basiert auf der Tatsache, dass für lineare Programme starke Dualität gilt und der Optimalwert endlich ist, genau dann, wenn sowohl das primale als auch das duale Problem einen zulässigen Punkt besitzen.
Die Formulierung lautet also, dass falls das primale und das duale Problem zulässige Lösungen besitzen, zulässige Lösungen {\displaystyle x^{*},y^{*}} (bzw. je nach Formulierung {\displaystyle s^{*}}) existieren, die die Komplementaritätsbedingung erfüllen. Die {\displaystyle x^{*},y^{*}} sind dann Optimallösungen des primalen und dualen Problems.
Umgekehrt erfüllt jedes endliche primal-duale Optimalpaar {\displaystyle x^{*},y^{*}} die Komplementaritätsbedingung.
Beispiel
[Bearbeiten | Quelltext bearbeiten ]Wir betrachten das primale lineare Programm
- {\displaystyle {\begin{aligned}{\text{Minimiere }}&(-1,0,0)x\\{\text{unter den Nebenbedingungen }}&(1,1,1)x=1\\&x\geq 0\end{aligned}}}
und das zugehörige duale Programm
- {\displaystyle {\begin{aligned}{\text{Maximiere }}&y_{1}\\{\text{unter den Nebenbedingungen }}&{\begin{pmatrix}1\1円\1円\end{pmatrix}}y\leq {\begin{pmatrix}-1\0円\0円\end{pmatrix}}\end{aligned}}}
Beide Probleme besitzen einen zulässigen Punkt, somit gilt starke Dualität. Der optimale duale Zielfunktionswert ist {\displaystyle y_{1}=-1}. Aus der starken Dualität folgert man wegen {\displaystyle c^{T}x=b^{T}y}, dass {\displaystyle x_{1}=1} ist. Der komplementäre Schlupf liefert nun
- {\displaystyle {\begin{aligned}x_{2}\cdot (y_{1}-0)=0\\x_{3}\cdot (y_{1}-0)=0\end{aligned}}}
und damit {\displaystyle x_{2}=x_{3}=0}. Somit liefert hier der komplementäre Schlupf den vollständigen primalen Optimalpunkt. Umgekehrt kann man auch bei gegebenen primalen und dualen Punkten überprüfen, ob diese Optimalpunkte sind: Wenn sie optimal sind, müssen sie den komplementären Schlupf erfüllen.
Herleitung
[Bearbeiten | Quelltext bearbeiten ]Sei {\displaystyle x^{*}} primal optimal und {\displaystyle (\lambda ^{*},\mu ^{*})} dual optimal. Dann ist {\displaystyle g_{i}(x^{*})\leq 0} und {\displaystyle \lambda _{i}^{*}\geq 0}, da die Optimalpunkte zulässig sind. Somit ist {\displaystyle \lambda ^{*}g_{i}(x^{*})\leq 0}. Wegen der starken Dualität ist
- {\displaystyle {\begin{aligned}f(x^{*})=q(\lambda ^{*},\mu ^{*})=\inf _{x\in X}\left(f(x)+\sum _{i=1}^{p}\lambda _{i}^{*}g_{i}(x)+\sum _{j=1}^{q}\mu _{j}^{*}h_{j}(x)\right)\\\leq f(x^{*})+\sum _{i=1}^{p}\underbrace {\lambda _{i}^{*}g_{i}(x^{*})} _{\leq 0}+\sum _{j=1}^{q}\underbrace {\mu _{j}^{*}h_{j}(x^{*})} _{=0}\leq f(x^{*})\end{aligned}}}
Die erste geschweifte Klammer folgt aus der oben gezeigten Identität, die zweite aus der Tatsache, dass {\displaystyle h_{j}(x^{*})=0}, da {\displaystyle x^{*}} zulässig ist. Ist nun {\displaystyle f(x^{*})} endlich, so gilt in der Ungleichung Gleichheit und es folgt
- {\displaystyle \sum _{i=1}^{p}\lambda _{i}^{*}g_{i}(x^{*})=0},
was die Behauptung impliziert, da jeder der Summanden kleinergleich null ist.
Verallgemeinerungen
[Bearbeiten | Quelltext bearbeiten ]Der komplementäre Schlupf lässt sich auch allgemeiner formulieren für Abbildungen zwischen vollständigen reellen Vektorräumen, die mit Skalarprodukt versehen sind und auf denen eine verallgemeinerte Ungleichung {\displaystyle \preccurlyeq _{K}} bzw. ein Ordnungskegel definiert ist. Die Funktionen {\displaystyle g_{i}} bilden in den Vektorraum {\displaystyle V_{i}} versehen mit dem Skalarprodukt {\displaystyle \langle \cdot ;\cdot \rangle _{i}} ab, ebenso bilden die Funktionen {\displaystyle h_{j}} in den Vektorraum {\displaystyle V_{j}} versehen mit dem Skalarprodukt {\displaystyle \langle \cdot ;\cdot \rangle _{j}} ab. Das primale und duale Problem lauten dann
Primales Problem | Duales Problem |
---|---|
{\displaystyle {\begin{aligned}{\text{Minimiere }}&f(x)&\\{\text{unter den Nebenbedingungen }}&g_{i}(x)\preccurlyeq _{K_{i}}0&i=1,\dotsc ,p\\&h_{j}(x)=0&j=1,\dotsc ,q\\&x\in X&\end{aligned}}} | {\displaystyle {\begin{aligned}{\text{Maximiere }}&q(\lambda ,\mu )&\\{\text{unter den Nebenbedingungen }}&\lambda _{i}\succcurlyeq _{K_{i}^{*}}0&i=1,\dotsc ,p\end{aligned}}}. |
Dabei ist
- {\displaystyle q(\lambda ,\mu )=\inf _{x\in X}\left(f(x)+\sum _{i=1}^{p}\langle \lambda ;g(x)\rangle _{i}+\sum _{j=1}^{q}\langle \mu _{j};h_{j}(x)\rangle _{j}\right)}
die duale Funktion und {\displaystyle K^{*}} der duale Kegel zu {\displaystyle K}.
Gilt starke Dualität und sind die Punkte {\displaystyle x^{*}} sowie {\displaystyle (\lambda ^{*},\mu ^{*})} optimal und ist der Zielfunktionswert endlich, so gilt
- {\displaystyle \langle \lambda _{i}^{*};g_{i}(x^{*})\rangle _{i}=0{\text{ für }}i=1,\dots ,p}.
Daraus folgt
- {\displaystyle {\begin{aligned}\lambda _{i}^{*}>_{K_{i}^{*}}0&\implies g_{i}(x^{*})=0\\g_{i}(x^{*})<_{K_{i}}0&\implies \lambda _{i}^{*}=0\end{aligned}}}
Die Herleitung für diesen allgemeinen Fall ist größtenteils analog zur obigen Vorgehensweise unter Ausnutzung der Tatsache, dass wenn {\displaystyle a\preccurlyeq _{K}0,b\succcurlyeq _{K^{*}}0} ist, folgt, dass {\displaystyle \langle a;b\rangle \leq 0}.
Formuliert man das Problem mit Ordnungskegeln, sind also die Ungleichungsrestriktionen von der Form {\displaystyle g_{i}(x)\in -K_{i}} bzw. {\displaystyle \lambda \in K_{i}^{*}}, so gilt genauso wie oben
- {\displaystyle \langle \lambda _{i}^{*};g_{i}(x^{*})\rangle _{i}=0{\text{ für }}i=1,\dots ,p}.
Die Aussage
- {\displaystyle \lambda _{i}^{*}\in \operatorname {int} (K_{i}^{*})\implies g_{i}(x^{*})=0}
gilt aber nur, wenn der Kegel {\displaystyle K_{i}^{*}} ein nichtleeres Inneres hat. Analog gilt
- {\displaystyle g_{i}(x^{*})\in \operatorname {int} (-K_{i})\implies \lambda _{i}^{*}=0}
nur, wenn das Innere von {\displaystyle K_{i}} nicht leer ist.
Literatur
[Bearbeiten | Quelltext bearbeiten ]- Boyd, Stephen; Vandenberghe, Lieven (2004). Convex Optimization. Cambridge University Press. ISBN 978-0-521-83378-3. (online)
- C. Geiger, C. Kanzow: Theorie und Numerik restringierter Optimierungsaufgaben. Springer, 2002. ISBN 3-540-42790-2.