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

Hasonló dokumentumok
Méréselmélet: 5. előadás,

Integrált rendszerek n é v; dátum

1.5.1 Büntető-függvényes módszerek: SUMT, belső, külső büntetőfüggvény

3D - geometriai modellezés, alakzatrekonstrukció, nyomtatás

Régió alapú szegmentálás. Digitális képelemzés alapvető algoritmusai. 2. példa: Elfogadható eredmények. 1. példa: Jó eredmények. Csetverikov Dmitrij

Véletlenszám generátorok. 6. előadás

Algoritmusok és adatszerkezetek gyakorlat 09 Rendezések

I. A közlekedési hálózatok jellemzői II. A közlekedési szükségletek jellemzői III. Analitikus forgalom-előrebecslési modell

3D-s számítógépes geometria

Algoritmusok és adatszerkezetek I. 10. előadás

Kvantum-tömörítés II.

Egyszerű algoritmusok

4 Approximációs algoritmusok szorzatalakú hálózatok esetén

3D - geometriai modellezés, alakzatrekonstrukció, nyomtatás

Az entrópia statisztikus értelmezése

Regresszió. Fő cél: jóslás Történhet:

Adatelemzés és adatbányászat MSc

Statisztikai próbák. Ugyanazon problémára sokszor megvan mindkét eljárás.

Adatsorok jellegadó értékei

A multikritériumos elemzés célja, alkalmazási területe, adat-transzformációs eljárások, az osztályozási eljárások lényege

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék

Hipotézis vizsgálatok. Egy példa. Hipotézisek. A megfigyelt változó eloszlása Kérdés: Hatásos a lázcsillapító gyógyszer?

Döntéstámogató módszerek segédlet

EM algoritmus. A feladat: egy valószínűség eloszlás valmilyen paraméterét(vektorát) akarjuk becsülni részlegesen megfigyelhető.

Valószínűségi változók. Várható érték és szórás

Forgácsolási paraméterek mûvelet szintû optimalizálása

Optimalizálás alapfeladata Legmeredekebb lejtő Lagrange függvény Log-barrier módszer Büntetőfüggvény módszer 2017/

Töréskép optimalizálás Elmélet, megvalósítás, alkalmazás

ORVOSI STATISZTIKA. Az orvosi statisztika helye. Egyéb példák. Példa: test hőmérséklet. Lehet kérdés? Statisztika. Élettan Anatómia Kémia. Kérdések!

Makroszkopikus emisszió modell validálása és irányítási célfüggvényként való alkalmazásának vizsgálata

s n s x A m és az átlag Standard hiba A m becslése Információ tartalom Átlag Konfidencia intervallum Pont becslés Intervallum becslés

Számítógépes döntéstámogatás. Genetikus algoritmusok

Eseményvezérelt szimuláció

Support Vector Machines

A Vonallánc készlet parancsai lehetővé teszik vonalláncok és sokszögek rajzolását.

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék

Algoritmusok és adatszerkezetek II.

Algoritmuselmélet. Gráfok megadása, szélességi bejárás, összefüggőség, párosítás. Katona Gyula Y.

Gyártórendszerek modellezése: MILP modell PNS feladatokhoz

Kereső algoritmusok a diszkrét optimalizálás problémájához

Hálózati Folyamok Alkalmazásai. Mályusz Levente BME Építéskivitelezési és Szervezési Tanszék

10. Alakzatok és minták detektálása

Algoritmuselmélet. Legrövidebb utak, Bellmann-Ford, Dijkstra. Katona Gyula Y.

DÖNTÉSTÁMOGATÓ MÓDSZEREK segédlet I. rész

OAF Gregorics Tibor: Minta dokumentáció a 4. házi feladathoz 1. Feladat. Megoldás

Problémamegoldás kereséssel. Mesterséges intelligencia március 7.

Képrekonstrukció 9. előadás

Periodikus figyelésű készletezési modell megoldása általános feltételek mellett

Lineáris regresszió. Statisztika I., 4. alkalom

Relációk. Vázlat. Példák direkt szorzatra

