- •Розділ 2. Транспортна задача. Найпростіші задачі на мережах
- •§ 2.1. Транспортна задача. Основні властивості
- •§ 2.1. Методи визначення початкового допустимого плану
- •§ 2.3. Метод потенціалів розв’язування транспортної задачі
- •§ 2.4. Поняття про мережу. Загальна оптимізаційна задача на мережі
- •Потоком на мережі називається така множина дійсних чисел , що
- •2) Для будь-якої підмножини вершин мережі
- •§ 2.5. Задача про визначення найкоротшого шляху. Метод Мінті
- •§ 2.6. Задачі про максимальний потік на мережі та про мінімальний розріз мережі
- •Контрольні запитання та завдання
2) Для будь-якої підмножини вершин мережі
. (2.4.4)
Зауважимо, що умова (2.4.3) є узагальненням умови збалансованості транспортної задачі. Умова ж (2.4.4) забезпечує достатньо великі пропускні здатності дуг мережі для існування потоку.
Загальна
оптимізаційна задача на мережі полягає
у визначенні такого потоку
,
на якому функція затрат
![]()
досягає мінімального значення.
Як уже
раніше зазначалося, числа
можуть бути значеннями питомого доходу.
Тоді мова йде про максимізацію функції
.
Перехід від задачі максимізації до
задачі мінімізації здійснюється просто.
Тому надалі основною оптимізаційною
задачею на мережі ми вважатимемо задачу
, (2.4.5)
,
, (2.5.5)
,
. (2.5.6)
Розв’язок
цієї задачі
називається оптимальним
потоком на мережі.
Задача (2.4.5) – (2.4.7) є задачею лінійного програмування. Умовами існування її розв’язку є умови (2.4.3), (2.4.4).
Розв’язування цієї задачі може бути здійснене методом, аналогічним методу потенціалів.
Ми перейдемо до розгляду деяких найпростіших задач на мережах і запропонуємо для їх розв’язання спеціальні методи. Відповідні доведення і приклади розв’язування таких задач можна знайти в [7], [12].
§ 2.5. Задача про визначення найкоротшого шляху. Метод Мінті
Нехай
задано деякий орієнтований граф із
множиною вершин
і множиною дуг
.
Кожна вершина пронумерована, тому
вершину позначатимемо її номером. Як і
раніше дугу, яка з’єднує вершину
із вершиною
,
позначатимемо
.
Шляхом,
який з’єднує дві вершини
та
графа
,
називається послідовність
,
,
...,
,
дуг, перша з яких починається у вершині
,
початок кожної наступної дуги є кінцем
попередньої, а кінець останньої дуги
збігається з вершиною
.
Наприклад,
у графі

