Komplementaritätsbedingung

Aus testwiki
Zur Navigation springen Zur Suche springen

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

Allgemeiner Fall

Problemstellung

Gegeben seien zwei Optimierungsprobleme wie in der nachfolgenden Tabelle:

Primales Problem Duales Problem
Minimiere f(x)unter den Nebenbedingungen gi(x)0i=1,,phj(x)=0j=1,,qxX Maximiere q(λ,μ)unter den Nebenbedingungen λi0i=1,,p

Dabei ist

q(λ,μ)=infxX(f(x)+i=1pλigi(x)+j=1qμjhj(x))

die duale Funktion und f,gi,hj:n

Aussage

Die Komplementaritätsbedingung lautet nun

λi*gi(x*)=0 für alle i=1,,p

für zulässige x*,λ*. Eine alternative Formulierung in Vektorschreibweise mit g(x)=(g1(x),,gp(x))T und λ=(λ1,,λp)T ist

(λ*)Tg(x*)=0.

Ist der i-te Lagrange-Multiplikator (die i-te Ungleichungsrestriktion) ungleich Null, so muss die i-te Ungleichungsrestriktion (der i-te Lagrange-Multiplikator) folglich gleich Null sein:

λi*>0gi(x*)=0gi(x*)<0λi*=0.

Es muss also stets mindestens einer der beiden Faktoren null sein. Dies folgt daraus, dass λi*0 und gi(x*)0 gilt, da beide dual bzw. primal zulässig sind.

Gültigkeit

Gilt die starke Dualität (d. h. sind der Optimalwert des primalen und des dualen Problems gleich), wird der Optimalwert in x* und (λ*,μ*) angenommen und ist er endlich, so gilt die Komplementaritätsbedingung.

Alternativ findet sich auch im Rahmen der KKT-Bedingungen die Formulierung, dass wenn x* optimal für das primale Problem ist, f(x*) endlich ist und gewisse Regularitätsbedingungen (auch constraint qualifications genannt) gelten, so existieren λi*0, so dass für x*,λ* die Komplementaritätsbedingung gilt. Die Regularitätsbedingungen garantieren die starke Dualität (meist nur im Punkt x*) und ermöglichen damit die Ergänzung der primalen Optimallösung um die duale Optimallösung.

Für lineare Programme

Problemstellung

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
Minimiere cTxunter den Nebenbedingungen Ax=bx0 Maximiere bTyunter den Nebenbedingungen ATyc

Dabei ist x,cn,b,ym und Am×n.

Aussage

Bezeichne [x]i die i-te Komponente des Vektors x. Dann lautet die Komplementaritätsbedingung für zulässige x*,y*

(x*)T(ATy*c)=0 bzw. [x*]i[ATy*c]i=0.

Damit folgt

[x*]i>0[ATy*]i=[c]i[ATy*c]i<0[x*]i=0.

Ist das duale Problem mit einer Schlupfvariable sn formuliert, lauten die Nebenbedingungen also

ATy+s=c,s0,

so lautet die Komplementaritätsbedingung

(x*)Ts*=0 bzw. [x*]i[s]i=0

und

[x*]i>0[s*]i=0[s*]i>0[x*]i=0.

Dies erklärt die Namensgebung als komplementärer Schlupf: Entweder die Schlupfvariable ist null oder die primale Variable ist null.

Gültigkeit

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 x*,y* (bzw. je nach Formulierung s*) existieren, die die Komplementaritätsbedingung erfüllen. Die x*,y* sind dann Optimallösungen des primalen und dualen Problems.

Umgekehrt erfüllt jedes endliche primal-duale Optimalpaar x*,y* die Komplementaritätsbedingung.

Beispiel

Wir betrachten das primale lineare Programm

Minimiere (1,0,0)xunter den Nebenbedingungen (1,1,1)x=1x0

und das zugehörige duale Programm

Maximiere y1unter den Nebenbedingungen (111)y(100)

Beide Probleme besitzen einen zulässigen Punkt, somit gilt starke Dualität. Der optimale duale Zielfunktionswert ist y1=1. Aus der starken Dualität folgert man wegen cTx=bTy, dass x1=1 ist. Der komplementäre Schlupf liefert nun

x2(y10)=0x3(y10)=0

und damit x2=x3=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

Sei x* primal optimal und (λ*,μ*) dual optimal. Dann ist gi(x*)0 und λi*0, da die Optimalpunkte zulässig sind. Somit ist λ*gi(x*)0. Wegen der starken Dualität ist

f(x*)=q(λ*,μ*)=infxX(f(x)+i=1pλi*gi(x)+j=1qμj*hj(x))f(x*)+i=1pλi*gi(x*)0+j=1qμj*hj(x*)=0f(x*)

Die erste geschweifte Klammer folgt aus der oben gezeigten Identität, die zweite aus der Tatsache, dass hj(x*)=0, da x* zulässig ist. Ist nun f(x*) endlich, so gilt in der Ungleichung Gleichheit und es folgt

i=1pλi*gi(x*)=0,

was die Behauptung impliziert, da jeder der Summanden kleinergleich null ist.

Verallgemeinerungen

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 K bzw. ein Ordnungskegel definiert ist. Die Funktionen gi bilden in den Vektorraum Vi versehen mit dem Skalarprodukt ;i ab, ebenso bilden die Funktionen hj in den Vektorraum Vj versehen mit dem Skalarprodukt ;j ab. Das primale und duale Problem lauten dann

Primales Problem Duales Problem
Minimiere f(x)unter den Nebenbedingungen gi(x)Ki0i=1,,phj(x)=0j=1,,qxX Maximiere q(λ,μ)unter den Nebenbedingungen λiKi*0i=1,,p.

Dabei ist

q(λ,μ)=infxX(f(x)+i=1pλ;g(x)i+j=1qμj;hj(x)j)

die duale Funktion und K* der duale Kegel zu K.

Gilt starke Dualität und sind die Punkte x* sowie (λ*,μ*) optimal und ist der Zielfunktionswert endlich, so gilt

λi*;gi(x*)i=0 für i=1,,p.

Daraus folgt

λi*>Ki*0gi(x*)=0gi(x*)<Ki0λi*=0

Die Herleitung für diesen allgemeinen Fall ist größtenteils analog zur obigen Vorgehensweise unter Ausnutzung der Tatsache, dass wenn aK0,bK*0 ist, folgt, dass a;b0.

Formuliert man das Problem mit Ordnungskegeln, sind also die Ungleichungsrestriktionen von der Form gi(x)Ki bzw. λKi*, so gilt genauso wie oben

λi*;gi(x*)i=0 für i=1,,p.

Die Aussage

λi*int(Ki*)gi(x*)=0

gilt aber nur, wenn der Kegel Ki* ein nichtleeres Inneres hat. Analog gilt

gi(x*)int(Ki)λi*=0

nur, wenn das Innere von Ki nicht leer ist.

Literatur

  • 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.