A korlátozás programozás alapjai

Vázlat. Relációk. Példák direkt szorzatra

Digitális Domborzat Modellek (DTM)

Összefoglalás és gyakorlás

Min. , ha =, , ha = 0 egyébként. Forrás és cél csp-ra vonatkozó kényszerek Köztes csp-ra vonatozó, folyammegmaradási kényszer

3D Számítógépes Geometria II.

Műszaki folyamatok közgazdasági elemzése. Kevert stratégiák és evolúciós játékok

3. Évközi ellenőrzés módja: 2 zárhelyi dolgozat íratása. 4. A tárgy előírt külső szakmai gyakorlatai: -

Kereső algoritmusok a diszkrét optimalizálás problémájához

Minősítéses mérőrendszerek képességvizsgálata

METROLÓGIA ÉS HIBASZÁMíTÁS

Totális Unimodularitás és LP dualitás. Tapolcai János

Operációkutatás. 4. konzultáció: Szállítási feladat. A feladat LP modellje

1.Tartalomjegyzék 1. 1.Tartalomjegyzék

Bevezetés a programozásba. 3. Előadás Algoritmusok, tételek

Számítógép és programozás 2

d(f(x), f(y)) q d(x, y), ahol 0 q < 1.

Diszkrét matematika 2.C szakirány

Turbulens áramlás modellezése háromszög elrendezésű csőkötegben

Indirekt térfogat-vizualizáció. Fourier térfogat-vizualizáció. Tomográfiás rekonstrukció. Radon-transzformáció. A Fourier vetítő sík tétel

Véletlen gráfok szerkesztésekor n csomópontból indulunk ki. p valószínűséggel két csomópontot éllel kötünk össze.

Példák ekvivalencia relációra (TÉTELként kell tudni ezeket zárthelyin, vizsgán):

BASH script programozás II. Vezérlési szerkezetek

További forgalomirányítási és szervezési játékok. 1. Nematomi forgalomirányítási játék

Monte Carlo módszerek a statisztikus fizikában. Az Ising modell. 8. előadás

Intelligens Rendszerek Elmélete

A L Hospital-szabály, elaszticitás, monotonitás, konvexitás

Dinamikus modellek szerkezete, SDG modellek

A neurális hálózatok alapjai

Nemlineáris függvények illesztésének néhány kérdése

VIK A1 Matematika BOSCH, Hatvan, 5. Gyakorlati anyag

Szimulációs technikák

Mesterséges Intelligencia MI

3. Lineáris differenciálegyenletek

Statisztika - bevezetés Méréselmélet PE MIK MI_BSc VI_BSc 1

Tuesday, March 6, 12. Hasító táblázatok

Keresés képi jellemzők alapján. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

Sztöchiometriai egyenletrendszerek minimális számú aktív változót tartalmazó megoldásainak meghatározása a P-gráf módszertan alkalmazásával

Hálózati Folyamok Alkalmazásai. Mályusz Levente BME Építéskivitelezési és Szervezési Tanszék

The original laser distance meter. The original laser distance meter

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

2. Visszalépéses keresés

MATEMATIKAI STATISZTIKA KISFELADAT. Feladatlap

A következő feladat célja az, hogy egyszerű módon konstruáljunk Poisson folyamatokat.

Mesterséges Intelligencia MI

A szimplex algoritmus

Ahol mindig Ön az első! Segítünk online ügyféllé válni Kisokos

Tanult nem paraméteres próbák, és hogy milyen probléma megoldására szolgálnak.

Mechanizmus-tervezés: szociális jóléti függvény nem kooperatív (versengő) ágensek. A megegyezés keresése és elérése: Tárgyalás (Negotiation)

Gráfalgoritmusok és hatékony adatszerkezetek szemléltetése

Átírás:

Budapest Műszak Egyetem Vllamosmérnök kar Műszak nformatka szak Kommunkácós hálózatok szakrány V. évf., 9. félév Izsó Tamás Híradástechnka tanszék 2003

