4.3. Вибір оптимального маршруту перевезення вантажів
Математичний апарат динамічного програмування, оснований на алгоритмі покрокової оптимізації, можн бути використаний для знаходження найкоротших відстаней, наприклад, на географічній карті, представленій у вигляді мережі. Розв’язок задачі визначення найкоротших відстаней між пунктами відправлення і пунктами отримання продукції по існуючій транспортній мережі є початковим етапом розв’язку таких економічних задач, як оптимальне закріплення споживачів за постачальниками, підвищення ефективності роботи транспорту за рахунок скорочення «пустого» пробігу та інше.
Нехай транспортна мережа містить 10 пунктів-вузлів, частина з яких з’єднана магістралями. На рис.1 показано мережу доріг і вартість перевезення одиниці вантажу між окремими пунктами мережі, які проставлені біля відповідних ребер. Необхідно визначити маршрут доставки вантажу із пункту 1 у пункт 10, який забеспечить найменші транспортні витрати.
У задачі є обмеження – рухатися лише у напрямку стрілок. Введемо позначення:
k - номер кроку (k=1, 2, 3, 4), 1-й крок – перевезення з пунктів 7, 8, 9 до кінечного пункту; 2-й крок - перевезення з пунктів 5, 6 до пунктів 7, 8, 9; 3-й крок - перевезення з пунктів 2, 3, 4 до пунктів 5, 6; 4-й крок - перевезення з пункту 1 до пунктів 2, 3, 4;
i - пункт, з якого здійснюються перевезення (i = 1, 2, 3, 4 5, 6, 7, 8, 9);
j - пункт, у який доправляється вантаж (j = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
Cij - вартість перевезення вaнтажу із пункту у пункт.
Fk(i) - мінімальні витрати на перевезення вантажу на –му кроці розв’язку задачі із пункту до кінечного пункту.
Рис. 4.1 Модель транспортної мережі.
Для першого кроку управління (k=1) функція Беллмана представляє собою вираз:
F1(i) = Сі10 , де і = 7, 8, 9.
Для наступних кроків:
Fk(i) = min {Cij + Fk -1(j)}
На четвертому кроці і =1, функція Беллмана представляє собою мінімально можливі витрати на перемішення вантажу з пункту 1 до 10 пункту. Оптимальний маршрут визначається у результаті аналізу усії кроків у зворотньому порядку.
Приклад. Розв’яжемо сформульовану вище задачу, вхідні дані якої представлено на рис. 4.1.
Розв’язок.
І етап. Умовна оптимізація.
1-й крок. k =1; F1(i) = Сі10 , де і = 7, 8, 9
Таблиця 4.9
і | j |
10 |
F1(i) |
j* |
7 |
9 |
9 |
10 |
8 |
7 |
7 |
10 |
9 |
11 |
11 |
10 |
2-й крок. k =2; F2(i) = minj {Cij + F1(j)}.
Усі можливі переміщння вантажу на другому кроці і результати розрахунку приведені у таблиці 4.10.
Таблиця 4.10
і | j |
7 |
8 |
9 |
F2(i) |
j* |
5 |
6+9 |
8+7 |
- |
15 |
7; 8 |
6 |
- |
5+7 |
4+11 |
12 |
7 |
3-й крок. k =3; F3(i) = minj {Cij + F2(j)}.
Таблиця 4.11
і | j |
5 |
6 |
F3(i) |
j* |
2 |
4+15 |
- |
19 |
5 |
3 |
- |
3+12 |
15 |
6 |
4 |
- |
9+12 |
21 |
6 |
4-й крок. k =4; F4(i) = minj {Cij + F3(j)}.
Таблиця 4.12
і | j |
2 |
3 |
4 |
F4(i) |
j* |
1 |
7+19 |
5+15 |
6+21 |
20 |
3 |
ІІ етап. Безумовна оптимізація.
На попередньому етапі отримано, що мінімальні витрати на перевезення вантажів з пункту 1 до 10 пункту складають F4(i)=20. даний результат досягається при переміщенні оптимальним маршрутом: 1 → 3 → 6 →8 →10.