Optimalizace - 12. Konvexní funkce a konvexní optimalizace
Transcript of Optimalizace - 12. Konvexní funkce a konvexní optimalizace
Optimalizace
12. Konvexnı funkce a konvexnı optimalizace
Tom Kroupa, Tom Werner
FEL CVUT
1 / 17
Konvexnı funkce
Necht’ X ⊆ Rn je konvexnı mnozina a f : Rn → R funkce.
Definice
Funkce f je konvexnı na X , jestlize pro vsechna x, y ∈ X a kazde α ∈ [0, 1] platı
f ((1− α)x + αy) ≤ (1− α)f (x) + αf (y).
Funkce f je konkavnı na X , je-li −f je konvexnı na X .
y
f (y)
f (x)
0x
f
(1− α)f (x) + αf (y)
f ((1− α)x+ αy)
(1− α)x+ αy
2 / 17
Konvexnı diferencovatelne funkce
Podmınka prvnıho radu
Necht’ funkce f : Rn → R je diferencovatelna.
Funkce f je konvexnı, prave kdyz pro vsechna x, y ∈ Rn platı
f (y) ≥ f (x) + f ′(x)(x− y).
0
f (x)
f (y)f (x) + f ′(x)(y − x)
f
y x
Podmınka druheho radu
Necht’ f : Rn → R je dvakrat diferencovatelna. Funkce f je konvexnı, prave kdyz
je pro kazde x ∈ Rn Hessian f ′′(x) pozitivne semidefinitnı.
3 / 17
Prıklady konvexnıch funkcı
• f (x) = eax pro a ∈ R, f (x) = |x |a pro a ≥ 1
• f (x) = xTAx pro A pozitivne semidefinitnı
• f (x) = aTx + b
• f (x) = max {x1, . . . , xn}• f (x) = ‖x‖, kde ‖.‖ je libovolna norma
4 / 17
Vztah konvexnı funkce a konvexnı mnoziny
• Epigraf funkce f je mnozina { (x, y) ∈ Rn+1 | f (x) ≤ y }.• Subkontura vysky y je mnozina { x ∈ Rn | f (x) ≤ y }.
Veta
• f je konvexnı, prave kdyz jejı epigraf je konvexnı mnozina.
• Kazda subkontura konvexnı funkce je konvexnı mnozina.
0
y
f
321
5 / 17
Prıklad: Epigraf a subkontury pro kuzel druheho radu v R2
• Epigraf eukleidovske normy v R2 je K 22 = { (x, y) ∈ R3 | ‖x‖2 ≤ y }
• Subkontury jsou kruhy
-3 -2 -1 0 1 2 3-3
-2
-1
0
1
2
3
6 / 17
Operace zachovavajıcı konvexitu
Nezaporne linearnı kombinace
Jsou-li g1, . . . , gk : Rn → R konvexnı funkce a α1, . . . , αk ≥ 0, pak funkce
f = α1g1 + · · ·+ αkgk
je konvexnı.
Skladanı funkcı
Nasledujıcı funkce jsou konvexnı:
• h = g ◦ f , kde f : R→ R je konvexnı a g : R→ R je konvexnı a neklesajıcı.
• h(x) = g(Ax + b), kde g : Rm → R je konvexnı.
7 / 17
Maximum
Veta
Necht’ gi : Rn → R jsou konvexnı funkce pro vsechna i ∈ I . Pak
f (x) = maxi∈I
gi (x)
je konvexnı funkce (predpokladame, ze pro kazde x ∈ Rn maximum existuje).
Prıklady:
• f (x) =k
maxi=1
(aTi x + bi )
• f (x) = maxy∈C‖x− y‖ pro libovolnou kompaktnı mnozinu C ⊆ Rn
• f (c) = max{ cTx | x ∈ Rn, Ax ≥ b }
8 / 17
Konvexnı optimalizacnı uloha
Konvexnı optimalizacnı uloha je
minx∈X
f (x)
kde X ⊆ Rn je konvexnı mnozina a f : Rn → R je konvexnı funkce na mnozine X .
Veta
Necht’ funkce f : Rn → R je konvexnı na konvexnı mnozine X ⊆ Rn.
Pak kazde lokalnı minimum funkce f na mnozine X je globalnı.
Tedy konvexnı ulohu vyresıme nalezenım lokalnıho minima!
9 / 17
Konvexnı optimalizacnı uloha ve standardnım tvaru
Tvrzenı
Uloha
min f (x1, . . . , xn)
za podmınek gi (x1, . . . , xn) ≤ 0, i = 1, . . . ,m
hi (x1, . . . , xn) = 0, i = 1, . . . , `
x1, . . . , xn ∈ Rje konvexnı, jestlize funkce f , g1, . . . , gm jsou konvexnı a h1, . . . , h` jsou afinnı.
Dukaz:
X =m⋂i=1
{ x | gi (x) ≤ 0 }︸ ︷︷ ︸subkontura konv. fce
∩⋂i=1
{ x | hi (x) = 0 }︸ ︷︷ ︸nadrovina
Tato podmınka je postacujıcı ale ne nutna pro konvexitu ulohy.
Prıklad: Mnozina
X = { (x , y) ∈ R2 | (x + y)2 = 0 }je konvexnı, ale h(x , y) = (x + y)2 nenı afinnı.
10 / 17
Trıdy konvexnıch optimalizacnıch uloh
• Linearnı programovanı (LP):
f , gi , hi afinnı
• Kvadraticke programovanı (QP):
f kvadraticka konvexnı, gi , hi afinnı
• Kvadraticke programovanı s kvadratickymi omezenımi (QCQP):
f , gi kvadraticke konvexnı, hi afinnı
• Programovanı na kuzelu druheho radu (SOCP)
• Semidefinitnı progamovanı (SDP)
11 / 17
Kvadraticke programovanı (QP)
Funkce f je kvadraticka, funkce gi , hi jsou afinnı.
min xTAx + bTx
za podm. Cx ≤ d
Ex = f
Je to konvexnı uloha, prave kdyz A je pozitivne semidefinitnı.
Prıklad: Resenı preurcene soustavy s linearnımi omezenımi
min{ ‖Ax− b‖22 | Cx = d, x ∈ Rn }
Prıklad: Resenı preurcene soustavy s intervalovymi omezenımi
min{ ‖Ax− b‖22 | c ≤ x ≤ d, x ∈ Rn }
12 / 17
Prıklad na QP: Support Vector Machine (SVM)
Pro zadanych m bodu (xi , yi ) ∈ Rn × {−1, 1} hledame oddelujıcı nadrovinu.
Tedy hledame a ∈ Rn a b ∈ R tak, aby
yi (aTxi − b) > 0, i = 1, . . . ,m
Vydelenım (a, b) vhodnym kladnym cıslem je toto ekvivalentnı
yi (aTxi − b) ≥ 1, i = 1, . . . ,m
aTx− b = −1
aTx− b = 1
2/‖a‖2
Aby sırka pasu byla co nejvetsı, minimalizujeme ‖a‖22 = aTa za techto podmınek.
13 / 17
Kvadraticke programovanı s kvadratickymi omezenımi (QCQP)
Funkce f , gi jsou kvadraticke, hi jsou afinnı.
Je to konvexnı uloha, prave kdyz funkce f , gi jsou konvexnı.
Prıklad: Nejmensı kruh obsahujıcı zadane body a1, . . . , am ∈ R2.
Uloha
minx∈R2
mmaxi=1‖x− ai‖2
je ekvivalentnı QCQP uloze
min y
za podmınek ‖x− ai‖22 ≤ y , i = 1, . . . ,m
14 / 17
Programovanı na kuzelu druheho radu (SOCP)
f , h1, . . . , h` afinnı a
gi (x) = ‖Aix + bi‖2 − (cTi x + di )
Podmınka gi (x) ≤ 0 znamena
(Aix + bi , cTi x + di ) ∈ K n
2
kde
K n2 = { (x, y) ∈ Rn+1 | ‖x‖2 ≤ y }
je epigraf eukleidovske normy ‖ · ‖2 (kuzel druheho radu)
Maticove (pro ` = 0):
min eTx
za podm. ‖Aix + bi‖2 ≤ cTi x + di
15 / 17
Prıklad: Geometricky median (Fermat-Weberuv problem)
Pro zadane body a1, . . . , am ∈ Rn najdete minimum funkce
f (x) =m∑i=1
‖x− ai‖2
SOCP formulace:
min z1 + · · ·+ zm
za podmınek ‖x− ai‖2 ≤ zi , i = 1, . . . ,m.
16 / 17
Semidefinitnı programovanı (SDP)
Veta
Pro kazde n ∈ N je mnozina vsech positivne semidefinitnıch matic rozmeru n × n
konvexnı kuzel.
Dukaz: Pro kazde x ∈ Rn a α, β ≥ 0 platı xT (αA + βB)x = αxT Ax + βxT Bx ≥ 0.
Uloha SDP:
min 〈C,X〉za podmınek 〈Ai ,X〉 = bi , i = 1, . . . ,m
X ∈ Rn×n je positivne semidefinitnı
17 / 17