Upload
moises-martinho-flores
View
228
Download
0
Embed Size (px)
Citation preview
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)