n. sznt Rendszer Szakaszolás Csoportosítás n+1. sznt Rendszer Szakaszolás Csoportosítás n+2. sznt Rendszer

topológa tervezés elvezetéstervezés nyalábolás elhelyezés szakaszolás hozzárendelés berendezéstervezés

Topológa tervezés: a fzka réteg gráfjának megtervezése a klens gényréteg smeretében. Elvezetés tervezés: klens gény elvezetés nyomvonalának meghatározása több réteggel lentebb (gyakran a legalsó fzka) réteg gráfján. Nyalábolás: k szntű azonos nyomvonal szakaszokon haladó gények koncentrálása a nagyobb sávszélességű k+1-edk szntű összeköttetésekbe.

Elhelyezés: a k. rétegbel klens gények számára a k+1. rétegbel szakaszpontok lehetséges helyének meghatározása. Szakaszolás: egy adott k. rétegben értelmezett klens gény elvezetés nyomvonalának meghatározása a k+1. rétegbel szerver réteg gráfján, az adott rétegre vonatkozó útvonalképzés vagy -választás szabályok fgyelembevételével.

Hozzárendelés egy adott k. rétegben értelmezett klens gény hozzárendelése a jellegzetesen k+1. szerver réteg kapcsolatának meghatározott pozícójához. Berendezéstervezés: k. rétegbel kapcsolat hozzárendelése egy csomópont berendezés létező vagy új portjához, ha szükséges akkor egy új berendezés létrehozása.

Forrás: Üzemeltető adatbázs (nyílvántartó rendszer) (rendszerek, kábelek, szálak, alépítmények ) Network management nformácók Formátum: SQL adatbázs táblák, ASCII fájl, Excel formátum, XML Szabvány: ITU M1400

Hálózat leírás Gráfok Transzformált gráf Algortmus belső adatszerkezete (adatbázs relácók) (matematka gráf, él és csomópont attrbutumokkal) (tszta gráf élek, csomópontok hozzáadásával, törlésével) (LP megoldás számára egyenletek, mátrxok)

elvezetéstervezés nyalábolás és hozzárendelés rétegrőlrétegre berendezéstervezés

lehetséges szakaszpontok elhelyezése rétegenként, szakaszolás és hozzárendelés rétegrőlrétegre, berendezéstervezés

Műszak alapprobléma kérdése: mlyen hálózat nfrastruktúrán mlyen elvezetés nyomvonalakat Probléma jellege: távlat tervezés (meglévő hálózat fgyelembevételével) nem részletes modellezés közelítő módszerek (hálózat bővíthetőség)

Egyszerűsítő feltételek: egyutas elvezetés (mmmál) lneárs költségfüggvény Knduló adatok: gények megengedett legbővebb gráf költségjellemzők

Adott a legbővebb gráf G ( V, A) x c l V { 1, m} csomópontok A { 1, n}élek edk élen átfolyó folyam költségfüggvény - edk él hossza Elvezetés mnmáls költségű úton Feladat: mn cx c x

Költségmodell 1 c 2 c 3 c 4 c x l c x c l c c x c 4 3 2 1 l c c f 2 1 l c c m 4 3 x l c c l c c 4 3 2 1

kmerítő kereséssel branch & bound technkával szmulált lehűtéssel lneárs programozással

Kndulás a teljes gráfból. Az élek elhagyásával kapjuk az alproblémákat. Alsó becslés Fx költségre : mnmáls kfeszítőfa Margnáls költségre: mnmálutas elvezetés Ígéretesség F I F M

mnmálút éleből hagyunk el egyet, nő az M mnmáls kfeszítőfából hagyunk el egy élt, nő az F

(30/3) (30/3) (20/2) (20/2) (20/2) (30/3) (30/3) (20/2) (20/2) (30/3) költségek gények M F 0 0 5 2 2 35 5 20 100 35

Alproblémák generálása egy él elhagyásával (branch). Költség és ígéretesség (becslés) kszámítása. Legjobb költségnél rosszabb ígéretességű alproblémák elhagyása. Leállás, ha nncs több él elhagyásával származtatható gráf, melyen mnden gény elvezethető.

