Algoritmusok megtalálni a legrövidebb távolság a grafikonon
Cím a munka: keresési algoritmusok legrövidebb távolság egy gráf
Szakterület: Informatika, kibernetika és programozás
Leírás: Wanted, hogy látogassa meg a csúcsai a grafikonon, és visszatér a kiindulási csúcsból minimalizálják az utazási költségek és csökkenti az időt. A kezdeti adatok a gráfot, melynek ívek vannak rendelve pozitív számok az utazási költségek, illetve a szükséges időt, hogy előre az egyik csúcspont a másikra. Általában a grafikon orientált, és minden két csúcsot összeköt két ív oda-vissza. Tegyük fel, hogy szeretné megtalálni a távolság az 1., a tetejére a többiek.
Fájl mérete: 194,5 KB
Job letöltve: 18 fő.
vetítés: Search algoritmusok legrövidebb távolság egy gráf Page 2 2
[2] A kereső algoritmus legrövidebb távolságok oszlopban
[2.1] Dijkstra-algoritmus
[2.2] legrövidebb út problémát
[2.3] maximális áramlási problémát
[2.4] A lineáris programozási miközben maximalizálja áramlási
[3] Test kérdések
Gráfok mind a matematika és alkalmazásai. Ezeket használják az építőiparban a különböző matematikai modellek távvezetékek, úthálózatok, a légiforgalmi vonalakat és így tovább.
Azt akarom, hogy keresse fel az összes a gráf, és visszatér a kiindulási p've busz, minimalizálva az utazási költségek (vagy minimalizálása érdekében).
a kezdeti adatok # 150; Ez a grafikon, amely ívek vannak rendelve a pozitív számok # 150; az utazási költségek, illetve a szükséges időt, hogy előre az egyik csúcspont a másikra. Általában egy teát a grafikon orientált, és minden két csúcsot köti össze két ívet # 150; oda-vissza. Valóban, ha pont található a hegyen, és B pont # 150; A völgyben, míg a kilátás túrák A pontból B, nyilván kevesebb időt a visszaút a B és A.
Sok produkció gazdasági tartalmat csökkentjük az utazó ügynök probléma. Például:
- Létre a leginkább jövedelmező állító elkerülő útvonal a boltban (szabályozó, védelmi és ka, rendőr), felelős a megfelelő működéséhez, megadott objektumok (ka w dy Ezen objektumok modellezett csúcsa a grafikon);
- megteremtse a legkedvezőbb útvonalat az egyes alkatrészek vagy hleboz kenyér és a víz egy adott számú pékségek és más kiskereskedelmi egységek (parkolás a pékségben).
Nézzük meg néhány tipikus hibát döntési kapcsolódó optimalizálási grafikonokon.
Dijkstra algoritmusa
Ez gráfalgoritmusok által feltalált E. Dijkstra. Úgy véli, a legrövidebb távolság az egyik a gráf minden más. Az algoritmus csak akkor működik, grafikonok élek nélküli negatív súlyt. Az algoritmus széles körben használják a programozás és a technológia, például, akkor használja a OSPF protokollt, hogy megszüntesse a körkörös útvonalakat.
Tekintsük a példát az algoritmus az ábrán mutatjuk be. Tegyük fel, hogy szeretné megtalálni a távolság az 1., a tetejére a többiek.

A körök jelzik a vertex vonalak # 151; utak között (a széleit a grafikon). A kör jelzi a csúcsok száma a széleit jelzi az „ára” # 151; út hossza. Továbbá minden csúcs által jelzett piros pont # 151; a hossza a legrövidebb út a vertex vertex 1.

Az első lépés. Tekintsük a következő lépést Dijkstra algoritmus ezt a példát. Minimum védjegy vertex 1. Szomszédai vertex 2, 3 és 6.

