Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaOszkár Fodor Megváltozta több, mint 7 éve
1
1 BME Híradástechnikai Tsz. 2000. komhal19.ppt Kommunikációs hálózatok tervezése 19. előadás Izsó Tamás Híradástechnikai tanszék 2003 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
2 BME Híradástechnikai Tsz. 2000. komhal19.ppt Rétegelt modell
3
3 BME Híradástechnikai Tsz. 2000. komhal19.ppt Tervezési funkciók topológia tervezés elvezetéstervezés nyalábolás elhelyezés szakaszolás hozzárendelés berendezéstervezés
4
4 BME Híradástechnikai Tsz. 2000. komhal19.ppt Tervezési feladatok I. Topológiai tervezés: a fizikai réteg gráfjának megtervezése a kliens igényréteg ismeretében. Elvezetés tervezés: kliens igény elvezetési nyomvonalának meghatározása több réteggel lentebb (gyakran a legalsó fizikai) réteg gráfján. Nyalábolás: k szintű azonos nyomvonal szaka- szokon haladó igények koncentrálása a nagyobb sávszélességű k+1-edik szintű összeköttetésekbe.
5
5 BME Híradástechnikai Tsz. 2000. komhal19.ppt Tervezési feladatok II. Elhelyezés: a k. rétegbeli kliens igények számára a k+1. rétegbeli szakaszpontok lehetséges helyének meghatározása. Szakaszolás: egy adott k. rétegben értelmezett kliens igény elvezetési nyomvonalának meghatározása a k+1. rétegbeli szerver réteg gráfján, az adott rétegre vonatkozó útvonalképzési vagy -választási szabályok figyelembevételével.
6
6 BME Híradástechnikai Tsz. 2000. komhal19.ppt Tervezési feladatok III. Hozzárendelés : egy adott k. rétegben értelmezett kliens igény hozzárendelése a jellegzetesen k+1. szerver réteg kapcsolatának meghatározott pozíciójához. Berendezéstervezés: k. rétegbeli kapcsolat hozzárendelése egy csomóponti berendezés létező vagy új portjához, ha szükséges akkor egy új berendezés létrehozása.
7
7 BME Híradástechnikai Tsz. 2000. komhal19.ppt Adatok Forrás: –Üzemeltetői adatbázis (nyílvántartó rendszer) (rendszerek, kábelek, szálak, alépítmények ) –Network management információk Formátum: –SQL adatbázis táblák, ASCII fájl, Excel formátum, XML Szabvány: ITU M1400
8
8 BME Híradástechnikai Tsz. 2000. komhal19.ppt Adatok konverziója Hálózati leírás Gráfok Transzformált gráf Algoritmus belső adatszerkezete (adatbázis relációk) (matematikai gráf, él és csomópont attributumokkal) (tiszta gráf élek, csomópontok hozzáadásával, törlésével) (LP megoldás számára egyenletek, mátrixok)
9
9 BME Híradástechnikai Tsz. 2000. komhal19.ppt Bottom-Up tervezési folyamat elvezetéstervezés nyalábolás és hozzárendelés rétegről- rétegre berendezéstervezés
10
10 BME Híradástechnikai Tsz. 2000. komhal19.ppt Top-Down tervezési folyamat lehetséges szakaszpontok elhelyezése rétegenként, szakaszolás és hozzárendelés rétegről- rétegre, berendezéstervezés
11
11 BME Híradástechnikai Tsz. 2000. komhal19.ppt Optimális hálózati topológia tervezése1. Műszaki alapprobléma kérdései: –milyen hálózati infrastruktúrán –milyen elvezetési nyomvonalakat Probléma jellege: –távlati tervezés (meglévő hálózat figyelembevételével) –nem részletes modellezés –közelítő módszerek (hálózat bővíthetőség)
12
12 BME Híradástechnikai Tsz. 2000. komhal19.ppt Optimális hálózati topológia tervezése 2. Egyszerűsítő feltételek: –egyutas elvezetés (mimimál) –lineáris költségfüggvény Kiinduló adatok: –igények –megengedett legbővebb gráf –költségjellemzők
13
13 BME Híradástechnikai Tsz. 2000. komhal19.ppt Optimális hálózati topológia tervezése 3. Adott a legbővebb gráf Elvezetés minimális költségű úton Feladat:
14
14 BME Híradástechnikai Tsz. 2000. komhal19.ppt Optimális hálózati topológia tervezése 4. Költségmodell
15
15 BME Híradástechnikai Tsz. 2000. komhal19.ppt Megoldási lehetőségek kimerítő kereséssel branch & bound technikával szimulált lehűtéssel lineáris programozással
16
16 BME Híradástechnikai Tsz. 2000. komhal19.ppt Topológiai optimalizálás B&B módszerrel 1. Kiindulás a teljes gráfból. Az élek elhagyásával kapjuk az alproblémákat. Alsó becslés –Fix költségre : minimális kifeszítőfa –Marginális költségre: minimálutas elvezetés –Ígéretesség
17
17 BME Híradástechnikai Tsz. 2000. komhal19.ppt Topológiai optimalizálás B&B módszerrel 2. minimálút éleiből hagyunk el egyet, nő az M minimális kifeszítőfából hagyunk el egy élt, nő az F
18
18 BME Híradástechnikai Tsz. 2000. komhal19.ppt Topológiai optimalizálás B&B módszerrel 3. (30/3 ) (20/2) költségek igények
19
19 BME Híradástechnikai Tsz. 2000. komhal19.ppt Topológiai optimalizálás B&B módszerrel 4. Alproblémák generálása egy él elhagyásával (branch). Költség és ígéretesség (becslés) kiszámítása. Legjobb költségnél rosszabb ígéretességű alproblémák elhagyása. Leállás, ha nincs több él elhagyásával származtatható gráf, melyen minden igény elvezethető.
20
20 BME Híradástechnikai Tsz. 2000. komhal19.ppt Topológiai optimalizálás B&B módszerrel 5. Lassú Egyutas elvezetés - megbízhatósági szempontból rossz.
21
21 BME Híradástechnikai Tsz. 2000. komhal19.ppt Topológiai optimalizálás heurisztika I. 1.n élt tartalmazó gráfból előállítjuk az összes n-1 élt tartalmazó gráfot. Ha már nincs megoldás, akkor vége az algoritmusnak. 2.A becslés után csak a legígéretesebbet tartjuk meg. Visszalépés 1-re.
22
22 BME Híradástechnikai Tsz. 2000. komhal19.ppt Topológiai optimalizálás heurisztika II. 1.n élet tartalmazó gráfból előállítjuk az összes n-1 élet tartalmazó gráfot. Ha már nincs megoldás, akkor vége az algoritmusnak. 2.A becslés után csak a legjobb költségűt tartjuk meg. Visszalépés 1-re.
23
23 BME Híradástechnikai Tsz. 2000. komhal19.ppt Topológiai optimalizálás - kétutas elérhetőség Cél: minden pontpár elérhető legyen minimum két pontfüggetlen úton. Megoldás: minden igényt két úton vezetünk el.
24
24 BME Híradástechnikai Tsz. 2000. komhal19.ppt Kétutas elvezetés Suurballe algoritmus –Beágyazott algoritmus: irányított gráfot kezelő Dijkstra algoritmus. –Két út előállítása gráf költség, és gráf transzformációk segítségével
25
25 BME Híradástechnikai Tsz. 2000. komhal19.ppt Suurballe algoritmus 1. Adott a G(V,A) gráf, és a c(A) élköltség. 1. G irányítatlan gráfra a minimál út előállítása Dijkstra algoritmus segítségével 2. Élek költségének a transzformálása c’(i,j)=c(i,j)+d(i)-d(j) ahol d(j) a kiindulási pontból a j pont legrövidebb távolsága 3. Gráf irányítottá tétele 4. Minimálúton a kezdő és végpont kivételével minden csomópont kettőzése v->va,vb
26
26 BME Híradástechnikai Tsz. 2000. komhal19.ppt Suurballe algoritmus 2. 5. Élek duplikálása (következő ábra) 6. Minimálút keresés a módosított gráfon 7. Duplikált pontok megszüntetése 8. A két úton lévő közös élek törlése 9. Két út elkészítése a meglévő élek alapján
27
27 BME Híradástechnikai Tsz. 2000. komhal19.ppt Suurballe - módosított gráf 1. Minimál út 2. minimál út
28
28 BME Híradástechnikai Tsz. 2000. komhal19.ppt Optimalizálási módszerek rövid áttekintése
29
29 BME Híradástechnikai Tsz. 2000. komhal19.ppt Optimalizálási feladat megfogalmazása célfüggvény korlát Ha f konvex g i konkáv h i lineáris, akkor konvex feladatról beszélünk. Lehetséges megoldások halmazát F -el jelöljük.
30
30 BME Híradástechnikai Tsz. 2000. komhal19.ppt Szomszédosság probléma megadása ( F, c ) szomszédossági függvény: követelmény: egzakt szomszéd : összes lokális minimum (maximum) pont szomszédos
31
31 BME Híradástechnikai Tsz. 2000. komhal19.ppt Diszkrét változó szomszédossága pl. utazóügynök probléma kétcserés szomszédos állapotra
32
32 BME Híradástechnikai Tsz. 2000. komhal19.ppt Kimerítő keresés 1 2 3 4 6 5 Mélységi keresés 1 2 3 4 5 6 789 1011 Szélességi keresés
33
33 BME Híradástechnikai Tsz. 2000. komhal19.ppt Branch and Bound eljárás fázisai Branch F -et egyszerűbb alproblémákra bontjuk (változók megkötésével), és az alproblémákra egyenként végezzük el az optimum keresését. Bound Megpróbálunk az egyes alproblé- mákra hatékony alsó becslést b( Fi ) adni. Az eddigi legjobb megoldásnál rosszabb becslés értékkel rendelkező alproblémákat el kell hagyni.
34
34 BME Híradástechnikai Tsz. 2000. komhal19.ppt B&B algoritmus általánosítása 1Aktív alprobléma Fi kiválasztása 2Az Fi alproblémának nincs megoldása, akkor az töröljük, különben b( Fi ) kiszámítása. 3b( Fi ) rosszabb, mint az eddig megtalált legjobb megoldás -, akkor az alproblémát törölni kell. 4b( Fi ) jobb (még) –Ha a költsége jobb mint az eddig megtalált legjobb megoldás, akkor ez lesz az eddig talált legjobb megoldás. –Alproblémák készítése, visszalépés lépés 1-re
35
35 BME Híradástechnikai Tsz. 2000. komhal19.ppt Adott: F, c, N (minimalizálás). 1Tetszőleges kezdeti állapot q 0 F, i=0. 2Szomszédos állapotok közül egyenlő valószínűséggel választunk egyet. q' N(q i ) 3Ha c(q') c(q i ), akkor q i+1 =q' különben q i+1 =q i. 4i=i+1. Leállás, ha egy adott lépésszám alatt nem találtunk jobb megoldást, vagy a maximális iteráció számát túlléptük. –Hátrány: lokális optimumba ragad. Hegymászó módszer
36
36 BME Híradástechnikai Tsz. 2000. komhal19.ppt Mohó módszer Módszer működése: –A hegymászó módszerre hasonlít, de a szomszédos állapotok közül mindig a legjobb költségűt választja ki. Hátránya: –ha a szomszédos állapotok számossága nagy, akkor a legjobb állapot kiválasztásával lassú –lokális minimumba ragadhat.
37
37 BME Híradástechnikai Tsz. 2000. komhal19.ppt Gradiens módszer Folytonos optimalizálási feladatoknál, ha a c célfüggvény differenciálható, akkor a gradiens irányába lévő szomszédos állapotokon keresztül érhetjük el a lokális optimumot. Így nem kell az összes szomszédos állapotot kiértékelni. Hátránya: lokális optimumba ragadhat.
38
38 BME Híradástechnikai Tsz. 2000. komhal19.ppt Véletlen keresés A megengedett megoldások (x F ) halmazából véletlenszerűen generálunk n- et, és ezek közül kiválasztjuk a legjobbat. Hátránya, hogy nem használja ki a lokális optimumot. A véletlen keresésnél nem kell szomszédos állapotokat definiálni.
39
39 BME Híradástechnikai Tsz. 2000. komhal19.ppt Tabu search Az algoritmus tulajdonságai: –A keresést véletlenszerűen kiválasztott helyről indítjuk. –A választható szomszédos átmenetek közül mindig a legjobb költségűt választjuk ki. –A már kiválasztott állapotátlépéseket kizárjuk. Ezzel próbálunk kijutni a lokális optimumból.
40
40 BME Híradástechnikai Tsz. 2000. komhal19.ppt Tabu search változók F megengedett állapotok c(q) : q F célfüggvény N(q) F szomszédos állapotok T(q) N(q) tabu (tiltott állapotok) halmaz A(q) T(q) aspiráns halmaz
41
41 BME Híradástechnikai Tsz. 2000. komhal19.ppt Tabu search algoritmus k=0;kezdeti állapot q 0 F ; T(s) üres, legjobb állapot q 0 While nincs vége do 1N(q k ), T(q k ), A(q k ) kiértékelése 2q k+1 (N(q k )-T(q k )) A(q k )) kiválasztása, ahol c(q k+1 ) a legjobb szomszédos állapot. 3Ha a q k+1 állapot jobb, mint az eddigi legjobb, akkor ez a legjobb állapot. 4 T(q), A(q) halmaz frissítése End
42
42 BME Híradástechnikai Tsz. 2000. komhal19.ppt Tabu és aspiráns halmaz Idő alapú szabály (Recency-Memory) –Időbélyeg - Time(x) = 0, ha még az x megoldást nem néztük meg, különben az utolsó látogatás ideje (iteráció száma) –x’’ = argmin{Time(x’) : x’’ N(x’)} Gyakoriság alapú szabály (Frequency-Memory) –Frequency(x) = 0 minden még nem bejárt x megoldásra, különben minden egyes használatkor növeljük eggyel. –x’’ = argmin{Frequency(x’) : x’’ N(x’)}
43
43 BME Híradástechnikai Tsz. 2000. komhal19.ppt Tabu search algoritmus jellemzése Hatékony módszer, de a kitiltott állapotok mentése sok memóriát igényel, és ezek kikeresése időigényes. Problémafüggő változók: –szomszédosság –tiltott állapotok –aspiráns halmaz
44
44 BME Híradástechnikai Tsz. 2000. komhal19.ppt Egész értékű programozás lineáris relaxációval Feladat: b( Fi ) kiszámítása lineáris programozás relaxációval
45
45 BME Híradástechnikai Tsz. 2000. komhal19.ppt Egész értékű programozás lineáris relaxációval (folyt.) Alproblémák előállítása
46
46 BME Híradástechnikai Tsz. 2000. komhal19.ppt Példa egész értékű programozásra Feladat:
47
47 BME Híradástechnikai Tsz. 2000. komhal19.ppt 1 2 3 4 x1x1 x2x2 1 2 3 4 x 3 =(0.0,1.5) b( F 3 )=-3.0 x 2 =(0.75, 2) b( F 2 )=-3.25 x 1 =(1.5, 2.5) b( F 1 )=-3.5 x 4 =(1.0,2.0) b( F 3 )=-3.0 x1x1 x2x2 x3x3 x4x4
48
48 BME Híradástechnikai Tsz. 2000. komhal19.ppt Simulated Annealing Kirkpatrick - kristályosodás vizsgálata atomok elrendeződése a kristályosodás folyamatában –nagy energiájú atomok az energiaminimumra való törekvés ellenébe is hathatnak –kis energiájú részecske már csak a lokális helyen a legkedvezőbb állapot betöltésére törekszik
49
49 BME Híradástechnikai Tsz. 2000. komhal19.ppt SA - fizikai analógia lassú lehűtés: –szabályos kristályszerkezet kialakítása –globális energiaminimum gyors lehűtés: –metastabil állapot –lokális energiaminimum részecskék energiaállapotát a Maxwell - Boltzmann eloszlás adja meg
50
50 BME Híradástechnikai Tsz. 2000. komhal19.ppt SA elve jobb állapotokat elfogadjuk rosszabb állapotokat csak p = p(T, c) valószínűséggel fogadjuk el p valószínűség: –az iteráció előrehaladtával csökken (T) –a kedvezőtlenebb megoldásoknak kisebb a valószínűsége ( c)
51
51 BME Híradástechnikai Tsz. 2000. komhal19.ppt SA algoritmus I. Minimalizálás 1Kezdeti inicializálás –T 0 kezdeti hőmérséklet megválasztása –q 0 kiinduló megoldás választás –i=0 lépésszám inicializálása 2q' N(q i ) megoldás előállítása
52
52 BME Híradástechnikai Tsz. 2000. komhal19.ppt SA algoritmus II. 3Ha c(q') > c(q i ) akkor egyébként q i+1 =q ' 4 Vége, ha a megoldás konvergált vagy elértük a maximális iterációszámot 5 T i+1 = f(T i ); i=i+1; goto 2
53
53 BME Híradástechnikai Tsz. 2000. komhal19.ppt SA alg. megjegyzések I. minden állapotból véges számú lépésben el lehet jutni egy másik tetszőleges állapotba szomszédos megoldások közül egyenlő valószínűséggel választunk szomszédossági függvény szimmetrikus
54
54 BME Híradástechnikai Tsz. 2000. komhal19.ppt SA alg. megjegyzések II. kritikus paraméter a T 0, és a lehűtés sebessége T változása f lehet: –geometriai –logaritmikus –lineáris a
55
55 BME Híradástechnikai Tsz. 2000. komhal19.ppt Multiplexálási hierarchia UTAS KOCSI VONAT PÁLYA SopronEger Bp/Keleti nyomvonal Győr Szombathelyről Hatvan Salgótarjánba Csorna Komárom Almásfüzítő Tatabánya Aszód Vámosgyörk Kál - Kápolna Füzesabony Nyalábolás
56
56 BME Híradástechnikai Tsz. 2000. komhal19.ppt A rendszerek összenyalábolhatósá- gának feltételei – A rendszer szakasza, más rendszer szakaszaival azonos nyomvonalon helyezkedjen el. – A szakaszok azonos struktúrákon (azonos gyűrűn vagy szövevényen) haladjanak keresztül. A struktúraváltás azonos csomópontokban történjen. – A rendszereket a nyalábolási szabály alapján egy rendszerbe lehessen összetenni.
57
57 BME Híradástechnikai Tsz. 2000. komhal19.ppt Vágási pontok csökkentése Magasabb fokszámú pont (vágási pont) Nem vágási pont
58
58 BME Híradástechnikai Tsz. 2000. komhal19.ppt Szomszédos állapotok
59
59 BME Híradástechnikai Tsz. 2000. komhal19.ppt A probléma méretének a csökkentése Kiinduló állapotban minden egy szakaszon kerül elvezetésre. Csak azokat az összeköttetéseket kell optimalizálni, amely túlcsordul a modulméreten.
60
60 BME Híradástechnikai Tsz. 2000. komhal19.ppt Optimalizálás szimulált lehűtés (SA) algoritmus felhasználásával Kezdeti inicializálás –kezdeti hőmérséklet megválasztása – minden rendszert egy szakaszon valósítunk meg, és nyalábolunk össze – i = 0 lépésszám inicializálása Nyalábolható rendszerek és vágási pontok bejelölése. Egyenletes valószinűséggel egy rendszer kiválasztása. Új vágási pont betétele vagy kivétele. Új állapot költségének a kiszámítás Döntés az új állapot elfogadásáról. Ha a megoldás konvergált vagy elértük a maximális iterációszámot vége, goto 2
61
61 BME Híradástechnikai Tsz. 2000. komhal19.ppt Költségfüggvény fix költség rendszerek számával arányos költség rendszerek hosszával arányos költség társrendszerek hasonló vágásának a költsége (jutalmazása) Kitöltöttségi költség
62
62 BME Híradástechnikai Tsz. 2000. komhal19.ppt Többszintű nyalábolás tervezés problémája
63
63 BME Híradástechnikai Tsz. 2000. komhal19.ppt Topológiai optimalizálás szimulált lehűtéssel Szomszédos állapotátmenetek –Egy él elhagyása –Egy él betétele élbeszúrás éltörlés 0 0 N-1 élek száma valószínűség 1
64
64 BME Híradástechnikai Tsz. 2000. komhal19.ppt Esettanulmány I.
65
65 BME Híradástechnikai Tsz. 2000. komhal19.ppt Szomszédos állapotok javítása Élcsere: Szomszédos állapotokat előállító műveletek valószínűsége
66
66 BME Híradástechnikai Tsz. 2000. komhal19.ppt Esettanulmány II.
67
67 BME Híradástechnikai Tsz. 2000. komhal19.ppt Hálózatbővítés Műszaki probléma: –Igény elvezetése a szabad helyek felhasználásával –Kétutas elvezetés biztosítása Pl. –VC12-es igények elveztése VC4S szabad pozíciókban –Függetlenség biztosítása a topológiai gráfon
68
68 BME Híradástechnikai Tsz. 2000. komhal19.ppt Szabad kapacitások lefoglalása VC4S gráf
69
69 BME Híradástechnikai Tsz. 2000. komhal19.ppt Elvezetés struktúrákon Struktúránként egy-egy önálló gráfot készítünk A különálló gráfokat a HUB pontokban kötjük össze
70
70 BME Híradástechnikai Tsz. 2000. komhal19.ppt Megoldás Suurballe algoritmus kierjesztése –Hatékony megoldás –További szempontok figyelembe vétele nem lehetséges. Lineáris programozási feladatként –Nem hatékony –Könnyen megadhatunk további megkötéseket is.
71
71 BME Híradástechnikai Tsz. 2000. komhal19.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
72
72 BME Híradástechnikai Tsz. 2000. komhal19.ppt Példa 1 2 3 4 x1x1 x2x2 1 2 3 4 c
73
73 BME Híradástechnikai Tsz. 2000. komhal19.ppt Egyszerű folyamprobléma I. Adatok:
74
74 BME Híradástechnikai Tsz. 2000. komhal19.ppt Egyszerű folyamprobléma II.
75
75 BME Híradástechnikai Tsz. 2000. komhal19.ppt Egyszerű folyamra példa I. c 24 =1 1 3 2 4 5 b1=1b1=1 b5=1b5=1 c 12 =1 c 34 =1 c 13 =5 c 35 =1 c 45 =1
76
76 BME Híradástechnikai Tsz. 2000. komhal19.ppt Egyszerű folyamra példa II. sorok lineárisan nem függetlenek
77
77 BME Híradástechnikai Tsz. 2000. komhal19.ppt Kéttermékes folyamprobléma
78
78 BME Híradástechnikai Tsz. 2000. komhal19.ppt LP algoritmus I. lp_solve –ftp://ftp.ics.ele.tue.nl/pub/lp_solve/ –fő adatszerkezet : lprec *lp; –adatszerkezet létrehozása: lp = make_lp(0, row_size ); –r1 == r2 ha abs(r1-r2) epsilon = eps ; –egy sor megszorítás megadása: add_constraint(lp, row, EQ, rh );
79
79 BME Híradástechnikai Tsz. 2000. komhal19.ppt LP algoritmus II. –költség megadása set_obj_fn(lp, row1); –probléma típusa set_minim(lp); –megoldás solve(lp) x=(a,b) A x=(b,a) A y = (a,b) A y = (b,a) A gh élek száma élek száma élek száma élek száma csp. száma-2 csp. száma-2
80
80 BME Híradástechnikai Tsz. 2000. komhal19.ppt Változók double* row1, *row2; double rh = 0.0; bool ret=false; int i, k; const double eps = 0.05; const int max_in_out_num = 10; *nroute1 = *nroute2 = 0; *route1 = NULL; *route2 = NULL; int row_size = 4*nedges+2*nnodes-4; if( row_size == 0 ) return false; row1 = (double*) malloc( (row_size+1)* sizeof(double) ); row2 = (double*) malloc( (row_size+1)* sizeof(double) ); lprec *lp; lp = make_lp(0, row_size ); lp->epsilon = eps;
81
81 BME Híradástechnikai Tsz. 2000. komhal19.ppt Folyamok for( i = 0; i<nnodes; i++ ) { Fill( row1, row1+row_size+1, 0.0 ); // tömb nullázása Fill( row2, row2+row_size+1, 0.0 ); for(k=0; k<nedges; k++ ) { int x1 = edges[k].from ; int x2 = edges[k].to ; if( x1 == i ) { row1[k+1] = 1.0; row1[k+nedges+1]=-1.0; row2[k+2*nedges+1] = 1.0; row2[k+3*nedges+1]=-1.0; } if( x2 == i ) { row1[k+1] = -1.0; row1[k+nedges+1]=1.0; row2[k+2*nedges+1] = -1.0; row2[k+3*nedges+1]=1.0; } rh = 0.0; if( i == from ) rh = 1.0; else if( i == to ) rh = -1.0; add_constraint(lp, row1, EQ, rh ); add_constraint(lp, row2, EQ, rh ); }
82
82 BME Híradástechnikai Tsz. 2000. komhal19.ppt Csomópontok függetlensége I. int idx; for( idx=i=0; i<nnodes; i++ ) { // A kezdo és végpontokat nem szabad kitiltani! if( i == from || i == to ) continue; Fill( row1, row1+row_size+1, 0.0 ); Fill( row2, row2+row_size+1, 0.0 ); for(k=0; k<nedges; k++ ){ if( Adjancent( k, i ) ) { row1[k+1] = row1[k+nedges+1] = 1.0; row2[k+2*nedges+1] = row2[k+3*nedges+1] = 1.0; } row1[ 4*nedges + idx +1 ] = -max_in_out_num; add_constraint(lp, row1, LE, 0.0 ); row2[ 4*nedges + idx + nnodes-2 +1 ] = -max_in_out_num; add_constraint(lp, row2, LE, 0.0 ); idx++; }
83
83 BME Híradástechnikai Tsz. 2000. komhal19.ppt Csomópontok függetlensége II. for(idx=i=0; i<nnodes; i++ ) { if( i == from || i == to ) continue; Fill( row1, row1+row_size+1, 0.0 ); row1[ 4*nedges + idx +1] = 1.0; row1[ 4*nedges + nnodes-2 + idx +1] = 1.0; add_constraint(lp, row1, LE, 1.001 ); idx++; }
84
84 BME Híradástechnikai Tsz. 2000. komhal19.ppt Költségek megadása for(i=1; i<=row_size; i++ ) set_int(lp, i, TRUE ); Fill(row1, row1+row_size+1, 0.0 ); for(i=1; i<=4*nedges; i++ )row1[i]= edges[(i-1)%nedges ].len; set_obj_fn(lp, row1); set_minim(lp); if( OPTIMAL == solve(lp) ){ for( i=0; i<nedges; i++ ) { if(fabs(lp->best_solution[lp->rows+i+1]-1.0)<2*eps || fabs(lp->best_solution[lp->rows+i+nedges+1]-1.0) < 2*eps ) AddRoute( i, route1, nroute1 ); if(fabs(lp->best_solution[lp->rows+i+2*nedges+1]-1.0) < 2*eps || fabs(lp->best_solution[lp->rows+i+3*nedges+1]-1.0) < 2*eps ) AddRoute( i, route2, nroute2 ); } ret = 1; } else ret = 0; delete_lp(lp);
85
85 BME Híradástechnikai Tsz. 2000. komhal19.ppt Elvezetés rétegelt gráfon topológiai pont gráfél VC4S link Csomópont függetlenséget a topológiai gráfon kell vizsgálni. A programot a -tel jelölt helyeken kell módosítani.
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.