Lassú Egyutas elvezetés - megbízhatóság szempontból rossz.

n élt tartalmazó gráfból előállítjuk az összes n-1 élt tartalmazó gráfot. Ha már nncs megoldás, akkor vége az algortmusnak. A becslés után csak a legígéretesebbet tartjuk meg. Vsszalépés 1-re.

n élet tartalmazó gráfból előállítjuk az összes n-1 élet tartalmazó gráfot. Ha már nncs megoldás, akkor vége az algortmusnak. A becslés után csak a legjobb költségűt tartjuk meg. Vsszalépés 1-re.

Cél: mnden pontpár elérhető legyen mnmum két pontfüggetlen úton. Megoldás: mnden gényt két úton vezetünk el.

Suurballe algortmus Beágyazott algortmus: rányított gráfot kezelő Djkstra algortmus. Két út előállítása gráf költség, és gráf transzformácók segítségével

Adott a G(V,A) gráf, és a c(a) élköltség. 1. G rányítatlan gráfra a mnmál út előállítása Djkstra algortmus segítségével 2. Élek költségének a transzformálása c (,j)=c(,j)+d()-d(j) ahol d(j) a kndulás pontból a j pont legrövdebb távolsága 3. Gráf rányítottá tétele 4. Mnmálúton a kezdő és végpont kvételével mnden csomópont kettőzése v->va,vb

5. Élek duplkálása (következő ábra) 6. Mnmálút keresés a módosított gráfon 7. Duplká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

2. mnmál út 1. Mnmál út

célfüggvény korlát Ha f konvex g konkáv h lneárs, akkor konvex feladatról beszélünk. Lehetséges megoldások halmazát F-el jelöljük. x f p j x h m x g j 1 0 ) ( 1 0 ) (

probléma megadása (F,c) szomszédosság függvény: N : F 2 F követelmény: q N( q) akkor q N( q) egzakt szomszéd : összes lokáls mnmum (maxmum) pont szomszédos

pl. utazóügynök probléma kétcserés szomszédos állapotra

1 1 2 2 3 4 3 6 5 6 7 8 9 10 11 4 5 Mélység keresés Szélesség keresés

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 optmum keresését. Bound Megpróbálunk az egyes alproblémákra hatékony alsó becslést b(f) adn. Az eddg legjobb megoldásnál rosszabb becslés értékkel rendelkező alproblémákat el kell hagyn.

1 Aktív alprobléma F kválasztása 2Az F alproblémának nncs megoldása, akkor az töröljük, különben b(f) kszámítása. 3 b(f) rosszabb, mnt az eddg megtalált legjobb megoldás -, akkor az alproblémát töröln kell. 4 b(f) jobb (még) Ha a költsége jobb mnt az eddg megtalált legjobb megoldás, akkor ez lesz az eddg talált legjobb megoldás. Alproblémák készítése, vsszalépés lépés 1-re

Adott: F, c, N (mnmalzálás). 1Tetszőleges kezdet állapot q 0, =0. 2 Szomszédos állapotok közül egyenlő valószínűséggel választunk egyet. q' N(q ) 3Ha c(q')c(q ), akkor q +1 =q' különben q +1 =q. 4 =+1. Leállás, ha egy adott lépésszám alatt nem találtunk jobb megoldást, vagy a maxmáls terácó számát túlléptük. Hátrány: lokáls optmumba ragad.

Módszer működése: A hegymászó módszerre hasonlít, de a szomszédos állapotok közül mndg a legjobb költségűt választja k. Hátránya: ha a szomszédos állapotok számossága nagy, akkor a legjobb állapot kválasztásával lassú lokáls mnmumba ragadhat.

Folytonos optmalzálás feladatoknál, ha a c célfüggvény dfferencálható, akkor a gradens rányába lévő szomszédos állapotokon keresztül érhetjük el a lokáls optmumot. Így nem kell az összes szomszédos állapotot kértékeln. Hátránya: lokáls optmumba ragadhat.

