Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБОРАТОРНІ РОБОТИ.doc
Скачиваний:
8
Добавлен:
10.11.2019
Размер:
11.37 Mб
Скачать

Лабораторна робота № 5. Розв'язання сітьових транспортних задач. ЗадачІ про найкоротший шлях та максимальний потік на мережі

5.1. Завдання до лабораторної роботи

1. Знайти найкоротший шлях на транспортній мережі (див. рис. 5.1) за допомогою Excel-таблиці (добавив додатковий транспортний вузол з наведеної нижче карти), одержати оптимальний план перевезень за допомогою “EXCEL -2003”. Проаналізувати результати.

2. Знайти максимальний потік на транспортній мережі (див. рис. 5.1) за допомогою Excel-таблиці (добавив додатковий транспортний вузол з наведеної нижче карти), одержати оптимальний план перевезень за допомогою “EXCEL -2003”. Проаналізувати результати.

3.2. Варіанти завдань

Додати до структури транспортної мережі (рис. 5.1) транспортний вузол з наведеної нижче карти.

3.3. Методичні вказівки до виконання лабораторної роботи

Класичними задачами на графах є задачі про побудову найкоротших шляхів та їх сукупностей у вигляді відповідних дерев чи контурів. Однією з таких задач є пошук найкоротшого шляху між двома заданими вузлами: s (джерелом) і t(стоком). Розглянемо розв'язання цієї задачі на конкретному прикладі, який узятий з електронного атласу України :

Задана сітка у вигляді змішаного зваженого графа з 9 вузлами і 13 дугами, початкові дані мають наступний вигляд у Excel-таблиці(див. рис. 5.1).

Треба визначити найкоротший шлях від вузла –джерела міста Київа до вузла-стоку міста Суми в следующей математической постановке:

  • знайти вектор Х = (х1, х2, … х13), де елемент хi = 1, якщо відповідна дуга належить найкоротшому шляху, і 0 у противному випадку; і – порядковий номер дуги (і = 1, 2, ... , 13);

  • щоб загальна довжина шляху , де di – довжина і-ої дуги;

  • за умови збереження балансу потоків для кожного j-го вузла (j = 1, 2, ... , 9): Fвих(xi) - Fвх(xi) = 0, де Fвих(xi), Fвх(xi) – сума потоків на вході та виході кожного j-го вузла; для вузла-джерела Fвих(xi) - Fвх(xi) = 1; для вузла –стока Fвих(xi) - Fвх(xi) = -1;

  • при всіх xi ≥ 0.

Рис. 5.1. Топологія сітьової транспортної задачі

Для цього в Excel-таблиці (далі просто таблиці) для всіх дуг визначити діапазон для невідомих Х(Дуга) і обчислити значення цільової функції за формулою = СУММПРОИЗВ(Дуга; Довжина), а для всіх вузлів обчислити суми вхідних (Вхід) і вихідних (Вихід) потоків, їх алгебраїчну суму (Вихід-Вхід), задати колонку правих частин обмежень (Обмеження).

Для обчислення потоку у вузлах використовується функція обчислення суми величин, координати яких задовольняють визначеній умові (тобто, якщо певні величини належать відповідній множині). В Excel таку процедуру виконує функція СУММЕСЛИ(аргументи). Наприклад, сума вхідних потоків вузла визначається за формулою = СУММЕСЛИ(всі кінці дуг; вузол; потоки), тобто, підсумовуються потоки по тих дугах, кінці яких співпадають з поточним вузлом. За формулою = СУММЕСЛИ(всі початки дуг; вузол; потоки) підсумовуються вихідні потоки.

На рис. 5.2 показане розв'язання поставленої задачи за допомогою команди Пошук рішення в середовищі Excel-програми, з котрого видно, що ветор Х = (0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1), а це, у свою чергу означає, що найкоротший шлях з міста Києва в місто Суми пройде послідовно через міста Березань, Пирятин і Гадач і складе 378 км.

Рис. 5.2. Розв'язання задачі про найкоротший шлях на мережі

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

Результат рішения цієї задачі вказує величину максимального загального потоку, який може пропустити вся мережа, потоки та їх напрямки по окремих дугах. Розглянемо розв’язання задачі про максимальний потік у мережі на конкретному прикладі, який також узятий з електронного атласу України у вигляді зваженого графа з 6 вузлами і 11 дугами (топологія розглянутого графа збігається з топологією графа на рис. 5.1, де максимальний потік знаходився методом дерев), початкові дані мають наступний вигляд у Excel-таблиці (див. рис. 5.3).

Рис. 5.3. Розв'язання задачі про максимальний потік у сітці

Задана сітка зі смішаною орієнтацією дуг і з відповідними пропускними здатностями дуг. Потік витікає з вузла-джерела міста Прилуки, потім розтікається по всіх дугах і втікає у вузол-стік місто Суми. Необхідно знайти такі потоки по дугах, щоб величина потоку з джерела у стік була максимальною. Змішану щодо орієнтації сітку перетворюємо в повністю орієнтовану заміною кожної неорієнтованої дуги парою напрвлених назустрич дуг і представимо початкові дані у вигляді двох таблиць (для дуг та вузлів).

Загальний потік у сітці визначається сумою двох потоків:

  • з джерела: (Прилуки, Бобровиця) + (Прилуки, Ніжин) + (Прилуки, Ромни), тобто Fвих(1) = х12 + х13 + х15;

  • у стік: (Ніжин, Суми) + (Пирятин, Суми) + (Ромни, Суми), тобто Fвх(6) = х36 + х46 + х56 , яки і визначають значення максимального потоку на мережі (значення цільової функції).

Обмеження на потоки по дугах мають наступний вигляд:

  • величина потоку ≤ пропускна здатність (хijcij);

  • потік з джерела = потік у стік, тобто Fвих(1) = Fвх(6);

  • потенціали проміжних вузлів (2, 3, 4, 5) рівні 0, тобто Fвих(х) = Fвх(х).

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

Рис. 5.4. Графічне представлення максимального потоку на мережі

ЛАБОРАТОРНА РОБОТА № 6. РОЗВЯЗАННЯ МережевОЇ транспортнОЇ задачІ.