Az ellipszoid algoritmus Csizmadia Zsolt Eötvös Loránd Tudományegyetem
Bevezető Az ellipszoid módszert a nemlineáris porgramozásra Shor [1970,0977] illetve Yudin és Nemirovskiî [1976] feljlesztették ki. Khachiyan [1979, 1980] megmutatta, hogy az algorimtus egy kiterjesztése a lineáris programozási feladatot polinom időben megoldja. Az ellipszoid algoritmusnak szerepe a kombinatorikus optimalizálásával, hogy segítségével jópár algoritmus polinomiális futásideje bizonyítható. Belátható, hogy valójában a poliéder teljes leírására nem is lesz szüksége az algoritmusnak, elegendő ha az úgynevezett szeparálást el tudjuk végezni: ha adott a P R n poliéder, illetve egy x vektor, akkor eldöntendő hogy x P teljesül-e, illetve ha nem, megadandó egy a P leírásában szereplő feltétel, melyet az x megsért. Vagyis a szeparálás elegendő az ellipszoid algoritmus futtatásához [2]. Gyakorlati szempontból az ellipszoid algoritmus nem hatékony. Az algoritmus numerikusan instabil, és a szükséges iterációk száma rendkívül nagy. A következőkben feltételezzük hogy pontosan tudunk számolni. A gyakorlatban ez a feltevés kiváltható, ha minden iterációban egy picit nagyobb epszilont tekintünk.
Az ellipszoid tulajdonság 1. Definíció. Legyen D R n n pozitív definit mátrix. Az ED, y) := {x R n : x y) T D 1 x y) 1} halmazt az y középpontú ellipszoidnak nevezzük. 2. Tulajdonság. Legyen adott egy ED, y) ellipszoid és valamely d R n vektor esetén tekintsük a H = ED, y) {x R n : d T x d T y} félellipszoidot. Ekkor azt mondjuk hogy teljesül az ellipszoid tulajdonság, ha E ellipszoid, melyre H E és vole ) vole) 1 e 2n+1) < 1 Vegyük észre, hogy 1 lim n e 2n+1) = 1
Az ellipszoid algoritmus Input: P < E 0 = ED 0, x 0 ) Begin t := 1, t := 2n + 1)log V log ν) While x t / P < ) Legyen i : a i)) T xt > b i d := a i), D := D t D t+1 := n2 n 2 1 x t+1 := x t 1 D 2 n+1 Dd n+1 dt Dd t := t + 1 If t t ) then STOP: P < üres Endif Endwhile x t belső pont End Dd)Dd) T d T Dd ) Tegyük fel, hogy teljesül az ellipszoid tulajdonság. Megmutatjuk, hogy ekkor az algoritmus véges.
Az ellipszoid tartalmazza a tartományt 3. Lemma. Tegyük fel hogy P < E 0, teljesül az ellipszoid tulajdonság, illetve hogy az algoritmus ˆt t iterációt végez. Ekkor P < E t bármely t := 0, 1,..., ˆt esetén. Bizonyítás. Teljes indukcióval bizonyítunk. t = 0 esete a lemma feltétele, tegyük fel hogy az állítást t = 0,..., k esetén már igazoltuk. Legyen i az algoritmus által a k-ik iterációban választott index, azaz a i))t x k > b i és d := a i). Ekkor P < E k {x R n : d T x d T x k } {x R n : d T x d T x k } így az ellipszoid tulajdonságot használva P < E k {x R n : d T x d T x k } = H k E k+1
Lépésszám 4. Tétel. Tegyük fel hogy P < E 0, teljesül az ellipszoid tulajdonság, adott a V, ν > 0 és legyen t := 2n + 1)log V log ν). Ekkor az ellipszoid algoritmus a P < feladatot legfeljebb t iterációban megoldja. Bizonyítás. Megmutatjuk, hogy ha x t / P < az összes t := 0, 1,..., t esetén akkor P < =. Kiszámítjuk az E t térfogatát. Mivel vole t+1 ) vole t ) e 1 2n+1) ezért vagyis vole t ) vole 0 ) = vole 1) vole 0 ) vole t ) vole t 1) e t 2n+1) vole t ) vole 0 )e t 2n+1)log V log ν) 2n+1) V e 2n+1) = V e log V ν = ν Azonban a feltevések szerint volp > ) > v, illeve a 3. lemma alapján P < E t vagyis volp < ) vole t ) = ν. Ellentmondás. A továbbiakban rátérünk az ellipszoid tulajdonság teljesülésének a bizonyítására.
Affin transzformációk 5. Definíció. Legyen A R n n, b R n és T A x) := Ax + b. Ekkor T A : R n R affin transzformáció. 6. Lemma. Ha L L R n akkor T A L) T A L ) R n 7. Lemma. Ha L R n L konvex, akkor volt A L)) = deta) voll). Bizonyítás. Analízisből volt. Ha másnem téglákra. De L konvex, tudod ilyenekkel közelíteni. 8. Lemma. Legyen E = ED, ỹ) ahol D = Q T Q. Legyen továbbá T x) = Q T ) 1 x Q T ) 1 ỹ egy affin traszformáció. Ekkor T E) = S n, ahol S n az n dimenziós egységgömb. Bizonyítás. T E) = { ξ : ξ = Q T ) 1 x ỹ), ahol x ỹ) T D 1 x ỹ) 1 } = { ξ : Q T ξ) T D 1 Q T ξ) 1 } = { ξ : ξ T QD 1 Q T ξ 1 } = { ξ : ξ T ξ 1 } = S n.
Rotációs lemma 9. Definíció. A T Q affin transzformációt rotációnak nevezzük, ha Q T Q = I. 10. Lemma. Legyen d R n \ {0} tetszőleges. Ekkor Q 2 R n n rotáció, hogy Q 2 d = d e 1. Bizonyítás. Vagyis minden vektor beforgatható akármilyen irányba. 11. Lemma. Legyen Q 1 R n n, d R n tetszőleges, Q T 1 Q 1 = D := D t, Q 2 rotáció melyre Q 2 Q 1 d = Q 1 d e 1 és Q = Q 2 Q 1. E t = D, x t ), D = D t ) Legyen továbbá T x) = Q T ) 1 x x t ) és ξ := T x) vagyis ξ = Q T ) 1 x Q T ) 1 xt. Ekkor 1. Qd = d T Qd 2. QD 1 Q T = I 3. Q T ) 1 D = Q 4. T E t ) = T ED, x t )) = { ξ : ξ T ξ 1 } 5. T { x : d T x d T x t }) = {ξ : ξ1 0} 6. T x t+1 ) = 1 7. T E t+1 ) = n+1 e 1 { ξ : ) ξ n+1 e1 n 2 n 2 1 I 2 n+1 e 1e T ) ) } 1 1 ξ e 1 ) n+1 1
Rotációs lemma bizonyítás Bizonyítás. 1. 2. Qd = Q 2 Q 1 d = Q 2 Q 1 d) T Q 2 Q 1 d) = d T Q T 1 QT 2 Q 2Q 1 d = d T Dd QD 1 Q T = Q 2 Q 1 Q T 1 Q 1 ) 1 Q T 1 Q T 2 = I 3. Következik az előzőből. 4. = T E) = { } ξ : ξ = Q T ) 1 x ỹ), ahol x ỹ) T D 1 x ỹ) 1 { } { ) } ξ : Q T ξ) T D 1 Q T ξ) 1 = ξ : ξ T QD 1 Q T 2) { } ξ 1 = ξ : ξ T ξ 1 5. }) { } { } T {x : d T x d T x t = ξ : d T Q T ξ 0 = ξ : Q 2 Q 1 d) T ξ 0 { } = ξ : Q 1 d e T 1 ξ 0 = {ξ : ξ 1 0}
Rotációs lemma bizonyítás... 6. T x t+1 ) = T x t 1 n + 1 = ) Dd = d T Dd ) Q T 1 1 3) = 1 ) Q T 1 x t 1 ) Dd n + 1 d T Dd x t ) Dd = 1 Q T ) 1 Dd n + 1 d T Dd n + 1 d T Dd Qd n + 1 Qd = 1 Qd n + 1 Qd e 1 = 1 n + 1 e 1 7. Jelölje ξ t+1 := T x t+1 ), azaz x t+1 x t = Q T ξ t+1. Ekkor { } T E t+1 ) = ξ : Q T ξ = x x t, x x t+1 )Dt+1 1 x x t+1) 1 { } = ξ : Q T ξ ξ t+1 )) T Dt+1 1 QT ξ ξ t+1 )) 1 mivel Q T ξ = x x t és Q T ξ t+1 = x t+1 x t így és Q T ξ ξ t+1 ) = x x t x t+1 + x t = x x t+1 T E t+1 ) = {ξ : ξ ξ t+1 ) T QD 1 t+1 QT ξ ξ t+1 ) 1} így mivel QD 1 t+1 QT = Q T ) 1 D t+1 Q) 1 T E t+1 ) = {ξ : ξ ξ t+1 ) T Q T ) 1 D t+1 Q) 1 ξ ξ t+1 ) 1}
Felhasználva, hogy kapjuk, hogy Rotációs lemma bizonyítás... D t+1 = Q T ) 1 D t+1 Q 1 = Q T ) 1 n 2 = n2 n 2 1 3) = n2 n 2 1 = n2 n 2 1 n2 n 2 D t 2 D t d)d t d) T ) 1 n + 1 d T D t d D t 2 D t d)d t d) T ) n + 1 d T Q 1 D t d n 2 1 Q T ) 1 D t Q 1 2 I 2 n + 1 I 2 n + 1 e 1e T 1 Q T ) 1 D t d)d t d) T Q 1 ) n + 1 d T D t d Qd)Qd) T ) d T D t d ) Vagyis használva 6)-ot adódik hogy { T E t+1 ) = ξ : ξ e ) 1 n 2 n + 1 n 2 I 2 )) 1 1 n + 1 e 1e T 2 ξ e ) } 1 1 n + 1
12. Lemma. Legyen n 3. Ekkor teljesül az ellipszoid tulajdonság, vagyis 1. D t+1 P D 2. volet+1) vole t) e 1 2n+1) 3. H t = E t {x R n : d T x d T x t } E t+1 Bizonyítás. 1. Az előző lemma 7. pontja szerint D t+1 = Q T Q ahol = n2 diagonális mátrix ha n 3. n 2 1 x T D t+1 x = x T Q T Qx = x T Q T 1 2 1 2 Qx = 1 2 Qx > 0 I 2 n+1 e 1e T 2 ) P D 2. vole t+1 ) vole t ) = volt E t+1)) volt E t )) n 2 4) = vol E 1, n+1 e )) 1 vol S n = n 2 det ) = det ) n 2 1 I 2 )) n + 1 e 1e T 1 ) n n 1 = n 2 1 n + 1 = n 2 = n 2 1 n 2 ) n 1 ) 2 n = n + 1 Felhasználva hogy 1 + α e α kapjuk, hogy ) n 1 n 2 n 1 n 2 1 n 2 1 n + 1 1 + 1 n 2 1 ) n 1 1 1 n + 1 ) 2 vole t+1 ) vole t ) ) e 1 n 1 ) 2 n 2 1 e 1 n+1 = e 1 n+1 e 2 n+1 = e 1 2n+1)
Ellipszoid tulajdonság bizonyítás... 3. T E t+1 ) = E 1, n+1 e ) 1, ahol = n 2 n 2 1 I 2 n+1 e 1e T ) 2 és T Ht ) = { ξ : ξ T ξ 1 és ξ 1 0 }. { T E t+1 ) = ξ : ξ 1 ) T n + 1 e 1 1 ξ 1 ) } n + 1 e 1 1 ahol n+1) 2 n 0... 0 2 1 n = 0 2 1 n. 2.... 0 Rn n n 0... 0 2 1 n 2 pozitív definit diagonális mátrix.
ξ 1 ) T n + 1 e 1 1 ξ 1 ) n + 1 e 1 = azaz Ha ξ T H t ) akkor n 2 1 n 2 T E t+1 ) = n i=1 Ellipszoid tulajdonság bizonyítás... { ξ : n2 1 n 2 n + 1)2 n 2 = n2 1 n 2 = n2 1 n 2 = n2 1 n 2 n i=1 ξ 1 1 ) 2 + n2 1 n + 1 n 2 n i=2 ξ 2 i + n ξi 2 + i=1 n i=1 n i=2 ξ 2 i n + 1)2 n 2 ξ1 2 2ξ 1n + 1) n + 1)2 1 n 2 + n 2 n + 1) 2 2n + 1) n 2 ξ1 2 2n + 1) n 2 ξ 1 + 1 n 2 ξi 2 + 1 2n + 1) + n2 n 2 ξ 1 ξ 1 1) } ξi 2 + 1 2n + 1) + n2 n 2 ξ 1 ξ 1 1) 1 ξi 2 + 1 2n + 1) + n2 n 2 ξ 1 ξ 1 1) n2 1 n 2 + 1 2n + 1) + n2 n 2 ξ 1 ξ 1 1) = 1 + 2n + 1) n 2 ξ 1 ξ 1 1) Mivel 0 ξ 1 1, ezért ξ 1 ξ 1 1) 0 és így ξ 1 ξ 1 1) 0 azaz ξ T E t+1 ). Megmutattuk hogy T H t ) T E t+1 ), de T bijektív lévén készen vagyunk. A továbbiakban megmutatjuk hogyan lehet minden LP feladatot egy, az algoritmus feltételeinek megfelelő megengedettségi feladattá alakítani.
Becslés a determinánsra 13. Lemma. Legyen A R m n, I R m m, b R m, I egységmátrix. Legyen B R m m az A, I, b) részmátrixa. Ekkor detb) < 2 L /n ahol L = 1 + log 2 n + log 2 m + az adatok tárolási igénye. m i=1 j=1 n 1 + log 2 1 + a ij )) + m 1 + log 2 1 + b i )) j=1 Bizonyítás. detb) = 1) σπ) α 1π1)... α mπm) π S m ) α1π1) + + αnπn) π S m m i=1 j=1 m i=1 j=1 < 2L nm < 2L n m α ij + 1) n m a ij + 1) b i + 1) i=1
Bázismegoldások becslése 14. Lemma. Tekintsük az Ax b, x 0 megengedettségi feladatot, ahol A Z m n, b Z m. Ekkor bármely x bázis megoldása a megengedettségi feladatnak olyan, hogy x < 2 L. Bizonyítás. Ha x j 0 akkor a Cramer-szabály szerint x j = det B j det B < det B j < 2L n mivel det B > 0 vagyis det B 1 lévén egész, és így x < 2 L
Poliéder térfogatának becslése 15. Lemma. Legyen P = {x R m : Ax b, x 0}, ahol A Z m n, b Z m ahol intp ) 0. Ekkor volp ) 2 n+1)l. Bizonyítás. Legyen x intp, illetve ˆx P bázismegoldás. Ekkor ˆx j < 2L n illetve δ hogy B x, δ) P. Mivel P konvex, így tetszőleges x P esetén a convx, B x, δ)) kúp is P -ben van, így a P = {x R n : Ax b, x 0, x 2Ln } e 1) poliéder már korlátos és továbbra is van belső pontja. Mivel P korlátos, így előáll mint extremális pontjainak a konvex burka. Mivel P -nak belső pontja, így teljes dimenziós, ezért kiválasztható {v 0,..., v n } P extremális pontjai, melyek affin függetlenek, vagyis a v = conv{v 0,..., v n } P egy n dimenziós szimplex. Felhasználva hogy az n dimenziós egységszimplex térfogata n! 1 illetve a 7. lemmát adódik, hogy vol v ) = 1 [ 1 1... 1 n! det v 0 v 1... v n])
Bizonyítás... és felfújt poliéder Legyen v i = ui d i ahol u i Z n, d i Z és i {0,..., n} felhasználva, hogy a v i pontok egyben bázismegoldásai a P poliédernek, így a Cramer szabály miatt racionálisak. és egyben v i = ui d i < 2 L n, vagyis ha u i 0 akkor d i > n2 L. Amennyiben u i = 0 akkor d i választható ilyennek. Ezt felhasználva adódik, hogy vol v ) = 1 [ 1 do d n! det 1... d n d 0 d 1... d n u 0 u 1... u n]) Mivel v P ezért 1 2 n+1)l n n+1 n!d 0 d 1... d n n! 2 n+1)l vole 0 P ) vol P ) vol v ) 2 n+1)l A következőkben megkonstruálunk egy új poliédert az eredetiből, melynek már van belső pontja, de egy megengedett megoldásából meghatározható az erdeti egy megengedett megoldása. Legyen A Z m n és b Z m. P 1 := {x R n : Ax b} és P 2 := {x R n : 2 L a i) ) T x < 2 L b i + 1} 2) Az egyszerűbb jelölés kedvéért legyen Θ i x) := a i) ) T x b i minden i {1,..., m} esetén. Vagyis a i) ) T x b i Θ i x) 0.
Technikai segédlemma 16. Lemma. Legyen x 0 R n tetszőleges pont. Ekkor x R n : Θ i x) max{0, Θ i x 0 )} i és ha J := {i : Θ i x) 0} akkor a j) = i J λ i a i) minden j esetén megoldható. Bizonyítás. Feltehető, hogy {i : Θ i x 0 ) 0} = {1,..., k}. Az első feltételt teljesítő vektor mindenképpen van, lévén maha az x 0 ilyen. Tekintsük az {a 1),..., a k) } sorvektorokat, ) és tegyük fel hogy nem feszítik ki az A mátrix sorterét. Feltehető, hogy a k+1) / L {a 1),..., a k) }. A következő egyenletrendszer a i)) T y = 0 a k+1)) T y = 1 i = 1,..., k megoldható, legyen y 0 egy megoldás. Legyen { λ 0 := max λ : λ a k+1)) } T y0 + Θ i x 0 ) 0, i = k + 1,..., m
Technikai segédlemma bizonyítás... Mivel a k+1))t y 0 = 1 és Θ i x 0 ) < 0 i = k + 1,..., m ezért λ 0 a k+1) ) T y0 + Θ i x 0 ) 0 miatt λ 0 Θ k+1 x 0 ). Mivel Θ i x 0 ) < 0 ezért λ 0 > 0 és így 0 < λ 0 Θ k+1 x 0 ) adódik. Legyen és így x 1 = x 0 + λ 0 y 0 Θ i x 1 ) = Θ i x 0 ) + λ 0 a i) ) T y 0 = Θ i x 0 ) i = {1,..., k} és Θ i x 1 ) 0 i = k+1,..., m esetén. A λ 0 definíciója miatt viszont legalább egy esetben nulla a Θ i x 1 ) értéke az i {k + 1,..., m} halmazon, azaz J elemszámát növeltük legalább eggyel. Ha x 1 nem megfelelő, iteráljuk az eljárást.
A felfújt poliélder ekvivalenciája 17. Tétel. P 1 P 2. Továbbá bármely x P 2 vektorból polinom időben konstruálható y P 1 vektor. Bizonyítás. P 1 P 2 nyilvánvaló, azaz P 1 P 2. Tehát a megfordítását igazoljuk. Legyen x 0 P 2 és x 0 / P 1. Ekkor az x 0 -ból konstuálunk egy ˆx P 1 vektort. x 0 P 2 Θ i x 0 ) < 2 L i = 1,..., m Feltehető hogy Jx 0 ) = {i : Θ i x 0 ) 0} = {1,..., k} és így Θ i x 0 ) < 0 ha i = k + 1,..., m. Felhasználva az előző lemmát, legyen x olyan, hogy Θ i x) max0, Θ i x 0 )) és {a i) : i J x) = {i : Θ i x) 0}} kifeszíti az A mátrix sorterét. Keressük meg az {a i) : i J x)} vektorrendszer maximális független részét, legyen ez I. Ekkor a J x) definícója és a függetlenség miatt I m 1 n 1. Oldjuk meg az a i)) T x = bi i I 3) rendszert. Megmutatjuk hogy a 3 rendszer bármely ˆx megoldása egyben a P 1 megoldása is. Legyen l {1,..., m}. Ekkor az a l) = λ i a i) i I rendszer megoldható az I konstrukciója miatt. Mivel az {a i) : i I} rendszer lineárisan független, így a megoldás egyértelmű. Legyen λ i = di d ahol d i, d Z. A d > 0 egy esetleges 1 -el való szorzás árán feltehető Cramer szabály: λ i racionális).
A felfújt poliélder ekvivalenciája bizonyítás... A korábbiak alapján d, d i < 2L n Így továbbá d a l)) ) T ˆx bl = d i a i)) T ˆx dbl = d i b i db l i I i I d i b i db l = i I i I = i I d i a i)) ) T x Θi x) d a l)) ) T x Θl x) d i a i)) T x d a l)) T x + dθ l x) d i Θ i x) i I } {{ } =0 Felhasználva, hogy i {1,..., m} esetén 0 Θ i x) 2 L dθ l x) i I d i Θ i x) d2 L i I d i Θ i x) < 2L n 2 L + i I d i Θ i x) < 1 n + i I 2 L n 2 L = 1 n + I n = I + 1 n n n = 1
A felfújt poliélder ekvivalenciája bizonyítás... Tehát i I d ib i db l < 1 egész, így szükségszerűen d a l)) ) T ˆx bl 0 azaz a l)) T ˆx bl Mivel ez tetszőleges l indexre teljesül, az állítást igazoltuk.
LPből megengedettségi feladat Hátra van még megmutatnunk, hogyan lehet egy LP feladatot megengedettségi feladattá alakítani. Megjegyzendő, hogy az ellipszoid algoritmus közvetlenül is módosítható olymódon, hogy lineáris célfügvény esetén közelítő megoldást keressen [1]. Tekintsük a szokásos primál-duál feladatpárt. min c T x Ax b x 0 max bt y P ) A T y c y 0 D) Az LP feladat megoldása ekvivalens a fenti feldatpár megoldásával, így a Ax b, x 0 A T y c T, y 0 optimalitási kritériumok 4) c T x b T y rendszerrel is. Legyen továbbá A Z m n, b Z m és c Z n. A fenti optimalitási kritériumok segítségével az LP feladat Āx b formára alakítható, és az Āx b + 2 L rendszerre pedig alkalmazható az ellipszoid módszer.
Lépésszám megint Összefoglalásúl készítsük el a kapott lépésszámbecslést a bizonyított alakra. Legyen tehát adott az LP feladat, és hozzuk egy megengedettségi feladat alakjára, így kapjuk a P 0 poliédert. Számítsuk ki a feladat leírásához szükséges bithosszt: m n m L 0 := 1 + log 2 n + log 2 m + 2 1 + log 2 1 + a ij )) + 1 + log 2 1 + b i )) i=1 j=1 Ezt a feladatot még korlátossá tesszük 1 és beágyazzuk hogy legyen belső pontja 2. Ez az előbbi esetben a jobboldal, míg utóbbi esetben a feltételi mátrix és a jobboldal esetén jelent egy 2 L0 -os többletvektort, illetve szorzást. Az így modosított feladat leírásához szükséges m n m ) L := 1 + log 2 n + log 2 m + 2 1 + log 2 1 + a ij 2 L0 )) + 1 + log 2 1 + b i + 2 L0 2 L0 )) L 2L 2 0 i=1 j=1 Ezen leírás segítségével a belső térfogat becslése: ν := 2 2n+1)L A kezdeti köré írt ellipszoid térfogatbecslése: velhasználva az extremális pontokra kapott x < 2 L becslést V c n 2 nl Illetve a teljes lépésszám: 2n + 1)log V log ν) = 2n + 1)log c n + nl + 2n + 1)L) j=1 j=1
Pontos és közelítő aritmetika
Köszönöm a figyelmet Hivatkozások [1] George L. Nemhauser, Larence A. Wolsey, Integer and Combinatorical Optimization, Wiley-Interscience, Jhon Wiley & Sons, Inc, 1998? [2] Manfred Padberg, Linear Optimization and Extensions, Springer