Az első egy-egy szomszéd vertex 1 # 151; Vertex 2, mert a hossza az elérési útja is minimális. A hossza bele a felső 1 egyenlő a legrövidebb távolság a felső perem 1 + hossza fog 1-2, vagyis a 0 + 7 = 7. Ez kevesebb, mint a jelenlegi csúcs címkék 2, úgy, hogy az új címke 2. csúcsok 7.

Mi ugyanígy működik a két másik szomszédai az 1. csúcs # 151; 3. és a 6..


Minden szomszédok a felső 1 jelölve. Jelenleg a minimális távolság a felső 1 végleges, és nem lehet fellebbezni (a tény, hogy ez így van, az első alkalommal bizonyította Dijkstra). Mi törli azt a grafikont. Meg kell jegyezni, hogy a csúcs volt.

A második lépés. Lépés az algoritmus megismétlődik. Ismét azt látjuk, a „legközelebbi” nem látogatott csúcsa. Ez a csúcs 2 Címkézett 7.

Ismét megpróbáljuk csökkenteni a szomszéd címkék kijelölt csúcsok, próbálok nekik a 2.. Szomszédok vertex 2 1, 3, 4.
Az első (sorrendben) a szomszéd csúcs 2 # 151; vertex 1. De már, így 1-től vertex nem csinál semmit.
Következő szomszéd vertex 2 # 151; 3. Ha a hegy, hogy tartsa a 2, majd a hossza ilyen út lenne 7 + 10 = = 17. De a jelenlegi védjegy megegyezik a harmadik csúcs 9<17, поэтому метка не меняется.

Egy másik szomszéd vertex 2 # 151; 4. Ha a csúcs, hogy menjen bele a 2., majd a hossza ezen az úton a legrövidebb távolság = 2 + közötti távolság csúcsok 2 és 4 = 7 + 15 = 22. Mivel 22<. устанавливаем метку вершины 4 равной 22.


A harmadik lépésben. Ismételjük meg ezt a lépést az algoritmus által top 3. Miután a „feldolgozás”, megkapjuk a következő eredménnyel:

További lépések. Lépés ismétlésével algoritmus a fennmaradó csúcsok (Ez lesz a sorrendben 6, 4 és 5).



Befejezése az algoritmust. Az algoritmus véget ér, ha az összes csúcsot kell hagyni. Az eredmény az ő munkája látható az utóbbi szám: a legrövidebb utat a felső 1 és 2 perc 7 és 3 perc # 151; 9-4-én # 151; 20, 5-én # 151; 20, 6. # 151; 11.
Legrövidebb út probléma
Mivel a legrövidebb út, hogy az egyik csúcspont a másikra? Ami a termelésirányítás: milyen a legrövidebb úton (és következésképpen a legalacsonyabb üzemanyag-fogyasztás és az idő, a legtöbb olcsó) lehet eljutni A pontból a B pont? Hogy oldja meg ezt a problémát, minden arc egy irányított gráf kell összehasonlítani száma # 150; mozgás ideje az ív a kezdeti csúcs a végső. Tekintsük a példát (7. ábra).

