dualidade lagrangeana ruy luiz milidiú. sumário primal convexidade relaxação lagrangeana dual...
TRANSCRIPT
Dualidade Lagrangeana
Ruy Luiz Milidiú
Sumário Primal Convexidade Relaxação Lagrangeana Dual Dualidade Fraca Ótimo Global Dualidade Forte
Primal
Minimizar f(x) = -x + 1 2x 3x
(P)
2x 32x - 3 ≤ 0
g1(x) = 2x - 3
Exemplo2x - 3 ≤ 0 x ≤ 3/2 x* = 3/2-x + 1 é decrescente f(x*) = -1/2
Programação Matemática
f(x) função objetivo solução
gi(x) ≤ 0 , i I solução ótima
Solução que minimiza f
Minimizar f(x) gi(x) ≤ 0 i = 1, ..., m x S n
(P)
Programação Linear
min cT.x
s.t. A.x b xi 0
Programação Quadrática
min xT.Q.x + b.x
s.t. di.x + ei ≤ 0 i = 1, ..., m
xi 0
Programação Quadrática
min xT.Q.x + b.x Q 0
s.t. di.x + ei ≤ 0 i = 1, ..., m
xi 0
Programação Convexa
f(x) é convexa
gi(x) é convexa i=1,...,m
S é convexo
Exemplos: PL PQ com Q0
Conjunto convexoS n é convexo se
x Sy S x + (1-)y S [0, 1]
Interseção de convexosH= Hi Hi convexo para i=1,...,k
x,yH
x,yHi para i=1,...,k .x + (1-).yHi para i=1,...,k
.x + (1-).yH
H é convexo
Função convexaf: S definida sobre Sn é convexa se
S é um conjunto convexo x S, y S, [0, 1]
f(x) + (1-)f(y) ≥ f(x + (1-)y)
Restrição convexaH= {x | g(x) ≤ 0} g(x) convexa
x,yHg(x) ≤ 0g(y) ≤ 0
.g(x) + (1-).g(y) ≤ 0g(.x + (1-).y) ≤ .g(x) + (1-).g(y) ≤ 0
g(.x + (1-).y) ≤ 0.x + (1-).y H
H é convexo
Programa convexo (P) é convexo
A função objetivo f(x) é convexa Todas as restrições gi(x) são
funções convexas
(P) é convexoentão
todo ótimo local é global
Programa convexo
Otimo local
Otimo global
Solução melhor
Programa convexoz = .xL + (1-).xG
f(z) = f(.xL + (1-).xG) f(z) .f(xL) + (1-).f(xG) f(z) < .f(xL) + (1-).f(xL) = f(xL) f(z) < f(xL) xL não é mínimo local absurdo !
Combinação Linearf(x) = a.g(x) + b.h(x) g, h convexas a,b 0
.f(x) + (1-).f(y).[a.g(x) + b.h(x)] + (1-).[a.g(y) + b.h(y)]
.a.g(x) + .b.h(x) + (1-).a.g(y) + (1-).b.h(y) .a.g(x) + (1-).a.g(y) + .b.h(x) + (1-).b.h(y)a.[.g(x) + (1-).g(y)] + b.[.h(x) + (1-).h(y)]
a.g(.x + (1-).y) + b.h(.x + (1-).y)
f(.x + (1-).y)
Toda combinação linear de convexas é convexa
Função Linearf(x) = a.x + b
.f(x) + (1-).f(y).(a.x + b) + (1-).(a.y + b)
.a.x + .b + (1-).a.y + (1-).b.a.x + (1-).a.y + ba.(.x + (1-).y) + b
f(.x + (1-).y)
Toda função linear é convexa
Função Quadráticaf(x) = xTx
V = f(x) + (1-)f(y) = xTx + (1-)yTyW = f(x + (1-)y) = 2xTx + 2(1-)xTy + (1-)2yTy
V - W = (-2)xTx - 2(1-)xTy + [(1-) - (1-)2]yTy = (-2)xTx - 2(-2)xTy + (-2)yTy = .(1-).[(x-y)T(x-y)] ≥ 0, [0, 1]
xTx é convexa
Função Quadráticaf(x) = xT.Q.x zT.Q.z 0
V = f(x) + (1-)f(y) = xT.Q.x + (1-)yT.Q.yW = f(x + (1-)y) = 2xT.Q.x + 2(1-)xTy + (1-)2yT.Q.y
V - W = (-2)xT.Q.x - 2(1-)xT.Q.y + [(1-) - (1-)2]yT.Q.y = (-2)xT.Q.x - 2(-2)xT.Q.y + (-2)yT.Q.y = .(1-).[(x-y)T.Q.(x-y)] ≥ 0, [0, 1]
xT.Q.x é convexa
Função Quadráticaf(x) = xT.Q.x zT.Q.z 0
V = f(x) + (1-)f(y) = xT.Q.x + (1-)yT.Q.yW = f(x + (1-)y) = 2xT.Q.x + 2(1-)xTy + (1-)2yT.Q.y
V - W = (-2)xT.Q.x - 2(1-)xT.Q.y + [(1-) - (1-)2]yT.Q.y = (-2)xT.Q.x - 2(-2)xT.Q.y + (-2)yT.Q.y = .(1-).[(x-y)T.Q.(x-y)] ≥ 0, [0, 1]
xT.Q.x + b.x é convexa
Programa Quadráticof(x) = xT.Q.x + b.x Q 0gi(x) = di.x + ei restrições
Programa quadrático com Q 0 é convexo função objetivo convexa restrições convexas conjunto de soluções convexo
Se um programa quadrático tem mínimo local então tem mínimo global!
Exemplo Difícil
Minimizar f(x) = x12 +
x22
2x1 + x2 ≤ -4x 2
(P)
Como facilitar a busca por umasolução ótima?
Relaxação Lagrangeana Eliminação de Restrições
λi ≥ 0 multiplicador de LagrangeCusto unitário para violar a restrição i
Função de Lagrange
L(x, λ) = f(x) + λi gi(x)
ExemploMinimizar f(x) = x1
2 + x2
2
2x1 + x2 ≤ -4x 2
(P)
2x1 + x2 ≤ -4 2x1 + x2 + 4 ≤ 0
g1(x) = 2x1 + x2 + 4
L(x, λ) = x12 + x2
2 + 2λx1 + λx2 + 4λ
Função Dual
λ ≥ 0l(λ) = Min { L(x, λ) }
x S
Problema relaxado Fixar λ Minimizar em x
ExemploMin { L(x, λ) } = Min {x1
2 + x22 + 2λx1 + λx2 + 4λ}
x S x S
Lx1
Lx2
O valor ótimo em função de λ função dual
l(λ) = x12 + x2
2 + 2λx1 + λx2 + 4λ = -5λ2/4 + 4λ
= 2x1 + 2λ = 0 x1 = -λ
= 2x2 + λ = 0 x2 = -λ/2
Dualidade Fraca x é solução e λ ≥ 0
l(λ) f(x)Dem.:
gi(x) 0 e λ ≥ 0 λi.gi(x) 0
f(x) + λi.gi(x) f(x)L(x,λ) f(x)
l(λ) L(x,λ) f(x)
Problema DualMax { l(λ) } = Max {-5λ2/4 + 4λ}
0 0
dldλ
x1* = -λ* = -8/5 x2* = -λ*/2 = -4/52.x1* + x2* + 4 = - 16/5 - 4/5 + 4 = -4 + 4 = 0
0 f(x*) = (-8/5)2 + (-4/5)2 = 16/5l(λ*) = (-5/4)(8/5)2 + 32/5 = 16/5
f(x*) = l(λ*)
= - 5λ/2 + 4 = 0 λ* = 8/5
Primal na PL
min cT.x
s.t. A.x b xi 0
Relaxado na PLL(x,,)
=cT.x – T.(A.x – b) – T.x
, 0
DxL = cT – T.A – T = 0
Relaxado na PLL(x,,)
=cT.x – T.(A.x – b) – T.x
, 0
cT – T.A – T = 0
Relaxado na PLL(x,,)
=(cT – T.A – T).x + T.b
, 0
cT – T.A – T = 0
Relaxado na PLL(x,,)
=T.b
, 0
cT – T.A – T = 0
Relaxado na PLL(,)
=T.b
, 0
T.A + T = cT
Função Dual na PLl() =
T.b, 0
T.A ≤ cT
Dual na PL
max bT.
s.t. AT. ≤ c i 0
Primal-Dual na PL
max bT.
s.t. AT. ≤ c i
0
min cT.x
s.t. A.x b xi 0
Dual na PL
max bT.
s.t. AT. ≤ c i 0
Dual na PL
- min (-b)T.
s.t. AT. ≤ c i 0
Dual na PL
- min (-b)T.
s.t. (-AT). (-c)
i 0
Dual do Dual na PL
- max (-c)T.x
s.t. (-A).x ≤ (-b) xi 0
Dual do Dual na PL
min cT.x
s.t. -A.x ≤ -b xi 0
Dual do Dual na PL
min cT.x
s.t. A.x b xi 0
Primal no SVMmin ½wT.w + C.ii
s.t. yi.(wT.xi + b) 1 - i
i 0
Relaxado no SVML(w,b,,h,)
=½wT.w+C.ii – ihi.[yi.(wT.xi+b)–1+i] – ii.i
DwL = w – ihi.yi.xi = 0DbL = – ihi.yi = 0DiL = C – hi – i = 0
Relaxado no SVML(w,b,,h,)
=½wT.w+C.ii – ihi.[yi.(wT.xi+b)–1+i] – ii.i
w = ihi.yi.xi ihi.yi = 0
C – hi – i = 0
Relaxado no SVMl(h,)
=½wT.w – ihi.[yi.(wT.xi+b)–1]
w = ihi.yi.xi ihi.yi = 0
C – hi – i = 0
Relaxado no SVMl(h,)
=½wT.w – ihi.[yi.(wT.xi+b)–1]
w = ihi.yi.xi ihi.yi = 0
C – hi – i = 0
Relaxado no SVMl(h,)
=½wT.w – ihi.yi.wT.xi – ihi.yi.b + ihi
w = ihi.yi.xi ihi.yi = 0
C – hi – i = 0
Relaxado no SVMl(h,)
=½wT.w – wT.ihi.yi. xi – b.ihi.yi + ihi
w = ihi.yi.xi ihi.yi = 0
C – hi – i = 0
Relaxado no SVMl(h,)
=½wT.w – wT.w – b.0 + ihi
w = ihi.yi.xi ihi.yi = 0
C – hi – i = 0
Relaxado no SVMl(h,)
=– ½wT.w + ihi
w = ihi.yi.xi ihi.yi = 0
C – hi – i = 0
Dual no SVMmax l(h)
=– ½ij hi.hj.yi.yj.xi.xj + ihi
restrito a ihi.yi = 00 hi C
A função dual l(λ) é côncava
λ1 e λ2 0 [0, 1]λ = .λ1 + (1 - ).λ2
x Sl(λ) = f(x) + λi gi(x)
l(λ1) ≤ f(x) + λ1i gi(x) l(λ2) ≤ f(x) + λ2i gi(x).l(λ1) + (1 - ).l(λ2) ≤ f(x) + [.λ1i + (1 - ).λ2i]gi(x).l(λ1) + (1 - ).l(λ2) ≤ l(.λ1 + (1 - ).λ2)
Concavidade
Ponto de Sela
Definição(x, λ) é um ponto de sela de L
se e só se (1) L(x, λ) ≤ L(x, λ) x S (2) L(x, λ) ≤ L(x, λ) λ ≥ 0
L(x, λ) é mínimoL(x, λ) é máximo
Ou seja, em (x, λ)
Caracterizaçãox S e λ ≥ 0
(x, λ) é um ponto de sela de L se e só se
(a) L(x, λ) = Min L(x, λ)(b) gi(x) ≤ 0(c) λi gi(x) = 0
L(x, λ) ≤ L(x, λ)
L(x, λ) = Min L(x, λ) (a)
L(x, λ) ≤ L(x, λ)f(x) + λi gi(x) ≤ f(x) + λi gi(x) (λi - λi) gi(x) ≤ 0 (i) gj(x) ≤ 0 (b)
Fazendo λi = λi para i j e λi = λi + (i)
(λi - λi) gi(x) ≤ 0 (λi - λi) gi(x) ≥ 0 (λi - 0) gi(x) ≥ 0 λi gi(x) ≥ 0λi ≥ 0 e gi(x) ≤ 0, então λi gi(x) ≤ 0
λi gi(x) = 0
L(x, λ) = Min L(x, λ) L(x, λ) ≤ L(x, λ)
(c) λi gi(x) = 0 L(x, λ) = f(x) + λi gi(x) = f(x) L(x, λ) = f(x) + λi gi(x) ≤ f(x) = L(x, λ) L(x, λ) ≤ L(x, λ)
Ótimo Global(x, λ) é um ponto de sela
entãox é uma solução ótima
(1) L(x, λ) ≤ L(x, λ) f(x) + λi gi(x) ≤ f(x) + λi gi(x)
Como (c) λi gi(x) = 0 , entãof(x) ≤ f(x) + λi gi(x) ≤ f(x) + 0 f(x) ≤ f(x)
Dualidade Forte
(x*, λ*) é um ponto de sela de Lse e somente se
f(x*) = l(λ*)
Obs.: Max (D) = Min (P)
L(x*, λ*) = f(x*) + λi*.gi(x*) = f(x*)L(x*, λ*) = Min { L(x, λ*) } = l(λ*) x S
l(λ) ≤ f(x*)f(x*) = l(λ*) = Max { l(λ) }
λ ≥ 0
l(λ*) = f(x*)Max (D) = Min (P)
l(λ*) = f(x*) l(λ*) ≤ f(x) + λi*.gi(x)l(λ*) ≤ f(x*) + λi*.gi(x*)
f(x*) ≤ f(x*) + λi*.gi(x*) λi*.gi(x*) ≥ 0
λi* ≥ 0 e gi(x*) ≤ 0λi*.gi(x*) ≤ 0
λi*.gi(x*) = 0L(x*, λ*) = f(x*) = l(λ*) = Min { L(x, λ*)
}(x*, λ*) é um ponto de sela
Ponto de Sela Verificação
A tarefa não trivial é resolver o dual O dual é mais fácil que o primal Verificar restrições e folgas complementares
Existência Difícil em geral Garantida para programas convexos com
ótimo global
Perturbaçãomin x1
2 + x22 f(x) = xT.x
2x1 + x2 + 4 ≤ 0 g(x) = (2,1).x + 4x 2
(P)
L(x,λ) = xT.x + λ.(2,1).x + 4.λ DxL = 2.x + λ.(2,1)T = 0 x* = λ.(1,1/2)T
L(x*,λ) = λ2.(5/4) λ2.(5/2) + 4.λl(λ) = L(x*,λ) = 5.λ2/4 + 4.λ
Dλl = 5.λ/2 + 4 = 0 λ* = 8/5f(x*) = l(λ*) = 16/5
Perturbaçãomin x1
2 + x22 f(x) = xT.x
2x1 + x2 + 4 ≤ y g(x) = (2,1).x + 4 yx 2
(P)
L(x,λ) = xT.x + λ.(2,1).x + (4-y).λ DxL = 2.x + λ.(2,1)T = 0 x* = λ.(1,1/2)T
L(x*,λ) = λ2.(5/4) λ2.(5/2) + (4-y).λl(λ) = L(x*,λ) = 5.λ2/4 + (4-y).λ
Dλl = 5.λ/2 + (4-y) = 0 λ* = max {(4-y).2/5, 0}
(y) = f(x*) = l(λ*) = max {(4-y)2/5, 0}
Função de Perturbação
Programação Matemática
f(x) função objetivo solução
gi(x) ≤ 0 , i I solução ótima
Solução que minimiza f
Minimizar f(x) gi(x) ≤ 0 i = 1, ..., m x S n
(P)
Problema Perturbado
f(x) função objetivo solução
gi(x) ≤ yi , i I solução ótima
Solução que minimiza f
Minimizar f(x) gi(x) ≤ yi i = 1, ..., m x S n
(Py)
Função de Perturbação
função de perturbação de (P)
(y) = valor ótimo de (Py)
Minimizar f(x) gi(x) ≤ yi i = 1, ..., m x S n
(Py)
Perturbação de PC
(P) um Problema Convexo
(y) é convexa
Minimizar f(x) gi(x) ≤ yi i = 1, ..., m x S n
(Py)
Dem.(r) = f(xr) valor ótimo de (Pr)(s) = f(xs) valor ótimo de (Ps)
gi(xr) ≤ ri gi(xs) ≤ si i = 1, ..., m
.gi(xr) ≤ .ri (1-).gi(xs) ≤ (1-).si.gi(xr) + (1-).gi(xs) ≤ .ri + (1-).si
gi(.xr + (1-).xs) ≤ .ri + (1-).si
.xr + (1-).xs é solução de (P.r + (1-).s)
(.r + (1-).s) ≤ f(.xr + (1-).xs)(.r + (1-).s) ≤ .f(xr) + (1-).f(xs)(.r + (1-).s) ≤ .(r) + (1-).(s)