Ir para o conteúdo

Otimização/KKT

Origem: Wikilivros, livros abertos por um mundo aberto.


Neste capítulo o objetivo é desenvolver algumas ideias e provar o teorema de Karush–Kuhn–Tucker (também chamado simplesmente de teorema KKT) que será utilizado no capítulo seguinte para explorar os métodos duais. O teorema KKT é bem útil para resolver problemas do tipo

(P){minf(x)gi(x)0;i=1,,phj(x)=0;j=1,,q
Definição

Um conjunto Cn é um cone quando

dCtdC,t+

Exemplo de um cone no 2.

Em outras palavras, a propriedade que caracteriza um cone é que este tipo de conjunto contém todos os múltiplos não nulos de qualquer de seus elementos.

Definição

Dado um subconjunto Cn, o cone polar de C é o conjunto definido por

C={pn:px0, xC}.

Observações:

  • C é um cone: Se dC tem-se que dx0, xC. Logo, para qualquer t+, vale (td)x=tdx0, xC. Disto segue que tdC, mostrando que C é um cone.
  • Sempre se tem que C(C) (Verifique).

Na segunda propriedade a igualdade pode não ocorrer (exemplo?). Para o objetivo deste texto, o ideal seria que a igualdade valesse. Mas será que isso ocorre para algum conjunto? A resposta é sim e, conforme o próximo lema, basta que C seja um cone convexo fechado.


Este módulo tem a seguinte tarefa pendente: Incluir a definição de projeção antes deste ponto, pois ela será usada durante a demonstração
Lema  (Farkas)

Se Cn um cone convexo fechado, então C=(C).

Demonstração
Seja y(C) e w=projC(y). Sabendo que a projeção de um ponto sobre um conjunto convexo é única, será mostrado que w=y e então ficará provada a inclusão C(C). Disto seguirá a igualdade entre os dois conjuntos, já que C é sempre um subconjunto de (C).

Pelo teorema da projeção (ver Izmailov & Solodov (2007)), tem-se que (yw)(xw)0, xC. Usando o fato de que C é cone, segue que 0C e 2wC e substituindo isto na equação acima obtem-se

(yw)(w)0 e (yw)w0.

Dessas desigualdades, conclui-se que (yw)w=0.

De (yw)(xw)=(yw)x(yw)w0, tem-se que (yw)x0, xC.

Usando a definição de cone polar, isso implica que ywC.

Uma vez que y(C), significa que (yw)y0.

Desses fatos acima se conclui que

yw2=(yw)(yw)=(yw)y(yw)w0

Isso mostra que y=w.


Definição

Dado xC, se diz que dn é uma direção viável em x, com respeito a C, quando existe ϵ>0 tal que

x+tdC, t[0,ϵ].
O conjunto de todas as direções viáveis em x, com respeito ao conjunto C, será denotado por VC(x).

Esse conjunto VC(x) é o cone das direções viáveis em x, com respeito a C.

Definição

Uma direção dn é uma direção de descida da função f em x, se existe ϵ>0 tal que

f(x+td)<f(x), t(0,ϵ].
O conjunto das direções de descida será denotado por D(x).

Caracterização das direções de descida

[editar | editar código]
Lema

Seja f:n uma função diferenciável em xn. Então

  1. f(x)d0, dD(x).
  2. dn satisfaz f(x)d<0 dD(x).


Demonstração
1) Seja dD(x). Então, t(0,ϵ] tem-se f(x+td)<f(x).

Usando a série de Taylor, tem-se

f(x)+tf(x)d+o(t)<f(x)

Sendo t0,

f(x)d+o(t)t<0.

Passando o limite com t0 tem-se que f(x)d0.

2) Novamente aplicando Taylor em f(x+td)f(x) tem-se

f(x+td)f(x)=tf(x)d+o(t).

Como t0, tem-se

f(x+td)f(x)=t(f(x)d+o(t)t).

