- •Лекція 3 Транспортна задача
- •2. Алгоритм розв’язання транспортної задачі
- •Постановка задачі
- •Приклад
- •Розв'язування
- •Метод найменшої вартості
- •Метод Фогеля
- •Приклад.
- •Узагальнення
- •1. Метод північно-західного кута.
- •Постановка задачі
- •Приклад
- •Розв'язування]
- •Метод найменшої вартості
- •Метод Фогеля
- •Приклад.
- •Узагальнення]
Постановка задачі
Нехай у пунктах виробляється деякий однорідний продукт, причому обсяг виробництва цього продукту в пункті дорівнює одиниць, Зроблений у пунктах виробництва продукт повинен бути доставлений до пунктів споживання причому обсяг споживання в пункті складає одиниць продукту. Вважається, що транспортування готової продукції можливе з будь-якого пункту виробництва в будь-який пункт споживання і транспортні витрати, що припадають на перевезення одиниці продукту з пункту в пункт складають грошових одиниць. Задача полягає в організації такого плану перевезень, при якому сумарні транспортні витрати були б мінімальними.
Формально задача ставиться наступним чином. Нехай — кількість продукту, що перевозиться з пункту в пункт Потрібно визначити сукупність з mn величин які відповідають умовам:
і для яких лінійна форма набуває найменшого значення.
Група обмежень (1)-(2) пов'язана з тою обставиною, що обсяг вивезеного з кожного пункту виробництва продукту в точності дорівнює обсягу виробленого в цьому пункті продукту, а обсяг ввезеного в пункт споживання продукту відповідає його потребі. За цих обмежень необхідною і достатньою умовою для розв'язності транспортної задачі є виконання умови балансу:
Приклад
Умови транспортної задачі зручно записувати за допомогою таблиці, що називається транспортною таблицею. Подана нижче таблиця відображає задачу з трьома пунктами виробництва що виробляють 15, 25 і 10 одиниць товару і чотирма пунктами споживання попит в яких рівний, відповідно 5, 15, 15 і 15. На перетині рядка і подається значення — вартість транспортування товару з пункту i в пункт j. Для даної задачі, наприклад рівне 9, тобто транспортування одиниці товару з пункту в пункт коштує 9 грошових одиниць.
|
|
|
|
|
Кількість |
|
10 |
2 |
20 |
11 |
15 |
|
12 |
7 |
9 |
20 |
25 |
|
4 |
14 |
16 |
18 |
10 |
Кількість |
5 |
15 |
15 |
15 |
|
Розв'язування]
Специфічними для транспортної задачі є такі дві обставини:
кожна із змінних входить в два рівняння системи (1)-(2),
всі коефіцієнти при змінних приймають лише два значення 0 або 1.
Умови 1) і 2) дозволили розробити для вирішення транспортної задачі алгоритми, суттєво простіші, ніж симплексний метод, що є одним з основних методів вирішення задач лінійного програмування. Найвідомішими з цих алгоритмів є метод потенціалів і угорський метод.
Метод потенціалів — це метод послідовного покращення плану (перевезень) з використанням другої теореми двоїстості для перевірки оптимальності.
Угорський метод — це метод послідовної побудови допустимого плану, який автоматично виявляється оптимальним. В основі угорського алгоритму лежить метод чергування ланцюгів.
Початковий опорний план
Для початку розв'язування слід визначити початковий опорний план, тобто значення , що задовольняють умови (1)-(3), при чому лише щонайбільше n + m + 1 з них є ненульовими і не обов'язково досягається мінімум лінійної функції Найпоширенішими методами пошуку початкових опорних планів є метод північно-західного кута, метод найменшої вартості і метод Фогеля.
Метод північно-західного кута]
Виконання починається з верхньої лівої клітини (Північно-західного кута) транспортної таблиці, тобто зі змінної
Крок 1. Змінній присвоюється максимальне значення, що допускається обмеженнями на попит і пропозицію.
Крок 2. Викреслюється рядок (або стовпець) з повністю реалізованою пропозицією (з задоволеним попитом). Це означає, що у викресленого рядку (стовпці) ми не будемо присвоювати значення іншим змінним (крім змінної, визначеної на першому етапі). Якщо одночасно задовольняються попит і пропозиція, викреслюється лише рядок або тільки стовпець.
Крок 3. Якщо не викреслено тільки один рядок або тільки один стовпець, процес зупиняється. В іншому випадку переходимо до клітини праворуч, якщо викреслять стовпець, або до клітини знизу, якщо викреслена рядок. Потім повертаємось до першого етапу.
Наприклад для попереднього прикладу початковий опорний план буде рівним:
|
|
|
|
|
Кількість |
|
5 |
10 |
|
|
15 |
|
|
5 |
15 |
5 |
25 |
|
|
|
|
10 |
10 |
Кількість |
5 |
15 |
15 |
15 |
|
В даній таблиці на перетині рядка і подано значення в початковому опорному плані (пустим клітинам відповідає значення нуль).
