Nemlineáris programozás: algoritmusok illes@math.elte.hu Operációkutatási Tanszék Budapest 2010. I. félév
Feltétel nélküli optimalizálási feladat Feltétel nélküli optimalizálási feladat: Legyen adott az f : IR n IR folytonosan differenciálható függvény. Keressük a globális minimumhelyét, azaz oldjuk meg a feladatot. min x IR n f(x) Feltétel nélküli optimalizálás keretalgoritmus Bemenő adatok: f : IR n IR függvény, x 0 IR n induló megoldás, ε > 0 pontossági paraméter, k := 0 számláló Begin while megállási feltétel nem teljesül do begin Keressünk egy csökkenési irányt, s k, azaz s k IR n : δf(x k, s k ) < 0 if nem létezik csökkenési irány then x k optimális megoldása a feladatnak else iránymenti minimalizálás: λ k := argmin λ f(x k + λ s k ) endif x k + λ k s k, k := k + 1 endwhile ε-optimális megoldást állítottuk elő end.
Keretalgoritmus elemzése Megállási feltétel Nem lehet eléggé javítani a célfüggvény értékét f(x k ) f(x k+1 ) 1 + f(x k ) ε Iterációk túl közel esnek egymáshoz Gradiens normája kicsi Newton lépés hossza kicsi Csökkenési irány Legyen x, s IR n, f : IR n IR adott és λ IR. Az f függvény x pontbeli s irányú iránymenti deriváltját δf(x, s) jelöli, ahol a létezik és véges. δf(x, s) = lim λ 0 f(x + λs) f(x) λ Az s irányt csökkenési iránynak nevezzük, ha δf(x, s) < 0.
Iránymenti minimalizálás Legyen adott az f : IR n IR folytonosan differenciálható függvény, egy x megoldás és egy hozzátartozó s csökkenési irány. Legyen a φ : IR IR függvény a következő képlettel adott, azaz φ(λ) := f(x + λ s). Ekkor a φ függvény is folytonosan differenciálható. Iránymenti minimalizálás: intervallum felezéssel Bemenő adatok: φ : IR IR függvény konvex a [λ 1, λ 2 ] intervallumon, ahol φ (λ 1 ) < 0 és φ (λ 2 ) > 0; ε > 0 pontossági paraméter; Begin while λ 1 λ 2 > ε do begin legyen λ = 1 2 (λ 1 + λ 2 ) if φ (λ) < 0 then λ 1 := λ else λ 2 := λ endif endwhile λ [λ 1, λ 2 ] end. Megjegyzés: Az algoritmus λ 1 λ 2 log 2 ε a kezdeti λ 1, λ 2 értékekkel. Az algoritmus nem differenciálható függvényekre is működik.
Iránymenti minimalizálás: aranymetszéssel Jelölje F n az n. Fibonacci számot, amelyre F n = F n 1 + F n 2, F 0 = F 1 = 1 Iránymenti minimalizálás: α k paraméterrel Bemenő adatok: φ : IR IR függvény konvex a [λ 1, λ 2 ] intervallumon; ε > 0 pontossági paraméter; lépéshossz paraméter: 0 < α k < 1; k = 2 számláló; Begin while λ 1 λ 2 > ε do begin legyen 1 α k = F k 1 F k számoljuk ki β 1 = λ 1 + α k (λ 2 λ 1 ), β 2 = λ 1 + (1 α k ) (λ 2 λ 1 ) (és β 1 < β 2 ) if φ(β 1 ) < φ(β 2 ) then λ 1 := β 1 else λ 2 := β 2 endif k := k + 1 endwhile λ [λ 1, λ 2 ] end. Megjegyzés: Ha az 1 α k = 0.618 akkor az aranymetszéses módszerről beszélünk.
Iránymenti minimalizálás: Newton módszerrel Legyen adott az f : IR n IR kétszer folytonosan differenciálható függvény, egy x megoldás és egy hozzátartozó s csökkenési irány. Legyen a φ : IR IR függvény a következő képlettel adott, azaz φ(λ) := f(x + λ s). Ekkor a φ függvény is kétszer folytonosan differenciálható. A φ(λ) függvény másodrendű közelítését valamely λ 0 pontban a következő módon adhatjuk meg q(λ) = φ(λ 0 ) + φ (λ 0 ) (λ λ 0 ) + 1 2 φ (λ 0 ) (λ λ 0 ) 2. A q(λ) függvény minimum helye ekkor a λ = λ 0 φ (λ 0) φ (λ 0). Iránymenti minimalizálás: Newton módszerrel Bemenő adatok: λ 0 kezdőpont; k = 0 számláló; ε > 0 pontossági paraméter; Begin while λ k+1 λ k > ε do legyen λ k+1 = λ k φ (λ k ) φ (λ k ) és k := k + 1 endwhile λ k+1 közelítő megoldás end.
Newton módszer: variánsai Két ponttal indítjuk el a Newton módszert, azaz adottak λ 0, λ 1, φ(λ 1 ), φ (λ 1 ), φ (λ 0 ) és ekkor a kvadratikus közelítés Ekkor az új közelítő megoldás a lesz. q(λ) = φ(λ 1 ) + φ (λ 1 ) (λ λ 1 ) + φ (λ 0 ) φ (λ 1 ) (λ λ 1 ) 2. λ 0 λ 1 2 λ = λ 1 φ (λ 1 ) λ 0 λ 1 φ (λ 0 ) φ (λ 1 ) Newton módszer, harmadrendű közelítés esetén λ 0, λ 1, φ(λ 0 ), φ(λ 1 ), φ (λ 0 ), φ (λ 1 ) és ekkor az új közelítő megoldás a λ = λ 1 (λ 1 λ 0 ) φ (λ 1 ) + α 2 α 1 φ (λ 1 ) φ (λ 0 ) + 2 α 2, ahol α 1 = φ (λ 0 ) + φ (λ 1 ) 3 φ(λ 0) φ(λ 1 ) és α 2 = α λ 0 λ 1 2 φ (λ 0 ) φ (λ 1 ). 1 Ezek alapján hatékonyabb Newton algoritmus variánsokat lehet készíteni!
Newton módszer: variánsai (folytatás) Egy érdekes modell, amelyik esetén az eredeti függvény differenciálhatóságát nem is kívánjuk meg, a következő: legyen ismert három pont λ 0, λ 1, λ 2 és a hozzá tartozó függvény értékek φ 0 = φ(λ 0 ), φ 1 = φ(λ 1 ), φ 2 = φ(λ 2 ). Ekkor a három pontra illeszkedő másodrendű (közelítő) modellt tudunk konstruálni 3 j i q(λ) = φ (λ λ j) i j i (λ i λ j ) ekkor az új közelítő megoldás λ = 1 2 ahol α ij = λ i λ j és β ij = λ 2 i λ2 j. i=1 β 23 φ 1 + β 31 φ 2 + β 12 φ 3 α 23 φ 1 + α 31 φ 2 + α 12 φ 3, Megjegyzés. Az előző harmadrendű közelítéses modell esetén a Newton módszer konvergenciájának a nagyságrendje 2,0 míg a deriváltakat nem igényelő másodrendű közelítésé 1,3.
Gradiens módszer Gradiens módszer. Legyen adott az x 0 IR n tetszőleges pont és számítsuk ki k = 0, 1, 2,... esetén az x k+1 IR n pontokat az alábbi képlettel ahol x k+1 = x k α k g k, α k = arg min α f(x k α g k ) és g k = f(x k ). Állítás. Legyen adott az f : IR n IR folytonosan differenciálható függvény és az x 0 IR n tetszőleges pont. Ekkor a gradiens módszerrel előállított x k pontsorozat lokális minimumba tart. Megjegyzés. nevezni. A gradiens módszert szokás még a legmeredekebb csökkenés módszerének is Legyen adott az f : IR n IR kétszer folytonosan differenciálható függvény. A keresési irány meghatározása az optimalizálási feladat célfüggvényének a másodrendű közelítésén alapul, azaz q(x) = f(x k ) + f(x k )(x x k ) + 1 2 (x x k) T 2 f(x k ) (x x k ).
Newton-módszer Erre a közelítésre alkalmazzuk a gradiens módszert, azaz q(x) = 0 az elsőrendű optimalitási feltétele a min x IR q(x) n szélsőérték feladatnak. Az optimalitási kritériumot felhasználva 0 = q(x) = f(x k ) + 2 f(x k ) (x x k ), és ebből kiszámítható, az x = x k ( 2 f(x k )) 1 f(x k ). Newton módszer. Legyen adott az x 0 IR n tetszőleges pont, és számítsuk ki k = 0, 1, 2,... esetén az x k+1 IR n pontokat az alábbi képlettel x k+1 = x k ( 2 f(x k )) 1 f(x k ), ahol 2 f(x k ) az f függvény Hesse-mátrixa. Megjegyzés. 1. Ha a 2 f(x k ) pozitív definit mátrix bármely k index esetén akkor a minimum egyértelműen vétetik fel. 2. A klasszikus Newton-módszer esetén nem alakalmazunk iránymenti minimalizálást. Ha messze vagyunk a megoldástól, akkor szükséges iránymenti minimalizálást alkalmazni és ekkor un. tompított Newton-módzsert alkalmazunk. 3. A Newton-módszer alkalmazásának a legszámításigényesebb lépése a Hesse-mátrinverzének a kiszámítása.
Newton-módszer tulajdonságai Tétel. Legyen adott az f : IR n IR kétszer folytonosan differenciálható függvény, és M = ( 2 f(x)) 1 IR n n pozitív definit mátrix. Ekkor s = M f(x) is csökkenési irány. Állítás. Legyen adott az f : IR n IR kétszer folytonosan differenciálható függvény és az x 0 IR n tetszőleges pont. Ekkor a Newton-módszerrel előállított x k pontsorozat lokális minimumba tart, ha a 2 f(x) IR n n Hesse-mátrix, pozitív definit mátrix. Megjegyzés. Ha az f függvény nem szigorúan konvex, vagy a Hesse-mátrixa rosszulkondícionált, λ max( 2 f(x k )) λ min( 2 f(x k nagy, akkor a Hesse-mátrix nehezen invertálható. )) Trust region módszer. Legyen adott az f : IR n IR kétszer folytonosan differenciálható függvény, és adott az x 0 IR n tetszőleges pont, és számítsuk ki k = 0, 1, 2,... esetén az x k+1 IR n pontokat az alábbi képlettel x k+1 = x k ( 2 f(x k ) + α I) 1 f(x k ), ahol 2 f(x k ) az f függvény Hesse-mátrixa és α IR. Megjegyzés. Ha az α = 0, akkor a Newton-módszert kapjuk vissza, míg, ha az α, akkor a csökkenési irányunk párhuzamos lesz a gradiens módszer csökkenési irányával.
Nem szimmetrikus, konvex kvadratikus programozási feladatpár Konvex kvadratikus programozási feladat: (QP) { min q(x) = c T x + 1 2 xt Qx Ax = b, x 0 ahol a Q IR n n szimmetrikus pozitív szemidefinit mátrix, az A IR m n adott mátrix és rank(a) = m, b IR m, c IR n, x IR n vektorok. Duál feladat: (QD) max d(x, y) = b T y 1 2 xt Qx A T y Qx + s = c, s 0 ahol az y IR m vektor. Ekkor a primál és duál megengedett megoldások halmaza P = { x IR n : Ax = b, x 0 } és D = { y IR m, x, s IR n : A T y Qx + s = c, s 0 }, továbbá jelölje a (QP ) és a (QD) feladatok optimális megoldás halmazát a P = { x P : q(x ) q(x), x P } illetve a D = { (y, x, s ) D : d(x, y ) d(x, y), (y, x, s) D } halmazok. Kérdés. Hogyan állítottuk elő a primál feladatból a duál feladatot? Feladat. Bizonyítsa be a (QP ) és (QD) feladatok között fennálló gyenge dualitás tételt és mutassa meg, hogy az optimalitás szükséges és elégséges feltétele a komplementaritás: x T s = 0.
Logaritmikus barrier függvény A P + = P IR n + = { x IR n : Ax = b, x > 0 } pozitív (primál) megoldások (belsőpontok) halmazához hasonlóan, bevezethetjük a pozitív (duál) megoldások halmazát D + = { y IR m, x, s IR n : A T y Qx + s = c, s > 0 } D. Tekintsük az f : IR n+1 + IR képező függvényt f(x, µ) := 1 µ q(x) n j=1 ln x j = ct x + 1 2 xt Qx µ n ln x j, ahol µ > 0 barrier paraméter és x P +. Az f függvényt a (QP ) feladathoz tartozó logaritmikus barrier függvénynek nevezzük. Az f függvény x szerinti első és második deriváltja g = f(x, µ) = c + Qx µ ahol az X = diag(x), f(x, µ) IR n és 2 f(x, µ) IR n n. j=1 X 1 e, H = 2 f(x, µ) = 1 µ Q + X 2, Feltevés: (i) a P korlátos halmaz, és (ii) létezik x P : x > 0. Az (ii) feltételt, úgy is kifejezhetjük, hogy P +. Ezt nevezzük belsőpont feltételnek. Tekintsük a min x P + f(x, µ) } (QP (µ)) konvex programozási feladatot, rögzített µ > 0 barrier paraméter esetén.
Feladatok, centrális út Feladat. Tegyük fel, hogy a P +. 1. Bizonyítsa be, hogy az f függvény a P + halmazon szigorúan konvex függvény, és a P + halmaz határán, végtelen. Igazolja továbbá azt is, hogy az f logaritmikus barrier függvény, a minimumát egyértelműen veszi fel. 2. Bizonyítsa be, hogy a lim f(x, µ) = q(x), bármely x P + esetén. µ 0+ 3. Jelölje az x (µ) az f logaritmikus barrier függvény minimumhelyét rögzített µ esetén. Bizonyítsa be, hogy a lim µ 0+ f(x (µ), µ) = q(x ), ahol x P Feladat. Bizonyítsa be, hogy a (QP (µ)) konvex programozási feladatnak, az egyértelmű minimum, elsőrendű szükséges és elégséges optimalitási feltételei az alábbiak A T y Qx + s = c, s 0 (1) Ax = b, x 0 (2) Xs = µe (3) Vezessük be a primál- és a duál centrális utat a (QP (µ)), µ > 0 feladatok optimális megoldásainak a segítségével C P = { x(µ) IR n + : az (x(µ), y(µ), s(µ)) kielégíti az (1) (3) feltételeket }, C D = { (y(µ), s(µ)) IR m+n : az (x(µ), y(µ), s(µ)) kielégíti az (1) (3) feltételeket és s(µ) > 0 }. Ekkor nyilván a C P P + és C D D + teljesül.
Monotonitás a centrális út mentén Feladat. Bizonyítsa be, hogy a C P és C D egy paraméteres (µ > 0) görbék, a µ paraméter szerint végtelen sokszor differenciállható görbék. Dualitás rés: q(x) d(x, y) = x T s Dualitás rés a centrális utak mentén pedig q(x(µ)) d(x(µ), y(µ)) = x(µ) T s(µ) = n µ. Lemma. A (QP ) primál feladat q(x(µ)) célfüggvénye csökken, a (QD) duál feladat d(x(µ), y(µ)) célfüggvénye pedig nő, ha µ csökken. Bizonyítás. Az x(µ) és az y(µ) kielégíti az (1)-(3) egyenleteket, ezek µ szerinti deriváltja: Az (1) és (5) egyenletek felhasználásával: A T y (µ) Qx (µ) + s (µ) = 0 (4) Ax (µ) = 0 (5) X(µ)s (µ) + S(µ)x (µ) = e (6) c T x (µ) = (s(µ) Qx(µ) + A T y(µ)) T x (µ) = s(µ) T x (µ) x(µ) T Qx (µ). (7) Az egyszerűbb jelölés érdekében hagyjuk el a µ paraméter feltüntetését. A (7), (6) és (3) egyenleteket használtuk fel. Az utolsó egyenlőség pedig a (4) és (5) egyenletekből adódik, figyelembe véve az s = Q x A T y összefüggést is. q(x) = c T x + x T Qx = s T x = e T Sx = (Sx + Xs ) T Sx = x T S 2 x + µ (s ) T x = (x ) T S 2 x + µ (x ) T Qx 0.
Összegezve az előző számítást azt kapjuk, hogy Lemma bizonyítása q(x(µ)) = (x(µ)) ) T S 2 x(µ)) + µ (x(µ)) ) T Qx(µ)) 0, hiszen S = diag(s) pozitív diagonális és a Q pedig pozitív szemidefinit mátrix, valamint a µ pozitív valós szám. Tehát a primál célfüggvény monoton nő, ha µ monoton nő, ez pedig pontosan azt jelenti, hogy ha a µ tart a nullához, akkor a primál célfüggvény monoton csökken. A lemma második felének bizonyításához szorozzuk meg a (6) egyenletet az AS 1 mátrixszal: AS 1 Xs + Ax = AS 1 e az (5) összefüggésből AS 1 Xs = AS 1 e adódik, azaz Xs = e. Ez alapján pedig következik és ekkor a (8), (4) és (6) egyenletek alapján b = Ax = AXe = AX 2 s (8) b T y = (A T y ) T X 2 s = (x ) T QX 2 s (s ) T X 2 s = (x ) T QX(e Sx ) (s ) T X 2 s. Tehát a (3) összefüggést is alkalmazva d (x(µ), y(µ)) = b T y (x ) T Qx = (x ) T QXSx (s ) T X 2 s = µ (x ) T Qx (s ) T X 2 s 0, adódik, hiszen a Q pozitív szemidefinit és az X 2 pozitív diagonális mátrixok.
Vetített Newton-lépés A vetített Newton-lépés az f(x, µ) függvény kvadratikus közelítésének f 2 (x, µ) = f( x, µ) + g T (x x) + 1 2 (x x)t H(x x) a minimalizálásának felel meg az A x = b affin altéren, azaz p = x x helyettesítéssel az iránykereső feladat a következő lesz (NI) { min 1 2 pt Hp + g T p A p = 0, x + p 0 Vezessük be az (NI) iránykereső feladat Lagrange-függvényét L(p, u) = 1 2 pt Hp + g T p u T Ap, ahol u IR m, és írjuk fel a Karush-Kuhn-Tucker optimalitási kritériumokat, ekkor p L(p, u) = Hp + g u T A = 0, (9) u L(p, u) = Ap = 0. (10) Ez azt jelenti, hogy valamely x P + és µ > 0 esetén a Newton-irányt p = p( x, µ) IR n a következő egyenletrendszer megoldásával állíthatjuk elő H p + A T u = g, A p = 0. (11)
Newton irány kiszámítása A (11) egyenletrendszer megoldását két különböző alakban írhatjuk fel: 1. képtér formula (explicit alak): p(x, µ) = H ( I A T (AH 1 A T ) 1 AH 1) g 2. nulltér formula (implicit alak): p(x, µ) = Z(Z T HZ) 1 Z T g, ahol Z IR n (n m) mátrix, amelynek az oszlopai lineárisan függetlenek, és ortogonálisak az A mátrix sorterére azaz A Z = 0. Feladat. Bizonyítsák be, hogy a p IR n csökkenési iránya az f függvénynek az x P + pontban, azaz f( x + α p, µ) < f( x, µ) és x + α p P +, α (0, 1]. Az α (0, 1] lépéshossznak ki kell elégíteni az x + α p > 0 belsőpont feltételt, amelyet az (NI) feladat megoldásakor elhanyagoltunk.
Centralitás mértéke Centralitás mértéke: δ(x, µ) := X µ s e = min X µ (c + Qx AT y) e ahol x P + és (y, x, s) D +. Nyilvánvaló, hogy x C P és x = x(µ) δ(x, µ) = 0 (y, x, s) C D és y(x, µ) = y(µ). Vezessünk be további mértékeket, amelyek a centrális úttól való távolságot mérik: X 1 p(x, µ) és p(x, µ) 2 H(x,µ) := p(x, µ)t H(x, µ) p(x, µ), azaz egyszerűsítve a jelöléseket és a nulltér képletet használva p 2 H = gt Z(Z T HZ) 1 Z T g = p T g adódik. Az általánosság korlátozása nélkül, feltehetjük, hogy X 1 Z ortonormált mátrix, azaz (X 1 Z) T (X 1 Z) = I. Feladat. Bizonyítsa be a következő állításokat 1. Az (X 1 Z) (X 1 Z) T mátrix, az A X IR m n mátrix nullterére való vetítés. 2. Az (X 1 Z)v = v bármely v IR k vektor esetén, ahol Z IR n k mátrix. 3. A (X 1 Z) T w w bármely w IR n vektorra, és egyenlőség teljesül, ha w vektor eleme az A X mátrix nullterének. y
Centralitás mértékek összehasonlítása Lemma. Legyen x P + és µ > 0, ekkor X 1 p 2 p 2 H = pt g δ(x, µ) 2. Bizonyítás. Mivel a Q pozitív szemidefinit mátrix és µ > 0, ezért p 2 H = pt H p = p T (X 2 + 1 µ Q) p pt X 2 p = X 1 p 2. Másfelöl, figyelembe véve azt, hogy a Z T X 2 Z = (X 1 Z) T X 1 Z = I és λ((i + 1 µ ZT QZ) 1 ) 1, azaz a mátrix sajátértékei egynél nem nagyobbak, a nulltér formulát használva g T p = g T Z(Z T X 2 Z + 1 µ ZT QZ) 1 Z T g = g T Z(I + 1 µ ZT QZ) 1 Z T g Z T g 2 (I + 1 2 µ ZT QZ) 1 Z T g 2 és az AZ = 0 alapján ( ) ( ) c + Qx X Z T g = Z T X 1 e = (X 1 Z) T µ µ (c + Qx AT y) e tehát g T p Z T g 2 X 2 µ (c + Qx AT y) e bármely y vektorra.
A centrális út környezete Lemma. Ha X 1 p(x, µ) < 1, akkor x + = x + p(x, µ) P + és (X + ) 1 p(x +, µ) p(x +, µ) H(x+,µ) δ(x +, µ) X 1 p(x, µ) 2 p(x, µ) 2 H(x,µ) δ(x, µ)2. Bizonyítás. Egyszerű behelyettesítés alapján A x + = A (x + p) = A x + A p = b + 0 = b és az X 1 p < 1 miatt az x + = x + p > 0 teljesül, azaz x + P +. Az állítás második részének a bizonyításához elegendő azt megmutatni, hogy a p Newtonirányhoz tartozó u vektorral definiált y = µ u esetén, a (9) azonosságot, és a g vektor illetve a H mátrix definícióját is figyelembe véve, a következő összefüggések teljesülnek δ(x +, µ) ( X+ µ (c + Q x+ A T y) e c + Q (x + p) = (X + P ) 1 ) µ µ AT y e ( c + Q x (X + P ) µ P X 2 p X 1 p 2, + Q p µ g H p ) e = (X + P ) (X 1 e X 2 p) e hiszen a többi egyenlőtlenséget az előző lemmához hasonlóan lehet belátni.
A logaritmikus barrier függvény megváltozása Lemma. Ha p H < 1 teljesül, akkor f(x, µ) f(x(µ), µ) p 2 H. 1 p 2 H Bizonyítás. Mivel az f barrier függvény konvex és a g = f(x, µ) gradiense, ezért adódik. f(x, µ) f(x + p, µ) ( f(x, µ)) T p = g T p = p 2 H Tekintsük az Newton lépés megismétlésével előálló x 0 = x, x 1, x 2,... pontsorozatot. Ekkor f(x, µ) f(x(µ), µ) = (f(, µ) f(+1, µ)) i=0 i=0 p 2i+1 H p 2 H 1 p 2. H
A célfüggvény megváltozása Lemma. Ha p H < 1 teljesül, akkor q(x) q(x(µ)) p H (1 + p H ) 1 p H µ n. Bizonyítás. Mivel a q(x) konvex függvény, ezért q(x) T p q(x + p) q(x) q(x + p) T p és felhasználva a q(x) = c + Q x = µ g + µ X 1 e összefüggéseket a következő alsókorlát adódik q(x) T p = µ g T p + µ p T X 1 e µ p 2 H µ p H n p H (1 + p H ) µ n. Felhasználtuk azt is, hogy az X 1 p p H. Most pedig előállítunk egy felsőkorlátot q(x + p) T p = c T p + p T Q (x + p) = (c T p + p T Q x) + p T Q p = µ g T p + µ p T X 1 e + p T Q p = µ p T ( Hp + A T u) + µ p T X 1 e + p T Q p = p T Q p µ p T X 2 p + µ p T X 1 e + p T Q p = µ e T X 1 p µ X 1 p 2 µ e T X 1 p µ n p H. Ekkor q(x) q(x + p) p H (1 + p H ) µ n. A bizonyítás hasonlóan fejezhető be, mint az előző lemmánál, azaz tekinteni kellene egy olyan pontsorozatot, amelyet a Newton iterációl segítségével állítottunk elő.
Logaritmikus barrier módszer Bemenő adatok: ɛ pontosságot ellenörző paraméter, τ a centralitást felügyelő paraméter, µ 0 a kezdeti barrier paraméter érték, θ a barrier paraméter csökkentését meghatározó érték, 0 < θ < 1 x 0 P +, amelyre p(x 0, µ 0 ) H(x0,µ 0) 2 1 begin x := x 0 ; µ := µ 0 while µ > 4n ɛ do begin (külső lépés) while p H τ do begin (belső lépés) α := arg min α>0 { f(x + α p, µ) : x + α p P + } x := x + α p end (belső lépés) µ := (1 θ) µ end (külső lépés) end. Tétel. Legyen τ = 1 2. A logaritmikus barrier módszer legfeljebb 1 θ log 4nµ0 ɛ külső iteráció után leáll egy x P +, primál megoldással, amelyre q(x) z ɛ, ahol z a feladat optimumértékét jelöli.
A logaritmikus barrier módszer komplexitás vizsgálata Lemma. Legyen ᾱ := (1 + p H ) 1. Ekkor f := f(x, µ) f(x + ᾱ p, µ) p H log(1 + p H ). Bizonyítás. Az f barrier függvény Taylor-féle sorfejtése az α lépéshosszra nézve, f(x + α p, µ) = f(x, µ) + α g T p + 1 2 α2 p T Hp + k=3 ( α) k k n ( pi i=1 ) k. A k. tagját (k 3) a sorfejtésnek az alábbi módon becsülhetjük meg ( α) k k n i=1 ( pi ) k αk k n ( ) k pi αk k i=1 ( n i=1 ( pi ) 2 ) k 2 Az első és másodrendű tagokra korábban kapott összefüggések alapján ( 1 ) f(x + α p, µ) f(x, µ) + 2 α2 α p 2 H + k=3 = αk k X 1 p k αk k p k H. α k k p k H = f(x, µ) α p 2 H log(1 α p H) α p H. Tehát f α ( p 2 H + p H) + log(1 α p H ). Elvégezve az α = ᾱ = (1 + p H ) 1 helyettesítést, kapjuk a kívánt állítást.
Belső iterációk száma Tétel. A logaritmikus barrier módszer, minden külső iterációban legfeljebb 11θ (1 θ) 2 (θn + 3 11 n) + 2 3 belső iteráció van. Bizonyítás. Jelölje a belső iterációban a µ paraméter értékét µ +, amíg az azt megelőző érték pedig µ, akkor µ + = (1 θ) µ. Minden iterációban p H τ = 1 2 tehát minden belső iterációban f 1 ( 2 log 1 + 1 ) > 1 2 11. Másfelöl jelölje a belső iterációk számát K, ekkor K 11 < f(x, µ+ ) f(x(µ + ), µ + ) = F (x, µ + ). A Lagrange-féle középérték tétel alapján létezik µ (µ +, µ) intervallumban, amelyikre F (x, µ + df (x, µ) ) = F (x, µ) + dµ (µ + µ). Felhasználva a µ= µ df (x, µ) dµ = q(x) µ 2 és df (x, µ) dµ df (x(µ), µ) dµ = µ= µ = q(x(µ)) µ 2 összefüggéseket azt kapjuk, hogy q(x) q(x(µ+ )) µ= µ (µ + ) 2, q(x) q(x(µ)) µ 2
Belső iterációk száma (folytatás) ahol az utolsó egyenlőtlenség, azért teljesül, mert µ + < µ. Ezek alapján F (x, µ + ) F (x, µ) + q(x) q(x(µ+ )) (µ + ) 2 (µ µ + ) F (x, µ) + Mivel p H 1 2, ezért egy korábbi lemma alapján ( q(x) q(x(µ)) µ + + q(x(µ)) q(x(µ+ )) µ + ) µ µ + µ +. p 2 H F (x, µ) = f(x, µ) f(x(µ), µ) 1 p 2 1 3, másfelöl H q(x) q(x(µ)) p H (1 + p H ) µ n 3 1 p H 2 µ n és a célfüggvények centrális út menti monotonitását kihasználva q(x(µ)) q(x(µ + )) q(x(µ)) d(x(µ), y(µ)) + d(x(µ + ), y(µ + )) q(x(µ + )) = n(µ µ + ) = θ n µ. Ezeket a felsőkorlátokat felhasználva f(x, µ + ) f(x(µ + ), µ + ) = F (x, µ + ) 1 ( 32 n 3 + 1 θ + θ n ) θ 1 θ 1 θ = 1 ( 3 + θ 3 ) n + θ n (1 θ) 2. 2 Következmény. Felsőkorlát az összes Newton-iterációra a logaritmikus barrier algoritmus esetén [ 11 (1 θ) 2 ( 3 2 ) n + θ n + 11 ] 3 θ log 4 nµ0. ɛ
További lemmák Lemma. Legyen x + = x + p(x, µ). Ha p(x, µ) H (x, µ) 1 akkor δ := δ(x +, µ) 1 és y := y(x +, µ) duál megengedett megoldás. Továbbá, a dualitás résre a következő egyenlőtlenség teljesül µ (n δ n) q(x + ) d(x +, y) µ (n + δ n). Bizonyítás. Egy korábbi lemma alapján δ(x +, µ) p(x, µ) 2 H (x, µ) 1. A duál eltérés változó definíciója alapján s(x, µ) = c + Q x A T y(x, µ). Ekkor a δ(x +, µ) = X+ s(x +, µ) e µ 1. Ebből következik, hogy s(x +, µ) 0, ezért az y(x +, µ) duál megengedett megoldás. Továbbá, ( (x+ ) T s(x +, µ) n X µ = e T + s(x +, µ) e) e µ X+ s(x +, µ) e µ = δ n. Figyelembe véve, hogy (x + ) T s(x +, µ) = q(x + ) d(x +, y), adódik a lemma állítása. Lemma. Legyen µ + := (1 θ) µ ekkor δ(x, µ + ) 1 1 θ (δ(x, µ) + θ n).
További lemmák (folytatás) Bizonyítás. A δ centralitás mértéke alapján δ(x, µ + ) = X s(x, µ+ ) µ + X s(x, µ) µ + = 1 1 θ 1 1 θ (δ(x, µ) + θ n). ( ) X s(x, µ) e + µ ( 1 1 θ 1 ) e Lemma. Legyen x + = x + p(x, µ) és µ + := (1 θ) µ, ahol θ = 1 9 n. Ha δ(x, µ) 1 2 akkor δ(x +, µ + ) 1 2. Bizonyítás. Az előző lemma alapján δ(x, µ + ) 1 1 1 9 n ( 1 2 + 1 9 11 16. ) Alkalmazzuk a kvadratikus konvergenciára vonatkozó eredményt, azaz δ(x +, µ + ) δ(x, µ + ) 2 121 256 < 1 2.
Jelölések, definíciók
Lineáris feltételes konvex optimalizálási feladat Adott a következő lineáris feltételes konvex optimalizálási feladat, (P ) min {f (x) A x = b, x 0}, ahol f : IR n IR konvex függvény, A IR m n teljes sorrangú mátrix és x IR n, b IR m. Jelölje P = {x IR n A x = b, x 0} illetve P + = {x P x > 0} a megengedett megoldások illetve a belsőpontok halmazát. Feltesszük, hogy 1. P +, sőt ismerünk egy x 0 P + pontot; 2. a P korlátos halmaz; 3. az f függvénynek létezik a második deriváltja a P + halmazon. Definíció. Legyen az f : IR n IR függvény. Azt mondjuk, hogy az f függvény kielégíti a skálázott Lipschitz feltételt, ha adott 0 < β < 1 esetén létezik M > 0, amelyre [ X f (x + x) f (x) 2 f (x) x ] M x T 2 f (x) x, ahol x > 0 X = diag(x) és X 1 x β. Zhu-tétel. A konvex függvények osztálya kielégíti a skálázott Lipschitz feltételt (slf), az M 1, konstanssal, amely független a feladat változóinak a számától, azaz M = O(1). Vezessük be, a következő lineáris feltételes logaritmikus büntetőfüggvényes feladatot, (P µ ) { } f (x) n min µ log A x = b, ahol µ > 0. i=1
Paraméteres centrális út Definíció. Legyen x P +. Azt mondjuk, hogy az x pont, a µ paraméterű α úton van, ha létezik az s = f(x) A T y, valamely y IR m esetén úgy, hogy x s µ e α µ, ahol 0 < α < 1. Algoritmus (rövid lépéses). Bemenő adatok: ε > 0 számítási pontosság, 0 < α, γ < 1 paraméterek, x 0 P +, µ 0 < 1 (1+α) n ε és x 0 s 0 µ e α µ 0, Begin x := x 0, µ := µ 0 while µ ε (1+α) n x := x + x; µ := (1 γ)µ; endwhile end. do
Az algoritmus komplexitása Definíció. Ha egy (nemlineáris optimalizálási) algoritmusnak egy ε-optimális megoldás előállításához szükséges számítási igénye, a változók számának, n és a pontossági paraméter logaritmusának, az log ε a polinomjával korlátozható felülről, akkor az algoritmust polinomiális algoritmusnak nevezzük. Tétel. Legyen adott a (P ) feladat és tegyük fel, hogy az f függvény kielégíti a skálázott Lipschitz feltételt. Egy ε > 0 pontosságú megoldás eléréséhez O( n log ε) számú iterációra van szükség. Bizonyítás. Igazoljuk, hogy 1. µ k ε (1+α) n elérésehez O( n log ε ) iterációra van szükség, 2. ha x ε a (P ) feladat optimális megoldása, és x a µ k (1+α) n akkor az f(x ) [f(x) ε, f(x)]. Először belátjuk az első állítást. Mivel µ k = µ 0 (1 γ n ) k, és (1 γ n ) < 1, azért log µ 0 + k log ( paraméterű α úton van, 1 γ n ) = log µ k log ε log(1 + α) n átalakítva és felhasználva a µ 0 definícióját k log ε log (1 + α) n log µ 0 log ε log (1 + α) n + log ((1 + α) n ε) 2 log ε ( ) ( ) = ( ). log 1 γ n log 1 γ n log 1 γ n Igaz továbbá, hogy k 2 log ε ( ) 2 n ( log ε). log 1 γ γ n
Komplexitás bizonyítása Legyen s = f(x) A T y 0, x IR n, úgy, hogy A x = b és y IR m. Ekkor igaz az alábbi: f (x) f (x ) f (x) x T s. Az első egyenlőtlenség nyilvánvaló, a második az alábbiakból következik: f (x ) f (x) x T s = b T y x f (x), figyelembe véve azt, hogy az f(x) konvex függvény, így f (x ) f (x) (x x) T f (x), ezért annyi kell, hogy x T f (x) b T y ami következik abból, hogy s 0, azaz x T f (x) x T A T y = b T y Feltettük, hogy az x pont a µ paraméterű α úton van, ezért s i (1 + α) µ és így x T s (1 + α) nµ, amiből következik, hogy a µ-re tett feltétel miatt f (x) f (x ) f (x) (1 + α) nµ, f (x) f (x ) f (x) ε.
Jelölések, definíciók
Geometriai programozási feladat Tekintsük a következő nemlineáris programozási primál duál feladatpárt max b T y e a T i y c i 1, k = 1, 2,..., r (P ) ahol A IR n m mátrix és az b IR m, c IR n, y IR m vektorok és I = {1, 2,..., n} olyan index halmaz, amelyre I = I 1 I 2 I r diszjunkt felbontás. x r min c T i i I x + log k ( ) k=1 i I x k i (D) x T A = b, x 0 A (P ) és (D) feladatokat primál- és duál geometriai programozási feladatnak nevezzük. A primálés a duál megengedett megoldás halmaz legyen rendre { } P = y IR m : e a T i y c i 1, k = 1, 2,..., r és D = { x IR n : x T A = b, x 0 }. Kérdés. Konvex halmaz-e a P?
A feladatpárban szereplő függvények tulajdonságai Definíció. Legyen az A IR m konvex, nem üres halmaz és g : A IR adott függvény. A g függvényt logaritmikusan konvex függvénynek nevezzük, ha bármely y 1, y 2 A és λ [0, 1] esetén g (λ y 1 + (1 λ) y 2 ) (g(y 1 )) λ (g(y 2 )) 1 λ. Lemma. Legyen a g k : IR m IR + függvény a következő képlettel adott g k (y) := e a T i y c i. A primál feladat feltételében szereplő g k függvények logaritmikusan konvexek. Továbbá a logaritmikus konvexitás feltételében szereplő egyenlőtlenség pontosan akkor teljesül egyenlőséggel, ha bármely i, j k esetén (a i a j ) T (y 1 y 2 ) = 0 teljesül, feltéve, hogy 0 < λ < 1. Lemma. Legyen a h k : D IR, függvény a következő képlettel adott h k (x) = log ( x xi i ), (k = 1, 2,..., r) ekkor a h k függvényeknek a következő tulajdonságaik vannak: (i) h k (x) 0 (ii) h k (λ x) = λ h k (x) ha λ 0 (pozitív homogén) (iii) h k (x + x) h k (x) + h k ( x) (szubadditív) és egyenlőség pontosan akkor teljesül, ha bármely i I k esetén az =.
Geometriai egyenlőtlenség és következménye Geometriai egyenlőtlenség. Legyen a, b IR m, akkor m i=1 m a i b i i=1 m b i i=1 m ( ai b i i=1 ) bi, teljesül, ahol a, b IR esetén ( a b ) 0 = 1. Gyenge dualitás tétel. Legyen y P és x D ekkor p b T y x T c + log( és egyenlőség pontosan akkor teljesül, ha k=1 ) e at i y c i = bármely i I k, és k = 1, 2,..., p. Bizonyítás. Mivel y P, ezért 0 e a T i y c i 1, k = 1, 2,..., r
A geometriai programozás gyenge dualitás tétele és az x D miatt x 0. Alkalmazzuk a geometriai egyenlőtlenséget, ekkor e a T i y c i ( e at i y c i ) xi egyszerű átalakítások után kapjuk, hogy 1 ( e at i y c i ) ( e at i y c i ) xi ( ) = ( ) e ( a T i y c i ) ahol k = 1, 2,..., p. Felhasználva az előző egyenlőtlenséget egyszerűen adódik az p 1 k=1 ( ) e ( a T i y c i ) = i I ( ) i I x k p i = x i e k=1 ( ) p k=1 i I x T A y x T c e bt y x T c.
A gyenge dualitás tétel bizonyítása Vegyük az előző egyenlőtlenség mindkét oldalának a logaritmusát és a logaritmus függvény monotonitása miatt ( ) i I x k p i 0 b T y x T c + log x i, k=1 melyet átrendezve kapjuk a gyenge dualitás tétel egyenlőtlenségét. Az első egyenlőtlenségben egyenlőség van, ha = 0 vagy e at i y c i = e a T i y c i amiből e at i y c i e a T i y c i = 1 és = adódik, bármely i I k esetén, azaz e at i y c i = teljesül, bármely i I k esetén, mert x = 0 nem lehetséges, ha b 0.
Slater-féle regularitási feltétel Következmény (Gyenge equilibrium tétel). Legyen ȳ P, x D és x > 0, amelyre e at i ȳ c i = teljesül, bármely i I k, indexre, ahol k = 1, 2,..., p. Ekkor bármely x D vektorra x p xi i b T ȳ = x T c + log( ) k=1 i I x k i teljesül. Slater-féle regularitási feltétel: Legyenek adottak a (P ) és (D) geometriai programozási feladatok. Ha létezik ỹ P vektor, amelyre e a T i ỹ c i < 1, teljesül k = 1, 2,..., p indexek esetén.
Dualitás tétel Dualitás tétel. Tegyük fel, hogy a primál feladat teljesíti a Slater-feltételt és a célfüggvénye felülről korlátos a P halmazon. Ekkor létezik x D duál optimális megoldás és c T x + p log ( k=1 x i x x i i ) x i = sup y P b T y Bizonyítás. A tétel feltételei miatt létezik µ : sup y P b T y = µ véges szám. Ekkor a µ b T y < 0 e a T i y c i 1 0 rendszer nem oldható meg. Vezessünk be új változókat a T i y c i ε i, ahol az i = 1, 2,..., I k indexek és így azt kapjuk, hogy a µ b T y < 0 a T i y c i ε i 0 e εi 1 0 rendszer sem oldható meg, ahol y IR n, (ε 1, ε 2,..., ε m ) IR m. Alkalmazzuk a konvex Farkas tételt, ekkor létezik λ k, x i 0 számok úgy, hogy
Dualitás tétel bizonyítása p µ b T y + ( ) λ k e εi 1 + k=1 i=1 m x i (at i y c i ε i ) 0 teljesül, bármely y IR n, (ε 1, ε 2,..., ε m ) IR m esetén. Átrendezve az előzőt ( m ) ( ) p m µ + y T x i a i b + λ k e ɛi 1 x (c i + ε i ) 0 i=1 i=1 Ha a m x i a i b 0 i=1 k=1 akkor y megválasztható lenne úgy, hogy az előző egyenlőtlenség ne teljesüljön, tehát (x ) T A = b és x 0 miatt x D, és így ( ) p m µ + λ k e ɛi 1 x i (c i + ε i ) 0 teljesüljön. i=1 k=1 1. eset: Ha az x i > 0 teljesül bármely i indexre, akkor legyen ε i = log x i Behelyettesítve az ε i értékeket az előzőbe p µ + x m i 1 + ci log x i 0 k Ik λ k x k=1 i x i x i=1 i x i i I k esetén. vagyis
Dualitás tétel: 1. eset µ c T x + p log ( k=1 x i x x i i ) x i A gyenge dualitás tétel miatt a fordított irányú egyenlőtlenség is igaz. Ebben az esetben tehát igaz az állítás. 2. eset: Ha léteznek olyan i indexek, amelyekre x i = 0 akkor a ( ) p m µ + λ k e ɛi 1 x i (c i + ε i ) 0 egyenlőtlenség miatt k=1 i=1 p µ + λ p k e εi 1 + λ k e εi + x i ( c i ε i ) 0, x i >0, x i =0 x i >0 k=1 k=1. Ha x i > 0 akkor legyen ε i = log x i x i és ha x i = 0 akkor a ε i értékét válasszuk meg úgy, hogy p λ k k=1, x i =0 e εi θ, θ > 0 teljesüljön. Ekkor
Dualitás tétel: 2. eset µ + θ x i c i + i:x i >0 p log ( k=1 x i x, x i >0 i ), x i >0 x i, x i >0 x i = c T x + p log ( k=1 x i x x i i ) x i. teljesül bármely θ > 0 esetén. Tehát a gyenge dualitás tételt is felhasználva, a fordított egyenlőtlenség is teljesül. Lemma. 1. Legyen y P és ȳ IR m : A ȳ 0. Ekkor (y + θ ȳ) P teljesül, bármely θ 0 esetén. 2. Ha y P, akkor A y c. Következmény. Legyen P ω := {y P : b T y ω}, felső szinthalmaza a (P ) feladatnak. 1. Legyen P. A P pontosan akkor korlátos, ha C(a 1, a 2,..., a m ) = IR n. 2. Legyen P és korlátos, akkor az x T A = 0 egyenletrendszernek létezik x > 0 megoldása. 3. Ha P és korlátos, továbbá D, akkor D nem korlátos. 4. A P ω, pontosan akkor korlátos halmaz, ha C(a 1, a 2,..., a m, b) = IR n. 5. Ha a P ω korlátos halmaz, akkor az x T A = b egyenletrendszernek létezik x > 0 megoldása.
Duál oldali dualitás tétel Slater-feltétel a (D) feladatra: létezik x D : x > 0. Fordított dualitás tétel. Ha a (D) feladat teljesíti a Slater-feltételt és célfüggvénye alulról korlátos a D halmazon, akkor létezik y P optimális megoldás, amelyre x p i b T y = inf c T x + log ( ). x D k=1 qmedskip Állítás. Legyen P halmaz. A primál célfüggvény pontosan akkor korlátos felülről, ha a D. Állítás. Legyen A i = {e at i y c i : y P}, és A ω,i = {e at i y c i : y P ω }. 1. A 0 / A i pontosan akkor, ha az x T A = 0 x 0 megoldható és > 0. 2. Legyen P ω. A 0 / A ω,i pontosan akkor, ha az x T A θ b = 0, x 0, ahol θ 0 megoldható és > 0.
Lemmák Lemma. Legyen D h = {x IR n : x T A = 0, x 0}, és D + h = {x D h : x > 0}. Ha D + h és bármely x D + h : ct x + p k=1 h k(x) 0, akkor létezik ȳ IR m úgy, hogy e a T i ȳ c i 1, k = 1, 2,..., p, azaz P. Lemma. Legyen D + = {x D : x > 0}. Ha D + és c T x + p k=1 h k(x) alulról korlátos, akkor P és létezik ȳ P úgy, hogy b T ȳ = inf x D {ct x + p h k (x)}. k=1 Következmény. 1. Ha D + és P, akkor létezik ȳ P úgy, hogy b T ȳ = sup y P 2. Legyen D +. A c T x + p k=1 h k(x) pontosan akkor korlátos alulról, ha a P. b T.
Tételek Dualitás tétel. 1. Ha P és D, akkor sup y P b T y = inf x D {ct x + 2. Ha P és létezik ȳ P úgy, hogy b T ȳ = sup y P p h k (x)}. k=1 b T y, akkor D és a b T ȳ = inf x D {ct x + p h k (x)}. k=1 Tétel. Ha D = és létezik µ IR szám, amelyre µ = inf x D {ct x + p k=1 h k(x)}, akkor bármely ε > 0 esetén, létezik y IR m úgy, hogy e a T i y c i 1 + ε, k = 1, 2,..., p és lim sup b T y = µ. ε 0 y P
Lagrange függvény: geometriai programozás Definíció. Legyen a Φ : IR m IR n IR Lagrange-függvény a következő összefüggéssel adott x p i Φ(x, y) := c T x b T y x T A y + log ( ), ahol I 1, I 2,..., I p Az x IR m, y IR n k=1 halmazok az I indexhalmaz partícióját alkotják. pontpárt nyeregpontnak nevezzük, ha Φ(x, y) Φ(x, y ) Φ(x, y ) bármely x 0, y IR n. Tétel. Az x IR m, y IR n pontpár pontosan akkor optimális megoldása a primál és duál geometriai programozási feladatnak, ha nyeregpontja a Φ Lagrange-függvénynek. Bizonyítás. Bizonyítsa be a tételt közvetlenül, általánosabb eredmény felhasználása nélkül.