1 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz komhal19.ppt Rétegelt modell
3 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz komhal19.ppt Optimális hálózati topológia tervezése 4. Költségmodell
15 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz komhal19.ppt Topológiai optimalizálás B&B módszerrel 3. (30/3 ) (20/2) költségek igények
19 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz komhal19.ppt Topológiai optimalizálás B&B módszerrel 5. Lassú Egyutas elvezetés - megbízhatósági szempontból rossz.
21 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz komhal19.ppt Suurballe algoritmus É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 BME Híradástechnikai Tsz komhal19.ppt Suurballe - módosított gráf 1. Minimál út 2. minimál út
28 BME Híradástechnikai Tsz komhal19.ppt Optimalizálási módszerek rövid áttekintése
29 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz komhal19.ppt Diszkrét változó szomszédossága pl. utazóügynök probléma kétcserés szomszédos állapotra
32 BME Híradástechnikai Tsz komhal19.ppt Kimerítő keresés Mélységi keresés Szélességi keresés
33 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz komhal19.ppt Egész értékű programozás lineáris relaxációval (folyt.) Alproblémák előállítása
46 BME Híradástechnikai Tsz komhal19.ppt Példa egész értékű programozásra Feladat:
47 BME Híradástechnikai Tsz komhal19.ppt x1x1 x2x 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz komhal19.ppt Vágási pontok csökkentése Magasabb fokszámú pont (vágási pont) Nem vágási pont
58 BME Híradástechnikai Tsz komhal19.ppt Szomszédos állapotok
59 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz komhal19.ppt Többszintű nyalábolás tervezés problémája
63 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz komhal19.ppt Esettanulmány I.
65 BME Híradástechnikai Tsz komhal19.ppt Szomszédos állapotok javítása Élcsere: Szomszédos állapotokat előállító műveletek valószínűsége
66 BME Híradástechnikai Tsz komhal19.ppt Esettanulmány II.
67 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz komhal19.ppt Szabad kapacitások lefoglalása VC4S gráf
69 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz komhal19.ppt Példa x1x1 x2x c
73 BME Híradástechnikai Tsz komhal19.ppt Egyszerű folyamprobléma I. Adatok:
74 BME Híradástechnikai Tsz komhal19.ppt Egyszerű folyamprobléma II.
75 BME Híradástechnikai Tsz komhal19.ppt Egyszerű folyamra példa I. c 24 = b1=1b1=1 b5=1b5=1 c 12 =1 c 34 =1 c 13 =5 c 35 =1 c 45 =1
76 BME Híradástechnikai Tsz komhal19.ppt Egyszerű folyamra példa II. sorok lineárisan nem függetlenek
77 BME Híradástechnikai Tsz komhal19.ppt Kéttermékes folyamprobléma
78 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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, ); idx++; }
84 BME Híradástechnikai Tsz 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 BME Híradástechnikai Tsz 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.