L'idea di base delle condizioni di KKT come condizioni necessarie per un ottimale è che se non si mantengono in un punto fattibile , allora esiste una direzione δ che migliorerà l'obiettivo f senza aumentare (e quindi possibilmente violare) i vincoli. (Se le condizioni KKT non valgono su x, allora x non può essere ottimale, quindi le condizioni KKT sono necessarie affinché un punto sia ottimale.)xδfxx
Immagina di avere il problema di ottimizzazione:
minimize (over x)subject tof(x)∀j∈{1…k}gj(x)≤0
Dove e ci sono vincoli k .x∈Rnk
Sia un vettore di colonna che indica il gradiente di f valutato in x .∇f(x)fx
Applicato a questa situazione, Farkas Lemma afferma che per ogni punto vale esattamente una delle seguenti affermazioni:x∈Rn
- Esiste tale che ∑ k j = 1 λ j ∇ g j ( x ) = - ∇ f ( x ) e λ ≥ 0λ∈Rk∑kj=1λj∇gj(x)=−∇f(x)λ≥0
- Esiste tale che ∀ j δ ′ g j ( x ) ≤ 0 e δ ′ ∇ f ( x ) < 0δ∈Rn∀jδ′gj(x)≤0δ′∇f(x)<0
Cosa significa questo? Significa che per ogni punto possibile , sia:x
- La condizione (1) è valida e le condizioni KKT sono soddisfatte.
- La condizione (2) vale ed esiste una direzione fattibile che migliora la funzione obiettivo f senza aumentare i vincoli g j . (es. puoi migliorare f passando da x a x + ϵ δ )δfgjfxx+ϵδ
La condizione (1) afferma che esistono moltiplicatori non negativi tali che le condizioni KKT sono soddisfatte al punto x . (Dal punto di vista geometrico, dice che - ∇ f si trova nel cono convesso definito dai gradienti dei vincoli.)λx−∇f
La condizione (2) afferma che nel punto esiste una direzione δ per spostarsi (localmente) in modo tale che:xδ
- Spostarsi nella direzione riduce la funzione obiettivo (poiché il prodotto punto di ∇ f ( x ) e δ è inferiore a zero).δ∇f(x)δ
- Spostarsi nella direzione non aumenta il valore dei vincoli (perché il prodotto punto di ∇ g j ( x ) e δ è minore o uguale a zero per tutti i vincoli j ).δ∇gj(x)δj
(Geometricamente, la direzione fattibile definisce un iperpiano di separazione tra il vettore - ∇ f ( x ) e il cono convesso definito dai vettori ∇ g j ( x ) .)δ−∇f(x)∇gj(x)
(Nota: per mappare questo in Farkas Lemma , definire la matrice )A=[∇g1,∇g2,…,∇gk]
Questo argomento ti dà la necessità (ma non la sufficienza) delle condizioni KKT in modo ottimale. Se le condizioni KKT non sono soddisfatte (e le qualifiche dei vincoli sono soddisfatte), è possibile migliorare l'obiettivo senza violare i vincoli.
Il ruolo delle qualifiche dei vincoli
Cosa può andare storto? È possibile ottenere situazioni degenerate in cui i gradienti dei vincoli non descrivono accuratamente le direzioni possibili in cui muoversi.
È possibile scegliere tra una moltitudine di qualifiche di vincolo diverse che consentiranno all'argomento di cui sopra di funzionare.
L'interpretazione minima e massima (imho la più intuitiva)
Forma il lagrangiano
L(x,λ)=f(x)+∑j=1kλjgj(x)
fgjLλi
La soluzione al problema di ottimizzazione originale è equivalente a:
minxmaxλL(x,λ)
Questo è:
- xL
- λx
g2λ2
Debole dualità
f(x,y)
∀x^,y^minxf(x,y^)≤f(x^,y^)≤maxyf(x^,y)
x^y^
maxyminxf(x,y)≤minxmaxyf(x,y)
maxλminxL(x,λ)≤minxmaxλL(x,λ)
maxλminxL(x,λ)
Forte dualità
In determinate condizioni speciali (es. Problema convesso in cui si trova la condizione di Slater), si ha una forte dualità (cioè la proprietà del punto di sella).
maxλminxL(x,λ)=minxmaxλL(x,λ)
Questo bellissimo risultato implica che puoi invertire l'ordine del problema.
λ
xL
λ