Eötvös Loránd Tudományegyetem A lineáris programozási feladat optimális bázismegoldásának el állítása polinom id ben diplomamunka Majoros Csilla Témavezet : Illés Tibor egyetemi docens ELTE-TTK Operációkutatási Tanszék Budapest, 2014.
Tartalomjegyzék 1. Bevezetés 3 2. Alapvet eredmények áttekintése 6 2.1. Lineáris programozási alapfeladat.................... 6 2.2. Lagrange-dualitás............................. 7 2.3. A Newton-módszer............................ 8 2.4. A barrier-módszer............................. 10 3. Útkövet bels pontos algoritmusok elmélete 12 3.1. Az analitikus centrum.......................... 12 3.2. Newton módszer az LP -feladatra.................... 13 3.3. Barrier módszer az LP -feladatra..................... 14 3.4. A centrális út............................... 16 3.5. A Newton-lépés.............................. 19 3.6. A centrális út környezetei........................ 21 4. Primál-duál útkövet algoritmusok 23 4.1. A keretalgoritmus............................. 23 4.2. Egy rövid lépéses algoritmus....................... 24 4.3. Egy hosszú lépéses algoritmus...................... 28 4.4. Egy prediktor-korrektor algoritmus................... 30 4.5. Pontos megoldás el állítása....................... 33 5. Duális módszerek 37 5.1. A szubgradiensek............................. 37 5.2. A szubgradiens módszer......................... 38 5.3. A vágósíkos módszer........................... 41 5.4. A volume algoritmus........................... 43 6. Optimális bázismegoldás el állítása 49 6.1. A perturbált feladat........................... 49 6.2. Kezd bázis el állítása.......................... 52 6.3. Primál fázis................................ 54 6.4. Duál fázis................................. 55 2
1. Bevezetés Jelenleg két népszer megközelítés van a lineáris programozási feladat megoldására: a pivot algoritmusok és a bels pontos algoritmusok. Mindkét típusnak számos variációja lett kifejlesztve az utóbbi évtizedekben. A szimplex módszernek megvan az a szép tulajdonsága, hogy ha a feladatnak van optimáis megoldása, akkor az algoritmus egy optimális bázismegoldást talál. Azonban jelenleg nem ismert polinomiális idej pivot algoritmus. A szimplex módszerrel ellentétben a bels pontos algoritmusok a megengedett tartomány belsejében lépkednek, a cél az optimális lap megközelítése. Azaz véges sok lépésben nem adnak egzakt optimális megoldást. Ye [10] javasolt egy eljárást, amit egy bels pontos algoritmusba ágyazva pontos optimális megoldást állíthatunk el polinom id ben. Ez a megoldás azonban az optimális lap bels pontja lesz, azaz több optimális megoldás létezése esetén nem lesz bázismegoldás. Számos esetben kívánatos, hogy az optimális megoldásunk bázismegoldás legyen: - Bázismegoldást használ a klasszikus és olcsó érzékenység vizsgálat. - Ha egymáshoz szorosan kapcsolódó feladat-sorozatunk van, akkor sok esetben az egyik optimális bázismegoldásából indítva néhány pivotlépéssel megkapjuk a következ optimális bázismegoldását. - Egészérték és vegyes programozási feladatok megoldási módszereinél is gyakran elengedhetetlen, hogy a relaxált feladat optimális bázismegoldása álljon rendelkezésre. Felvetült tehát a kérdés, hogyan lehetne polinom id ben optimális bázismegoldást el állítani. Erre a problémára az els relaváns választ Megiddo [11] adta. Konstruktív módon bebizonyította, hogy ha adott egy optimális primál-duál megoldáspár, akkor er sen polinomiális id ben el tudnuk állítani optimális bázismegoldást. Természetes volt Megiddo módszerét kombinálni a bels pontos algoritmusokkal, és Ye [10] pontos megoldást el állító kerekítési eljárásával. Ezt meg is tette Andersen és Ye [12], és egy elméleti és gyakorlati szempontból is jól m köd algoritmust csináltak, ami polinomiális id ben optimális bázismegoldást állít el. Az eljárást röviden nevezzük BI-nek, azaz bázis identikációnak. A BI eljárás nem csak a bels pontos algoritmusokkal kombinálva használható, hanem más LP-megoldó módszerekkel is, amik nem feltétlenül adnak olyan precíz közelítést. A lényeg, hogy az primál és duál közelít megoldást is gyártson. Megiddo [11] ugyanis azt is bebizonyította, hogy ha csak egy primál, vagy csak egy duál optimális megoldás áll a rendelkezésünkre, akkor optimális bázist csak abban az esetben tudunk találni er sen polinomiális id ben, ha az LP -feladat is megoldható er sen polinomiális id ben. A dolgozat célja, hogy ezt a folyamatot - közelít megoldás el állítása, bázis identikáció - kifejtse. Részletesen áttekintjük az útkövet bels pontos algoritmusok elméletét, a nemlineáris programozás eredményeib l kiindulva. Majd megnézzük a Ye [10] által javasolt kerekítési eljárást, amivel egzakt, szigorúan komplementáris megoldáspárt állítunk el. 3
A bels pontos algoritmusok hátránya, hogy közeledve az optimális laphoz lelassul a folyamat, számítási nehézségek lépnek fel. Ezért miel tt a BI-eljárást kifejtenénk, megnézünk néhány közelít algoritmust, amik számításigénye (sok esetben) jóval kedvez bb a bels pontos algoritmusokénál. Az els két vizsgált módszer csak duálközelít megoldást állít el, ezért ezekkel a BI-eljárás nem kombinálható. Francisco Barahona és Ranga Anbil [8] dolgozták ki az el z ek továbbfejlesztésével a volume algoritmust, ami a duál közelítéssel párhuzamosan a primál közelítést is végzi. Ez az algoritmus egy szemléletes tételen alapszik, ami a primál változókat bizonyos térfogatok arányaként fejezi ki. Ez a módszer kis számításigény, és kombinálva a BI eljárással sok esetben hatékonyan megkeres egy optimális bázist. Végül megnézzük a BI-eljárást, ami egy közelít primál-duál megoldást adó algoritmussal kombinálva optimális bázismegoldást talál. 4
Köszönetnyilvánítás Ezúton is szeretnék köszönetet mondani Illés Tibor tanár úrnak a szakdolgozatomhoz nyújtott segítségéért, és azért, hogy a kurzusai során felkeltette az érdekl désemet a téma iránt.
2. Alapvet eredmények áttekintése 2.1. Lineáris programozási alapfeladat A primál-duál lineáris optimalizálási feladatpár standard alakja a következ : (P ) min{c T x : Ax = b, x 0}, (D) max{b T y : A T y + s = c, s 0}. ahol A R m n egy m-rangú mátrix; b, c, x, y, s pedig megfelel méret valós vektorok. A vektorokat mindig oszlopvektornak képzeljük. Jelölések F P, F D a (P ), (D) feladatok megengedett megoldásai FP 0, F D 0 a (P ), (D) feladatok szigorúan megengedett megoldásai FP, F D a (P ), (D) feladatok optimális megoldásai F, F 0, F a megfelel primál-duál megoldáspárok halmaza p = d a primál és duál optimum értéke S δ (x) az x pont δ sugarú nyílt környezete Df az f : R n R n függvény Jacobi-mátrixa f, 2 f az f : R n R függvény gradiense és Hesse-mátrixa X az a diagonális mátrix, amire X ii = x i, ahol x R n e a megfelel méret csupa 1 vektor C P, C D, C a primál, duál és primál-duál centrális út R n, Rn + a nemnegatív és pozitív ortáns R n -ben xs két vektor komponensenkénti szorzata (= XSe) 2.1.1. Tétel (gyenge dualitás). Legyen x F P és (ȳ, s) F D. Ekkor c T x b T ȳ és egyenl ség pontosan akkor van, ha x T s = 0. Biz.: triviális 2.1.2. Tétel (er s dualitás). Ha a primál és duál feladatnak is van megengedett megoldása, akkor mindkett nek van optimális megoldása is. Tetsz leges x, y optimális megoldásra c T x = b T y. Tehát az x primál, és (y, s ) duál megengedett megoldások pontosan akkor optimálisak, ha (x ) T s = 0. A nemnegativitási feltételek miatt ez pontosan azt jelenti, hogy x i s i = 0 minden i-re. Az optimális megoldások tehát pontosan a komplementárisak. 6
2.1. Def. Egy x és (y, s ) optimális megoldáspárt er sen komplementárisnak nevezünk, ha x + y > 0. 2.1.3. Tétel (Goldman-Tucker). Ha a primál és duál feladatnak is van megengedett megoldása, akkor szigorúan komplementáris primál-duál optimális megoldáspár is létezik. Ha x, (y, s ) egy szigorúan komplementáris megoldáspár, akkor az általa meghatározott P := {j : x j > 0} és D := {1,..., n} \ P partíció megegyezik minden egyes szigorúan komplementáris megoldás esetén. 2.2. Lagrange-dualitás A következ ismeretekre a 5. fejezetben lesz majd szükség. Tekintsük a következ optimalizálási feladatot min f(x) h(x) = 0 x M, ahol f : R n R, h : R n R m adott függvények és M R n. A feladathoz rendelt-lagrange függvény: L(x, π) = f(x) + π T h(x), és duális függvény q(π) = inf L(x, π). x M A feladat Lagrange-duálisa a következ probléma: } max q(π) π R m A q(π) értéke is lehet néhány µ-re. A duális feladat megoldása lényegében a következ feltételes maximalizálási feladat megoldását jelenti: } max q(π) π D ahol D = {π q(π) > }. Nevezzük D-t a kiterjesztett érték q függvény lényeges tartományának. Függetlenül a primál feladat költségfüggvényét l és feltételeit l, a duális feladat szép konvexitási tulajdonságokkal rendelkezik, ezt fejezi ki a következ állítás. 2.2.1. Állítás. A duális függvény lényeges tartománya konvex halmaz, és q konkáv ezen a halmazon. Biz.: Tetsz leges x, π, π és α [0, 1] esetén L(x, απ + (1 α) π) = αl(x, π) + (1 α)l(x, π). 7
Mindkét oldal inmumát véve az M halmazon inf L(x, απ + (1 α) π) α inf L(x, π) + (1 α) inf L(x, π), x M x M x M vagyis αq(απ + (1 α) π) αq(π) + (1 α)q( π). Ebb l látszik, hogy π, π D esetén απ + (1 α) π D, azaz D konvex halmaz. Továbbá az utolsó egyenl tlenség épp q konkávitását mutatja. A duális függvény másik szép tulajdonságáról szól a következ állítás. 2.2.2. Állítás. A duális függvény felülr l féligfolytonos, azaz minden π k π pontsorozatra lim sup q(π k ) q(π). k Biz.: így Inmumot véve az M halmazon q(π k ) = inf z M L(z, πk ) L(x, π k ), x M, lim sup q(π k ) L(x, π), x M. k lim sup q(π k ) inf L(x, π) = q(π), k x M ami épp a bizonyítandó állítás. 2.2.1. Köv. A D tartomány zárt. 2.3. A Newton-módszer A Newton-módszer az alapja a leghatékonyabb algoritmusoknak a lineáris és nemlineáris programozás területén. A következ fejezetben is erre fognak épülni az algoritmusaink. Névadója javasolta el ször, 1669-ben, polinomok gyökének meghatározására. Az f(x) = x 3 2x 5 = 0 példán mutatta be az eljárást, az x 0 = 2 pontból indulva. Tetsz leges dierenciálható függvényre Raphson alkalmazta el ször, 1690- ben, ezért gyakran Newton-Raphson módszerként hivatkoznak rá. Az eljárás kvadratikus konvergenciáját a gyökök környezetében Fourier bizonyította 1818-ban, majd Cauchy terjesztette ki több dimenzióra 1829-ben. A többdimenziós eset konvergenciáját Fine bizonyította 1916-ban. A huszadik század folyamán végtelen dimenzióra és általános függvényterekre is továbbfejlesztették. B vebben pl. Polyak [3] cikkéb l tájékozódhatunk. Nézzük a következ feladatot: g : R n R n g(x) = 0 x =? 8
A módszer egy olyan pontsorozatot fog generálni, ami a g függvény gyökéhez konvergál. Tegyük fel, hogy az x 0, x 1,..., x k pontokat már kiszámoltuk. A g(x)-et az x k körül az x k -beli els rend Taylor-polinomjával közelítjük: g(x) g(x k ) + Dg(x k )(x x k ) =: h(x) Az x k+1 pont a h(x) gyöke lesz: h(x) = g(x k ) + Dg(x k )(x x k ) = 0 x k+1 = x k Dg(x k ) 1 g(x k ) 2.3.1. Tétel. (I.) Tegyük fel, hogy az x gyöke a g-nek, a g folytonosan dierenciálható az x környezetében és a Dg(x ) Jacobi-mátrix reguláris. Ekkor ha a Newtonmódszert az x -hoz elég közel indítjuk, akkor a Newton-lépések jól deniáltak lesznek, és a generált pontsorozat az x -hoz konvergál. A konvergencia szuperlineáris. (II.) Tegyük fel, hogy az L > 0, M > 0, δ > 0 számokra és minden x, y S δ (x )-ra: Dg(x) Dg(y) L x y, ( g(x)) 1 M. Ekkor minden x 0 S δ (x ) esetén: x k+1 x LM 2 xk x 2, k = 0, 1,... Azaz ha LMδ 2 < 1 és x 0 S δ (x ), akkor a konvergencia másodrend. Biz.: Lásd [2]. Newton-módszer minimalizálásra f : R n R min f(x) =? Itt egy olyan pontsorozatot számolunk ki, ami egy lokális minimumhoz konvergál. Tegyük fel, hogy az x 0, x 1,..., x k pontokat már kiszámoltuk. Az f(x) függvényt az x k közelében becsülhetjük a csonkított Taylor-sorával: f(x) f(x k ) + f(x k )(x x k ) + 1 2 (x x k) T 2 f(x k )(x x k ) =: h(x) Az f(x) helyett a h(x)-et minimalizáljuk: h(x) = f(x k ) + 2 f(x k )(x x k ) = 0. A fenti egyenletb l: x k+1 = x k 2 f(x k ) 1 f(x k ). 9
Megjegyzés: A Newton-módszer gyökkeresésre szélesebb körben alkalmazható. Az ott szerepl g(x) függvény nem feltétlenül egy másik függvény gradiense. Egy folytonosan dierenciálható g : R n R n függvény pontosan akkor egy h : R n R függvény gradiense, ha a Dg(x) mátrix szimmetrikus minden x-re. Ahhoz, hogy a lépés jól deniált legyen szükséges, hogy létezzen a Hesse-mátrix inverze. Ehhez tegyük fel, hogy az x lokális minimumban a 2 f(x ) mátrix pozitív denit. Ekkor ha elég közel indítjuk az eljárást az x -hoz, akkor a 2 f(x k ) is pozitív denit lesz. 2.3.2. Tétel. Legyen f C 3 (R n ), és tegyük fel, hogy az x lokális minimumban a 2 f(x ) Hesse-mátrix pozitív denit. Ekkor ha a Newton-módszert az x -hoz elég közel indítjuk, akkor a Newton-lépések jól deniáltak lesznek és a generált pontsorozat az x -hoz konvergál. A konvergencia rendje legalább kett. Biz.: Lásd [1]. Ha a Hesse-mátrix nem jól-kondícionált (a legnagyobb és a legkisebb sajátérték hányadosa nagy), akkor a mátrix csak nehezen invertálható. A számításigény csökkentésére különféle technikákat dolgoztak ki. A [2]-ben találhatunk b vebb ismertet t. 2.4. A barrier-módszer A barrier-módszer a következ típusú feladatokra alkalmazható: min f(x) x S ahol f : R n R függvény, a megengedett S halmaz belseje nem üres, és S bármely pontjához van tetsz legesen közeli bels pont. A barrier módszer lényege, hogy a megengedett tartomány határán olyan gátat emel, ami megakadályozza, hogy a keres eljárás elhagyja a tartományt. A B : int(s) R függvényt barrier függvénynek nevezzük, ha: (1) B folytonos (2) B(x) 0 (3) B(x), ha x az S határához tart Példák: S := {x R n : g i (x) 0, i = 1,..., p} B 1 (x) := p i=1 1 g i (x), x int(s) p B 2 (x) := log( g i (x)), i=1 x int(s) 10
Nézzük k = 1, 2,... -re a következ részfeladatokat: min(f(x) + µ k B(x)) x ints, ahol µ k monoton fogyó nullsorozat. Legyen a megoldása x k. Megjegyzés: Látszólag egy sereg, az eredetinél bonyolultabb, feltételes optimalizálási feladatot kaptunk. Viszont ezeknél a feladatoknál használhatóak lesznek a feltétel nélküli keresési eljárások, a megengedett tartományban maradást a barrier tag fogja biztosítani. 2.4.1. Tétel. A barrier módszer által generált {x k } sorozat tetsz leges határpontja megoldása lesz az eredeti feladatnak. Biz.: Lásd [2]. 11
3. Útkövet bels pontos algoritmusok elmélete 3.1. Az analitikus centrum Legyen az S halmaz a következ módon megadva: S = {x X R n : g j (x) 0, j = 1,..., m}, ahol a g j függvények folytonosak és int(s). int(s)-en deniálunk egy potenciálfüggvényt: m ψ(x) := log g j (x). j=1 Az S analitikus centruma az a pont(halmaz), ami minimalizálja a potenciálfüggvényt. 3.1. Példa. Legyen S R n a következ egyenl tlenségekkel megadva: x i 0 (1 x i ) 0 i = 1, 2,..., n Vagyis S = [0, 1] n, az egységkocka. ψ(x) = n log x j j=1 Keressük meg a ψ(x) minimumát: ( ψ(x) ) n log(1 x j ), j=1 = 1 j x j + 1 1 x j = 0 x j = 1 2 Az analitikus centrum tehát az ( 1, 1,..., 1 ) pont, ami valóban a kocka geometriai 2 2 2 középpontja. 3.2. Példa. Az analitikus centrum függ attól, hogyan adjuk meg a halmazt. Az S = [0, 1] n egységkockát a következ egyenl tlenségekkel is megadhatjuk: x i 0 (1 x i ) d 0 i = 1, 2,..., n ahol a d tetsz leges, egynél nagyobb szám. Ezekkel az egyenl tlenségekkel kiszámolva az analitikus centrumot, az ( 1, 1,..., 1 ) pontot kapjuk. Ez a pont nagy d esetén d+1 d+1 d+1 sokkal közelebb van a kocka origó-beli csúcsához, mint a többihez. 12
Az analitikus centrumot felesleges egyenl tlenségek hozzávétele is módosítja. Például ha ugyanazt az egyenl tlenséget többször hozzávesszük. Az analitikus centrum értelmezését kiterjeszthetjük arra az esetre is, ha az int(s) =. Nézzük a következ speciális esetet: S = {x X R n : x 0}, ahol az X egy an altér. Tegyük fel, hogy az S korlátos (ekkor kompakt is). Deniáljuk az S tartóját a következ képpen: σ(s) := {i : x i > 0 valamely x S esetén}. Az S analitikus centruma σ(s) = esetén a 0 vektor, különben pedig az az x S vektor, ami maximalizálja a szorzatot. i σ(s) Ha σ(s), akkor az S kompaktsága miatt véges a maximum. Az S konvexitása miatt pedig lesz olyan x S vektor, amire x σ(s) > 0, azaz a maximum pozitív. A szorzat logaritmusa szigorúan konkáv, így a maximum értéke egyetlen S-beli pontban vétetik fel, az analitikus centrum ebben az esetben egyértelm. 3.3. Példa. Nézzük a primál-duál optimális lapot: F x,s = {(x, s) R n R n : Ax = b, A T y + s = c, c T x = p, x 0, s 0} Tegyük fel, hogy F x,s és korlátos. Vezessük be a következ indexhalmazokat: P = {i : x i > 0, valamely x F P esetén} D = {j : s j > 0, valamely (y, s) F D esetén} Ekkor az Fx,s tartója a P D indexhalmaz. Ekkor Fx,s analitikus centruma az az egyértelm (x, s ) pont, ami maximalizálja a i P x i x i j D s j szorzatot. Ezt az eredményt és a P, D halmazokat a kés bbiekben még használni fogjuk. 3.2. Newton módszer az LP -feladatra Ahhoz, hogy megkapjunk egy optimális primál-duál megoldáspárt, "elég" megoldanunk a következ rendszert: Ax = b x 0, A T y + s = c s 0, xs = 0. 13 OP T
Ugyanezt más formában felírva: F 0 (x, y, s) := A T y + s c Ax b Xs = 0 0 0, x 0 s 0 Próbáljuk megoldani ezt a nemlineáris rendszert a Newton-módszerrel: x k+1 y k+1 s k+1 = x k y k s k [DF 0 (x k, y k, s k )] 1 F 0 (x k, y k, s k ) ahol DF 0 = 0 A T I A 0 0 S 0 X, az F 0 Jacobi-mátrixa. Legyen egy megoldás a p := (x, y, s ). Az Xs = 0 feltétel miatt a p a megengedett tartomány határán lesz, és ott sajnos nem garantálható a Jacobi-mátrix invertálhatósága. Így itt a Newton-módszer nem vezet eredményre. 3.3. Barrier módszer az LP -feladatra Tekintsük az LP -feladat standard alakját: min c T x Ax = b x 0. (P ) Tegyük fel, hogy F 0 P és F P korlátos. Legyen a barrierfüggvénnyel módosított célfüggvény a következ : n f P (x; µ) := c T x µ log x i, i=1 x F 0 P Minden µ 0-ra a következ barrier feladatot kapjuk: min f P (x; µ) Ax = b x > 0 BP (µ) Világos, hogy µ = 0-ra az eredeti LP -feladatot kapjuk. Ha a µ, akkor a BP(µ) megoldásai az F P megengedett tartomány analitikus centrumához tartanak, hiszen ekkor a c T x elhanyagolható, a barrier rész pedig éppen az FP 0 -hoz tartozó potenciálfüggvény. 14
A kés bbiekben belátjuk majd, hogy minden µ > 0-ra egyértelm x(µ) megoldása lesz a BP(µ) feladatnak. Az x(µ) pontok adják a primál centrális utat, ami µ 0 esetén az optimális lap analitikus centrumához fog tartani. Tehát a primál centrális út az F P analitikus centrumától halad az FP analitikus centruma felé. Most vizsgáljuk meg a duális feladatot: max b T y A T y + s = c s 0. (D) Alkalmazva a barrier-módszert, készítsük el a hozzá tartozó barrier-feladatot: f D (y, s; µ) := b T y + µ n log s i, i=1 max f d (y, s; µ) A T y + s = c s > 0 BD(µ) (y, s) F 0 D Tegyük fel, hogy FD 0 és F D korlátos. Ha a µ folytonosan halad a 0 felé, akkor a BD(µ) feladatok egyértelm (y(µ), s(µ)) megoldásai egy utat deniálnak, amit duál centrális útnak nevezünk. Elmondhatjuk ugyanazt itt is, mint a primál esetben. A µ = 0-ra az eredeti feladatot kapjuk. Ha a µ, akkor az (y(µ), s(µ)) µ-centrumok az F D megengedett tartomány analitikus centrumához tartanak, míg µ 0 esetén az FD 0 duál optimális lap analitikus centrumához. 3.3.1. Tétel. Legyen µ > 0. Ekkor a következ állítások ekvivalensek: (1) F 0 P és F 0 D (2) egyértelm en létezik megoldása a BP(µ) feladatnak (3) egyértelm en létezik megoldása a BD(µ) feladatnak (4) egyértelm en létezik megoldása a következ rendszernek: A T y + s c 0 F µ (x, y, s) := Ax b = 0 x 0, s 0 Xs µe 0 OP T (µ) Biz.: (2) (4) Az f P függvény gradiense: f P (x; µ) = c µx 1 e, és Hesse-mátrixa: 2 f P (x; µ) = µx 2. A Hesse mátrix pozitív denit minden x FP 0 konvex. pontban, azaz a függvény itt szigorúan 15
A BP (µ) tehát egy konvex programozási feladat. A megengedett tartomány minden pontja reguláris a rang(a) = m feltétel miatt. Így BP (µ) megoldása ekvivalens a hozzá tartozó KKT -rendszer megoldásával. A BP (µ) Lagrange-függvénye: L(x, y) = c T x µ n log x i + y T (Ax b), i=1 a KKT -rendszer: x L(x, y) = c µx 1 e + y T A = 0 y L(x, y) = Ax b = 0 } (KKT ) Legyen s = µx 1 e, ekvivalensen Xs = µe. Azaz a KKT -rendszer ekvivalens az OP T (µ) rendszerrel. (3) (4) Az f D függvény gradiense: f D (y, s; µ) = (b T, e T S 1 ), és Hesse-mátrixa: 2 f D (y, s; µ) = [ 0 0 0 µs 2 ]. A Hesse-mátrix negatív szemidenit minden (y, s) FD 0 pontban, azaz a függvény itt konkáv. A BD(µ) is egy konvex programozási feladat. Minden megengedett megoldás reguláris pont lesz, a slack változók jelenléte miatt. Ezért a BD( µ) rendszer megoldása ekvivalens lesz a hozzá tartozó KKT-rendszer megoldásával. A BD(µ) Lagrange-függvénye: L(y, s, x) = y T b + µ n log s i (y T A + s T c T )x, i=1 a KKT -rendszer: y,s L(y, s, x) = (b T (Ax) T, µes 1 x T ) = 0 x L(y, s, x) = y T s T + c T = 0 } (KKT ). Azaz a BD(µ) feladathoz tartozó KKT -rendszer is éppen az OP T (µ) rendszer. (4) (1): Az OP T (µ) megoldásai nyilván megengedett megoldások, és az Xs = µe feltétel miatt bels pontok is. 3.4. A centrális út A következ kben a bels pont-feltételt végig feltesszük. Az ekkor minden 0 < µ < esetén egyértelm en létez (x (µ), y (µ), s (µ)) megoldások folytonos útját primálduál centrális útnak nevezzük, C-vel jelöljük. A rang(a) = m feltétel miatt kölcsönösen egyértelm megfeleltetés van az y és s között. Ez lehet vé teszi, hogy az {(x(µ), s(µ)) : 0 < µ < } utat tekintsük primál-duál centrális útnak. 16
3.4.1. Tétel. Tegyük fel, hogy F 0. Ekkor: (1) Az {(x(µ), s(µ)) : 0 < µ µ 0 } ponthalmaz korlátos minden 0 < µ 0 < esetén. (2) lim µ 0 (x(µ), s(µ)) = (x, s ), ahol az (x, s ) egy szigorúan komplementáris megoldáspár, ami megegyezik a F x,s optimális lap analitikus centrumával. Biz.: (1) A(x(µ 0 ) x(µ)) = b b = 0 és A T (y(µ 0 ) y(µ)) + (s(µ 0 ) s(µ)) = 0, azaz ezért: (x(µ 0 ) x(µ)) N (A) és (s(µ 0 ) s(µ)) R(A T ), (x(µ 0 ) x(µ)) T (s(µ 0 ) s(µ)) = 0 Kifejtve kapjuk: n (s(µ 0 ) i x(µ) i + x(µ 0 ) i s(µ) i ) = n(µ 0 + µ) 2nµ 0 i=1 Végigosztva µ 0 -lal: ( ) n x(µ) i + s(µ) i 2n, x(µ 0 ) i s(µ 0 ) i i=1 hiszen s(µ 0 ) i x(µ 0 ) i = µ 0 minden i-re. Azaz x(µ) és s(µ) korlátosak. (2) Az (1)-es miatt az {(x(µ), s(µ)) : 0 < µ µ 0 } halmaznak van legalább egy határpontja. Legyen az (x(0), s(0)) egy tetsz leges határpont. Feltehet, hogy (x(0), s(0)) = lim k (x(µ k ), s(µ k )). I. (x(0), s(0)) F x,s Ez nyilvánvaló: x(0)s(0) = lim k (x(µ k )s(µ k )) = lim k (µ k e) = 0 II. (x(0), s(0)) szigorúan komplementáris megoldás Az (1)-nél látottak alapján: (x(0) x(µ)) T (s(0) s(µ)) = 0 Kifejtve: Másképpen: n (s(0) i x(µ) i + x(0) i s(µ) i ) = µn i=1 i:x(0) i >0 x(0) i s(µ) i µ + i:s(0) i >0 17 s(0) i x(µ) i µ = n
Felhasználva, hogy µ = x(µ) i s(µ) i minden i-re: i:x(0) i >0 µ 0 határátmenettel kapjuk: x(0) i x(µ) i + i:s(0) i >0 s(0) i s(µ) i = n amib l következik II. σ(x(0)) + σ(s(0)) = n, III. a korábban deniált P és D -re: P D =, P D = {1, 2,..., n}. Az állítás második része következik abból, hogy létezik szigorúan komplementáris megoldás. Az els rész bizonyításához indirekt tegyük fel, hogy i P D. Azaz létezik x F P, (y, s) F D, amikre x is i > 0. Ez ellentmondás, hiszen az optimális megoldások pontosan a komplementárisak. IV. az (x(0), s(0)) megegyezik az F x,s analitikus centrumával Legyen (x, s ) Fx,s tetsz leges. A II.-nél látott módon, az (x x(µ)) T (s s(µ)) = 0 egyenletb l kiindulva a következ összefüggésre jutunk: i P x i + s i = n. x(0) i s(0) i D i Mivel x i > 0 i P és s i > 0 i D, alkalmazhatjuk a számtani-mértani közép közti egyenl tlenséget: Így ( i P ebb l következik IV. x i x(0) i i D i P x i ) 1 s n i s(0) i 1 n i D s i ( i P i P x(0) i x i x(0) i + i D i D s(0) i s i s(0) i A korábbiakban láttuk, hogy az Fx,s lapnak egyértelm en létezik az analitikus centruma, így lim(x(µ), s(µ)) = (x(0), s(0)). µ 0 ) = 1. Az el z tétel alapján a primál-duál centrális út µ 0 esetén az optimális lap analitikus centrumához konvergál, amennyiben ez a lap korlátos. Könnyen látható, hogy ha a F x,s poliéder is korlátos, akkor a primál-duál centrális út µ esetén a F x,s analitikus centrumához konvergál. Ezeket az állításokat könnyen ellen rizhetjük külön-külön a primál és a duál centrális utakra, ugyanis az (x, s ) pontosan akkor analitikus centruma Fx,s -nak, ha x analitikus centruma FP -nak és (y, s ) analitikus centruma FD -nak. 18
Miért az analitikus jelz? Vizsgáljuk az függvényt. Az (x(µ), s(µ)) : R + R n R n F µ (x, y, s) := A T y + s c Ax b Xs µe függvény folytonosan dierenciálható és hamarosan belátjuk, hogy a Jacobi-mátrixa nemszinguláris a bels pontokban. Tudjuk, hogy: F µ (x(µ), y(µ), s(µ)) = 0 µ > 0. Alkalmazva az implicitfüggvény-tételt kiderül, hogy a centrális út analitikus minden µ > 0 pontban. Mivel a centrális út konvergál µ 0 esetén, kiterjeszthetjük az (x(µ), s(µ)) függvényt az R -ra: (x(0), s(0)) := lim µ 0 (x(µ), s(µ)). A centrális út a µ = 0 pontban is analitikus lesz, ennek belátására viszont nem használhatjuk az implicitfüggvény-tételt a Jacobi-mátrix szingularitása miatt. A bizonyítás megtalálható [6]-ben. 3.5. A Newton-lépés Amint korábban láttuk az OP T rendszer megoldása az F megengedett megoldáshalmaz határán van. Ebben az esetben nem garantálható, hogy a DF 0 Jacobi-mátrix invertálható, így itt nem m ködik a Newton-módszer. A relaxált OP T (µ) rendszer megoldásai azonban mindig bels pontok. 3.5.1. Tétel. A DF µ (x, y, s) = 0 A T I A 0 0 S 0 X, Jacobi-mátrix reguláris, ha x > 0 és s > 0 (azaz ha (x, y, s) F 0 ). Biz.: Azt vizsgáljuk, hogy lehet-e nemtriviális megoldása a (DF µ )z = 0 egyenletnek. Legyen z = (u, v, w) R n R m R n. Kifejtve a homogén egyenletet: Ekkor DF µ (x, y, s) u v w = A T v + w Au Su + Xw = 0 0 0 19
u T w = u T ( A T v) = (Au) T v = 0. Az Su + Xw = 0 egyenletb l u = S 1 Xw A kett t összerakva: 0 = w T u = w T ( S 1 X)w. A bels pontokra a S 1 X mátrix negatív denit, így a w csak a 0 lehet. A 0 = Su + Xw = Su egyenletb l kapjuk, hogy az u = 0, és a 0 = A T v + w = A T v egyenletb l a rank(a) = m miatt a v = 0. Nincs nemtriviális megoldás, így a DF µ mátrix tényleg reguláris. Így az OPT(µ) rendszer megoldására használhatjuk a Newton-módszert. x + y + s + = x y s x y s ahol azaz ( x, y, s) = DF µ (x, y, s) 1 F µ (x, y, s), DF µ (x, y, s)( x, y, s) = F µ (x, y, s). Deniáljuk a következ maradékokat az (x, y, s) pontban: r d := A T y + s + c r p := Ax b r c := Xs µe Ezekkel a jelölésekkel a (x, y, s)-beli Newton irány a következ rendszer megoldása: DF µ (x, y, s) x y s A Jacobi-mátrixot beírva a következ t kapjuk: 0 A T I A 0 0 S 0 X = x y s r d r p r c = 3.5.2. Tétel. Az el z rendszer megoldása a következ : r d r p r c y = (AXS 1 A T ) 1 (r p AS 1 (r c Xr d )) s = r d A T y x = S 1 (r c X s) Biz.: Ellen rzés. 20
3.6. A centrális út környezetei Az N 2 környezet Szeretnénk mérni, hogy egy (x, y, s) F 0 pont milyen messze van a centrális úttól. Ehhez vizsgáljuk az min F µ (x, y, s) kifejezést. Az értéke pontosan akkor lesz 0, ha µ az (x, s, y) pont a centrális úton van. min µ F µ (x, y, s) = min µ XSe µe Az XSe vektor µe irányú mer leges vetülete xt se, ezért n. min µ F µ (x, y, s) = XSe xt s n e = xs xt s n e Legyen µ(x, s) = xt s. Ekkor az (x, y, s)-hez legközelebbi centum a µ(x, s)-centrum. n Ezek alapján bevezetünk egy centralitási mértéket: δ 2 (x, y, s) := xs µ(x, s) e A δ 2 távolság segítségével értelmezhetjük a centrális út környezetét: N 2 (γ) := {(x, y, s) F 0 : δ 2 (x, y, s) γ}. 2 Könnyen látható, hogy ha 0 γ 1 γ 2 1: C = N 2 (0) N 2 (θ 1 ) N 2 (θ 2 ) N 2 (1) F 0. A környezet szemléltetéséhez vezessük be a következ függvényt: ω : R n R m R n R n, ω(x, y, s) := xs Az ω a C centrális utat a {µe : µ > 0} "átlós" félegyenesbe viszi. ω = ω(x, y, s) és µ ω = µ(x, s) jelölést: Használva az (x, y, s) N 2 (γ) ω µ ω e γµ ω ω µ ω e 2 γ 2 µ 2 ω. A jobboldali egyenl tlenséget tovább alakítva kapjuk a feltételt. Az A γ := I < ω, ω > n + γ2 n 2 < ω, ee T ω > 0 ( n + γ 2 n 2 ) ee T mátrix segítségével a következ egyszer feltételt kapjuk: < ω, A γ ω > 0. 21
Az A γ mátrixnak sajátvektora az e, a γ2 sajátértékkel, és sajátvektora minden n u e vektor is, az 1 sajátértékkel. Legyen v 1,..., v n 1, v n ortonormált bázis, amire v n = 1 e. Ekkor minden ω vektrra: n ω = n < ω, v i > v i =: i=1 n λ i v i. i=1 Ekkor: Azaz < ω, A γ ω >= λ 2 1 +..., λ 2 n 1 γ2 n λ2 n. (x, y, s) N 2 (γ) λ 2 1 +..., λ 2 n 1 γ2 n λ2 n. Az N 2 (γ) környezet ω-képe tehát egy körkúp, aminek szimmetriatengelye éppen a centrális út ω-képe. Az N környezet Más centralitási mértéket kapunk, ha nem az euklideszi normát használjuk. Legyen: és δ (x, y, s) = xs µ(x, s) e, [ ] xs δ (x, y, s) = µ(x, s) e, ahol [x] i = 0, ha x i 0 és [x] i = x i, ha x i 0. Az ebb l származó környezetek: valamely γ [0, 1]-re. N (γ) := {(x, y, s) F 0 : δ (x, y, s) γ}, N (γ) := {(x, y, s) F 0 : δ (x, y, s) γ}, Mi a kés bbiek folyamán az N környezetet fogjuk használni. Világos, hogy ha 0 γ 1 γ 2 1, akkor C = N (0) N (γ 1 ) N (γ 2 ) N (1) = F 0. 3.6.1. Állítás. N 2 (γ) N (γ) N (γ). Biz.: minden i-re teljesül, hogy x i s i µ(x, s) xs µ(x, s)e 2, ebb l látszik az els tartalmazás. A második tartalmazás triviális. 22
4. Primál-duál útkövet algoritmusok Egy keretalgorimus három konkrét variációját nézzük meg: egy rövid lépéses, egy hosszú lépéses és egy prediktor-korrektor verziót. A hosszú lépéses algoritmustól eltekintve a lehet legjobb lépésszámot hozzák, O( nl) iterációval. A hosszú lépéses verzió elméleti lépésszámbecslése O(nL) iteráció, azonban a gyakorlatban hatékonyabb a rövid lépéses testvérénél. Ezt a jelenséget "az elmélet és a gyakorlat közti rés"-nek nevezik. 4.1. A keretalgoritmus Bels pontos keretalgoritmus Input ϵ > 0 pontossági paraméter, (x 0, y 0, s 0 ) kezd bels pont begin (x, y, s) := (x 0, y 0, s 0 ). while nµ > ε do µ := µ(x, s) Oldjuk meg a következ egyenletet 0 A T I A 0 0 S 0 X x y s = 0 0 XSe σµe Legyen (x, y, s) = (x, y, s) α( x, y, s), ahol α (0, 1] egy olyan lépéshossz, amire (x, s) > 0, σ [0, 1] a centralizáló paraméter. end end A ( x, y, s) egy Newton-lépést ad az (x(σµ), y(σµ), s(σµ)) C centrum felé. A σ paraméter arra szolgál, hogy egyensúlyt tartsunk a centrális út felé történ, és a vele párhuzamos lépések között. Ha σ = 1, akkor a Newton-lépés épp azt a centrumot közelíti, amelyik a legközelebb van, azaz a centrális útra mer legesen lépünk. Az ilyen lépést centralizáló lépésnek nevezik. A másik széls eset, ha σ = 0. Ekkor egyenesen egy optimális pontot célozunk meg, azaz az optimális lap felé lépünk. Az ilyen lépést an skálázási lépésnek nevezik. A σ és α választásától függ en különböz algoritmusokat kapunk. A következ lemma mutatja, hogy a σ és az α függvényében mennyire csökken a µ. Használjuk a következ jelöléseket: (x +, y +, s + ) := (x, y, s) α( x, y, s), µ + := µ(x +, s + ).. 23
4.1.1. Lemma. Az algoritmusban kiszámolt ( x, y, s)-re fennállnak a következ k: i) x T s = 0 ii) µ + = (1 α(1 σ))µ Biz.: i) Tudjuk, hogy A x = 0 (1) A T y + s = 0. (2) A (2)-est ( x) T -tal szorozva kapjuk: 0 = x, A T y + x, s = A x, y + x s, így az (1) miatt x, s = 0. ii) Az S x + X s = XSe σµe egyenletet komponensenként összegezve: s, x + x, s = x, s σ x, s = (1 σ) x, s. Ezek alapján: nµ + = x +, s + = x, s α( s, x + x, s ) = (1 α(1 σ)) x, s, amib l következik ii). 4.2. Egy rövid lépéses algoritmus Rövid lépéses algoritmusról beszélünk, ( ha a σ a dimenziótól függ konstans. következ algoritmusnál α = 1 és σ = 1 ). ν n A 24
Rövid-lépéses algoritmus Input ϵ > 0 pontossági paraméter, γ és ν konstansok, amelyek kielégítik a következ ket: 0 γ < 1 2, 0 < ν < n, (3) γ 2 + ν 2 ( γ 1 ν ) 2(1 γ) n (x 0, y 0, s 0 ) N 2 (γ). begin (x, y, s) := (x 0, y 0, s 0 ), µ := µ(x, s) while nµ > ε do Határozzuk meg azt az (x, y, s)-beli ( x, ( y, s) Newton-irányt, ami a σµ-centrumot közelíti, ahol σ = 1 ). ν n Legyen (x, y, s) = (x, y, s) ( x, y, s) és µ := µ(x, s). end end 4.2.1. Tétel. Legyenek γ és ν a (3) feltételeket kielégít konstansok, és tegyük fel, hogy (x, y, s) N 2 (γ). Ekkor: i) (x +, y +, s + ) N 2 (γ) ii) µ + = ( 1 ν n ) µ Biz.: i) A szakasz végén bizonyítjuk, a következ lemmák felhasználásával. ii) A 4.1.1 lemma ii) részéb l egyenesen következik. 4.2.1. Köv. Az algoritmus során nem lépünk ki az N 2 (γ) környezetb l és a k. iteráció után: ( ) µ k = 1 ν k µ 0 n 4.2.2. Tétel. Az algoritmus legfeljebb K = log(nε 1 µ 0 ) n ν iteráció után ε-optimális megoldást ad. Biz.: Az algoritmus leáll, ha nµ k ε, belátjuk, hogy ez teljesül a k = K-ra: log(nµ K ) = log [nµ 0 ( 1 ν n ) K ] = log(nµ 0 ) + K log ( 1 ν n ) 25
log(nµ 0 ) K ν n log(nµ 0 ) [ ( log(nµ 0 ) log ε ) ] n ν ν n = log ε. Az els egyenl ség az el z következmény miatt áll fenn, míg az els egyenl tlenségnél azt a tényt használjuk, hogy log(1 x) x ha x < 1. A 4.2.1 tétel i) részének bizonyításához szükség van néhány segédállításra. 4.2.1. Lemma. Legyen u, v R n két vektor, melyekre u T v 0. Ekkor uv 2 3 u + v 2. Biz.: Bontsuk szét az I = {1, 2,..., n} indexhalmazt két részre: és egy T I indexhalmazra legyen P := {i I u i v i 0}, M := {i I u i v i < 0}, z T = i T u i v i e i. Ekkor uv 2 = z P 2 + z M 2 z P 2 1 + z M 2 1 2 z P 2 1 = 2( i P u iv i ) 2 Ami bizonyítja az állítást. 2( i P 1 4 (u i + v i ) 2 ) 2 2 3 ( n i=1 (u i + v i ) 2 ) 2 = 2 3 u + v 4, 4.2.1. Megjegyzés. A 4.2.1 lemma egyenl tlensége éles, például a következ két vektor esetén egyenl ség van: u := (r, r, 0,..., 0) R n és v := (r, r, 0,..., 0) R n. 4.2.2. Lemma. Ha (x, y, s) N 2 (γ), akkor Biz.: Minden i indexre min x i s i (1 γ)µ. i µ x i s i x i s i µ xs µe γµ, azaz (1 γ)µ x i s i. 4.2.3. Lemma. Ha (x, y, s) N 2 (γ), akkor x s γ2 + ν 2 23 (1 γ) µ. 26
Biz.: Legyen D := X 1 2 S 1 2. A Newton-rendszer harmadik egyenletét (XS) 1 2 -del szorozva a következ egyenletet kapjuk: D 1 x + D s = (XS) 1 2 (xs σµe). Ezt az egyenl séget, és az 4.2.1 lemmát felhasználva x s = (D 1 x)(d s) 2 3 D 1 x + D s 2 = 2 3 (XS) 1 2 (xs σµe) 2 = 2 3 i = 1 n (x is i σµ) 2 x i s i 2 3 i = 1 n (x i s i σµ) 2 min i x i s i = xs σµe 2 2 3 (4) min i x i s i A számlálót kifejtve és felhasználva, hogy (x, y, s) N 2 (γ) kapjuk: xs σµe 2 = (xs µe) + (1 σ)µe 2 = xs µe 2 + 2(1 σ)µe T (xs µe) + (1 σ) 2 µ 2 e T e = xs µe 2 + 2(1 σ)µ(e T (xs) µe T e) + (1 σ 2 )µ 2 n γ 2 µ 2 + (1 σ) 2 µ 2 n (5) A (4) tört számlálóját az (5) alapján, a nevez jét pedig a 4.2.2 lemma alapján becsülve a következ t kapjuk x s γ2 + n(1 σ) 2 µ, 23 (1 γ) amibe behelyettesítve a σ = ( ) 1 ν képletet, következik az állítás. n 4.2.4. Lemma. Ha (x, y, s) N 2 (γ), ekkor minden α [0, 1] lépéshosszra x + s + µ + e (1 α) xs µe + α 2 x s. Biz.: A 4.1.1 lemma ii) állítása és egyszer számítás alapján x + s + µe = (x α x)(s α s) (1 α(1 σ))µe = xs α(s x + x s) + α 2 x s (1 α(1 σ))µe = xs α(xs σµe) + α 2 x s (1 α + ασ)µe = (1 α)(xs µe) + α 2 x s, amib l következik az állítás. 27
4.3. Egy hosszú lépéses algoritmus Hosszú-lépéses algoritmusokról beszélünk, ha a σ a dimenziótól független konstans. A következ algoritmusban a σ-t minden iterációnál egy [σ min, σ max ] intervallumból választjuk. Az el z algoritmussal ellentétben itt a b vebb N (γ) környezetet használjuk, ami a csaknem a teljes F 0 -at jelenti, ha a γ közel van az 1-hez. Az α lépéshosszt a lehet legnagyobbnak választjuk, ügyelve arra, hogy ne lépjünk ki a N (γ) környezetb l. Hosszú-lépéses algoritmus Input γ (0, 1), σ min, σ max : 0 < σ min σ max < 1, ϵ > 0 pontossági paraméter, (x 0, y 0, s 0 ) N (γ). begin (x, y, s) := (x 0, y 0, s 0 ). while nµ > ε do µ := µ(x, s) Válasszunk σ [σ min, σ max ]. Határozzuk meg azt a (x, y, s)-beli ( x, y, s) Newton-irányt, ami a σµ-centrumot közelíti. Legyen α (0, 1] az a legnagyobb érték, amire Legyen (x, y, s) = (x +, y +, s ). end end (x +, y +, s + ) N (γ). Ahhoz, hogy a lépésszámról mondani tudjunk valamit, találni kellene egy a 4.2.1 következményhez hasonló összefüggést a µ k és µ 0 között. Ehhez két lemmára van szükségünk. 4.3.1. Lemma. Ha (x, y, s) N (γ), akkor: ( x s 2 2 3 1 + 1 ) nµ(x, s). γ Biz.: A 4.2.3 lemmánál látottak alapján, és felhasználva, hogy x i s i γµ és x T s = nµ x s 2 3 (XS) 1 2 (xs σµe) 2 = 2 3 (XS) 1 2 e σµ(xs) 1 2 e = 2 3 (x T s 2σµn + σ 2 µ 2 n γµ ) = 2 3 nµ(1 2σ + σ2 γ ) 2 3 nµ(1 + 1 γ, ) ami bizonyítja az állítást. 28
A következ lemma egy ᾱ alsó korlátot ad a lépéshosszakra. 4.3.2. Lemma. Ha (x, y, s) N (γ), akkor (x +, y +, s + ) N (γ) minden α (0, ᾱ] esetén, ahol ᾱ = 8γσ 1 γ n(1 + γ). Biz.: Az el z lemma alapján minden i-re x i s i x s ( ) 2 3 nµ 1 + 1. γ Felhasználva az el z egyenl tlenséget, a Newton rendszer harmadik egyenletét, és azt, hogy x i s i γµ x + s + = xs α(s x + x s) + α 2 x s xs(1 α) + ασµe α 2 x s γµe(1 α) + ασµe α 2 2 3 nµ ( 1 + 1 γ ) e (6) Az állítás belátásához azt kell igazolnunk, hogy x + s + γµ + e. Felhasználva, hogy µ + = (1 α(1 σ))µ és a (6) becslést könnyen ellen rizhet az állítás. 4.3.1. Tétel. Létezik ν > 0 az n-t l független konstans, amire ( µ k+1 1 ν ) µ k k = 1, 2, 3,... n Biz.: A 4.1.1 lemma alapján µ k+1 = (1 α(1 σ))µ k. Kihasználva, hogy α ᾱ minden iterációban: ( 8 µ k+1 1 n γ 1 γ ) 1 + γ σ(1 σ) µ k. (7) A σ σ(1 σ) függvény szigorúan konkáv, így Ha a σ(1 σ) min{σ min (1 σ min ), σ max (1 σ max )} σ [σ min, σ max ]. ν = 2 2 3 γ 1 γ 1 + γ min{σ min(1 σ min ), σ max (1 σ max )} > 0 értéket behelyettesítjük az (7) egyenl tlenségbe, akkor megkapjuk a bizonyítandó állítást. 4.3.2. Tétel. A hosszú lépéses algoritmus legfeljebb K = log(nε 1 µ 0 ) n ν iteráció után ε-optimális megoldást ad. Biz.: A 4.2.2 tételhez hasonlóan bizonyítható, az el z lemma felhasználásával. 29
4.4. Egy prediktor-korrektor algoritmus Prediktor-korrektor algoritmus Input ϵ > 0 pontossági paraméter, (x 0, y 0, s 0 ) N 2 (γ). begin (x, y, s) := (x 0, y 0, s 0 ), µ := µ(x, s). while nµ > ε do. PREDIKTOR lépés Határozzuk meg azt az (x, y, s)-beli ( x, y, s) Newton-irányt, ami a 0-centrumot közelíti Legyen α (0, 1] az a legnagyobb érték, amire (x +, y +, s + ) N 2 ( γ) Legyen (x, y, s) = (x +, y +, s + ) és µ := (1 α)µ. KORREKTOR lépés Határozzuk meg azt az (x, y, s)-beli ( x, y, s) Newton-irányt, ami a µ-centrumot közelíti Legyen (x, y, s) = (x, y, s) ( x, y, s) end end Az algoritmus m ködését igazolják a következ lemmák. A prediktor lépést a γ = 1 4 és γ = 1 esetben vizsgáljuk. 2 4.4.1. Lemma. Tegyük fel, hogy (x, y, s) N 2 ( 1 ), és legyen ( x, y, s) a prediktor lépésben kiszámított Newton-irány. Ekkor (x +, y +, s + ) N 2 ( 1) minden α 2 4 [0, ᾱ]-ra, ahol { 1 ᾱ := min 2, ( µ } 8 x s ) 1 2. Biz.: A rövid lépéses algoritmusnál látottak alapján x + s + µ + e (1 α) xs µe + α 2 x s µ (1 α) xs µe + 8 x s x s 1 4 (1 α)µ + µ 8 1 4 (1 α)µ + 1 (1 α)µ 4 = 1 2 µ+, ami épp azt jelenti, hogy (x +, y +, s + ) N 2 ( 1 2 ). 30
4.4.1. Köv. A prediktor lépés legalább ᾱ nagyságú és µ + (1 ᾱ)µ. A korrektor lépést általánosabban, a γ := γ 2 esetén vizsgáljuk. 4.4.2. Lemma. Tegyük fel, hogy (x, y, s) N 2 ( γ) valamilyen γ (0, 8 1 8 ], és legyen ( x, y, s) a korrektor lépésben kiszámított Newton-irány. Ekkor (x +, y +, s + ) N 2 ( γ 2 ) és µ + = µ. Biz.: A 4.1.1 lemmát felhasználva azonnal adódik, hogy µ + = µ. A 4.2.4 lemmát felhasználva pedig x + s + µ + e γ 2 µ = γ 2 µ +, ami épp azt jelenti, hogy (x +, y +, s + ) N 2 ( γ 2 ). A 4.4.1 következmény, és a az ᾱ deníciója miatt könnyen felírhatunk egy a 4.3.1 tétel állításához hasonló formulát: 4.4.1. Állítás. Ha ν 1 1 2, akkor µ k+2 (1 ν n ) 2 µ k. Az el z állítás és a 4.2.2 tétel alapján könnyen bizonyíthatjuk a következ t: 4.4.1. Tétel. A prediktor-korrektor algoritmus legfeljebb K = log(nε 1 µ 0 ) n ν iteráció után ε-optimális megoldást ad. Az algoritmusok összehasonlítása A hosszú-lépéses algoritmusok elméletei lépésszáma elmarad a másik két verzióétól, a gyakorlatban azonban a hosszú-lépéses algoritmusok gyakran jobban teljesítenek. Nézzünk meg egy példát az algoritmusok szemléltetésére! 4.1. Példa. Legyen A = (1, 1, 1), b = 1 és c = ( 2, 1, 3) T. A következ feladatpárt kapjuk: 2x 1 + x 2 3x 3 min (P ) x 1 + x 2 + x 3 = 1 x 0 (D) Az OPT(µ) rendszer a következ lesz: y max y + s 1 = 2 y + s 2 = 1 y + s 3 = 3 s 0 x 1 + x 2 + x 3 = 1 y + s 1 = 2 y + s 2 = 1 y + s 3 = 3 x i s i = µ 31
A rövid lépéses algoritmus m ködése A hosszú lépéses algoritmus m ködése A prediktor-korrektor algoritmus m ködése
4.5. Pontos megoldás el állítása Az el z fejezetekben tárgyalt algoritmusok segítségével olyan primál-duál megengedett megoldáspárt kaphatunk, ami tetsz legesen közel van az optimális megoldáspárhoz. Ebben a fejezetben azt tárgyaljuk, hogy hogyan juthatunk el egy pontos megoldásig. Elevenítsük fel a következ indexhalmazokat: P = {i : x i > 0, valamely u FP esetén} D = {i : s i > 0, valamely (y, s) FD esetén} Az eddig tárgyaltak alapján P D =, és F P, F D esetén P D = {1,..., n}. Legyen (x k, y k, s k ) valamelyik fenti algoritmus k. iterációjában kiszámolt pont. Ekkor Legyen és legyen P k = P(x k, s k ) := {j {1,..., n} : x k j s k j } D k = D(x k, s k ) := {1..., n} \ P k. ξ P = min j P {max{x j : x FP }}, ξ D = min j D {max{s j : (y, s) FD}}, ξ = min(1, ξ P, ξ D ). A ξ-t az LP feladat kondíciószámának nevezzük. Az LP feladat tárigényének fels korlátja az L(A, b, c) = m n ( (log2 ( a ij +1)+1 ) m ( + log2 ( b i +1)+1 ) n ( + log2 ( c j +1)+1 ) i=1 j=1 i=1 j=1 érték. 4.5.1. Állítás. Ha a LP feladat adatai racionálisak, akkor ξ 2 L. Biz.: 4.5.1. Tétel. Származzon az {x k, s k } pontsorozat egy olyan bels pontos algoritmusból, ami az x 0 = e, s 0 = e bels pontból indul, az iterációszáma O( n log ( n µ0) ) és ε kielégíti a következ feltételeket Ekkor: (x k+1 ) T s k+1 (x k ) T s k és min i x k i s k i 1 ) Ω(. (x k ) T s k (8) n 33
i) 0 < e T x k + e T s k 2n, k. ii) és ( ξ x k j Ω s n), kj (xk ) T s k ξ ( ξ s k j Ω x n), kj (xk ) T s k ξ k és j P k és j D. iii) ha (x k ) T s k O( ξ2 ), akkor n ( ξ ( ξ s k j < Ω j P n) és x k j < Ω j D n), így Biz.: i) így amib l P k = P és D k = D. (x k x 0 ) N (A), (s k s 0 ) R(A T ), 0 = (x k x 0 ) T (s k s 0 ) = (x k e) T (s k e), e T x k + e T s k = n + (x k ) T s k 2n. ii) Tetsz leges (x, s ) optimális megoldásra (x k x ) T (s k s ) = 0, amib l x k j s j + s k j x j = (x k ) T s k, j D j P tovább alakítva s j s k j D j x k j s k j (x k ) T s k + j P x j x k j s k j x k j (x k ) T s k = 1. Így minden j P és (x, s ) optimális megoldás esetén s k j x j (x k ) T s k és x j x k j s k j x k j (x k ) T s k 1. Adott j P esetén legyen x = arg max{x j : x FP }. Használva a fenti eredményt, a ξ denícióját és a (8) feltételeket, a következ t kapjuk s k j ξ s k j x j < (x k ) T s k és ξ x k j x j x k j < (xk ) T s k x k j sk j O(n), amib l következik ii) minden j P. Az állítás hasonlóan bizonyítható minden j D iii) Egyenesen következik a második állításból. 4.5.1. Köv. A (P k, D k ) partíció O( n log ( ) n ξ ) iteráció után az optimális partíciót adja. Ha az LP feladat adatai racionálisak, akkor ez O( nl) iterációt jelent. 34
4.5.2. Köv. Ha (x k ) T s k = µ k 0, akkor az x és s "kicsi" változói egyenletesen tartanak a 0-hoz, a "nagy" változói pedig egy egyenletes alsó korláttal el vannak szeparálva a 0-tól. Az (x k, s k ) pontsorozat tehát egy szigorúan komplementáris megoldáshoz tart. 4.5.1. Lemma. A bemutatott bels pontos algoritmusok által generált pontsorozatra teljesülnek a (8) feltételek. Biz.: Az els feltétel teljesülése nyilvánvaló a 4.2.1 és 4.3.1 tételekb l. A rövid lépéses algoritmusnál minden el állított (x k, y k, s k ) pont benne van az N 2 (γ) környezetben valamilyen γ konstansra, ezért érvényes lesz a következ minden i-re: x T s n x is i x i s i xt s xs xt s n n e x T s γ n. A hosszú lépéses algoritmusnál minden el állított pont az N (γ) környezetben lesz, így ebben az esetben minden i-re: x T s n Mindkét esetben következik az x is i x i s i xt s γ xt s n n. min i x k i s k i (x k ) T s k 1 γ n. Optimális megoldás el állítása mer leges vetítéssel Az optimális partíció segítségével a következ módon tudjuk felírni az optimális lapokat: F P = {x : Ax = b, x 0, x j = 0 j D } F D = {(y, s) : A T y + s = c, s 0, s j = 0 j P } Ha a feltételek közül elhagyjuk a nemnegativitást, akkor an altereket kapunk. A pontos megoldást úgy akarjuk el állítani, hogy a közelít megoldást mer legesen vetítjük ezekbe az an alterekbe. Ha elég közel voltunk az optimális halmazhoz, akkor a vetület optimális lesz. A algoritmusunk a következ módon fog m ködni: 1. futtatjuk valamelyik útkövet algoritmusunkat néhány iteráció erejéig, így kapjuk az (x k, y k, s k ) F 0 pontot 2. kiszámítjuk a P k és D k indexhalmazokat, mint becslést az optimális partícióra 35
3. megoldjuk az x x k min Ax = b (9) x i = 0 i D k és y y k min A T y + s = c (10) s i = 0 i P k rendszereket 4. ha a megoldásokra x i > 0 i P k és s i > 0 i D k, akkor (x, y, s ) optimális megoldás 5. ha a pozitivitási feltételek nem teljesülnek, akkor visszatérünk az útkövet algoritmushoz, végzünk még egy iterációt Optimális megoldás vetítéssel Input(x k, y k, s k ) F 0 begin meghatározzuk a P k és D k halmazokat megoldjuk a (9) és (10) rendszereket if (x i > 0 ha i P k és s i > 0 ha i D k ) than az (x, y, s ) optimális megoldás else az útkövet algoritmus folytatása end 36
5. Duális módszerek A következ fejezetek célja, hogy megismerjük a volume algoritmust, ami egy önmagában is érdekes, primál-duál közelít megoldáspárt adó módszer. Kedvez számításigény, és sok esetben hatékonyan alkalmazható az ismertetésre kerül bázis identikációs eljárással. Tekintsük a következ lineáris programot min c T x Ax = b Dx = e x 0, ahol c R n, A R m n, b R m, D R d n, e R d és rang(d) = d. Úgy tekintjük, hogy az Ax = b feltételek nehezen kezelhet ek, a Dx = e feltételek könnyen. Ekkor lehetséges megközelítés, hogy a Lagrange-relaxációból származó duális feladatot oldjuk meg. Két kérdés megválaszolása áll el ttünk: 1. hogyan oldjuk meg a nemdierenciálható duális feladatot 2. hogyan állítunk el egy primál megoldást A feladathoz tartozó Lagrange-függvény A duális függvény ekkor ahol M = {x R n Dx = e, x 0}. A duális feladat a következ L(x, π) = c T x + π T (Ax b). q(π) = min L(x, π), x M max q(π). π R m Miel tt folytatnánk a feladat megoldását, megnézzük a duális módszereket általánosabb szituációban. 5.1. A szubgradiensek 5.1. Def. Legyen q : R m R konkáv függvény. Azt monjuk, hogy a v R m szubgradiense q-nak a π-ben, ha q(π ) q(π) + (π π) T v, π R m. A π-beli szubgradiensek halmazát q(π)-vel jelöljük. 5.2. Def. Legyen q : R m R konkáv függvény. Azt monjuk, hogy a w R m ε-szubgradiense q-nak a p-ben, ha q(π ) q(p) + (π p) T w, π R m. A p-beli ε-szubgradiensek halmazát ε q(p)-vel jelöljük. 37
5.1.1. Megjegyzés. A ε q(p) hamaz szép folytonossági tulajdonságokkal rendelkezik. Ha (ε t, p t, w t εt q(p t )) (ϵ, p, w ), akkor w ε q(p ). A következ feladatból indulunk ki A hozzá tartozó Lagrange-függvény min f(x) h(x) = 0 x M. L(x, π) = f(x) + π T h(x), és duális függvény Legyen q(π) = inf L(x, π). x M x π = arg min L(x, π). x M 5.1.1. Állítás. A fenti jelölésekkel a h(x π ) a szubgradiense a duális függvénynek a π helyen. Biz.: Minden π R m -re egyszer számolással adódik: q(π ) = inf x M π ) L(x π, π ) = = f(x π ) + (π ) T h(x π ) = = f(x π ) + π T h(x π ) + (π π) T h(x π ) = = q(π) + (π π) T h(x pi ). Két algoritmust fogunk tárgyalni, ami a szubgradienseket használja. Az els a szubgradiens módszer, ami minden iterációban az éppen aktuális szubgradienset használja. A második pedig a vágósíkos módszer, ami minden iterációban a korábban kiszámolt összes szubgradienset használja. 5.2. A szubgradiens módszer A szubgradiens módszer nagyon hasonlít a dierenciálható függvények esetében használható gradiens-módszerre. Lényeges eltérés, hogy a lépéshossz el re rögzített, nem alkalmaz egyenes menti keresést minden iterációban. A gradiens módszerrel ellentétben a célfüggvény értéke növekedhet egy-egy lépés után. Azonban a módszer el nye, hogy jóval egyszer bb és szélesebb körben alkalmazható. A következ típusú feladatra alkalmazzuk a módszert max q(π) π X 38
ahol q : R m [, ) egy felülr l féligfolytonos, konkáv függvény, X R m konvex és zárt halmaz. Ezek a feltételek a korábbiak alapján fennállnak a Lagrangeduális feladat esetén. és q lényeges tartományának minden pontjában könnyen ki tudunk számolni egy szubgradienst. A feladatot a q függvény D lényeges tartománya alapján a következ formában is felírhatjuk: max q(π) π X D Megjegyzések: 1. A feltételek miatt valójában a vetített szubgradiens algoritmusra lesz szükség. 2. Ha q valós érték függvény, és X =, akkor nem kell vetíteni. 3. Valós érték konkáv függvény automatikusan folytonos, így ha nem engedünk meg kiterjesztett érték függvényeket, akkor elég a konkávitást feltenni. 4. Euklideszi vetítés alapvet en konvex és zárt halmazokra m ködik. A q konkávitása és felülr l féligfolytonossága biztosítja, hogy a D konvex és zárt halmaz legyen. Az X-re vonatkozó feltételek miatt pedig az X D is konvez és zárt lesz, azaz lehet bele vetíteni. A módszer a következ iteráció alapján m ködik µ k+1 := [µ k + α k h k ] +, ahol [ ] + jelöli a mer leges vetítést a konvex és zárt M := X D halmazba és h k a q függvény π k -beli szubgradiense. Mivel a célfüggvény az iterációk során nem monoton növekv, ezért minden lépésben számontartjuk az eddigi legjobb értéket q k = max{q k 1, q(π k )}. Az esetleges célfüggvény csökkenés ellenére az teszi a módszert használhatóvá, hogy elég kicsi lépéshossz esetén közelebb kerülünk az optimális megoldás halmazhoz. Err l szól a következ állítás. 5.2.1. Állítás. Ha π k nemoptimális, akkor minden π optimális megoldásra minden olyan α k lépéshosszra, amire π k+1 π < π k π, 0 < α k < 2(q(π ) q(π k )) h k 2. (11) Biz.: π k+1 π = [π k + α k h k ] + π π k + α k h k π, 39
ahol az utolsó egyenl tlenség azért áll fenn, mert π M és a vetítés az nem növeli a távolságot. Tovább becsüljük a jobb oldalt: Használva a π k + α k h k π 2 = π k π 2 2α k (π π k ) T h k + (α k ) 2 h k 2. szubgradiens egyenl tlenséget: Legyen π k + α k h k π 2 (π π k ) T h k q(π ) q(π k ) π k π 2 2α k (q(π ) q(π k )) + (α k ) 2 h k 2. (12) γ k = αk h k 2 q(π ) q(π k ). A γ k segítségével a következ formára hozhatjuk a (12) egyenl tlenséget: π k + α k h k π 2 π k π 2 γk (2 γ k )(q(π ) q(π k )) 2 h k 2 (13) Ha az α k lépéshossz kielégíti a tételben megadott feltételt, akkor 0 < γ k < 2 teljesül. Így a (13) egyenl tlenség alapján π k + α k h k π π k π, amivel kész a bizonyítás. Használatos lépéshosszak Konstans lépés. α k = h, függetlenül a k-tól. Konstans lépéshossz. α k = h/ g k. Ekkor µ k+1 µ k = h. Négyzetesen összegezhet, de nem összegezhet. Vagyis a következ ket elégítik ki αk 2 <, α k =. Tipikus példa az α k = k=1 k=1 a, ahol a > 0 és b 0. b+k Nem összegezhet, de nullsorozat. Vagyis kielégítik a következ ket lim α k = 0, α k =. k Tipikus példa az α k = a k, ahol a > 0. A szubgradiens algoritmusok konvergencia viselkedése egyel re nem jól megértett, annak ellenére, hogy számos konvergencia tétel kapcsolódik hozzájuk. Sok esetben nagyon hatékonyan m ködik, annak ellenére, hogy nincs elméleti konvergencia; máskor éppen az ellenkez je történik. k=1 40