Totális Unimodularitás és LP dualitás Tapolcai János tapolcai@tmit.bme.hu 1
Optimalizálási feladat kezelése NP-nehéz Hatékony megoldás vélhetően nem létezik Jó esetben hatékony algoritmussal közelíteni tudjuk az optimális megoldást Deklaratív nyelv segítségével Elég a problémát definiálni A megoldását bízzuk a számítógépre Könnyű megoldhatatlanul bonyolult feladatot megfogalmazni 2
Matematikai program Változók Sokdimenziós változó Célfüggvény Sokdimenziós függvény Kényszerek Egyenletek és egyenlőtlenségek Típusok Célfüggvény lineáris, kvadratikus, nem-lineáris Fontos szempont, hogy a függvény konvex-e? Kényszerek lineáris, kvadratikus, nem-lineáris Fontos szempont, hogy a probléma tér konvex-e? Változók folytonosak vagy egészértékűek? 3
Matematikai programozás Konvex programozás: célfüggvény konvex függvények és a kényszerek konvex halmazt határoznak meg Lineáris Programozás: minden lineáris Szemidefinit programozás: Lineáris költségfüggvény és olyan mátrix aminek elemei lineáris függvények Kvadratikus programozás: a célfüggvény kvadratikus függvény, a kényszerek lineárisak Nemlineáris programozás: a célfüggvény és a változók lehetnek nem lineáris függvények Konvex-e? Egészértékű Lineáris programozás: minden lineáris, de a változók között van ami csak egész lehet. 4
Egészértékű Lineáris Program (ILP) Változók (egészek és valósak) MILP Költségfüggvény lineáris függvény Kényszerek a változók lineáris egyenletei min c T x A x b c T A x b 5
ILP a legrövidebb útkeresésre Változók Élekhez rendelve 1 ha az él része az útnak 0 - különben Költségfüggvény Az él költsége Kényszerek Folyam megmaradás csomópontonként s és t pont kivétel 6
Példa ILP a legrövidebb út problémára 2 1 3 forrás 1 3 3 1 1 4 nyelő A legrövidebb út 1-2-3-4 7
Gráf pontjai 2 x x 6 1 Mátrix formában 1 x 2 x 3 x 4 3 x 5 4 x i változók binárisak Él költség 1 3 1 1 1 3 Megoldás: min 1 0 1 0 1 0 x 1 x 2 x 3 x 4 x 5 x 6 1: -1-1 = -1 2: 1-1 1-1 = 0 3: 1 1-1 -1 = 0 4: 1 1 = 1 8
A Duális definíciója Primál min c T x Duál max b T y A x b y 0 x 0 A T y c Gyenge dualitás tétel c T x y T Ax y T b Erős dualitás tétel Az optimális megoldásra = c T y T A
Duális példa Primál Duál költség 1 3 1 1 1 3 min 1 0 1 0 1 0 x 1 x 2 x 3 x 4 x 5 x 6 1: -1-1 -1 2: 1-1 1-1 0 3: 1 1-1 -1 0 4: 1 1 1 költség -1 0 0 1 max 0 1 2 3 π 1 π 2 π 3 π 4 x 1-1 1 1 x 2-1 1 3 x 3-1 1 1 x 4 1-1 1 x 5-1 1 1 x 6-1 1 3 π 2 1 + π 1 10
Duális változók értelmezése 1: π 2 1 + π 1 π 2 x 6 : π 4 3 + π 2 költség -1 0 0 1 max 0 1 2 3 π 3 1 + π 2 π 1 x 3 x 2 : π 3 3 + π 1 π j költség(i,j) + π i π j : a j pont a forrástól való távolsága π 1 = 0 x 4 π 3 π 4 π 2 1 + π 3 x 5 : π 4 1 + π 3 π 1 π 2 π 3 π 4 x 1-1 1 1 x 2-1 1 3 x 3-1 1 1 x 4 1-1 1 x 5-1 1 1 x 6-1 1 3 11
A legrövidebb út keresése π 2 1 π 2 =1 π 2 π 4 4 költség -1 0 0 1 max 0 1 2 3 π 1 π 2 π 3 π 4 x 1-1 1 1 π 1 =0 π 1 π 3 3 π 3 2 π 3 π 3 =2 π 4 π 4 3 π 4 =3 x 2-1 1 3 x 3-1 1 1 x 4 1-1 1 x 5-1 1 1 x 6-1 1 3 Dijkstra algoritmusa arra ad módszert, hogy a duális felírás kényszereit milyen sorrendben dolgozzuk fel 12
Egészértékűség kényszerek Duális felírás megértése segít polinom-idejű algoritmus megtalálásában ILP-ből elhagytuk az egészértékűség kényszereket relaxált LP Kaptunk egy polinom-idejű algoritmust Ez egy speciális ILP volt, amikor a lineáris program megoldása egészértékű is egyben Általánosan ILP-re ez már nem igaz NP-nehéz ILP LP = DLP IDLP 13
Mikor hagyhatjuk el az egészértékűség kényszereket? Ha az LP relaxált feladat egész megoldást ad Elégséges feltétel Gabriel Cramer svájci matematikus (1704-1752) Módszert adott lineáris egyenletrendszerek megoldására determinánsok segítségével A másik lehetőség a Gauss elimináció 14
Cramer szabály 2x2 mátrixra Lineáris egyenletrendszer Együttható Matrix ax+by=e cx+dy=f A a c b d e f Ha det A 0, akkor a rendszernek csak egy megoldása létezik: x det e f det b d A és y det a c det e f A
Példa Cramer szabályra Bemenet: 8x+5y=2 2x-4y=-10 11 12 A a11a 22 a12 a21 a21 a22 - a a + Együttható mátrix: 8 2 5 4 8 2 5 4 ( 32) (10) 42 Azaz x 2 5 10 4 42 és y 8 2 2 10 42
1 42 42 42 50) ( 8 42 4 10 5 2 x 2 42 84 42 4 80 42 10 2 2 8 y A megoldás Bemenet: 8x+5y=2 2x-4y=-10
Általánosan b 0 Cramer szabály: adott egy inhomogén lineáris egyenletrendszer nemszinguláris, kvadratikus együtthatómátrixszal Ax=b ekkor a megoldás létezik és az i-ik változó értéke x i = det (Ai ) det (A) ahol A i -t úgy kapjuk, hogy az A mátrix i-ik oszlopát lecseréljük b-re. 18
Lineáris program Egyenlőtlenségeink a 11 x 1 + a 12 x 2 + + a 1n x n b Segédváltozók segítségével egyenlőségé egészítjük ki c a 11 x 1 + a 12 x 2 + + a 1n x n - z 1 b T z 1 0 A x b z sarokpont 19
Lineáris program Egyenlőtlenségeink a 11 x 1 + a 12 x 2 + + a 1n x n b Segédváltozók segítségével egyenlőséggé egészítjük ki c T a 11 x 1 + a 12 x 2 + + a 1n x n - z 1 b z 1 0 A E x b z sarokpont 20
3x3-as mátrix determinánsa 1 2 3 A 4 5 6 7 8 9 Mi lesz ennek a determinánsa? 1 2 3 4 5 1 2 1 2 A 4 5 6 3 6 9 7 8 7 8 4 5 7 8 9 33 66 93 0 21
Cramer szabály 3x3 mátrixra Lineáris egyenletrendszer Együttható Matrix ax+by+cz =j dx+ey+fz =k gx+hy+iz =l Ha det A 0, akkor a rendszernek csak egy megoldása létezik: A f e c b l i h c b k i h f e j A i h l f e k c b j x det det det det det det i h g f e d c b a A l k j 1 vagy -1 egész 0, 1 vagy -1
LP együttható mátrix Egy bázis megoldásra a Cramer szabálya alapján Ahol A i -t úgy kapjuk, hogy az A mátrix i-edik oszlopát lecseréljük b-re. x egész ha a nevező det(a)= +1 vagy -1 és a számláló pedig egész
Totálisan unimoduláris mátrixok Def. A mátrix TU ha minden négyzetes részmátrixának aldeterminánsa +1, -1, vagy 0. Tétel (Hoffman & Kruskal (1956)): Ha az együttható mátrix TU és b egész értékű vektor és az LP relaxált feladat megoldható, a bázismegoldása egész értékű lesz. -1-1 1-1 1-1 1 1-1 -1 1 1 24
Példa TU mátrixra TU mátrix minden eleme: +1,0,-1. Guass elimináció Azaz x egész
2. Példa TU mátrixra Ez nem TU mert 2 a determinánsa. x lehet tört is.
Műveletek TU mátrixokkal Egy TU mátrix TU marad, ha 1. Transzponáljuk a determináns transzponálásra invariáns 2. Egy sorát (oszlopát) -1-gyel szorozzuk a determináns 1-szeresére változik, ha a mátrix egy sorát (oszlopát) 1-gyel szorozzuk 3. Hozzáadunk egy egységvektort új sorként (oszlopként) B = 1 at 0 B Az indukció miatt B determinánsa -1,0, vagy +1. 28
TU mátrixok Egy TU mátrix TU marad, ha 4. Egyik sorát (oszlopát) új sorként (oszlopként) hozzáadjuk Ha a megduplázott sor (oszlop) már egyszer benne volt a részmátrixban, akkor a determináns 0, egyébként a részmátrix A sorainak (oszlopainak) permutációjával előáll, így determinánsa változatlan Polinom időben eldönthető, hogy egy mátrix TU. 29
Illeszkedési mátrix TU Tétel: Irányított gráf A illeszkedési mátrixa TU. Biz. Legyen B egy t t négyzetes részmátrixa A-nak. Indukcióval bizonyítjuk t (t = 1 triviális). Három esetet kell vizsgálni: 1. B-ben van egy csupa nulla oszlop det(b) = 0. 2. B-ben van egy oszlop egy darab 1-sel. Az oszlop segítségével számoljuk ki det(b), és az índukció alapján teljesül az állítás. 3. B minden oszlopában egy darab 1-es és egy darab 1-es található. Ekkor az első sorhoz adjuk hozzá az összes többi sort, így nulla sorvektort kapnánk det(b) = 0 30
TU mátrix? Nem 32
TU mátrix? Nem 33
TU mátrix? Nem, mert -2 a aldeterminánsa 34
TU mátrix? nem Igen, mert csak 1 egyest tartalmazó oszlop és sorvektorokat adtunk nem, mert V részmátrix 35
Buszmegálló probléma Input P felhasználó S buszmegálló pozíció egyedi költséggel Kérdés: Hol lehetnek megállók, hogy ne legyen d-nél messzebb bármely felhasználótól 36
TU mátrix? Igen Consecutive 1 property 37
Consecutive 1 property A rész-mátix oszlopait úgy vegyük, hogy az 1 ek folyamatosak maradnak. Vonjuk ki minden oszlopból a következő oszlopot B mátrix oszlopait jelöljük B oszlopai ekkor B és B determinánsa ugyanaz B -ben minden sorban legfeljebb két nem nulla elem szerepelhet egy -1 az intervallum kezdetén és egy 1- es a végén. 38
Példa 1 1 1 0 0 0 1 0 0 1 1 1-1 0 0 1 B 0 0 1 1 0 0 0 1 0-1 0 1 0 0-1 1 B 39
TU mátrix? nem 40
Páros gráf Páros gráf illeszkedési mátrixa edges +1 vertices -1 Legfeljebb az előjele változik a determinánsnak
Maximális párosítás v Páros gráf illeszkedési mátrixa teljesen unimodiláris. Azaz a feladat megoldható polinom időben.
Maximális párosítás általános gráfban v Az LP nem TU mátrixot ad. Ezért voltak Edmond eredményei jelentősek.
Összefoglalás Hogyan írjunk fel egy egészértékű lineárisprogramot A duális Duális változók Mikor lehet az egészértékűség feltételt elhagyni Teljesen Unimoduláris (TU) mátrixok Hogyan ismerhető fel egy TU mátrix 44