Optimalizálási eljárások MSc hallgatók számára 1. Előadás: Az alapfeladat Előadó: Hajnal Péter 2015. tavasz L.V. Kantorovics (1912-1986) Az optimalizálás a matematika legkülönfélébb területeinek találkozási pontja, ezért például a folytonosság fogalmára épülő analitikus meggondolások és diszkrét matematikai módszerek egyaránt részei az optimalizálási apparátusnak. Heterogén jellegét jelzi, hogy a megannyi természettudományos, közgazdasági és informatikai alkalmazás, melyek alapját optimalizálási eredmények képezik. Az optimalizálás terültén elért áttörések a széleskörű alkalmazásnak köszönhetően komoly tudományos elismeréssel járnak. Kantorovics (szovjet matematikus) az optimális erőforrás-allokációval kapcsolatos eredményeiért közgazdasági Nobel-díjat kapott 1975-ben. 1 1. Az optimalizálás alapfeladata és alapfogalmai Ebben a pontban megfogalmazzuk az optimalizálás alapfeladatát és bevezetjük az alapvető fogalmakat, elnevezéseket. Legyen c: dom (c) R n R egy adott n-változós valós függvény (n N), melyet célfüggvénynek nevezünk. A dom (c) értelmezési tartomány egy általános elemére az x = (x 1,...,x n ) T jelölést használjuk 2. Az optimalizálás alapfeladata a c célfüggvény minimalizálása, előre kiszabott feltételek mellett. Erre a továbbiakban az alábbi rövidített írásmódot használjuk: c(x)-et x F, ahol x dom (c) és F R n a feltételek által meghatározott tartomány. Maguk a kikötések eltérő eredetűek lehetnek: formalizálhatnak matematikai feltételeket vagy származhatnak fizikai, gazdasági kényszerekből. A feltételek előírására is többféle lehetőség létezik. Itt kettő megadási módot említünk: Implicit feltételek. Adott x R n elemről egy algoritmus/orákulum/szubrutin eldönti, hogy teljesíti-e a feltételeket: x ALGORITMUS jó/rossz ( F/ F) Explicit feltételek. Véges sok egyenlet és/vagy egyenlőtlenség írja le a feltételt: { f i (x) 0, i [k] := {1, 2,..., k}, (1.1) g j (x) = 0, j [l], 1 http://www.nobelprize.org/nobel prizes/economics/laureates/1975/ 2 FIGYELEM! Az előadás során mindvégig oszlopvektorokkal dolgozunk. 1-1
ahol tehát f i (i [k]) és g j (j [l]) szintén n-változós valós függvények. Ekkor F a fenti rendszer megoldáshalmaza. Megjegyzés. A gyakorlati alkalmazásokban megjelenő célfüggvények nagyon sok változótól függhetnek: n értéke az ezres, sőt a milliós nagyságrendet is elérheti. Az optimalizálási feladat értelmezési tartománya a célfüggvény és a feltételek értelmezési tartományának metszete. Ez az (1.1) explicit feltételek esetén a ( k D := dom (c) i=1 ) ( l dom (f i ) j=1 ) dom (g j ) halmaz, amely tehát azon x-eket tartalmazza, amelyekre mind a célfüggvény, mind pedig a feltételek értelmezettek. Lehetséges/megengedett megoldásoknak azon x D vektorokat nevezzük, amelyek eleget tesznek a kritériumoknak is, azaz x F. Ezen x-ek halmazát L jelöli. Tehát amely (1.1) explicit feltételek esetén L := D F, L = {x D : f i (x) 0, g j (x) = 0, i [k], j [l]}. A feladathoz tartozó optimális érték p = inf c(x) R { } { }, x L ahol az infimum, ha a lehetséges megoldások halmaza üres és, ha a c célfüggvény a lehetséges megoldásokon tetszőlegesen kicsi értéket is felvesz. Egy x L vektor optimális hely, ha ott a célfüggvény felveszi az optimális értéket c(x ) = p. Az x l vektor lokális optimum, ha annak egy környezetének minden pontjában c legalább akkora, mint az x l helyen: ε > 0, x : x x l 2 < ε esetén c(x l ) c(x). Azt mondjuk, hogy x 0 egy ε-közelítő megoldás (ε > 0), ha c(x 0 ) p + ε. Egy x 0 vektor ε -approximációs megoldás (ε > 0), ha c(x 0 ) (1 + ε)p. Megjegyzés. Az ε-approximációs megoldás fenti definíciójába beleértjük, hogy az optimális érték pozitív, p > 0. A negatív optimális értékű feladatokban az c(x 0 ) (1 ε)p feltételt kell tennünk. 2 az R n -en értelmezett euklidészi norma, 2 : R n [0, ), y y 2 := y 2 1 + + y2 n. 1-2
2. Optimalizálási problémák átfogalmazása Egy megértett optimalizálási probléma esetén több lehetőség van annak formalizálására. Másképpen fogalmazva egy formalizált optimalizálási probléma gyakran átfogalmazható úgy, hogy ugyanazt a problémát írja le. Sokféle helyzetben ezek az átírások az eredetivel ekvivalensek. Máskor azonban ugyaznazon probléma kissé eltérő alakjai közt lényeges különbség lehet. Ekvivalens átalakítás alatt olyan formális átlalakítást értünk, hogy bármelyik feladat optimális értéke/helye a másik feladat optimális értéke/helye alapján könnyen megadható. Most (a teljesség igénye nélkül) néhány lehetőségét megemlítünk. 1. Min/max csere: Maximalizáljuk c(x)-et x F c(x)-et x F A minimalizálási probléma egy optimális pontja egyben a maximalizálási problémának is optimális pontja. Ha a mimimalizálási probléma optimális értékét ismerjük, akkor annak ellentettje lesz a maximalizálási probléma optimális értéke. 2. A feltételek ekvivalens átírása: A középiskolában már láttunk formulák/egyenlőtlenségek/egyenlőségek ekvivalens átalakításait. A feltételeinknél ezeket természetesen felhasználhatjuk. x 1 x 2 2 + 1 0 x 1 0. (x 1 + x 2 ) 2 0 (x 1 + x 2 ) 2 = 0 x 1 + x 2 = 0.. Slack változók, egyenlőtlenségek helyettesítése előjelfeltételekkel: c(x)-et f i (x) 0 g i (x) = 0 c(x)-et f i (x) + s i = 0 g i (x) = 0 s i 0 4. A lineáris egyenlőségek kiküszöbölése: Az Ax = b lineáris egyenlőségrendszer megoldása alap algebra tananyag. Az általános megoldás x = x 0 +Fy alakban írható, ahol x 0 egy tetszőleges megoldás, míg F oszlopai az Ax = 0 egyenletrendszer által leírt altér egy generáló rendszere. Ha F-nek s oszlopa van, akkor y R s. x 0 és F meghatározása hatékonyan megtehető. c(x)-et f i (x) 0 Ax = b c(x 0 + Fy)-et f i (x 0 + Fy) 0 5. A célfüggvény helyettesítése egy monoton függvénybe: Legyen m : R R egy szigorúan monoton függvény range c-n (a célfüggvény által felvett értékek halmazán). Ekkor 1-
c(x)-et x F m(c(x))-et x F 1. Példa. x 2 -et x F x 2 2 -et x F Fenti esetben range c = R 0, ahol az m(x) = x 2 függvény monoton. Minimális változtatást eszközöltünk, de az új célfüggvény differenciálható. Látni fogjuk, hogy egy ilyen kis előny nagyon jelentős lehet. Egy összetettebb példa. 2. Példa. Maximalizáljuk x 1 x 2 + x 2 x + x x 1 -et. x 1 + x 2 + x = 100, x 1, x 2, x > 0. x 2 1 +x2 2 +x2 -et. x 1 +x 2 +x = 100, x 1, x 2, x > 0. A két feltételrendszer nyilván ekvivalens. A két célfüggvény: c 1 (x 1, x 2, x ) = x x 1 x 2 + x 2 x + x x 1, illetve c 2 (x 1, x 2, x ) = 2 1 +x2 2 +x2. A kapcsolat nyilvánvaló (a feltételek teljesülése esetén): c 2 2 + 2c 1 = (x 1 + x 2 + x ) 2 = 100 2. c 1 maximalizálásá helyett áttérhetünk 100 2 2c 1 = c 2 2 minimalizálására. Majd itt alkalmazhatjuk az m(x) = x szigorúan monoton függvényt (az új célfüggvény által felvett nemnegatív értékek halmazán) az aktuális célfüggvényre. Így a fenti második alakot kapjuk. Az új alak előnye nyilvánvaló. A négyzetes közepet kell minimalizálni adott számtani közép érték esetén. A számtani és négyzetes közép közötti egyenlőtlenség alapján elemi matematikával megválaszolható az optimalizálási kérdés.. Példák optimalizálási feladatokra Az előadássorozatban többször látni fogunk olyan feladatot, amely formalizálása okozza a legtöbb problémát. Gyakran a formális leíráshoz szükségesek a matematikai ötletek, az optimalizálási algoritmus már készen vár (az ügyesen megfogalmazott feladatnál). Az alábbiakban néhány bevezető példát mutatunk az alapfogalmakra, illetve elemi formalizálási trükkökre.. Példa. 1 x -et x 0. 1-4
A célfüggvény a c(x) = x 1 lineáris törtfüggvény, melynek értelmezési tartománya dom (c) = R \ {0}. Az explicit feltételt egyetlen egyenlőtlenség adja, nevezetesen f 1 (x) = x 0, ezért k = 1, l = 0. Mivel dom (f 1 ) = R, így a feladat értelmezési tartománya D = R \ {0}. Ebből látható, hogy a lehetséges megoldások halmaza az L = R >0 := (0, ) =]0. [ nyílt intervallum. Mivel az x L megengedett megoldásokon felvett függvényértékek infimuma zéró, ezért p = 0. Azonban nem létezik olyan x L, amelyen c felveszi ezt az értéket, tehát optimális hely nincs. Megjegyezzük, hogy bármely ε > 0 esetén az x 0 ε 1 számok ε-közelítő megoldások, viszont ε-approximáló megoldások nem léteznek. 4. Példa. x log x-et Most nincsenek feltételek kiszabva, azaz F =. Ilyenkor azt mondjuk, hogy egy globális optimalizálási problémát tekintünk. A célfüggvény differenciálható értelmezési tartományán. Az optimalizálás a calculus kurzus standard része. A c(x) = x log x egyváltozós célfüggvény értelmezési tartománya dom (c) = R >0. Mivel feltétel nincs, ezért L = D = dom (c) = R >0. Az optimális értéket például elemi függvénydiszkussziót elvégezve állapíthatjuk meg. Eredményül p = 1 e adódik. Az optimális értéket az x = 1 e. optimális helyen éri el c. 5. Példa. Az x 1 +x 2 +x = 100 egyenletű sík mely pontjának minimális az origótól mért távolsága? Vegyük észre, hogy a távolság helyett írhatjuk távolság -szeresét is. A formalizálás (egy korábbi példával megegyezően): 1-5 x 2 1 +x2 2 +x2 -et x 1 +x 2 +x = 100, x 1, x 2, x > 0. 1
A számtani és a négyzetes közepek közötti egyenlőtlenséget használjuk fel az optimális érték becslésére: 1 x 2 c(x) = 1 + x 2 2 + x 2 x 1 + x 2 + x = 100. Azaz p 100. Továbbá a korlát elérhető, ha x 1 = x 2 = x = 100 (és csak ekkor). Tehát a feladat egyetlen optimális helye ( 100 x =, 100, 100 ). Továbbá optimális értéke p = c(x ) = 100. 6. Példa. Mekkora a legnagyobb felszínű (téglatest alakú) doboz, amelyet egy 400 cm-es madzaggal át tudunk kötni (a mellékelt ábrának megfelelő módon)? x x2 x 1 1. ábra. A formalizálás nyilvánvaló: Maximalizáljuk 2x 1 x 2 + 2x 2 x + 2x x 1 -et 4x 1 + 4x 2 + 4x = 400, x 1, x 2, x > 0. A korábbiak alapján ez ekvivalens feladat az előzővel. Az ekvivalencia újbóli meggondolása adja, hogy az optimális hely azonos az előző feladat optimális helyével. ( 100 x =, 100, 100 ). Ebből az eredeti feladat optimális értéke p = c(x ) = 20 000. 7. Példa. Tegyük fel, hogy a lehető legnagyobb téglalap alakú tartományt szeretnék bekeríteni 100 m hosszú kerítéssel úgy, hogy a terület egyik oldalát egy fal képezi. 1-6
x2 x 1 2. ábra. Ez a probléma a következőképpen írható le optimalizálási feladatként: Maximalizáljuk x 1 x 2 -t x 1 + 2x 2 = 100, x 1, x 2 0. Nyilvánvaló, hogy a c(x 1, x 2 ) = x 1 x 2 célfüggvény az egész R 2 síkon értelmezett és f 1 (x 1, x 2 ) = x 1, f 2 (x 1, x 2 ) = x 2, g 1 (x 1, x 2 ) = x 1 + 2x 2 100, ezért D = R 2 és L = R 0 R 0. Alkalmazva a számtani és mértani közepek közötti egyenlőtlenséget és a feltételeket figyelembe véve 50 = x 1 + 2x 2 2 x 1 (2x 2 ) ( 0) adódik, melyből négyzetre emeléssel kapjuk, hogy 2500 2x 1 x 2 = 2c(x 1, x 2 ), vagyis a célfüggvény felülről korlátos: c(x 1, x 2 ) 1250. Mivel x = (50, 25) L egy lehetséges megoldás, ahol c eléri ezt a korlátot, így p = 1250. 8. Példa. Tegyük fel, hogy egy lovas egy egyenesen haladó folyó egyik oldalán található A pontból az ugyanazon oldalon lévő B pontba szeretne eljutni, de közben a lovát is meg szeretné itatni. Melyik a legrövidebb ilyen út? B, A B. ábra. A feladattal már általános iskolában találkozhattunk geometria órán. Legyen t azon folyópart egyenese, amelyik oldalon lovasunk van. Legyen M az itatás pontja. Tetszőleges lehetséges megoldás esetén a lovas pályájának AM szakaszát meghagyva, 1-7
majd a későbbi szakaszt t-re tükrözve egy olyan pályát kapunk, ami A-ből, B -be vezet (B a B pont tükörképe t-re). A módosított pálya hossza a tetszőlegesen választott lehetséges megoldás hossza/költsége. A módosított pályák között nyilván az AB szakasz bejárása az optimális. Azaz t és az AB szakasz M metszéspontja az optimális itató hely. Ide A-ból egyenes úton érkezve, majd B-be ugyancsak egyenes mentén haladva lesz legrövidebb a pályája a feladatbeli lovasnak. A formalizált optimalizálási feladatot többféleképpen is felírhatjuk. Egy lehetőség, ha derékszögű koordinátákat vezetünk be (például a lovas felőli folyópart az x tengely). Feladatunk azon M(x, 0) pont keresése, amelyre az AM, MB szakaszok hosszának összege minimális. Hiszen nyilvánvaló, hogy ha A és M vagy M és B pontok között nem egyenes szakaszon mozog a lovas, akkor pályája nem optimális. Tehát adott A(a 1, a 2 ) és B(b 1, b 2 ) esetén a feladat az alábbi módon fogalmazható meg: (a1 x) 2 + a 2 2 + (b 1 x) 2 + b 2 2-et. 9. Példa. A 100 pontú -részes egyszerű gráfok közül melyeknek maximális az élszáma? Ezzel a feladattal Kombinatorika kurzuson a Turán-tétel kapcsán találkoztunk. Ha a három rész méretét rendre x 1, x 2 és x jelöli és élünk a természetes észrevétellel, hogy teljes -részes gráfok között keressük az optimálist, akkor a feladat a következő: Maximalizáljuk x 1 x 2 + x 2 x + x x 1 -et x 1 + x 2 + x = 100, x 1, x 2, x > 0, x 1, x 2, x Z. Mivel F egy nemüres véges halmaz, így a lehetséges megoldások között biztosan létezik x optimális hely, p R optimális értékkel. A feltételből az is látható, hogy ha (x 1, x 2, x ) egy lehetséges megoldás, akkor például (x 1 1, x 2 + 1, x ) is lehetséges megoldás ( x 1 > 1). Ha x 1 x 2 + 2, akkor az utóbbi helyen nagyobb a célfüggvény, mint az előbbin. Ez azt is jelenti, hogy az optimális helyen x i x j 1 minden i, j {1, 2, } esetén. Három ilyen lehetséges megoldás van, ahol a célfüggvény közös értéket vesz fel. Így az optimális helyek a (4,, ), (, 4, ), (,, 4) pontok. Az optimális érték p =. Megjegyzés. A fenti feladat NEM ekvivalens a korábbi példáink egyikével sem. Ezt jelzi az optimális helyek és a lehetséges megoldások halmazának eltérése, melynek oka a feltételek lényeges különbözősége: most kizárólag egész koordinátájú helyek jöhetnek szóba. A folytonos feladatban (2. példa, 6. példa) az optimális érték 1, nagyobb a mostaninál. Ez természetes: a folytonos versenyben több résztvevő van, a maximum értéke legalább annyi mint ahol csak egész értékú versenyzők indultak. 1-8
10. Példa. Legyen d, n N és l 1 (x),..., l n (x): R d R adott lineáris függvények. Határozzuk meg a c(x) = max 1 i n l i (x) függvény minimumát. Tehát a formalizált feladat: c(x)-et A feladat globális (nincsenek feltételek). A mellékelt ábra a d = 1, n = 5 eset egy általános konfigurációját szemlélteti. Már ez a speciális választás is hű képet ad a célfüggvényről. c lineáris függvények maximuma szakaszonként lineáris függvény. Ez d > 1 esetén azt jelenti, hogy c értelmezési tartománya felbontható olyan összefüggő részekre, melyeken c lineáris. c(x) 4. ábra. Az előzővel ekvivalens optimalizálási feladatban az m számot minimalizáljuk úgy, hogy az ottani célfüggvény definícióját (maximalitását) beépítjük a feltételekbe. m-et l 1 (x) m,. l n (x) m, ahol (x, m) R d R. Egy optimalizálási feladat ezen formája ismerős lehet az operációkutatás kurzusról. 11. Példa (Lineáris programozás, LP). Legyen A R m n adott mátrix, b R m, c R n rögzített vektorok és x R n az ismeretlen vektor. A feladat: c T x-et Ax b, ahol Ax b az alábbi, m lineáris egyenlőtlenségből álló rendszert jelöli (Ax) j b j (j = 1,..., m). Az (LP) feladatokat az Operációkutatás kurzuson részletesen tárgyaltuk. Megjegyezzük, hogy aqz LP feladat nagyon jól vizsgált, sok gyakorlatban és elméletben is jónak tartott algoritmus létezik rá. Ha egy problémát LP feladatként fogalmazunk meg, akkor a nehezén túl vagyunk (akár középiskolában, ha egyenletmegoldás során másodfokú egyenletre redukáltuk munkánkat). Valamelyik általános LP algoritmussal fejezzük be munkánkat (ilyenek nyilvános forráskóddal is könnyen elérhetőek). 1-9
12. Példa. Az LP problémát tekintjük, amelyben a lineáris célfüggvény (c T x) c vektora valószínűségi változó. Feltesszük, hogy várható értéke, c = E[c] ismert, továbbá a feltételek már nem függnek a véletlentől. a célfüggvény értékének várható értékét. A várható érték linearitása alapján E[c T x] = (E[c]) T x egy LP feladat marad optimalizálási kérdésünk: (E[c]) T x Ax b. 1. Példa (Politópok Csebisev-középpontja). A P = {x R n : a T i x b, i = 1,..., k} alakú ponthalmazokat poliédereknek nevezzük. Ha a P poliéder korlátos (amikor is kompakt: korlátos és zárt), akkor politópnak nevezzük. Fontos probléma, hogy mérjük P egy pontja milyen mélyen van P belsejében. Illetve fontos kérdés: Melyek P legbelső pontjai? Igazából az is központi probléma, hogy P-ről döntsük el, hogy üres-e. Sokféle megoldás/válasz van. Mi egy, Csebisev nevéhez fűzött, megoldásról beszélünk. Definíció. B(c, r) = {x R n : x c 2 r 2 } a c középpontú r sugarú gömb. A p P pont Csebisev mélysége M(p) = sup{r : B(p, r) P}. c a P politóp egy Csebisev középpontja, ha M(c) = sup M(p). p P Az alapprobléma: Adott P esetén keressünk egy Csebisev középpontot. A feladat első ránézesre nem lineáris. Némi ötlettel azonban LP feladatként fogalmazhatjuk meg. Némi geometriai ismeretre lesz szükségünk. Definíció. Egy hipersík R n -ben: H = {x : a T x = b} alakú ponthalmaz. r pont pontosan akkor esik H-ra, ha a b = 0. Egy p pont előjeles távolsága H-tól a T a p b a. Az előjeles távolság abszolútértéke a távolság, előjele a hipersík azon oldalát írja le, ahová pontunk esik. Kétféle előjeles távolság létezik. A fenti az, amelyik az {x : a T x > b} féltérben pozitív, a komplementer (nyilt) féltérben negatív. A Csebisev-középpont problémája ekvivalens a következővel: Maximalizáljuk r a T i x + a i r b i, i = 1,...,k r 0 1-10
Első típusú feltételünk ekvivalens azzal, hogy at i a i x + r b a i, azaz r b a i at i a i x. A jobb oldalon egy előjeles távolság szerepel, amit úgy választottunk, hogy az a i x < b félterekben legyen pozitív. Az átfogalmazott optimalizálási feladat egy LP feladat. A következő problémával és megoldási módszereivel a numerikus analízis tárgykörében találkozhattunk. 14. Példa (A legkisebb négyzetek problémája). A probléma c Ax illetve c Ax 2 ahol x R n, A R k n valós mátrix és c R k. Ez egy feltétel nélküli optimalizálási feladat. Alap lineáris algebrai, geometriai ismeretek alapján egyszerűen kezelhető. 15. Példa. Adott egy méréssorozat (pl. egy kísérleti laboratórium különböző időpontokban vett mérései, vagy egy meteorológiai állomás különböző helyeken mért adatai), ahol t 1, t 2,...t N és p 1, p 2,...,p N jelöli rendre a mérési időket/helyeket illetve a mért paramétereket. Keresünk egy alacsony, d-fokú polinomot, ami jó hipotézis p változásaira (vagyis jól illeszthető a diszkrét idő-mért paraméter grafikonra). Legyen p(x) = x d x d + + x 1 x + x 0 azaz p = (p 1,...,p N ) T mért vektor esetén az x d (t d 1,...,td N )T + x d 1 (t d 1 1,...,t d 1 N )T +... vektor L 2 -ben mért p-től vett távolságát kell minimalizálni. A probléma a legkisebb négyzetek problémájára vezetődik vissza. A legkisebb négyzetek problémájában kvadratikus forma a célfüggvény. szemben LP-vel, ahol lineáris függvény. Az alábbiakban a két problémának közös általánosítását vizsgáljuk. 16. Példa (Kvadratikus programozás, QP). Adottak az A R n n szimmetrikus és C R m n mátrixok, valamint a b R n, d R m vektorok. A feladat: 1-11
x T Ax + b T x-et Cx d. A QP alapfeladat feltételrendszere lineáris. A célfüggvény azonban jóval általánosabb. Megjegyezzük, hogy a QP alapfeladata is kezelhető (hatékony algoritmus ismert rá) ha a ce lfu;ggve ny konvex (azaz A poziti v szemidefinit). Ha egy problémát ilyen (konvex QP) alakra hozunk, akkor készen vagyunk. 17. Példa (Sztochasztikus LP). Az LP problémát tekintjük, amelyben a lineáris célfüggvény (c T x) c vektora valószínűségi változó. Feltesszük, hogy várható értéke, c = E[c], kovarianciamátrixa Σ = E[(c c)(c c) T ] ismert. Továbbá a feltételek már nem függnek a véletlentől. Láttuk, ha csak a célfüggvény értékének várható értékét (E[c T x] = (E[c]) T x) minimalizáljuk, akkor egy LP feladathoz jutunk. Ekkor azonban a kockázatot nem vettük figyelembe. Megszokott a következő változat vizsgálata: E[c T x] + γ Var[c T x] Ax b Dx = e ahol γ R >0 egy az alkalmazáshoz választott paraméter. Egyszerű átlakításokkal Var[c T x] = E[(c T x E[c T x]) 2 ] = E[(c T x (E[c]) T x) 2 ] = E[((c T E[c] T )x) 2 ] = x T E[(c E[c])(c T E[c] T )]x = x T Σx. A kérdés konvex QP alakja már látható. 18. Példa. Határozzuk meg az n-dimenziós euklidészi tér két adott politópjának távolságát! Mivel a politópok lineáris egyenlőtlenségrendszerek megoldáshalmazaként állnak elő, ezért mindkét politópnak megfelel egy egyenlőtlenségrendszer: Ezek távolsága P 1 = {x R n : C 1 x 1 d 1 } és P 2 = {y R n : C 2 x 2 d 2 }. d(p 1, P 2 ) = inf{d(x 1, x 2 ) : x 1 P 1, x 2 P 2 }, ahol d(x 1, x 2 ) = x 1 x 2 2. A távolságnégyzetet tekintve ekvivalens optimalizálási feladatot nyerünk: x 1 x 2 2 2-et C 1 x 1 d 1, C 2 x 2 d 2. 1-12
Blokkmátrixos írásmódot használva megmutatjuk, hogy ez egy konvex QP feladat. Ehhez tekintsük a d 1, d 2, x 1, x 2 R n vektorokból és C 1, C 2 R n n mátrixokból képzett ( ) ( ) ( ) d1 x1 d =, x = R 2n C1 0, C = R 2n 2n 0 C 2 d 2 x 2 vektorokat és mátrixot, ahol tehát 0 az n n-es nullmátrixot jelöli. Ha az n n-es egységmátrixból képezzük még, az ( ) I I A = R 2n 2n I I mátrixot, akkor feladatunk a konvex QP alapfeladatának alakját ölti (M, N = 2n és b = 0 R 2n ). A részletek kidolgozását az Olvasóra bízzuk. A fentiek alapján két politóp távolságának meghatározása hatékonyan elvégezhető. Ismét nyúljunk bele az LP alapfeladatba. Most a feltételrendszert módosítsuk. A feltételek közé tegyük be azt, hogy versenyző vektoraink koordinátái legyenek egészek. 19. Példa (Egész értékű programozás, IP). Az alapfeladat: c T x-et Ax b, x Z d. Lehet, hogy ez a módosítás ártatlanabbnak tűnik, mint a célfüggvény módosítása, mégis a kapott probléma nehéz. Ez az általános forma képes N P-teljes problémák formalizálására. Általános, hatékony megoldása nem várható. 20. Példa. Adott egy G egyszerű gráf. Határozzuk meg ω(g) = max{ K : K V (G) klikk} értékét. Egye tetszőleges U csúcshalmaz leírható {0, 1} V R V -beli χ U karakterisztikus vektorával. U elemszáma éppen 1 T χ U, ahol 1 R V azon vektor, amely minden komponense 1. {0, 1} V elemeit a 0 x v 1, x v Z tetszőleges v csúcsra tett feltételekkel írhatjuk le. Egy 0-1 vektor akkor lesz klikk karakterisztikus vektora, ha tetszőleges össze nemközött u és v csúcsra legfeljebb egy esik bele. Azaz minden uv E(G), u v csúcsok esetén x u + x v 1. A jól ismerten N P-nehéz klikk probléma megfogalmazható mint egy IP probléma: Maximalizáljuk 1 T x-et, 0 x v 1, x v Z minden v csúcsra x u + x v 1 tetszőleges uv E(G), u v csúcsok esetén. A továbbiakban egy speciális IP problémákat mutatunk be, ahol mégis lehetséges a hatékony kezelés. 1-1
21. Példa. Adott G gráf élei közötti maximális párosítást keressük. A feladat formalizálása: Maximalizáljuk 1 T x-et (ahol 1 T = (1,..., 1), x R E(G) ) x párosítás karakterisztikus vektora. A feltételt algebraizálva az alábbi ekvivalens optimalizálási feladatot kapjuk: Maximalizáljuk 1 T x-et (ahol x R E(G) ) 0 x e 1, x e Z x e 1 minden v csúcsra. e:vie Azaz egy IP feladatot látunk. Az x e Z feltétel elhagyását LP relaxációnak nevezzük. Ezzel a versenyt megnyitjuk a nem egész koordinátájú versenyzők felé is. Természetesen a maximalizálási feladat optimális értéke megnőhet. A relaxált feladat egy kezelhető probléma/lp feladat: Maximalizáljuk 1 T x-et 0 x e 1, x e 1 minden v csúcsra. e:v I e Tétel. Ha G páros, akkor a ν optimális értékre ν = ν(g). Azaz LP relaxációval nyert feladat ekvivalens az eredetivel. Problémánk kezdeti alakját is átírhatjuk LP alakba. Eredetileg véges sok versenyzőnk volt, a párosítások karakterisztikus vektorai. Ezt a versenyzőhalmazt helyettesítve a konvex burkukkal egy ekvivalens problémát kapunk (célfüggvényünk lineáris!): Maximalizáljuk 1 T x x conv{χ M : M párosítás} A feltétel egy politópot ír le. Ez leírható véges sok féltér metszeteként, azaz algebrailag egy véges lineáris egyenlőtlenségrendszer megoldáshalmaza. A fentiek alapján páros gráfok esetén ez az egyenlőtlenségrendszer szépen felírható. A nem páros gráfok esetét a későbbiekben vizsgáljuk meg jobban. Végül egy N P-nehéz problémát formalizálunk/algebraizálunk. Az eredmény alakja egy QP alapfeladat. Az N P-nehézség/kezelhetetlenség azonban azt sugallja, hogy a konvex QP kis módosításai már kezelhetetlen problémák lehetnek. 22. Példa. Adott egy G gráf. Határozzuk meg a klikk paraméterét (ω(g)-t), azaz a legnagyobb klikk méretét. Láttuk, hogy a kérdés egy IP problémaként is megfogalmazható. Az alábbi tétel egy távolról sem nyilvánvaló, másik formalizálását adja ω(g) meghatározásának. Tétel. Legyen A a G gráf szomszédsági mátrixa és tekintsük az alábbi feladatot: 1-14
Maximalizáljuk x T Ax-et x 0, 1 T x = 1. Ekkor p = 1 1 ω(g). Bizonyítás. (1) Legyen K egy optimális (maximális elemszámú) klikk. Ekkor az lehetséges helyen c értéke (2) Tekintsük az x K = (0,..., 0, 1 ω,..., 1, 0,...,0) } {{ ω} K c(x K ) = x T K Ax K = 1 ω 2ω(ω 1) = 1 1 ω. x = ( v1 n1 N,..., v k nk N ) L Q V (G) vektort, ahol tehát k = V (G) és az n 1,...,n k N számok az N N szám egy partícióját adják. Ezek után a G gráfhoz rendeljünk egy G-mal jelölt gráfot a következő módon: A G gráf v i pontjának egy n i pontból álló élmentes V i független ponthalmaz felel meg G-ban (i = 1,...,k). Ha a v i, v j V (G) pontok szomszédosak, akkor a megfelelő V i, V j csúcshalmazok közt egy K ni,n j teljes páros gráfot teszünk (minden lehetséges keresztélt behúzunk). Ha a v i, v j V (G) pontokat nem köti össze él, akkor a megfelelő V i, V j csúcshalmazok között nincs él. A definiáció alapján G pontjainak száma V ( G) = k v i = N i=1 k i=1 n i N = N A konstrukció alapján G élszáma E( G) = {v i,v j } E(G) n i n j = 1 2 N2 v i v j E(G) n i n j N N = N2 2 xt Ax = N2 2 c(x). G legnagyobb klikkje ω(g) méretű. A Turán-tételt alkalmazva élszáma legfeljebb az ω(g) osztályú/n pontú Turán-gráf élszáma: ( E( G) ω(g) E(T N,ω(G) ) 2 )( N ω(g) ) 2 ( = 1 1 ) N 2 ω(g) 2. 1-15
A fentiek összegzése után kapjuk, hogy c(x) = 2 N 2 E( G) 1 1 ω(g), ha x L Q V (G). Ez egy sűrű halmaz L-ben, a célfüggvény folytonos, ami bizonyítja a hiányzó egyenlőtlenséget. Vagyis p = 1 1. ω(g) A tétel által adott formalizálásban egy kvadratikus alakot kell minimalizálni. A konvex QP alapfeladat feltételei közül csak a kvadratikus alak mátrixának pozitív szemidefinitsége hiányzik. Ezen feltétel elhagyása olyan alakot eredményez, ami képes reménytelen optimalizálási feladatok formalizálására. 1-16