послідовності
дуг (1,2), (2,4), (4,6), (6,7) та (1,3), (3,6), (6,7) є двома
різними шляхами, які з’єднують вершини
1 та 7. Зрозуміло, що для деяких вершин
може не існувати шляху, який їх з’єднує.
Кожній дузі
поставимо у відповідність число
,
яке є довжиною цієї дуги. Тоді сума
є довжиною шляху
,
,
...,
,
.
Природно
ставити задачу про знаходження
найкоротшого шляху, який з’єднує дві
задані вершини. Можна показати, що при
певних додаткових обмеженнях на
задача про знаходження найкоротшого
шляху на графі є частковим випадком
загальної отримізаційної задачі (2.4.5)
– (2.4.7), а отже, задачі лінійного
програмування.
Ми
розглянемо метод розв’язування цієї
задачі, запропонований Дж. Мінті.
Суть методу полягає в побудові відміток
вершин. Нехай необхідно визначити
найкоротший шлях від вершини
до
.
На першому кроці вершині
ставиться у відповідність пара
,
яка є відміткою вершини
.
Позначимо
множину всіх відмічених вершин. Кожна
вершина
має відмітку
.
Розглянемо
дуги
,
такі, що
,
,
тобто всі дуги, які виводять із множини
.
Кожній із таких дуг ставимо у відповідність
число
.
Серед
чисел
шукаємо найменше. Якщо мінімум досягається
на кількох дугах, вибираємо довільно
одну з них. Отже, нехай
.
Тоді
вершині
приписуємо відмітку
,
де
.
У
результаті вершина
помічена відміткою
.
Ця вершина долучається до множини
помічених вершин
.
Легко зрозуміти, що число
у відмітці
дорівнює довжині найкоротшого шляху
від
до
.
Ідучи зворотним шляхом від вершини
до
,
за першими числами у відмітках легко
визначаємо найкоротший шлях від
до
.
Як тільки
для вершини
побудована відмітка
,
поставлена задача розв’язана. Якщо не
вдається побудувати відмітки для деякої
вершини, то це означає, що не існує шляху,
який веде від
до цієї вершини (вершина недосяжна).
Продовжуючи побудову відміток доти,
поки це можливо, ми тим самим визначаємо
найкоротші шляхи до всіх вершин досяжних
із вершини
.
Проілюструємо все сказане на простому прикладі.
Орієнтований граф можна задати таблицею
|
Дуга |
(1,2) |
(1,4) |
(2,3) |
(2,5) |
(2,6) |
(3,5) |
(3,7) |
(4,3) |
(4,7) |
(7,6) |
(8,1) |
(8,7) |
|
Довж. дуги |
2 |
1 |
1 |
3 |
2 |
1 |
1 |
2 |
1 |
1 |
2 |
3 |
У першому
рядку дуги із множини
задаються за допомогою номерів вершин.
Тим самим задається і множина вершин
.
У другому рядку поміщені відповідні
дугам числа
.
Для
унаочнення зобразимо схематично
відповідний граф. На кожній із дуг цього
графа напишемо відповідне їй число
.

Розв’яжемо задачу про визначення найкоротших шляхів від вершини 1 до всіх інших досяжних вершин. Відмітки проставлено на рисунку в дужках біля номера вершини. Найкоротші шляхи зображено жирними дугами.
Опишемо
процес розв’язування задачі. Нехай
,
.
Тоді
.
Із
виводять дуги
та
.
Підраховуємо
,
.
.
Отже,
вершині 4 ставимо у відповідність
відмітку
,
(
,
).
Поповнюємо
множину
вершиною 4, отримуємо
.
Із
виводять дуги
,
,
.
,
,
.
досягається
на
і на
.
Беремо
в розгляд дугу
й отримуємо
,
.
Маємо
.
,
,
,
,
.
Найменше
значення досягається на
.
Це значення дорівнює 2. Тому
,
.
Тепер
.
,
,
,
,
.
Найменше
значення дорівнює
.
Використовуючи дугу
,
маємо
,
,
.
Продовжуємо процес побудови відміток.
,
,
,
.
Будуємо
відмітку вершини 6. Отримуємо
,
,
.
Нарешті,
,
і маємо
,
,
.
Жодна
дуга не виводить із множини
.
Процес побудови відміток завершено.
Вершина 8 недосяжна.
Згідно з побудованими відмітками найкоротші шляхи від вершини 1 до інших вершин задаються послідовностями дуг:
до
вершини 2 –
,
;
до
вершини 3 –
,
,
;
до
вершини 4 –
,
;
до
вершини 5 –
,
,
,
;
до
вершини 6 –
,
,
,
;
до
вершини 7 –
,
,
.
Ще раз
зазначимо, що, взагалі кажучи, розв’язок
задачі не обов’язково єдиний. У
розглянутому прикладі як найкоротший
шлях від вершини 1 до вершини 3 може бути
використаний шлях
,
.
Запропонований вище варіант методу
Мінті дає можливість визначити один із
розв’язків задачі.
Зауважимо,
що подібна методика використовується
при складанні календарного графіка
виконання комплексу взаємозв’язаних
робіт, визначення комплексу критичних
робіт (за часом), використання резервів
часу при виконанні некритичних робіт.
При цьому під “ефективністю” дуги
розуміється час виконання відповідної
роботи.