Pela hipótese f(x)d<0, com isto

limt0(f(x)d+o(t)t)=f(x)d<0.

Pelo teorema da conservação do sinal, existe ϵ>0 tal que f(x)d+o(t)t<0, t(0,ϵ].

Portanto,

t(f(x)d+o(t)t)<0
f(x+td)<f(x) t(0,ϵ].

Conclui-se então que dD(x).

O cone viável linearizado

[editar | editar código]
Definição

Dado xC={xn;gi(x)0 e hj(x)=0}, a desigualdade gi(x)0 é uma restrição ativa em x se gi(x)=0.

Observações
  • O conjunto formado pelos índices das restrições de desigualdade ativas é denotado por I(x). Assim,
I(x)={i:gi(x)=0}
Definição

Dado um ponto xC e o conjunto I(x), se define o cone viável linearizado de C a partir de x como

L(x,C)={dn:gj(x)d0, jI(x) e hi(x)d=0, i=1,,q}.

L(x,C) é um cone não-vazio convexo e fechado pois, 0L(x,C). E se y,wL(x,C), tem-se

hi(x)(αy+(1α)w)=αhi(x)y+(1α)hi(x)w=α0+(1α)0=0 e
gj(x)(αy+(1α)w)=αgj(x)y+(1α)gj(x)wα0+(1α)00.

Portanto αy+(1α)wL(x,C) mostrando que L(x,C) é convexo.

Para mostrar que L(x,C) é fechado, pode-se pegar uma sequência convergente (dk)L(x,C) e mostrar que o ponto de acumulação dela esta em L(x,C).

Tem-se que hi(x)dk=0 e gj(x)dk0, k.

Passando o limite com k, obtem-se

0=limkhi(x)dk=hi(x)limkdk=hi(x)d e
0limkgj(x)dk=gj(x)limkdk=gj(x)d.

Isso mostra que L(x,C) é fechado.


Lema  (Caratheodory)

Sejam y1,,ym,w1,,wpn. Seja xn com x0 e α1,,αm,β1,,βp escalares tais queβj0 j=1,,p e

x=i=1mαiyi+j=1pβjwj.
Então existem subconjuntos I{1,,m}J{1,,p} e escalares αi com iIe βj jJ tais que
x=iIαiyi+jJβjwj e os vetores {yi}iI{wj}jJ são linearmente independentes.

Demonstração
Sem perda de generalidade, suponha que αi0 i=1,,m e βj>0, j=1,,p. Considere que {y1,,ym,w1,,wp} sejam linearmente dependentes.

Portanto existem escalares λi com i=1,,m e δj com j=1,,p não todos nulos tais que

0=i=1mλiyi+j=1pδjwj

Multiplicando a igualdade acima por t e subtraindo de

x=i=1mαiyi+j=1pβjwj tem-se
x=i=1m(αitλi)yi+j=1p(βjtδj)wj

Para t=0 certamente nenhum dos coeficientes acima se anula.

Seja t¯ o t de menor módulo que anula pelo menos um dos coeficientes αitλi ou βjtδj. Então

x=i=1m(αit¯λi)yi+j=1p(βjt¯δj)wj

Assim, se escreve x como combinação linear de no máximo m+p1 vetores já que βjt¯δj0.

Repetindo esse processo obtem-se uma combinação linearmente independente.


Definição

Dado um ponto xC, se define o cone G(x) por

G(x)={i=1qαihi(x)+jI(x)βjgj(x):βj0, jI(x)}.

A seguir, serão mostradas algumas propriedades deste cone.

Lema

Para qualquer xC, G(x) é um cone convexo e fechado.

Demonstração
Primeiro será mostrado que G(x) é de fato um cone. Seja dG(x) e t0. Então tem-se
td=i=1qtαihi(x)+jI(x)tβjgj(x).

Como tβj0 tem-se que tdG(x).

Agora, será provado que G(x) é convexo. Para isso seja y,wG(x), isto é,

