Die Grundidee der KKT-Bedingungen als notwendige Bedingungen für ein Optimum ist, dass, wenn sie nicht an einem realisierbaren Punkt festhalten , eine Richtung , die das Ziel verbessert, ohne zuzunehmen (und damit möglicherweise Verstöße) gegen die Auflagen. (Wenn die KKT Bedingungen halten nicht an dann können nicht optimal sein, damit KKT Bedingungen notwendig sind , für einen Punkt , ein Optimum zu sein.)xf x xδfxx
Stellen Sie sich vor, Sie haben das Optimierungsproblem:
minimize (over x)subject tof(x)∀j∈{1…k}gj(x)≤0
Wo und es gibt Einschränkungen. kx∈Rnk
Sei ein Spaltenvektor, der den Gradienten von , der bei ausgewertet wird .f x∇f(x)fx
Auf diese Situation bezogen gibt Farkas Lemma an , dass für jeden Punkt genau eine der folgenden Aussagen gilt:x∈Rn
- Es gibt so dass undΣ k j = 1 λ j ∇ g j ( x ) = - ∇ f ( x ) λ ≥ 0λ∈Rk∑kj=1λj∇gj(x)=−∇f(x)λ≥0
- Es gibt so dass und∀ j δ ' g j ( x ) ≤ 0 δ ' ∇ f ( x ) < 0δ∈Rn∀jδ′gj(x)≤0δ′∇f(x)<0
Was bedeutet das? Dies bedeutet, dass für jeden machbaren Punkt entweder:x
- Bedingung (1) gilt und die KKT-Bedingungen sind erfüllt.
- Bedingung (2) gilt und es existiert eine mögliche Richtung , die die Zielfunktion verbessert, ohne die Bedingungen . (zB können Sie verbessern, indem Sie von nach )f g j f x x + ϵ δδfgjfxx+ϵδ
Bedingung (1) besagt, dass es nicht negative Multiplikatoren so dass die KKT-Bedingungen am Punkt erfüllt sind . (Geometrisch heißt es, dass das im konvexen Kegel liegt, der durch die Steigungen der Nebenbedingungen definiert wird.)x - ∇ fλx−∇f
Bedingung (2) besagt, dass am Punkt eine Richtung , um sich (lokal) so zu bewegen, dass: δxδ
- Das Bewegen in Richtung verringert die Zielfunktion (weil das Skalarprodukt von und kleiner als Null ist).∇ f ( x ) δδ∇f(x)δ
- Das Bewegen in die Richtung erhöht den Wert der Bedingungen nicht (da das Skalarprodukt von und für alle kleiner oder gleich Null ist Einschränkungen ).∇ g j ( x ) δ jδ∇gj(x)δj
(Geometrisch definiert die mögliche Richtung eine Trennungshyperebene zwischen dem Vektor und dem durch die Vektoren definierten konvexen Kegel .)- ∇ f ( x ) ∇ g j ( x )δ−∇f(x)∇gj(x)
(Hinweis: Um dies auf Farkas Lemma abzubilden , definieren Sie Matrix )A=[∇g1,∇g2,…,∇gk]
Dieses Argument gibt Ihnen die Notwendigkeit (aber nicht die Hinlänglichkeit) der KKT-Bedingungen im Optimum. Wenn die KKT-Bedingungen nicht erfüllt sind (und die Einschränkungsqualifikationen erfüllt sind), kann das Ziel verbessert werden, ohne die Einschränkungen zu verletzen.
Die Rolle von Constraint-Qualifikationen
Was kann schon schief gehen? Es kann zu entarteten Situationen kommen, in denen die Steigungen der Abhängigkeiten die möglichen Bewegungsrichtungen nicht genau beschreiben.
Sie können aus einer Vielzahl verschiedener Einschränkungsqualifikationen auswählen, damit das obige Argument funktioniert.
Die minimale, maximale Interpretation (imho die intuitivste)
Bilden Sie den Lagrange
L(x,λ)=f(x)+∑j=1kλjgj(x)
Stellen Sie sich vor, Sie versuchen zu minimieren, während ein Gegner versucht, es zu maximieren, anstatt unter den Bedingungen zu minimieren . Sie können Multiplikatoren als (von einem Gegner gewählte) Strafen für Verstöße gegen die Beschränkungen interpretieren . g j L λ ifgjLλi
Die Lösung für das ursprüngliche Optimierungsproblem ist äquivalent zu:
minxmaxλL(x,λ)
Das ist:
- Sie wählen zuerst um das Lagrange zu minimieren , da Sie wissen, dass ...LxL
- Ich werde dann auswählen , um den Lagrange zu maximieren (nachdem ich Ihren pick ).xλx
Wenn Sie beispielsweise die Bedingung verletzen , kann ich Sie bestrafen, indem ich auf unendlich !λ 2g2λ2
Schwache Dualität
Für jede Funktion beachten, dass:f(x,y)
∀x^, y^Mindestxf( x , y^)≤f(x^,y^)≤maxyf(x^,y)
Da dies für jedes und gilt, gilt auch :
x^y^
maxyminxf(x,y)≤minxmaxyf(x,y)
In der Langrian-Einstellung führt dies dazu, dass ist als schwache Dualität bekannt.maxλminxL(x,λ)≤minxmaxλL(x,λ)
Das doppelte Problem gibt Ihnen eine Untergrenze für die LösungmaxλminxL(x,λ)
Starke Dualität
Unter bestimmten besonderen Bedingungen (z. B. konvexes Problem, wenn die Slater-Bedingung zutrifft) haben Sie eine starke Dualität (dh die Sattelpunkt-Eigenschaft).
maxλminxL(x,λ)=minxmaxλL(x,λ)
Dieses schöne Ergebnis impliziert, dass Sie die Reihenfolge des Problems umkehren können.
Ich wähle zuerst die Strafen , um die Lagrange zu maximieren.λ
Dann wählen Sie um den Lagrange zu minimieren .xL
Die in diesem Prozess festgelegten Werte sind Preise für die Verletzung der Beschränkungen, und die Preise sind so festgelegt, dass Sie niemals gegen die Beschränkungen verstoßen.λ