A megengedett megoldások (xf) halmazából véletlenszerűen generálunk n- et, és ezek közül kválasztjuk a legjobbat. Hátránya, hogy nem használja k a lokáls optmumot. A véletlen keresésnél nem kell szomszédos állapotokat defnáln.

Az algortmus tulajdonsága: A keresést véletlenszerűen kválasztott helyről ndítjuk. A választható szomszédos átmenetek közül mndg a legjobb költségűt választjuk k. A már kválasztott állapotátlépéseket kzárjuk. Ezzel próbálunk kjutn a lokáls optmumból.

F megengedett állapotok c(q): q F célfüggvény N(q) F szomszédos állapotok T(q)N(q) tabu (tltott állapotok) halmaz A(q)T(q) aspráns halmaz

k=0;kezdet állapot q 0 F; T(s) üres, legjobb állapot q 0 Whle nncs vége do 1N(q k ), T(q k ), A(q k ) kértékelése 2 q k+1 (N(q k )-T(q k )) A(q k )) kválasztása, ahol c(q k+1 ) a legjobb szomszédos állapot. 3 Ha a q k+1 állapot jobb, mnt az eddg legjobb, akkor ez a legjobb állapot. 4 T(q), A(q) halmaz frssítése End

Idő alapú szabály (Recency-Memory) Időbélyeg - Tme(x) = 0, ha még az x megoldást nem néztük meg, különben az utolsó látogatás deje (terácó száma) x = argmn{tme(x ) : x N(x )} Gyakorság alapú szabály (Frequency-Memory) Frequency(x) = 0 mnden még nem bejárt x megoldásra, különben mnden egyes használatkor növeljük eggyel. x = argmn{frequency(x ) : x N(x )}

Hatékony módszer, de a ktltott állapotok mentése sok memórát gényel, és ezek kkeresése dőgényes. Problémafüggő változók: szomszédosság tltott állapotok aspráns halmaz

Feladat: cx Ax t x b(f) kszámítása lneárs programozás relaxácóval n

Alproblémák előállítása mn cx Ax t n x megoldás x * mn cx Ax t x x * mn cx Ax t x x * 1

Feladat: x 1 x x x x x 1 1 2 Z 1 n x x x 2 2 2

x 2 4 x 1 =(1.5, 2.5) b(f 1 )=-3.5 3 x 2 =(0.75, 2) b(f 2 )=-3.25 x 1 x 3 =(0.0,1.5) b(f 3 )=-3.0 2 x 2 x 4 x 4 =(1.0,2.0) b(f 3 )=-3.0 x 3 1 1 2 3 4 x 1

S A Krkpatrck - krstályosodás vzsgálata atomok elrendeződése a krstályosodás folyamatában nagy energájú atomok az energamnmumra való törekvés ellenébe s hathatnak ks energájú részecske már csak a lokáls helyen a legkedvezőbb állapot betöltésére törekszk

SA lassú lehűtés: szabályos krstályszerkezet kalakítása globáls energamnmum gyors lehűtés: metastabl állapot lokáls energamnmum részecskék energaállapotát a Maxwell - Boltzmann eloszlás adja meg

SA jobb állapotokat elfogadjuk rosszabb állapotokat csak p = p(t,c) valószínűséggel fogadjuk el p valószínűség: az terácó előrehaladtával csökken (T) a kedvezőtlenebb megoldásoknak ksebb a valószínűsége (c)

Mnmalzálás 1 Kezdet ncalzálás T 0 kezdet hőmérséklet megválasztása q 0 knduló megoldás választás =0 lépésszám ncalzálása 2 q' N(q ) megoldás előállítása

