- •Державна адміністрація зв’язку
- •Методичні вказівки до курсового проекту
- •План курсової роботи:
- •Завдання до курсової роботи
- •Варіанти до курсової роботи
- •Основні теоретичні положення
- •Задача побудови найкоротших радіальних маршрутів між вузлами мережі перевезень пошти
- •Розрахунок і побудова кільцевих маршрутів розвезення пошти між відділеннями поштового зв’язку
- •Використання пересувних відділень зв’язку
Задача побудови найкоротших радіальних маршрутів між вузлами мережі перевезень пошти
У поштовому зв’язку радіальні маршрути використовуються, в основному, як магістральні та регіональні маршрути, а в разі нестачі часу для проходження кільцевих маршрутів – також як окружні маршрути.
Задача формулюється так: заданий зв’язний зважений граф, вершини якого відповідають вузлам мережі перевезень пошти, ребра – шляхам, що з’єднують ці вузли, а ваги ребер – протяжністю відповідних шляхів. Знайти найкоротші шляхи, що з’єднують задану початкову вершину з рештою вершин графа.
Розв’язання задачі засновано на формуванні рельєфу графа у виді ваг вершин графа, значення яких дорівнюють значенням протяжністю найкоротших шляхів між ними і початковою вершиною графа.
Початковій вершині Вінадається вагаРі= 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, j i)
2. Зчитування рядка l таблиці
рельєфу графа
3. Запис номера попередньої
вершини Bk графа і ваги Pl
4. l = k
Ні 5. l = i
Так
Кінець
Рисунок 2 – Алгоритм формування найкоротших шляхів
Приклад побудови найкоротших радіальних маршрутів між обласними вузлами мережі перевезень пошти України
Таблиця
1
–Формування
рельєфу
графа
Таблиця
2
–Формування
рельєфу
графа
Крок 1 | |||
Bі |
* |
Р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 – Перелік найкоротших шляхів