Optimalizálási eljárások MSc hallgatók számára 11. Előadás Előadó: Hajnal Péter Jegyzetelő: Hajnal Péter 2011. április 27. 1. Lineáris egyenlőség feltételek melletti minimalizálás Múlt héten nem szerepeltek feltételek a minimalizálási problémánkban. Most továbblépünk. Először megmutatjuk, hogy a Newton-módszer hogyan terjeszthető ki lineáris egyenlőségekkel leírt feltételrendszer esetére. Azaz a vizsgált probléma: Minimalizáljuk c(x)-t Feltéve, hogy Ax = b, ahol A R l n, b R l. Feltesszük, hogy c kétszer differenciálható konvex függvény. Ismét F = L = D = dom c. A múlt heti módszerek sorát folytatjuk, azaz sémánk: Kiinduló lépés: x (0) L választása Irány és lépés választása:, t választása Update: x (i+1) = x (i) + t és i i + 1 (alternatív módon: a + = a + t(a) (a), ahol a az aktuális hely). Leállási feltétel: Ha a leállási feltétel teljesül, akkor STOP, különben vissza az irány és lépés választáshoz. Ügyelünk arra, hogy a módszerünk végig a feltételeket kielégítő x (i) elemeket számol ki. Ez ekvivalens azzal, hogy a x (0) L kezdőérték választása után ügyelünk arra, hogy A = 0 teljesüljön. A Newton-módszert terjesztjük ki: a = x (i) az aktuális pontunk. A = (a) irányt a c(a + v) c(a) + c T (a) v + 1 2 vt 2 c(a) v másodrendű közelítésre alapozzuk. Ez alapján az irányt úgy választjuk, hogy Av = 0 feltétel mellett a jobb oldali közelítés minimum helye felé mozogjunk. A következő optimalizálásai feladattal állunk szemben: Minimalizáljuk Feltéve, hogy Ax = 0. c(a) + c(a) x + 1 2 xt 2 c(a) x-t A Karush Kuhn Tucker-feltételek egy primál és egy w duál megoldásra (szükséges és elegendő feltételek a primál és w duál optimum hely mivoltához): ( ) ( ) ( ) 2 c(a) A T c(a) =. A 0 w 0 11-1
A bal oldalon lévő mátrixot optimalizálási feladatunk KKT-mátrixának nevezik. A feltételrendszer lineáris algebrából jól ismert (szerencsés) feltételek mellett egyértelműen megoldható. Ekkor az optimalizálási probléma kezelhető. NEWTON-MÓDSZER KONVEX FÜGGVÉNY MINIMALIZÁLÁSÁRA LINEÁRIS EGYENLŐSÉG FELTÉTELEK MELLETT: // Feltételek: // c kétszer differenciálható konvex függvény. // A KKT-mátrix nem elfajuló L-en. 0. lépés: x (0) választása, i = 0. // A továbbiakban a az aktuális x (i) pont. Irány választás: Írjuk fel a KKT-feltételeket az a helyen. Ez egy lineáris egyenletrendszer (feltételünk szerint nem elfajuló mátirxszal). Az egyértelmű megoldás komponense adja az irányt. Lépés választás: l választása visszakozó lépésválasztással. Udate lépés: a + = a + l (i i + 1). amíg c(a) T 2 c(a) 1 c(a)/2 > ǫ vissza az irány választáshoz. Az egyenlőtlenség feltételek kezelése jóval problémásabb. 2. Belsőpontos módszerek Nézzük, hogy a fenti ötletek hogyan vihetők át általános konvex optimalizálási feladatokra. Legyen O az alábbi optimalizálási feladat: O : Minimalizáljuk c(x)-et Feltéve, hogy Ax = b, f i (x) 0, i = 1, 2,..., k, ahol A R l n, b R l, x R n. A problémát egy kis csalással kezdjük. Az eddigiektől új, nehezítő egyenlőtlenség feltételeket a célfüggvénybe olvasztjuk. Definíció. Legyen I(x) : R R { }, ami nem pozitív értékeken 0-t, pozitív értékeken értéket vesz fel. Az alábbi ábrán a grafikon vázlatos képe látható. 11-2
Az eredeti O problémát ekvivalens módon megfogalmazhatjuk az I függvény segítségével: Minimalizáljuk c(x) + k I(f i(x))-t Feltéve, hogy Ax = b. Természetesen a csalás problémája, hogy általában szép c, f i függvényekkel találkozunk. A korábbi módszereink differenciálhatósági feltételek mellett működnek. A bevezetett függvény nem differenciálható. A kiút, hogy az I függvényt differenciálható függvénnyel közelítjük. Az I függvény olyan x-eket enged a c-t minimalizáló versenybe, amelyeknél az f i -k előjele nem pozitív. Az I függvény gátat szab a versenyzőknek. Az ilyen függvényeket barrier/gátfüggvényeknek nevezzük. I közelítése differenciálható függvénnyel, ami a gátfüggvénység tulajdoságot szimulálja sokféleképpen megoldható. Mi egy lehetőségét emelünk ki: a logaritmikus gátfüggvényt (logaritmic barrier). Definíció (Logaritmikus gátfüggvény). Legyen Ĩt(x) = 1 log( x), ahol t > 0. t Minél nagyobb a t értéke, annál jobban közelíti a szükséges egyenlőtlenség feltételt szimuláló függvényt. 1. ábra. Ĩt(x) logaritmikus gátfüggvények grafikonjai különböző t értékek esetén. A sötétebb grafikon nagyobb t értékhez tartozik, jobban közelíti a szükséges egyenlőtlenség feltételt szimuláló függvényt. Fixáljunk egy t értéket és az egyenlőtlenség feltételeket hagyjuk el a célfüggvény c t (c) = c(x) + k Ĩt(f ( x)) módosításával együtt. Az optimum helye nem változik, ha a célfüggvényt a fix t-vel megszorozzuk: c t (x) = tc(x) + tĩt(f(x)). 11-3
Jelölés. Φ F (x) = Φ(x) = log( f i (x)). A φ függvény a feltételrendszerünktől függ, igazából csak az egyenlőtlenségek rendszerétől. Példa. Legyen F : Ax b (A R k n, b R k ). Ekkor Φ(x) = log(b i a T i x), ahol b = (b 1, b 2,...,b k ) T és a T i az A mátrix i-edik sora. φ(x) szép függvény, könnyű vele számolni: 1 Φ(x) = b i a T i x a i, 2 Φ(x) = 1 (b i a T i x)2a ia T i. Legyen Õt a következő optimalizálási feladat, ahol t > 0 fix szám: Õ t : Minimalizáljuk Feltéve, hogy Ax = b. t c(x) + Φ(x)-et Definíció. Legyen x (t) az Õt optimalizálási feladat optimális helye. Az x (t) pontok az optimalizálási feladat centrális pontjai. Ha t végig fut a R >0 halmazon, akkor az x (t) helyek a centrális utat írják le. KKT-tétel alapján könnyű karakterizálni x (t) helyeket: 1. Lemma. x (t)-t karakterizálják az alábbi feltételek: (i) Ax (t) = b, (ii) f i (x (t)) < 0 minden i = 1, 2,..., k esetén, (iii) alkalmas µ R l esetén t c(x (t)) + Φ(x (t)) + A T µ = 0. A lemma bizonyítása egyből adódik a KKT-tételből. Példa. Ismét legyen F : Ax b, azaz a feltételrendszert kielégítő x-ek halmaza egy P politóp. Továbbá legyen c(x) = c T x egy lineáris célfüggvény. Vegyük a Φ(x) (lásd előző példa) logaritmikus gátfüggvény S α = {x : Φ(x) α} szub-szinthalmazait. Ezek egy növekvő halmazrendszer (α < β esetén S α S β ), uniójuk kiadja P politóp belsejét. Ahogy α nő S α hozzásímul a P politóphoz. Másképpen S =α = {x : Φ(x) = α} szinthalmazok P határához símulnak. Az (ii) feltétel azt monjda x (t)-ről, hogy Φ értelmezési tartományába esik. Azaz Φ(x (t)) = α esetén (azaz alkalmas α esetén) x (t) a S =α szinthalmaz egy eleme. 11-4
x* x* ( t) 2. ábra. A zöld görbék a szinthalmazok, a kék görbe a centrális görbe, a fekete görbe a P politóp határa. A piros egyenesek c normálvektorú hipersíkok. Az (iii) feltétel egyszerűsödik, hiszen c(x) = c R n, µ hiányzik, hiszen nincs egyenlőség feltételünk, míg Φ-t az előző példában kiszámoltuk: ( ) tc + Φ(x (t)) = tc + A T 1 diag b 1 a T 1 x (t), 1 b 2 a T 2 x (t),..., 1 = 0. b k a T k x (t) Azaz Φ(x (t)) párhuzamos c-vel. Azaz a c T x = c T x (t) hipersík az S =α szinhalmaz egy érintője a centrális út összes pontjára. 2. Tétel. x (t) legyen egy centrális pont, azaz az Õt feladat egy optimális megoldása (optimalizálás csak lineáris egyenlőség feltételekkel). A megoldáshoz vezető úton egy w (t) duális optimumhelyet is megkapunk. Legyen λ i (t) = 1 tf i (x (t)), µ (t) = w (t). t Ekkor (i) λ i (t) és µ (t) duális megengedett megoldása az eredeti O feladatnak. (ii) Továbbá a duális hézag x (t) primál megengedett megoldás és λ i(t) és µ (t) duál megengedett megoldás között A tétel bizonyítása egyszerű számolás, az érdeklődő hallgatóra bízzuk. A tétel egyik következménye a belső pontos módszerek következő alapváltozata: LOGARITMIKUS GÁTFÜGGVÉNY MÓDSZER: Kiinduló lépés: Legyen x (0) egy erősen megengedett megoldás // minden egyenlőtlenség szigorúan teljesül. Legyen t = t (0) = 1. 11-5 l t.
// a kiinduló gátfüggvény paramétere. µ(> 1). // egy fix paraméter, a gátfüggvény paraméter növelési tényezője. Centralizáló lépés: Számoljuk ki az Õt optimalizálási feladat x (t) optimális értékét. // A centrális út egy pontját számoljuk ki. x + = x (t) Kilépési kritérium: Ha k t < ǫ akkor leállunk. Különben t+ = µ t és visszatérünk a centralizáló lépésre. // A centrális út egy későbbi (pontosabb) helyével próbálkozunk. A részletek kidolgozása, az analízis messze meghaladja az előadás kereteit. A fentiek lényege csak az ötletek felvillantása volt. A részletek kidolgozása, a numerikus problémák analízise nagyon sok optimalizálási feladat hatékony kezeléséhez vezet. Egy ízelítő: 3. Tétel. Az LP feladat polinomiális időben megoldható. Megjegyzés. Ezt a tételt már láttuk az ellipszoid módszer tárgyalásakor. Ott megemlítettük, hogy a bizonyításként használt ellipszoid módszer a gyakorlatban nem versenyképes a szimplex módszerrel (amely elméleti szempontból nem kielégítő). Most azt sugalljuk, hogy a bizonyítás a gátfüggvény módszerrel is bizonyítható. Megemlítjük, hogy a fenti módszer kifinomult megvalósítása bizonyos paraméter értékek esetén versenyképes a szimplex módszerrel. 11-6