3 Ha c(q') > c(q ) akkor q q p q q T q c q c p 1 1 valósznűséggel 1 valósznűséggel ) ( ) ( exp egyébként q +1 =q ' 4 Vége, ha a megoldás konvergált vagy elértük a maxmáls terácószámot 5 T +1 = f(t ); =+1; goto 2

SA mnden állapotból véges számú lépésben el lehet jutn egy másk tetszőleges állapotba szomszédos megoldások közül egyenlő valószínűséggel választunk szomszédosság függvény szmmetrkus

SA krtkus paraméter a T 0, és a lehűtés sebessége T változása f lehet: geometra logartmkus lneárs a f f geo T N ( ) T0 ( ) 0 T T ) 1 log( ) 0 log( f ln ( ) T 0 1 N N

Nyalábolás nyomvonal PÁLYA Csorna Komárom Almásfüzítő Tatabánya Aszód Vámosgyörk Kál - Kápolna Füzesabony Győr Bp/Kelet Hatvan Sopron Eger VONAT KOCSI Szombathelyről Salgótarjánba UTAS

A rendszer szakasza, más rendszer szakaszaval 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ás szabály alapján egy rendszerbe lehessen összetenn.

Magasabb fokszámú pont (vágás pont) Nem vágás pont

szakaszok rendszer vágás pont kvétele vágás pont betétele szakasz rendszer

Knduló állapotban mnden egy szakaszon kerül elvezetésre. Csak azokat az összeköttetéseket kell optmalzáln, amely túlcsordul a modulméreten.

Kezdet ncalzálás kezdet hőmérséklet megválasztása mnden rendszert egy szakaszon valósítunk meg, és nyalábolunk össze = 0 lépésszám ncalzálása Nyalábolható rendszerek és vágás pontok bejelölése. Egyenletes valósznűséggel egy rendszer kválasztása. Új vágás pont betétele vagy kvétele. Új állapot költségének a kszámítás Döntés az új állapot elfogadásáról. Ha a megoldás konvergált vagy elértük a maxmáls terácószámot vége 1 T f ( T ), 1, goto 2

fx 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) Ktöltöttség költség

darabszám/ hossz 3/9 7/7. réteg +1. réteg

Szomszédos állapotátmenetek Egy él elhagyása Egy él betétele 1 valószínűség élbeszúrás éltörlés 0 0 N-1 élek száma

Élcsere: Szomszédos állapotokat előállító műveletek valószínűsége

Műszak probléma: Pl. Igény elvezetése a szabad helyek felhasználásával Kétutas elvezetés bztosítása VC12-es gények elveztése VC4S szabad pozícókban Függetlenség bztosítása a topológa gráfon

VC4S gráf

Rng 1 Rng 2 Mesh 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

Suurballe algortmus kerjesztése Hatékony megoldás Tovább szempontok fgyelembe vétele nem lehetséges. Lneárs programozás feladatként Nem hatékony Könnyen megadhatunk tovább megkötéseket s.

Feladat formalzálása: z z A mn-es mátrx c költségvektor 1n-es sorvektor b korlát, m1-es oszlopvektor 1 2 x x n n

0, 3 2 3 2 max 2 1 2 1 2 1 2 1 x x x x x x x x 1 2 3 4 x 1 x 2 1 2 3 4 c 4 2 1 x x 2 2 1 x x 0 2 1 x x