y=i=1qαihi(x)+jI(x)βjgj(x) e
w=i=1qλihi(x)+jI(x)δjgj(x) e t[0,1].

Logo tem-se,

ty+(1t)w=i=1q(tαi+(1t)λi)hi(x)+jI(x)(tβj+(1t)δj)gj(x).

Como tβj+(1t)δj0 visto que βj0 e δj0. Com isso concluímos que ty+(1t)wG(x) mostrando que G(x) é convexo.

Para mostrar que G(x) é fechado, toma-se uma sequência convergente em G(x) e se mostra que o ponto de acumulação dela pertence a G(x).

Para isso seja (zk)G(x) com zkzn. Será mostrado que zG(x).

Escrevendo G(x) em forma matricial tem-se G(x)={AΔ+BΩ:Ω0}.

Pelo Lema de Caratheodory podemos assumir que C=(A B) tem colunas linearmente independentes, e portanto CC é não singular.

Uma vez que (zk)G(x), existem Γk=(Δk Ωk)t com Ωk0 tais que zk=CΓk.

Uma vez que CC é não singular, Γk=(CC)1Czk.

Passando o limite obtem-se,

(Δ Ω)t=Γ=limkΓk=(CC)1Cz com Ω0.

Isso mostra que CΩG(x).

Agora passando o limite em zk=CΩk obtém-se z=CΩ, mostrando que zG(x).


Lema

Para qualquer xC, G(x)=L(x,C).

Demonstração
Como L(x,C) e G(x) são convexos e fechados, tem-se que L(x,C)=(L(x,C)) e G(x)=(G(x)). Será mostrado então que L(x,C)=G(x).

Seja dL(x,C). Assim, dado yG(x) tem-se

dy=d(i=1qαihi(x)+jI(x)βjgj(x))
dy=i=1qαidhi(x)+jI(x)βjdgj(x)

Mas β0 e dhi(x)=0 e dgj(x)0.

Conclui-se então que dy0. Como y é arbitrário, dG(x).

Agora a volta, seja dG(x), isto é, dy0 yG(x).

Em particular, uma vez que hi(x) e hi(x)G(x) i=1,,q, tem-se que dhi(x)=0.

Além disso, uma vez que gj(x)G(x) jI(x), tem-se que dgj(x)0.

Logo dL(x,C).

O cone tangente

[editar | editar código]
Definição

Um vetor dn é chamado direção tangente em C a partir de xC quando ou d=0 ou (xk)C tal que

xkx e xkxxkxdd.

Observações
  • O conjunto de todas as direções tangentes no ponto xC, é denominado cone tangente, e denotado por T(x,C).
  • Se aC, então T(a,C) também pode ser descrito como
T(a,C)={d;{dk} com dkd;{tk} com tk0 tais que x=a+tkdkC,k}
Exercício

Verifique que T(a,C) é de fato um cone (e portanto merece ser chamado de "cone tangente").

Resolução
A resolução deste exercício é deixada a cargo do leitor. Sinta-se livre para melhorar a qualidade deste texto, incluindo-a neste módulo.

Exemplo de cone tangente

[editar | editar código]

Determinar o cone tangente ao ponto a=(0,0) do quadrado unitário com vértices (0,0), (0,1), (1,1) e (1,0).

Resolução
Cone tangente a um quadrado unitário com vértice na origem.

Dado qualquer ponto d=(d0,d1) do 2º quadrante (formado pelos pontos (x,y) tais que x<0 e y>0), pode-se definir:

tk=(12)k
dk=d

Com essas escolhas, tem-se:

tk0
dkd

Logo, a+tkdk=a+(12)kd=(0,0)+(d02k,d12k)=(d02k,d12k)C.


Propriedades do cone tangente

[editar | editar código]
Wikipedia
Wikipedia
A Wikipédia tem mais sobre este assunto:
Cone tangente

