1 BME Híradástechnikai Tsz komhal20.ppt Kommunikációs hálózatok tervezése 20. előadás Izsó Tamás Híradástechnikai tanszék 2000 Budapesti Műszaki Egyetem Villamosmérnöki kar Műszaki informatika szak Kommunikációs hálózatok szakirány V. évf., 9. félév
2 BME Híradástechnikai Tsz komhal20.ppt Genetikus Algoritmus GA egyszerre több megoldásból indulunk ki iteráció során megpróbáljuk a jobb megoldásokban rejlő előnyt a következő megoldáshalmazba (generációba) átörökíteni a gén egy megoldás reprezentációja, azaz a szabad változók vektora
3 BME Híradástechnikai Tsz komhal20.ppt GA - operátorok keresztezés: két megoldás ötvözése mutáció: véletlenszerűen új megoldás generálása szelekció : régi megoldásokból a keresztezéshez és a mutációhoz egy-egy egyed kiválasztása az életképesség figyelembe vételével
4 BME Híradástechnikai Tsz komhal20.ppt GA - algoritmus kezdeti populáció előállítása egyes megoldások jóságának a kiértékelése while a leállási feltétel nem teljesül do for populáció méret / 2 do szelekció (2 egyed) meghatározott valószínűséggel keresztezés vagy mutáció végrehajtása utódok jóságának a kiszámítása utódok beillesztése az új generációba end for régi populáció lecserélése az új populációra konvergencia feltétel kiértékelése end while
5 BME Híradástechnikai Tsz komhal20.ppt GA - szelekció Életképességgel (fitness) egyenesen arányos valószínűséggel Életképesség által meghatározott sorrend alapján –független az egyedek életképességének az eloszlásától
6 BME Híradástechnikai Tsz komhal20.ppt GA - rulettkerék szelekció Fitness a:1 b:3 c:5 d:3 e:2 f:2 g:8 a b c d e f g
7 BME Híradástechnikai Tsz komhal20.ppt GA - keresztezés két szülőből - régi megoldásból - két gyereket - új megoldásokat - hozunk létre N pontos keresztezés –két megoldást N azonos helyen felvágjuk, így N+1 darab szegmens keletkezik –az új megoldáshoz az egyik részt az első szülő szegmenséből a másikat a másik szülőtől vesszük
8 BME Híradástechnikai Tsz komhal20.ppt GA - 1-pontos keresztezés szülők gyerekek
9 BME Híradástechnikai Tsz komhal20.ppt GA - 2-pontos keresztezés szülők gyerekek
10 BME Híradástechnikai Tsz komhal20.ppt GA - egyenletes keresztezés szülők gyerek keresztezési maszk
11 BME Híradástechnikai Tsz komhal20.ppt GA - egyenletes keresztezés felhasználása utazóügynök problémára szülők gyerek keresztezési maszk
12 BME Híradástechnikai Tsz komhal20.ppt GA - új megoldások beillesztése N darab új megoldás után lecseréljük a régi populációt az újra mindjárt betesszük az új egyedeket –a legrégebbi, –a legrosszabb, –életképességük alapján a legrosszabbat a legnagyobb valószínűséggel kiválasztott helyére
13 BME Híradástechnikai Tsz komhal20.ppt GA - leállási feltétel maximális iterációszám adott lépésszám közben nem találtunk jobb megoldást az egyedek halmaza sok hasonló megoldást tartalmaz
14 BME Híradástechnikai Tsz komhal20.ppt Lineáris programozás Feladat formalizálása: –A m n-es mátrix –c költségvektor 1 n-es sorvektor –b korlát, m 1-es oszlopvektor
15 BME Híradástechnikai Tsz komhal20.ppt Példa x1x1 x2x c
16 BME Híradástechnikai Tsz komhal20.ppt Alapfogalmak Azokat az x-eket, melyre teljesül az Ax b, x 0 lehetséges megoldásoknak nevezzük. Azt a lehetséges megoldást, melyre cx maximális (minimális) optimális megoldásnak nevezzük.
17 BME Híradástechnikai Tsz komhal20.ppt Szabályos formára alakítás szabályos alak:
18 BME Híradástechnikai Tsz komhal20.ppt Bázismegoldás Jelölés: B a bázisban lévő oszlopok, N pedig a nembázis elemek indexének a halmaza.
19 BME Híradástechnikai Tsz komhal20.ppt Bázisra példa lehetséges bázis nem lehetséges bázis
20 BME Híradástechnikai Tsz komhal20.ppt Geometriai értelmezés konvex lineáris kombináció: Az a i vektorok konvex lineáris kombinációi konvex halmazt alkotnak. Az Ax=b egyenlet megoldásai konvex halmazt alkotnak. Biz.:
21 BME Híradástechnikai Tsz komhal20.ppt Konvex halmaz belső pont - létezik sugarú környezet, melyben az összes pont eleme a halmaznak extrémális pont - nem felezőpontja a konvex halmaz egyetlen szakaszának sem csúcspont - x csúcspont, ha p hogy y-ra px<py x,y F konvex poliéder - véges az extrémális pontjainak a száma
22 BME Híradástechnikai Tsz komhal20.ppt Konvex halmazra példa x1x belső pont határpont extrémális pont konvex poliéder p1p1 p2p2 p 1 +(1- ) p 2
23 BME Híradástechnikai Tsz komhal20.ppt Csúcspont x1x nem csúcs px=1.5 px=2 csúcsok
24 BME Híradástechnikai Tsz komhal20.ppt Egyéb alakzatok végtelen sok extrémális pont nem konvex nem poliéder p1p1 p2p2
25 BME Híradástechnikai Tsz komhal20.ppt Aktív korlát definíció D x1x1 x3x3 x2x2 P={(x 1,x 2,x 3 }| x 1 +x 2 + x 3 =1 x 1, x 2,x 3 0 Aktív korlátnak nevezzük azokat, melyre az a i x*=b i feltétel teljesül. D pontban az aktív korlátok: x 1 + x 2, + x 3 =1 és x 2, =0 E
26 BME Híradástechnikai Tsz komhal20.ppt Kapcsolat a bázismegoldás és az extrémális pontok között Tétel: A normálrendszer minden bázismegoldása a lehetséges megoldásoknak extrémális pontjai és megfordítva a megengedett megoldások halmazának minden extrémális pontja bázismegoldás. bázismegoldás extrémális pont
27 BME Híradástechnikai Tsz komhal20.ppt Csúcspont extrémális pont legyen: akkor: tehát
28 BME Híradástechnikai Tsz komhal20.ppt Extrémális pont bázismegoldás 2Tf.: hogy az extrémális (y (0) ) pont nem bázismegoldás. Ez azt jelenti, hogy több mint m oszlop nem 0. m+1 oszlopot tartalmazó együtthatómátrix lineárisan összefüggő nem extrémális
29 BME Híradástechnikai Tsz komhal20.ppt Bázismegoldás csúcspont legyen : x* bázismegoldás, és továbbá: maximalizálási probléma feltétele x* esetén m aktív megszorítás él, ezért a bázismegoldásnak csak egy lehetséges értéke van.
30 BME Híradástechnikai Tsz komhal20.ppt Célfüggvény optimális helye Lineáris célfüggvény a maximumát (minimumát) az extrémális pontba veszi fel. Adott: konvex poliéder csúcspontja célfüggvény r a legnagyobb költségű csúcs tetszőleges megoldás Bizonyítás:
31 BME Híradástechnikai Tsz komhal20.ppt Megengedett irány d megengedett irány-ba mutató vektor, ha szomszédos állapot: egy nembázis elemet a bázisba teszünk szomszédos állapotok irányvektora: be akarjuk hozni a bázisba a többi nembázis elem 0 marad kérdés hogy hogy változik
32 BME Híradástechnikai Tsz komhal20.ppt Irányvektor szemléltetése x1x d A B
33 BME Híradástechnikai Tsz komhal20.ppt Áttérés másik bázisra I. Tudjuk, hogy
34 BME Híradástechnikai Tsz komhal20.ppt Áttérés másik bázisra II. rövidítések: legyen: megszorítás: következmény: új bázis:
35 BME Híradástechnikai Tsz komhal20.ppt Bázisváltás hatása a költségre Nem bázisváltozó redukált költsége Bázis redukált költsége Összköltség változása: -vel nő
36 BME Híradástechnikai Tsz komhal20.ppt Megjegyzések Maximalizálási problémánál, ha akkor elértük az optimumot Konvex kónuszunk van, a megengedett állapotok tere nem zárt.
37 BME Híradástechnikai Tsz komhal20.ppt Lineáris programozása visszatekintés matematikai formalizáció (bázismegoldás) geometriai értelmezés (csúcspont, extrémális pont) csúcspont extrémális pont bázismegoldás csúcspont optimális megoldás a csúcspontban van szomszédos megoldások irányvektor bázismegoldás váltásának a hatása a költségre
38 BME Híradástechnikai Tsz komhal20.ppt Összefoglalás Szomszédos állapotok, az élek által összekötött csúcspontok. Legjobb megoldást a csúcspontokban kell keresni. A redukált költség megadja, hogy melyik csúcson van jobb megoldás Redukált költség negatív, elértük a maximumot.
39 BME Híradástechnikai Tsz komhal20.ppt Szimplex algoritmus Lehetséges A B bázismegoldás választás A nembázis elemek redukált költségének a kiszámítása összes akkor optimális megoldáshoz jutottunk, különben választunk egy j-t melyre kiszámítása. Ha minden eleme negatív, akkor konvex kónuszunk van. Nem jó a modell. kiszámítása Áttérés az új bázisra visszalépés a 2 -es pontra
40 BME Híradástechnikai Tsz komhal20.ppt Szimplex példa 1. Inicializálás:
41 BME Híradástechnikai Tsz komhal20.ppt Szimplex példa 2. x 5 változó kerül be a bázisba x 4 kerül ki a bázisból
42 BME Híradástechnikai Tsz komhal20.ppt Degenerált megoldás Több bázisváltozó is kielégíti a feltételt. Az új bázisban egy vagy több 0 értékű bázisvátozó is van. Az eddigi megfontolásokat ez nem érinti, =0 értékkel lehet áttérni a másik bázisra. A költség értéke nem változik. Végtelen ciklus alakulhat ki a báziscserénél, ezt valahogy el kell kerülni. (Programozási feladat, a már bejárt bázisokat fel kell jegyezni)
43 BME Híradástechnikai Tsz komhal20.ppt Példa degenerált megoldásra D C
44 BME Híradástechnikai Tsz komhal20.ppt Szimplex módszer hatékonysága Létezik olyan báziscsere sorrend, hogy 2 n -1 báziscserére van szükség. Minden pivot szabályhoz megadható egy olyan költségfüggvény, hogy minden csúcsot be kell járni.
45 BME Híradástechnikai Tsz komhal20.ppt Konvex poliéder átmérője Két legtávolabbi pont közt lévő lépések számát jelöljük. Két dimenziós és m oldalú poliéder átmérője: Kalai és Kleitman becslése:
46 BME Híradástechnikai Tsz komhal20.ppt Kapcsolat a változók száma és a megkötések között Normál alak x 3,x 4,x 5 slack változó
47 BME Híradástechnikai Tsz komhal20.ppt Egyszerű folyamprobléma gráf csomópontok élek folyammegmaradás kapacitáskorlát a rendszerbe befolyó folyam egyenlő a rendszerből kifolyó folyam nagyságával célfüggvény
48 BME Híradástechnikai Tsz komhal20.ppt Egyszerű folyamra példa I. c 24 = b 1 =2 b 5 =2 c 12 =1 c 34 =1 c 13 =5 c 35 =1 c 45 =1
49 BME Híradástechnikai Tsz komhal20.ppt Egyszerű folyamra példa II. sorok lineárisan nem függetlenek
50 BME Híradástechnikai Tsz komhal20.ppt Egyszerű folyamra példa III a. ábra b. ábra c ábra Megjegyzések: báziscsere új él a fába degenerált megoldás Folyamproblémákra léteznek más hatékonyabb algoritmusok: network simplex, egyéb
51 BME Híradástechnikai Tsz komhal20.ppt Többtermékes folyamprobléma I. Jelöljük -lel azt a folyam nagyságát az (i,j) élen, amely a k csomópontból ered, és az l csomópontba végződik. A az élek halmaza. Belépő, kilépő folyam (igény)
52 BME Híradástechnikai Tsz komhal20.ppt Többtermékes folyamprobléma II. Korlátok: kapacitáskorlát
53 BME Híradástechnikai Tsz komhal20.ppt Nincs kapacitáskorlát, akkor az igényeket egyenként el lehet vezetni. Megoldás minimálút kereső algoritmussal, pl. Dijkstra algoritmus felhasználásával. Nevezzük az 1 és 3 megkötéseket egyszerűnek, a 2-est bonyolultnak. Többtermékes folyamprobléma (megjegyzés)
54 BME Híradástechnikai Tsz komhal20.ppt Lagrange relaxáció Feladat: bonyolult megszorítás egyszerű megszorítás Lagrange relaxáció
55 BME Híradástechnikai Tsz komhal20.ppt Lagrange relaxációhoz megjegyzés a büntetőfüggvény Ha a bonyolult korlátot megsértjük, akkor csökken z LR értéke Ha a korlát teljesül nő z LR értéke =0 esetén az eredeti költségfüggvényt kapjuk vissza.
56 BME Híradástechnikai Tsz komhal20.ppt Lagrange példa Z LR ( ) megsérül a feltétel teljesül a feltétel 0 max Z
57 BME Híradástechnikai Tsz komhal20.ppt Lagrange megoldása változóra nézve ez egy iteratív módszer
58 BME Híradástechnikai Tsz komhal20.ppt Dualitás - motiváció
59 BME Híradástechnikai Tsz komhal20.ppt Dualitás I.
60 BME Híradástechnikai Tsz komhal20.ppt Duális probléma g(p) p megsérül a feltétel teljesül a feltétel 0 max g
61 BME Híradástechnikai Tsz komhal20.ppt Duális II
62 BME Híradástechnikai Tsz komhal20.ppt Duális III. A g(p) minimalizálásánál minket a megoldás nem érdekel! Duális probléma például: max folyam - minimális vágat
63 BME Híradástechnikai Tsz komhal20.ppt Gyenge dualitás tétele Ha x * egy primál lehetséges megoldás, és u * egy lehetséges duális megoldás, akkor Bizonyítás Erős dualitás tétele:
64 BME Híradástechnikai Tsz komhal20.ppt Késleltetett oszlop generálás A m x n-es mátrix n nagyon nagy! Egy lehetséges bázismegoldáshoz csak m oszlopra van szükség. Gyakorlati problémánál sok oszlop sohasem kerül a bázisba.
65 BME Híradástechnikai Tsz komhal20.ppt Színezési probléma Adott G=(V,E) H független halmaz: i,j H, i,j V-nek, de (i,j) A-nak H maximálisan független halmaz, ha egy ilyen halmaznak sem részhalmaza.
66 BME Híradástechnikai Tsz komhal20.ppt Színezési probléma formalizáció X ik értéke legyen 1, ha az i V csomópont k színű, egyébként 0 Sok megszorítás.
67 BME Híradástechnikai Tsz komhal20.ppt Színezési probléma maximális független halmazzal s S, x s =1ha s-et kiválasztottuk, egyébként 0 Az összes maximális független halmazt nem lehet előállítani.
68 BME Híradástechnikai Tsz komhal20.ppt IS megoldása Induljunk ki az S S részhalmazából, ahol a feltételek teljesíthetők. Oldjuk meg az IS problémát lineáris valós értékűre. Keressünk egy s’ S halmazt, amivel jobb eredményt érhetünk el, és vegyük be S -be.
69 BME Híradástechnikai Tsz komhal20.ppt IS megoldás MWIS Legyen i a lineáris megoldásból adódó korlát. Ez legyen a csomópontok súlya. Oldjuk meg a valósértékű megoldás duális problémáját. Ha a megoldás 1-nél nagyobb, akkor az így kapott maximálisan független halmaz javít az eredeti probléma megoldásán. Ha 1-nél kisebb, akkor megtaláltuk a legjobb megoldást.
70 BME Híradástechnikai Tsz komhal20.ppt MWIS formalizációja MWIS-t ebben a formában továbbra is nehéz megoldani. Jó SA, B&B és egyéb hatékony heurisztikus megoldások léteznek.