A idéia básica das condições KKT como condições necessárias para um ótimo é que, se elas não se mantiverem em um ponto viável , existe uma direção δ que melhorará o objetivo f sem aumentar (e, portanto, possivelmente violar) as restrições. (Se as condições KKT não se mantiverem em x , x não pode ser o ideal, portanto, as condições KKT são necessárias para que um ponto seja o ideal.)xδfxx
Imagine que você tem o problema de otimização:
minimize (over x)subject tof(x)∀j∈{1…k}gj(x)≤0
Onde e existem k restrições.x∈Rnk
Seja um vetor de coluna que denota o gradiente de f avaliado em x .∇f(x)fx
Aplicado a essa situação, Farkas Lemma afirma que, para qualquer ponto exatamente uma das seguintes afirmações é válida:x∈Rn
- Existe tal que ∑ k j = 1 λ j ∇ g j ( x ) = - ∇ f ( x ) e λ ≥ 0λ∈Rk∑kj=1λj∇gj(x)=−∇f(x)λ≥0
- Existe tal que ∀ j δ ′ g j ( x ) ≤ 0 e δ ′ ∇ f ( x ) < 0δ∈Rn∀jδ′gj(x)≤0δ′∇f(x)<0
O que isto significa? Isso significa que, para qualquer ponto viável ,:x
- A condição (1) é mantida e as condições da KKT são atendidas.
- A condição (2) é mantida e existe uma direção viável que melhora a função objetiva f sem aumentar as restrições g j . (por exemplo, você pode melhorar f movendo de x para x + ϵ δ )δfgjfxx+ϵδ
A condição (1) afirma que existem multiplicadores não negativos modo que as condições KKT são satisfeitas no ponto x . (Geometricamente, diz que o - ∇ f está no cone convexo definido pelos gradientes das restrições.)λx−∇f
A condição (2) afirma que no ponto , existe uma direção δ para se mover (localmente) de modo que:xδ
- Mover na direção reduz a função objetivo (porque o produto escalar de ∇ f ( x ) e δ é menor que zero).δ∇f(x)δ
- Mover na direção não aumenta o valor das restrições (porque o produto escalar de ∇ g j ( x ) e δ é menor ou igual a zero para todas as restrições j ).δ∇gj(x)δj
(Geometricamente, a direção viável define um hiperplano de separação entre o vetor - ∇ f ( x ) e o cone convexo definido pelos vetores ∇ g j ( x ) .)δ−∇f(x)∇gj(x)
(Nota: para mapear esse em Farkas Lema , definir matriz )A=[∇g1,∇g2,…,∇gk]
Este argumento fornece a necessidade (mas não a suficiência) das condições KKT em um nível ótimo. Se as condições da KKT não forem atendidas (e as qualificações de restrição forem atendidas), é possível melhorar o objetivo sem violar as restrições.
O papel das qualificações de restrição
O que pode dar errado? Você pode obter situações degeneradas em que os gradientes das restrições não descrevem com precisão as direções possíveis para a mudança.
Há uma infinidade de qualificações de restrição diferentes para escolher, que permitirão que o argumento acima funcione.
A interpretação min, max (imho a mais intuitiva)
Formar o Lagrangiano
L(x,λ)=f(x)+∑j=1kλjgj(x)
fgjLλi
A solução para o problema de otimização original é equivalente a:
minxmaxλL(x,λ)
Isso é:
- xL
- λx
g2λ2
Dualidade fraca
f(x,y)
∀x^,y^minxf(x,y^)≤f(x^,y^)≤maxyf(x^,y)
Desde que detém para qualquer x e y é também afirma que:
máx y min x f ( xx^y^
maxyminxf(x,y)≤minxmaxyf(x,y)
Na configuração de Langrian, este resultado que maxλminxL(x,λ)≤minxmaxλL(x,λ)
maxλminxL(x,λ)
Dualidade forte
Sob certas condições especiais (por exemplo, problema convexo onde a condição Slater se mantém), você tem uma dualidade forte (ou seja, a propriedade do ponto de sela).
maxλminxL(x,λ)=minxmaxλL(x,λ)
Este belo resultado implica que você pode reverter a ordem do problema.
λ
xL
λ