Distribun optimalizan lohy a Dopravn loha Zadanie 2
Distribučné optimalizačné úlohy a) Dopravná úloha (Zadanie č 2 – úloha č. 4); b) Priraďovacia úloha (Príklad) - približné riešenie (metóda: SZ-rohu, indexová zostupná, indexová vzostupná); optimálne riešenie (maďarská metóda) c) Úlohy zadané v sieťových grafoch (Zadanie č 3 - úlohy „obchodného cestujúceho“ a „čínskeho poštára“, optimálne cesty v sieti: najkratšia, najdlhšia, . . . )
ZADANIE Č. 3 A/ Nakreslite topológiu sieťového grafu B/ Vyriešte nasledujúce úlohy v neorientovanom sieťovom grafe 1. Najkratšia cesta medzi dvoma uzlami siete (výpočtom: od A po ostatné uzly siete); 2. Najkratšia cesta medzi všetkými uzlami siete (pomocou dištančnej matice a operácie „minimálneho sčítania matíc“); 3. Najlacnejšia (minimálna) kostra grafu (graficky od zadaného uzla „P“ v grafe); 4. Eulerovský ťah („úloha čínskeho poštára“, „kreslenie grafu jedným ťahom“); 5. Hamiltonovská cesta (úloha obchodného cestujúceho); 6. Optimálny tok (od A po H v grafe metódou „najsevernejšej cesty“). V sieťovom grafe „dĺžky“ hrán v zadávacej tabuľke predstavujú maximálnu priepustnosť hrany, t. j. max množstvo (napr. vody, zeminy, betónu, . . . , osoby, autá a pod. ) vyjadrené v príslušných merných jednotkách, ktoré môže „pretiecť“ hranou za jednotku času. C/ Nakreslite topológiu orientovaného sieťového grafu V sieťovom grafe (zostavenom podľa bodu A/ ) „zadajte“ orientáciu hrán tak, aby „A“ bol začiatočný a „H“ koncový uzol a v orientovanom sieťovom grafe sa nevyskytoval cyklus. D/ Vyriešte úlohu v orientovanom sieťovom grafe 7. Číslovanie uzlov v grafe tak, aby každá hrana začínala v uzle s nižším a končila v uzle s vyšším číslom (grafickou metódou „preškrtávania hrán“); 8. Najdlhšia cesta medzi počiatočným a koncovým uzlom siete (graficky); 9. „Kritická cesta“ v sieťovom grafe (výpočet v grafe metódou CPM).
A/ Nakreslite topológiu sieťového grafu 1 b 8 f 2 a 4 6 5 d 2 3 e 3 c 4 3 h 2 5 6 g
B/1 Najkratšia cesta medzi dvoma uzlami siete (výpočtom: od „a“ po ostatné uzly siete) Úloha má aj alternatívne riešenie Výpočet dĺžka „najkratšej cesty od „a“ po ostatné uzly siete „vr“: • vr=0 pre vstupný uzol • Hľadáme vo všetkých stĺpcoch so známou vr minimum súčtu vr a dĺžky existujúcich hrán s uzlami bez známej hodnoty vr vr 0 7 2 5 10 8 8 12 i a b c d e f g h j (kij) b (8) c (2) d (6) a (8) d (2) f (1) d (5) f (4) g (2) h (3) b (1) e (4) h (4) a (2) b (2) d (3) a (6) g (6) c (3) e (5) g (3) c (6) e (3) d (3) g (5) e (2) f (4) h (5) Uzly siete „i“ Uzly siete, s ktorými má „i“ uzol hranu (dĺžka hrany)
B/2 Najkratšia cesta medzi všetkými uzlami siete (pomocou dištančnej matice a operácie „minimálneho sčítania matíc“) -má hranu – „vzdialenosť“ -nemá hranu – „M“ D = a b c d e f g h a 0 8 2 6 M M b 8 0 M 2 M 1 M M c 2 M 0 3 M M 6 M d 6 2 3 0 5 M 3 M e M M M 5 0 4 2 3 f M 1 M M 4 0 M 4 g M M 6 3 2 M 0 5 h M M 3 4 5 0
Minimum zo súčtov V každej iterácii počítame všetky bunky v matici. Matica je symetrická podľa diagonály D´ = D + D 0 7 2 5 11 9 8 M 78 0 5 2 5 1 5 5 2 5 0 3 8 M 6 11 D´ = 5 2 3 0 5 3 3 8 11 5 8 5 0 4 2 3 9 1 M 3 4 0 6 4 8 5 6 3 2 6 0 5 M 5 11 8 3 4 5 0 D´ = D + D D´´ = D´ + D´. . . . Výpočet končíme, keď už nemáme v matici „M“ a vzniknú nám po sebe dve matice s rovnakými číslami.
B/3 Najlacnejšia (minimálna) kostra grafu (graficky od zadaného uzla „b“ v grafe) 1 b 8 f 2 a 4 6 5 d 2 3 e 3 c 4 3 h 2 5 6 g
B/4 Eulerovský ťah („úloha čínskeho poštára“, „kreslenie grafu jedným ťahom“) Eulerovský ťah – cesta, kedy sa prejde po každej hrane práve jedenkrát - ak majú všetky uzly párny počet hrán – existuje uzavretý eulerovský ťah (je jedno kde začneme) Hľadáme, ktoré „párovanie“ - ak má graf práve 2 uzly s nepárnym počtom 1 uzlov s nepárnym počtom hrán – existuje otvorený hrán má najkratšiu eulerovský ťah f vzdialenosť medzi uzlami (začneme v jednom „nepárnom“ 4 Preverujeme všetky varianty a končíme v druhom 4 párovania: „nepárnom“) a-b (7); c-d (3); f-h (4) 3 a-b (7); c-h (10); d-f (3) h e. . . a-c (2); b-d (2); f-h (4) 2. . . 5 b-f (1); a-c (2); h-d (7) g. . . - zistíme koľko hrán má každý uzol b 8 2 a 6 5 d 2 3 c 3 6 Ak máme všetky uzly párneho stupňa vieme nájsť uzavretý eulerovský ťah – po vyznačených Úloha č. 1 – zistiť, či existuje eulerovský ťah - ak má graf „k“ uzlov s nepárnym počtom hrán – je potrebné prejsť k/2 spojnicami týchto hranách prejdeme dvakrát. uzlov dvakrát – a teda neexistuje eulerovský ťah Na množine nepárnych uzlov vykreslíme úplný graf a doplníme hrany tak aby všetky uzly boli „párne“ a zároveň aby cesta bola najkratšia.
B/5 Hamiltonovská cesta („úloha obchodného cestujúceho“) Úloha: Určiť trasu obchodného cestujúceho, ktorý vychádza z miesta S 1 a má postupne práve raz navštíviť ďalších 7 miest (S 2 až S 7) a vrátiť sa naspäť do východiskového bodu. V tabuľke sú uvedené vzdialenosti medzi jednotlivými miestami v km. Obchodný cestujúci má absolvovať najkratšiu cestu. S 1 S 2 S 3 S 4 S 5 S 6 S 7 S 1 60 20 18 46 40 42 S 2 60 58 48 5 20 15 S 3 20 58 22 35 30 34 S 4 18 48 22 22 15 25 S 5 46 5 35 22 5 8 S 6 40 20 30 15 5 6 S 7 42 15 34 25 8 6
S 1 S 2 S 3 S 4 S 5 S 6 S 7 S 1 – východ. 60 20 18 46 40 42 1. S 2 60 58 48 5 20 15 5. S 3 20 58 22 35 30 34 7. S 4 18 48 22 22 15 25 2. S 5 46 5 35 22 5 8 4. S 6 40 20 30 15 5 6 3. S 7 42 15 34 25 8 6 6. z = 18 + 15 + 5 + 15 + 34 + 20 = 112 km . . . Formulácia „odpovede“ na zadanú úlohu
B/5 Hamiltonovská cesta („úloha obchodného cestujúceho“) Metóda riešenia s využitím najlacnejšej minimálnej kostry grafu Vykreslíme si minimálnu kostru grafu z počiatočného uzla Zistíme, či majú uzly kostry stupeň najviac dva - ak ÁNO - tak je to hamiltonovská cesta - ak NIE - tak musíme nejakú hranu kostre grafu vymeniť
B/6 Optimálny tok v rovinnom grafe (od „a“ po „h“ metódou „najsevernejšej cesty“) Minimálna kapacita – odrátame od hrán na ceste A 1 (5) (7) (5) (3) (2) (0) (3) (1) (2) (1) F (A 1) = 1 F (A 2) = 2 F (A 3) = 1 F (A 4) = 2 F (A 5) = 1 F (A 6) = 2 F (A 7) = 2 (3) (1) (4) Určíme najsevernejšiu cestu z „a“ do „h“ - cesta A 1 Na ceste A 1 nájdeme hranu s najmenšou kapacitou – priepustnosť F(A 1) cesty A 1 sa rovná tejto minimálnej kapacite. Nájdeme nové spojenie medzi „a“ a „h“ a pokračujeme v tom istom. . . F = F (A 1) +. . . + F (A 7) = 1+2+1+2+2 = 11. . . Maximálny tok v sieti
C/ Topológia orientovaného sieťového grafu 8 a 1 b 6 f 2 3 e 3 c 4 5 d 2 4 3 h 2 5 6 g
D/7 Číslovanie uzlov sieťového grafu (preškrtávaním hrán vychádzajúcich z očíslovaného uzla siete) 1 b 8 0 a 6 2 1 2 3 d 3 6 4 4 5 3 2 c 5 f 4 e 7 h 3 2 6 g 5
D/8 Najdlhšia cesta medzi uzlom „a“ a uzlom „h“ (grafické riešenie) 8 b 8 0 a 6 2 10 d 3 2 c 4 4 5 3 6 19 f 15 e 23 h 3 2 17 g 5
D/9 „Kritická cesta“ v sieťovom grafe (výpočet v grafe metódou CPM) 8 0 8 19 19 0 10 10 2 7 23 23 15 15 17 18
- Slides: 17