O cone tangente definido anteriormente tem as seguintes propriedades:

  1. T(a,C) é fechado e 0T(a,C)
  2. Se CD então T(a,C)T(a,D)
  3. Se V é uma vizinhança de a, então T(a,C)=T(a,VC)
Observação

A terceira propriedade indica que o cone tangente só depende do que ocorre bem perto de a, no conjunto C.


Lema

Para qualquer xC, T(x,C) é fechado.

Demonstração
Seja (dk)T(x,C) com dkdn. Será mostrado que dT(x,C).

Caso d=0, dT(x,C). Então, suponha-se que d0.

Neste caso, sem perda de generalidade pode-se considerar que dk0, k, pois dkd.

Fixando k tem-se que dkT(x,C). Portanto, existe (xk,j)jC tal que xk,jx e xk,jxxk,jxdkdk quando j.

Assim para ϵ=1k existe jk tal que para jjk, tal que xk,jx<1k e |xk,jxxk,jxdkdk|<1k.

Em particular, tomando j=jk tem-se

xk,jkx<1k e |xk,jkxxk,jkxdkdk|<1k.

Tomando o limite quando k, obtem-se que xkx e

|xk,jkxxk,jkxdd||xk,jkxxk,jkxdkdk|+|dkdkdd|0.

Logo xkxxkxdd.

Isso mostra que dT(x,C).



Exercício

Verificar que:

  1. T(a,C)L(a,C).
  2. Se C={(x,y)2;x2+y0;x2y0} e a=(0,0), então T(a,C)L(a,C).

Demonstração
1) Seja dT(a,C), d0. Logo (xk)C tal que xka, xka e xkaxkadd.

Usando Taylor em torno de a tem-se

0=hj(xk)=hj(a)+hj(x)(xka)+o(xka).

Já que xka, então xka0 logo pode-se dividir e obtem-se

hj(a)(xka)xka+o(xka)xka=0.

Passando o limite quando k, tem-se hj(a)dd=0.

Novamente usando Taylor em torno de a para iI(x) tem-se

gi(a)+gi(a)(xka)+o(xka)0
gi(a)(xka)xka+o(xka)xka0

Passando o limite quando k tem-se gi(a)dd=0.

Donde se conclui que dL(a,C).

2)

Este módulo tem a seguinte tarefa pendente: Colocar figura
Lema

Se aC é um mínimo local do problema (P), então f(a)d0, dT(a,C).

Demonstração
Por Taylor tem-se
0f(xk)f(a)=f(a)(xka)+o(xka)
0f(a)(xka)xka+o(xka)xka

Passando o limite quando k obtem-se

0f(a)dd

Donde f(a)d0 dT(a,C).


Teorema KKT

[editar | editar código]
Teorema (Condições de KKT)

Seja C={xn;gi(x)0 e hj(x)=0} e considere aC um minimizador local do problema

(P){minf(x)xC
Se T(a,C)=L(a,C), então existem up e vq tais que:
  1. f(a)=i=1puigi(a)+j=1qvjhj(a)
  2. ui0, i=1,,p
  3. uigi(a)=0, i=1,,p.

Demonstração
Considere a um minimizador local do problema (P). Então (f(a))d0, dT(a,C). Pela definição de cone polar isso significa que f(a)T(a,C).

Pela hipotése tem-se f(a)L(a,C). Como L(a,C)=G(a) obtem-se que f(a)(G(a)).

Como foi visto acima G(a) é um cone convexo e fechado. Portanto usando o Lema de Farkas obtem-se que f(a)G(a).

Pela definição de G(a), existem escalares δi com iI(a) e λj com j=1,,q tais que

f(a)=iI(a)δigi(a)+j=1qλjhj(a) com δi0 iI(a).

Como cardI(a)p, define-se vj=λj, j=1,,q e ui={δiiI(a)0iI(a)

Como gi(a)=0, iI(a) obtem-se uigi(a)=0 i=1,,p.

Com isso fica provado o Teorema de KKT.