7. ábra. Háttér A legrövidebb út problémát.
A helyzet lehet leírni nemcsak irányított gráf, súlyok, tulajdonított az ívek, hanem egy táblázatot (8. táblázat).
8. táblázat. Háttér A legrövidebb út problémát.
A kihívás: hogyan lehet a legrövidebb út a csúcs 1 az első 4?
Határozat. Bemutatjuk a jelölést C (T) # 150; hossza a legrövidebb utat az egyik csúcs a csúcs T. Mivel minden utat, hogy figyelembe kell venni áll ívek és az ívek véges számú, és minden nem több, mint egyszer, a felperesek egy véges számú legrövidebb út, és legalább véges számú elemet mindig érhető el. A probléma megfontolás alatt áll kiszámításakor C (4), és előírja, milyen módon a minimum elérése.
A kezdeti adatok a 7. ábrán látható, és a 6. táblázatban, a felső részben 3 csak egy nyíl, csak a tetején, és körülbelül 1 Ez a nyíl a hossza, amely egyenlő 1 Ezért, C (3) = 1. Továbbá az is nyilvánvaló, hogy a G (1) = 0. A felső 4 érhető akár felülről 2. elhaladó utat egyenlő 4 vagy 5 a felső, miután elhaladtak egy utat egyenlő 5. Ezért, a kapcsolatban a C (4) = min.
Így az átalakított feladat # 150; meghatározása a C (4) csökken a meghatározására C (2) és a C (5). A felső 5 lehet hozzáférni a top 3. elhaladó utat egyenlő 2, vagy a vertex 6. elhaladó utat egyenlő 3. Ezért, a kapcsolatban C (5) = min. Tudjuk, hogy a C (3) = 1. Ezért, C (5) = min. Mivel nyilvánvaló, hogy a C (6) # 150; pozitív szám, az utolsó összefüggésben az következik, hogy a C (5 = 3. A 2 felső érhető el akár vertex 1, amelynek útját egyenlő vagy a vertex 7. 3. tompított utat egyenlő 5. 5. vagy felülről történő áthaladás után útvonal egyenlő 2 Ezért a kapcsolatban a C (2) = min. Tudjuk, hogy a C (1) = 0, C (3 = 1, C (5) = 3. Ezért, C (2) = min = 5.
Így a hossza a legrövidebb út 8. Ebből kapcsolatban egyértelmű, hogy a felső 4 átmenni a top 5. Visszatérve a számítás C (5), azt látjuk, hogy a vertex 5 átmenni a top 3. A top 3 kaphat csak 1 a csúcs.
Így, a legrövidebb útvonal az alábbiak szerint: 1 → 3 → 5 → 4.
Legrövidebb út problémát specifikus bemeneti adatok (7. ábra és a 6. táblázat) teljesen megoldott.
Optimalizálási problémák grafikonokon során felmerülő, a gazdálkodásra vonatkozó döntések előkészítése a termelés irányításában, nagyon változatosak. Vegyük például még egy probléma szállításával kapcsolatos.
Maximális áramlási probléma
Mely útvonalon, küldje el a lehető legnagyobb számú rakományok a kiindulási pont, hogy a végső rendeltetési helyre, ha a sávszélesség utak pontok közötti korlátozott?
Hogy oldja meg ezt a problémát, minden arc egy irányított gráf, a megfelelő közlekedési rendszert kell térképezni, hogy a szám - a kapacitás az ív. Tekintsük a példát (8. ábra).

8. ábra. Háttere a maximális áramlási probléma
A kezdeti adatok a közlekedési rendszert, például, a növény a 8. ábrán látható, szintén beállítható táblázatban (9. táblázat).
9. táblázat. Háttere a maximális áramlási probléma
A döntés a maximális áramlási probléma lehet beszerezni a következő megfontolásokat.
Nyilvánvaló, hogy a maximális szállítási kapacitása a rendszer kevesebb, mint 6, mert nincs több, mint 6 egység áru lehet küldeni a kiindulási ponttól 0, azaz egység 2, 1. bekezdés, 3. Fejezet, 2. bekezdés, és 1 egység 3. pontban.
Szükséges továbbá annak biztosítása, hogy mind a 6 kiemelkedett 0 egység rakomány elérte rendeltetési 4. Nyilvánvaló, 2 rakomány egység lépett 1. bekezdésben közvetlenül küldeni a 4. lépésben Came 2. bekezdésben terheléseket megosztani: 2 egység azonnal küldeni az elemet 4, és 1 egység # 150; 3. egy közbenső ponton (mert a korlátozott áteresztőképesség közti rész 2. és 4. pontjában). A 3. bekezdésben szállított ilyen áruk: 1 egység, a 0 és 1 egység db 3. Ezeket bekezdésben említett 4.
Így a maximális kapacitását figyelembe vett közlekedési rendszer # 150; 6 egység rakományt. Nem használ a belső részek (ágak) között 1 és 2 pont között, valamint 1. és 3. pontban dogruzhena elágazási pont 1 és 4 között # 150; Ez középpontjában két rakományegységekhez a kapacitása 3 egység.
Az oldatot úgy reprezentálható, mint egy táblázatot (10. táblázat)
10. táblázat. A döntés a maximális áramlási probléma
Lineáris programozási feladat, miközben maximalizálja a flow
Adunk egy készítmény maximális folyam probléma szempontjából lineáris programozás. Legyen X KM # 150; forgalom a K pont-pont M. By ábra8 K = 0,1,2,3, M = 1,2,3,4, és a szállítás csak akkor lehetséges, azon a ponton, a nagyszámú. Szóval, minden van 9 változók X KM. nevezetesen, X 01 X 02 X 03 X 12 X 13 X 14 X 23 X 24 X 34. A probléma a lineáris programozás, maximalizálását célzó fluxus adja meg: F → max.
X 01 + X 02 + X 03 = F (0)
- X 01 + X 12 + X13 + X 14 = 0 (1)
- X 02 - X 12 + X23 + X 24 = 0 (2)
-X 03 -X 13-X 23 + X 34 = 0 (3)
-X 14 -X 24-X 34 = -F (4)
≤ 2 X 01

