Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Одесса / Курсова М_С ПЗ ч.2 / Методичний_пос_бник_для_курс._роботи.doc
Скачиваний:
19
Добавлен:
10.02.2016
Размер:
593.92 Кб
Скачать

Задача побудови найкоротших радіальних маршрутів між вузлами мережі перевезень пошти

У поштовому зв’язку радіальні маршрути використовуються, в основному, як магістральні та регіональні маршрути, а в разі нестачі часу для проходження кільцевих маршрутів – також як окружні маршрути.

Задача формулюється так: заданий зв’язний зважений граф, вершини якого відповідають вузлам мережі перевезень пошти, ребра – шляхам, що з’єднують ці вузли, а ваги ребер – протяжністю відповідних шляхів. Знайти найкоротші шляхи, що з’єднують задану початкову вершину з рештою вершин графа.

Розв’язання задачі засновано на формуванні рельєфу графа у виді ваг вершин графа, значення яких дорівнюють значенням протяжністю найкоротших шляхів між ними і початковою вершиною графа.

Початковій вершині Вінадається вагаРі= 0, решті вершин – нескінченні вагиРj=.

На кожному кроці формування рельєфу графа знаходиться раніше неперевірена вершина мінімальної ваги, відносно якої формуються ваги тих неперевірених вершин, що безпосередньо з’єднані з перевірною вершиною. Вага неперевіреної вершини замінюється вагою перевірної вершини, збільшеної на вагу ребра, що з’єднує зазначені вершини, якщо перша перевищує другу.

Разом з формуванням рельєфу формується інформація про значення ваги кожної вершини і про номер вершини, від якої ця вага отримана.

Найкоротші шляхи формуються як послідовності записів зазначеної інформації, прочитані в порядку, зворотному до їхнього формування.

Алгоритм формування рельєфу графа наведений на рис. 1.

Початок

1. Присвоєння початковій вершині

ваги Рi = 0, присвоєння решті

вершин ваг Рj = 999

2. Вибір серед неперевірених вершин

графа вершини Вk мінімальної ваги

3. Обчислення ваги =Pk + P(k,j)

чергової неперевіреної вершини

Bj графа, безпосередньо пов’язаної

з перевірною вершиною Bk

Ні

4. Рj

Так

5. Рj = , записBk

6. Всі

вершини Bj, безпосередньо Ні

пов’язані з вершиною Bk,

перевірені

Так

7. Присвоєння перевірній вершині

Bk позначки “перевірена” (*)

Ні 8. Перевірено

n - 1 вершин графа

Так

Кінець

Рисунок 1 – Алгоритм формування рельєфу графа

Алгоритм містить 8 блоків.

У блоці 1створюється початковий рельєф графа. Початковій вершиніВіприсвоюється мінімальна вагаРі= 0, решті вершин графаBj(j = 1, 2, …n,ji) – нескінченні вагиРj=, які подаються як надмірні вагиРj= 999.

У блоці 2серед неперевірених вершин вибирається вершинаВkмінімальної вагиРk.

У блоці 3обчислюється вага =Рk + Р(k,j) чергової неперевіреної вершиниBjвідносно перевірної вершиниBk,що безпосередньо пов’язана з вершиноюBjграфа.

У блоці 4обчислена вагапорівнюється з вагоюРj вершини Bj. ПриРj виконується перехід до блока 5, приРj– до блока 6.

У блоці 5вагаРj замінюється вагою, тобто значення ваги вершиниBjзнижується, і запам’ятовується вершинаBk, від якої одержано значення вагиРj.

У блоці 6перевіряється, чи всі вершиниВj графа, безпосередньо пов’язані з перевірною вершиноюBk, перевірені. Якщо так – здійснюється перехід до блока 7, якщо ні – повернення до блока 3.

У блоці 7перевірній вершині Bkприсвоюється позначка “перевірена” (*) і вона виключається з подальшого розгляду.

У блоці 8перевіряється кількість вершин графа, що вже перевірені. Якщо таких вершин меншеn- 1 – здійснюється повернення до блока 2, і процес формування рельєфу графа повторюється, якщо їхn- 1 – рельєф графа сформований і робота алгоритму закінчується.

Алгоритм формування найкоротших шляхів за сформованим рельєфом графа наведено на рис. 2.

Алгоритм містить 5 блоків.

У блоці 1 фіксується поточна перевірна вершинаBl= Bj (j = 1, 2,… n,

ji).

У блоці 2виконується зчитування рядкаlтаблиці рельєфу графа.

У блоці 3фіксується значення номера попередньої вершиниBkграфа та вагиРl.

У блоці 4значенняlзамінюється значеннямk, тобто поточна вершинаBlзамінюється поточною вершиноюBkграфа.

У блоці 5порівнюються значенняlіi. Приliвиконується повернення до блока 2 і формування шляху між вершинамиBiтаBjграфа продовжується. Приl=iшлях між вершинамиBiтаBjграфа сформований і робота алгоритму закінчується.

Наведені алгоритми формування рельєфу графа (рис. 1) і формування найкоротших шляхів за сформованим рельєфом графа (рис. 2) можуть бути використані також для формування шляхів, найкоротших за числом проміжних вершин. У задачах поштового зв’язку такі шляхи використовуються для перевезень важкої (посилкової) пошти з метою скорочення витрат, пов’язаних з її перевантаженням у транзитних вузлах.

Початок

1. l = j (j = 1, 2 …, n, ji)

2. Зчитування рядка l таблиці

рельєфу графа

3. Запис номера попередньої

вершини Bk графа і ваги Pl

4. l = k

Ні 5. l = i

Так

Кінець

Рисунок 2 – Алгоритм формування найкоротших шляхів

Приклад побудови найкоротших радіальних маршрутів між обласними вузлами мережі перевезень пошти України

Таблиця 1 –Формування рельєфу графа

Таблиця 2 –Формування рельєфу графа

Крок 1

*

Рi = 0

Вк=12

1. Луцьк

2. Львів

3. Ужгород

4. Рівне

5. Тернопіль

6. Ів.-Франківськ

7. Житомир

139

12

8. Хмельницький

9. Чернівці

10. Чернігів

38

12

11. Вінниця

12. Київ

*

0

13. Миколаїв

14. Одеса

63

12

15.Черкаси

14

12

16. Полтава

27

12

17. Суми

20

12

18. Харків

19. Кіровоград

98

12

20. Херсон

21. Сімферополь

22. Запоріжжя

23. Дніпропетровськ

24. Донецьк

25. Луганськ

Крок 0

Ві

*

ii

Вк

1. Луцьк

2. Львів

3. Ужгород

4. Рівне

5. Тернопіль

6. Ів.-Франківськ

7. Житомир

8. Хмельницький

9. Чернівці

10. Чернігів

11. Вінниця

12. Київ

0

13. Миколаїв

14. Одеса

15.Черкаси

16. Полтава

17. Суми

18. Харків

19. Кіровоград

20. Херсон

21. Сімферополь

22. Запоріжжя

23. Дніпропетровськ

24. Донецьк

25. Луганськ

12-7-4-1

12-7-4-2

12-7-4-2-3

12-7-4

12-7-8-5

12-7-8-5-6

12-7

12-7-8

12-7-8

12-7-8-9

12-10

12-7-11

12-19-13

12-14

12-15

12-16

12-17

12-16-18

12-19

12-19-13-20

12-19-13-20-21

12-19-23-22

12-19-23

12-16-18-24

12-16-18-25

Таблиця 3 – Перелік найкоротших шляхів