költsége él ) (, az egyébként 0 folyam a gráfélt használja ) (, az ha 1, változó f élek halmaza csomópontok halmaza gráf ), ( j A j N j c A j N j A N A N G j Adatok:

mnmalzálandó költség mn 0 kapactáskorlát ), ( 0 folyammegmaradás ), ( ) ( ) ( j A j j N j j I j j O j j f c b A j u f N b f f

b 1 =1 c 13 =5 1 3 c 12 =1 c 34 =1 2 4 c 24 =1 c 35 =1 c 45 =1 5 b 5 =1 f 12 f 12 f 13 f 13 f 24 f 24 f 34 f 35 f 35 f 45 f 45 1 0 0 0 1

0 egyébként potban van az gény végpontja az f 1ha potban van az gény forrása az f 1ha b mátx csomópont lleszkedés az él a ahol 1 0 0 0 1 1 1 0 0 0 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 0 1 0 1 0 0 0 0 1 1 45 35 34 24 13 12 V V f f f f f f A b f A sorok lneársan nem függetlenek

0,1 1 Egy pontot csak egy folyam érnthet 1 1 }, { 100 }, { 100 Indkátorváltozók bevezetése, ) ( ) ( ) ( ) ( 2 1 O I y O I x y x V h g V h g t s V h y t s V g x b y A b x A

lp_solve ftp://ftp.cs.ele.tue.nl/pub/lp_solve/ fő adatszerkezet : lprec *lp; adatszerkezet létrehozása: lp = make_lp(0, row_sze ); r1 == r2 ha abs(r1-r2) < eps lp->epslon = eps; egy sor megszorítás megadása: add_constrant(lp, row, EQ, rh );

költség megadása probléma típusa set_obj_fn(lp, row1); set_mnm(lp); megoldás solve(lp) élek száma élek száma élek száma élek száma csp. száma-2 csp. száma-2 x=(a,b)a x=(b,a)a y = (a,b) A y = (b,a) A g h

double* row1, *row2; double rh = 0.0; bool ret=false; nt, k; const double eps = 0.05; const nt max_n_out_num = 10; *nroute1 = *nroute2 = 0; *route1 = NULL; *route2 = NULL; nt row_sze = 4*nedges+2*nnodes-4; f( row_sze == 0 ) return false; row1 = (double*) malloc( (row_sze+1)* szeof(double) ); row2 = (double*) malloc( (row_sze+1)* szeof(double) ); lprec *lp; lp = make_lp(0, row_sze ); lp->epslon = eps;

for( = 0; <nnodes; ++ ) { Fll( row1, row1+row_sze+1, 0.0 ); // tömb nullázása Fll( row2, row2+row_sze+1, 0.0 ); for(k=0; k<nedges; k++ ) { nt x1 = edges[k].from ; nt x2 = edges[k].to ; f( x1 == ) { 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; } f( x2 == ) { 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; f( == from ) rh = 1.0; else f( == to ) rh = -1.0; add_constrant(lp, row1, EQ, rh ); add_constrant(lp, row2, EQ, rh ); }

nt dx; for( dx==0; <nnodes; ++ ) { // A kezdo és végpontokat nem szabad ktltan! f( == from == to ) contnue; Fll( row1, row1+row_sze+1, 0.0 ); Fll( row2, row2+row_sze+1, 0.0 ); for(k=0; k<nedges; k++ ){ f( Adjancent( k, ) ) { row1[k+1] = row1[k+nedges+1] = 1.0; row2[k+2*nedges+1] = row2[k+3*nedges+1] = 1.0; } } row1[ 4*nedges + dx +1 ] = -max_n_out_num; add_constrant(lp, row1, LE, 0.0 ); row2[ 4*nedges + dx + nnodes-2 +1 ] = -max_n_out_num; add_constrant(lp, row2, LE, 0.0 ); dx++; }

for(dx==0; <nnodes; ++ ) { f( == from == to ) contnue; } Fll( row1, row1+row_sze+1, 0.0 ); row1[ 4*nedges + dx +1] = 1.0; row1[ 4*nedges + nnodes-2 + dx +1] = 1.0; add_constrant(lp, row1, LE, 1.001 ); dx++;

for(=1; <=row_sze; ++ ) set_nt(lp,, TRUE ); Fll(row1, row1+row_sze+1, 0.0 ); for(=1; <=4*nedges; ++ )row1[]= edges[(-1)%nedges ].len; set_obj_fn(lp, row1); set_mnm(lp); f( OPTIMAL == solve(lp) ) { for( =0; <nedges; ++ ) { f(fabs(lp->best_soluton[lp->rows++1]-1.0)<2*eps fabs(lp->best_soluton[lp->rows++nedges+1]-1.0) < 2*eps ) AddRoute(, route1, nroute1 ); f(fabs(lp->best_soluton[lp->rows++2*nedges+1]-1.0) < 2*eps fabs(lp->best_soluton[lp->rows++3*nedges+1]-1.0) < 2*eps ) AddRoute(, route2, nroute2 ); } ret = 1; } else ret = 0; delete_lp(lp);

gráfél topológa pont VC4S lnk Csomópont függetlenséget a topológa gráfon kell vzsgáln. A programot a -tel jelölt helyeken kell módosítan.