X KM ≥ 0. Az M = 0, F ≥ 0, 1, 2, 3, 4.
itt F # 150; célfüggvény feltétel (0) leírja a bejegyzés az áruknak a közlekedési rendszer. Feltétel (1) # 150; (3) meghatározza az egyensúlyt arány a csomópontok # 1 150 3 rendszer. Más szóval, az egyes belső csomópontok beérkező áruk áramlása szennyvíz terhelés és nem halmozódik fel a rendszeren belül, és nem a „született” ott. Feltételek (4) # 150; Ez az állapot az „exit” a rakomány rendszer. Együtt a feltétel (0), ez képezi a mérleg arány a rendszer egészének ( „input” a „kilépés”). A következő kilenc egyenlőtlenségek határt szabnak a kapacitás az egyes „ágai” a közlekedési rendszer. Ezután adja meg a nem-negativitás forgalom és a célfüggvény.
Egyértelmű, hogy az utolsó egyenlőtlenség következik formájában az objektív függvény (kapcsolatban (0) vagy (4)), és a nem-negativitás forgalom. Azonban ez az egyenlőtlenség van néhány általános információt # 150; a rendszeren keresztül lehet hagyni vagy pozitív mennyiségű rakomány vagy nulla (például, ha a rendszerben van egy mozgalom egy kört), de nem a negatív (nem gazdasági értelme, de a formális matematikai modell nem „tudja” róla).
- Adjuk meg a keresési algoritmus grafikonok.
- A működési elve a Dijkstra algoritmus.
- Megfogalmazni a problémát, a legrövidebb utat. Hatálya alá.
- Fogalmazza maximális áramlási problémát. Hatálya alá.
- Fogalmazza egy lineáris programozási feladat, miközben maximalizálja áramlását. Hatálya alá.
Tsentralnі ponyattya doslіdzhennya prognozuvannya főleg parametrіv dіyalnostі organіzatsії. Suchasnі naukovі pіdhodi hogy rozumіnnya prognozuvannya főleg Parametrіv dіyalnostі organіzatsії PROGNOZUVANNYA főleg PARAMETRІV DІYALNOSTІ ORGANІZATSІЇ A SISTEMІ MANAGEMENT Suchasnyj PІDPRIЄMSTVA. Prognozuvannya a sistemі strategіchnogo menedzsment pіdpriєmstva.
Romanenko Kursova robot Ekonomichna efektivnіst virobnitstva rіpaku i utakon Ahead її pіdvischennya Student vіddіlennya Ekonomіka pіdpriєmstva Naukovі alapjai pіdvischennya ekonomіchnoї efektivnostі virobnitstva rіpaku. Pokazniki ekonomіchnoї efektivnostі virobnitstva rіpaku hogy a technika їh viznachennya. Rіven virobnitstva rіpaku hogy Yogo Ekonomichna efektivnіst.