Постановка транспортної задачі та її види
ТРАНСПОРТНА ЗАДАЧА
План
1. Постановка транспортної задачі та її види.
2. Методи побудови початкового опорного плану транспортної задачі.
3. Метод потенціалів.
4. Перехід від одного опорного плану до іншого.
5. Навчальні завдання.
Література:
1. Бугір М.К. Математика для економістів. Лінійна алгебра, лінійні моделі. – К.: ВЦ. „Академія”, 1998. – С. 214-234.
2. Бугір М.К. Математика для економістів : Посібник Київ. : ВЦ „Академія”, 2003 р. – С. 436-458.
3. Наконечний С.І., Савіна С.С. Математичне програмування. Навчальний посібник – К. :КНЕУ, 2003 р. – С. 184-252.
4. Гетманцев В.Д. Лінійна алгебра і лінійне програмування: навч. Посібник. – К.: Либідь, 2001. – С. 202-227.
Ключові слова:транспортна задача (ТЗ), закрита (збалансована) ТЗ, відкрита (незбалансована) ТЗ, матриця перевезень, методи пошуку початкового опорного плану ТЗ: північно-західного кута, найменшої вартості (мінімального елемента), подвійної переваги; вироджений та невироджений опорний план, метод потенціалів; квадрат у матриці перевезень (правильний, неправильний, нейтральний); цикл, сусідні вершини циклу, означений цикл, цикл перерахунку, зсув по циклу перерахунку.
Постановка транспортної задачі та її види
Транспортна задача — це специфічна задача лінійного програмування, застосовувана для визначення найекономічнішого плану перевезення однорідної продукції від постачальників до споживачів.
Математична модель транспортної задачі має такий вигляд:
(1)
за обмежень
; (2)
; (3)
, (4)
де хij — кількість продукції, що перевозиться від і-го постачальника до j-го споживача; сij — вартість перевезення одиниці продукції від і-го постачальника до j-го споживача; аi — запаси продукції і-го постачальника; bj — попит на продукцію j-го споживача.
Якщо в транспортній задачі загальна кількість продукції постачальників дорівнює загальному попиту всіх споживачів, тобто
, (5)
то таку транспорту задачу називають збалансованою, або закритою. Якщо ж така умова не виконується, то транспортну задачу називають незбалансованою, або відкритою.
Планомтранспортної задачі називають будь-який невід’ємний розв’язок системи обмежень (2)—(4) транспортної задачі, який позначають матрицею .
Оптимальним планомтранспортної задачі називають матрицю , яка задовольняє умови задачі і для якої цільова функція (1) набуває найменшого значення.
Теорема(умова існування розв’язку транспортної задачі). Необхідною і достатньою умовою існування розв’язку транспортної задачі є її збалансованість, тобто .
2. Методи побудови початкового опорного плану транспортної задачі
Для побудови початкового опорного плану транспортної задачі існує кілька методів: північно-західного кута, мінімальної вартості, подвійної переваги, апроксимації Фогеля. Побудову опорного плану зручно подавати у вигляді таблиці, в якій постачальники продукції є рядками, а споживачі — стовпчиками.
Побудову першого плану за методом північно-західного кутапочинають із заповнення лівої верхньої клітинки таблиці (х11), в яку записують менше з двох чисел а1 та b1. Далі переходять до наступної клітинки в рядку або у стовпчику і заповнюють її, і т. д. Закінчують заповнювати таблицю у правій нижній клітинці.
Ідея методу мінімальної вартостіполягає в тому, що на кожному кроці заповнюють клітинку таблиці, яка має найменшу вартість перевезення одиниці продукції. Такі дії повторюють доти, доки не буде розподілено всю продукцію між постачальниками та споживачами.
Метод подвійної переваги. Перед початком заповнення таблиці необхідно позначити клітинки, які мають найменшу вартість у рядках і стовпчиках. Таблицю починають заповнювати з клітинок, позначених двічі (як мінімальні і в рядку, і в стовпчику). Далі заповнюють клітинки, позначені один раз (як мінімальні або в рядку, або в стовпчику), а вже потім — за методом мінімальної вартості.
Метод потенціалів
Транспортна задача є задачею лінійного програмування, яку можна розв’язати симплекс-методом. Але специфічна структура транспортної задачі дає змогу використовувати для її розв’язування ефективніший метод, який повторює, по суті, кроки симплекс-алгоритму. Таким є метод потенціалів.
Алгоритм методу потенціалів складається з наступних кроків.
1. Визначення типу транспортної задачі (відкрита чи закрита).
2. Побудова першого опорного плану транспортної задачі.
3. Перевірка плану транспортної задачі на оптимальність.
4. Якщо умова оптимальності виконується, то маємо оптимальний розв’язок
транспортної задачі. Якщо ж умова оптимальності не виконується, необхідно
перейти до наступного опорного плану.
5. Новий план знову перевіряють на оптимальність, тобто повторюють дії п. 3, і
т. д.
Розглянемо детально кожний крок цього алгоритму.
1. Якщо під час перевірки збалансованості (5) виявилося, що транспортна задача є відкритою, то її необхідно звести до закритого типу. Це виконується введенням фіктивного умовного постачальника у разі перевищення загального попиту над запасами із запасом . Якщо ж загальні запаси постачальників перевищують попит споживачів , то до закритого типу задача зводиться введенням фіктивного умовного споживача з потребою .
Вартість перевезення одиниці продукції для фіктивного постачальника або фіктивного споживача вважається такою, що дорівнює нулю.
2. Після побудови першого опорного плану одним із розглянутих методів у таблиці має бути заповнено (m + n – 1) клітинок, де m — кількість постачальників; n — кількість споживачів у задачі, у тому числі фіктивних. Такий план називають невиродженим. Якщо кількість заповнених клітинок перевищує (n + m – 1), то початковий план побудовано неправильно і він є неопорним. Ознакою опорностіплану транспортної задачі є його ациклічність, тобто неможливість побудови циклу. Циклому транспортній задачі називають замкнену ламану лінію, вершини якої розміщуються в заповнених клітинках таблиці, а сторони проходять уздовж рядків і стовпчиків таблиці.
Якщо заповнених клітинок у таблиці менш як (m + n – 1), то опорний план називають виродженим. У такому разі необхідно заповнити відповідну кількість порожніх клітинок, записуючи в них «нульове перевезення», але так, щоб при цьому не порушилася ациклічність плану.
3. Опорний план перевіряють на оптимальність за допомогою потенціалів ui та vj відповідно постачальників та споживачів.
Теорема(умова оптимальності опорного плану транспортної задачі). Якщо для деякого опорного плану Х * = (xij*) існують числа ui та vj, для яких виконується умова
ui + vj = cij, xij > 0,
ui + vj £ cij, xij = 0
для всіх та , то він є оптимальним планом транспортної задачі.
Потенціали опорного плану визначаються із системи рівнянь
ui + vj = cij, які записують для всіх заповнених клітинок транспортної таблиці.
4. За допомогою розрахованих потенціалів перевіряють умову оптимальності ui + vj £ cij для порожніх клітинок таблиці. Якщо хоча б для однієї клітинки ця умова не виконується, тобто ui + vj > cij, то поточний план є неоптимальним і від нього необхідно перейти до нового опорного плану.
4. Перехід від одного опорного плану до іншого
Перехід від одного опорного плану до іншого виконують заповненням клітинки, для якої порушено умову оптимальності. Якщо таких клітинок кілька, то для заповнення вибирають таку, що має найбільше порушення, тобто . Для вибраної порожньої клітинки будують цикл перерахування та виконують перерозподіл продукції в межах цього циклу за такими правилами:
1) кожній вершині циклу приписують певний знак, причому вільній клітинці — знак «+», а всім іншим по черзі — знаки «–» та «+»;
2) у порожню клітинку переносять менше з чисел xij, що стоять у клітинках зі знаком «–». Одночасно це число додають до відповідних чисел, які розміщуються в клітинках зі знаком «+».
Отже, клітинка, що була вільною, стає заповненою, а відповідна клітинка з мінімальним числом xij вважається порожньою. У результаті такого перерозподілу продукції дістанемо новий опорний план транспортної задачі.
5. Новий опорний план перевіряють на оптимальність згідно з п. 3 розглянутого алгоритму.
Розглянемо застосування методу потенціалів для розв’язування транспортних задач, наведених далі.
Навчальні завдання
Задача 1. Компанія контролює три фабрики А1, А2, А3, здатні виготовляти 150, 60 та 80 тис. од. продукції щотижня. Компанія уклала договір із чотирма замовниками В1, В2, В3, В4, яким потрібно щотижня відповідно 110, 40, 60 та 80 тис. од. продукції. Вартість виробництва та транспортування 1000 од. продукції замовникам з кожної фабрики наведено в таблиці.
Фабрика | Вартість виробництва і транспортування 1000 од. продукції за замовниками | |||
В1 | В2 | В3 | В4 | |
А1 | ||||
А2 | ||||
А3 |
Визначити для кожної фабрики оптимальний план перевезення продукції до замовників, що мінімізує загальну вартість виробництва і транспортних послуг.
Побудова математичної моделі. Нехай xij — кількість продукції, що перевозиться з і-ї фабрики до j-го замовника . Оскільки транспортна задача за умовою є збалансованою , то математична модель задачі матиме вигляд
Економічний зміст записаних обмежень полягає ось у чому: уся вироблена на фабриках продукція має вивозитися до замовників повністю.
Аналогічні обмеження можна записати відносно замовників: продукція, що надходить до споживача, має повністю задовольняти його попит. Математично це записується так:
Загальні витрати, пов’язані з виробництвом і транспортуванням продукції, складаються як добуток обсягу перевезеної продукції та питомої вартості перевезень за відповідним маршрутом і за умовою задачі мають бути мінімальними. Тому
Z = 4 × x11 + 4 × x12 + 2 × x13 + 5 × x14 + 5 × x21 + 3 × x22 + x23 +
+ 2 × x24 + 2 × x31 + x32 +4 × x33 +2 × x34 ® min.
У цілому математичну модель поставленої задачі можна записати так:
Z = 4x11 + 4x12 + 2x13 + 5x14 + 5x21 + 3x22 + x23 + 2x24 + 2x31 + x32 +4x33 +2x34 ® min
Розв’язування.Розв’язування задачі подамо в таблицях, які назвемо транспортними. Перший опорний план задачі побудуємо методом мінімальної вартості.
Aj | Bj | ui | |||
B1= 110 | B2= 40 | B3= 60 | B4= 80 | ||
A1= 150 | 2 + | 40– | u1= 5 | ||
A2= 60 | –60 | 0+ | u2= 2 | ||
A3= 80 | u3= 2 | ||||
vj | v1= –1 | v2= –1 | v3= –1 | v4= 0 |
Тому Z = 4 × 110 + 5 × 40 + 1 × 60 + 1 × 40 + 2 × 40 = 820 ум. од.
Перший опорний план транспортної задачі вироджений, оскільки кількість заповнених клітинок у таблиці дорівнює п’яти, а (m + n – 1) = 3 + 4 – 1 = 6. Для подальшого розв’язування задачі необхідно в одну з порожніх клітинок записати «нульове перевезення» так, щоб не порушити опорності плану, тобто можна зайняти будь-яку вільну клітинку, яка не утворює замкненого циклу. Наприклад, заповнимо клітинку А2В4. Тепер перший план транспортної задачі є невиродженим, і його можна перевірити на оптимальність за допомогою методу потенціалів.
На основі першої умови оптимальності ui + vj = cij складемо систему рівнянь для визначення потенціалів плану:
Записана система рівнянь є невизначеною, і один з її розв’язків дістанемо, якщо, наприклад, v4 = 0. Тоді всі інші потенціали однозначно визначаються: u1 = 5, u2 = 2, u3 = 2, v1 = –1, v2 = –1, v3 = –1.
Далі згідно з алгоритмом методу потенціалів перевіряємо виконання другої умови оптимальності ui + vj ≤ cij (для порожніх клітинок таблиці):
А1B2: u1 + v2 = 5 + (–1) = 4 = 4;
А1B3: u1 + v3 = 5 + (–1) = 4 > 2;
А2B1: u2 + v1 = 2 + (–1) = 1 < 5;
А2B2: u2 + v2 = 2 + (–1) = 1 < 3;
А3B1: u3 + v1 = 2 + (–1) = 1 < 2;
А3B3: u3 + v3 = 2 + (–1) = 1 < 4.
Умова оптимальності не виконується для клітинки А1B3. Порушення D13 = (u1 + v3) – c13 = 4 – 2 = 2 записуємо в лівому нижньому кутку відповідної клітинки.
Перший опорний план транспортної задачі є неоптимальним. Тому від нього необхідно перейти до другого плану, змінивши співвідношення заповнених і порожніх клітинок таблиці.
Потрібно заповнити клітинку А1B3, в якій є єдине порушення умови оптимальності. Ставимо в ній знак «+». Для визначення клітинки, що звільняється, будуємо цикл, починаючи з клітинки А1B3, та позначаємо вершини циклу почергово знаками «–» і «+». Тепер необхідно перемістити продукцію в межах побудованого циклу. Для цього у вільну клітинку А1B3 переносимо менше з чисел хij, які розміщуються в клітинках зі знаком «–». Одночасно це саме число хij додаємо до відповідних чисел, що розміщуються в клітинках зі знаком «+», та віднімаємо від чисел, що розміщуються в клітинках, позначених знаком «–».
У даному випадку , тобто . Виконавши перерозподіл продукції згідно із записаними правилами, дістанемо нові значення. Усі інші заповнені клітинки першої таблиці, які не входили до циклу, переписують у другу таблицю без змін. Кількість заповнених клітинок у новій таблиці також має відповідати умові невиродженості, тобто дорівнювати (n + m – 1).
Отже, другий опорний план транспортної задачі матиме такий вигляд:
Aj | Bj | ui | |||
B1= 110 | B2= 40 | B3= 60 | B4= 80 | ||
A1= 150 | –110 | 40+ | u1= 0 | ||
A2= 60 | –20 | 40+ | u2= –1 | ||
A3= 80 | 1 + | 40– | u3= –1 | ||
vj | v1= 4 | v2= –2 | v3= 2 | v4= 3 |
Тому Z2 = 4 × 110 + 2 × 40 + 1 × 20 + 2 × 40 + 1 × 40 + 2 × 40 =
740 ум. од.
Новий план знову перевіряємо на оптимальність, тобто повторюємо описані раніше дії. Другий план транспортної задачі також неоптимальний (порушення для клітинки А3B1). За допомогою побудованого циклу виконаємо перехід до третього опорного плану транспортної задачі і дістанемо таку таблицю:
Aj | Bj | ui | |||
B1= 110 | B2= 40 | B3= 60 | B4= 80 | ||
A1= 150 | u1= 2 | ||||
A2= 60 | u2= 0 | ||||
A3= 80 | u3= 0 | ||||
vj | v1= 2 | v2= 1 | v3= 0 | v4= 2 |
Тому Z3 = 4 × 90 + 2 × 60 + 2 × 60 + 2 × 20 + 1 × 40 + 2 × 20 = 720 ум. од.
Перевірка останнього плану на оптимальність за допомогою методу потенціалів показує, що він оптимальний. Тому
.
За оптимальним планом перевезень перший замовник отримує 90 тис. од. продукції з першої фабрики та 20 тис. од. — з третьої. Другий споживач задовольняє свій попит за рахунок виробництва та перевезення 40 тис. од. продукції з третьої фабрики і т. д. При цьому загальна вартість виробництва та перевезення всієї продукції є найменшою і становить 720 ум. од.
Задача 2. Районне агропромислове об’єднання складається з трьох господарств А1, А2, А3, що спеціалізуються на вирощуванні ранніх овочів. Кожне господарство щотижня збирає відповідно 50, 30 та 20 т овочів, які необхідно відправляти в чотири магазини B1, B2, B3, B4. Магазини бажають отримувати ранні овочі в кількості відповідно 30, 30, 10 та 20 т. Вартість перевезення 1 т овочів від господарства до магазинів наведено в таблиці.
Господарство | Вартість перевезення 1 т овочів у магазини | |||
В1 | В2 | В3 | В4 | |
А1 | ||||
А2 | ||||
А3 |
Визначити такий план перевезення овочів до магазинів, за якого загальні витрати агропромислового об’єднання будуть найменшими.
Побудова математичної моделі. Нехай хij — кількість тон овочів, які перевозять з і-го господарства j-го магазину ( ; ). Тоді економіко-математична модель поставленої задачі має такий вигляд:
Z = 2x11 + 3x12 + 4x13 + 2x14 + 5x21 + 7x22 + x23 +
+ 4x24 + 9x31 + 4x32 +3x33 +2x34 ® min,
за обмежень
Знак «≤» у перших трьох обмеженнях задачі пояснюється тим, що за умовою транспортна задача є відкритою:
У такій ситуації, коли попит менший за пропозицію, частина овочів залишиться в господарствах і фактично буде вивезено менше, ніж зібрано.
Розв’язування.Щоб визначити оптимальний план поставленої задачі, її необхідно збалансувати, тобто звести до закритого типу. Це виконується шляхом уведення додаткового, умовного споживача B5 із попитом B5 = 100 – 90 = 10 т. Вартість перевезення одиниці продукції до умовного споживача дорівнює нулю.
Перший опорний план транспортної задачі побудуємо методом подвійної переваги.
Aj | Bj | ui | ||||
B1 = 30 | B2= 30 | B3= 10 | B4= 20 | B5= 10 | ||
A1= 50 | u1= –4 | |||||
A2= 30 | –10 | 0+ | u2= 0 | |||
A3= 20 | 1 + | 20– | u3= –2 | |||
vj | v1= 6 | v2= 7 | v3= 1 | v4= 0 | v5= 0 |
Перший опорний план є виродженим, і тому в клітинку, наприклад A2B4, поставимо нуль і вважатимемо її заповненою.
Перевірка плану за допомогою потенціалів показує, що він є неоптимальним. Перехід до другого опорного плану виконується шляхом заповнення клітинки A3B2 згідно із побудованим циклом. Зазначену клітинку включено до циклу тому, що в разі кількох однакових найбільших порушень (D21 = D32 = 1) заповнюють таку клітинку таблиці, яка має меншу вартість перевезення одиниці продукції (с32 < c21).
Другий план транспортної задачі наведемо у вигляді таблиці:
Aj | Bj | ui | ||||
B1= 30 | B2= 30 | B3= 10 | B4= 20 | B5= 10 | ||
A1= 50 | u1= –3 | |||||
A2= 30 | u2= 0 | |||||
A3= 20 | u3= –2 | |||||
vj | v1= 5 | v2= 6 | v3= 1 | v4= 4 | v5= 0 |
Умова оптимальності для цього опорного плану виконується, і тому можна записати:
;
Zmin = 2 × 30 + 3 × 20 + 1 × 10 + 4 × 10 + 4 × 10 + 2 × 10 = 320 ум. од.
Згідно з оптимальним планом потреба магазинів у ранніх овочах задовольняється завдяки повному вивезенню продукції з першого та третього господарств і лише частково — з другого (залишок дорівнює 10 т). У цьому разі загальна вартість усіх перевезень буде найменшою і становитиме 230 ум. од.
Але виявляється, що розглянута транспортна задача має ще один альтернативний оптимальний план. Ознакою цього є виконання умови оптимальності для порожньої клітинки: ui + vj = cij. В останній таблиці це справджується для порожньої клітинки A2B1: u1 + v1 = 0 + 5 = с21 = 5.
Щоб отримати альтернативний оптимальний план, достатньо заповнити зазначену клітинку таблиці, виконавши перерозподіл продукції за таким циклом:
Наведемо транспортну таблицю, що відповідає другому оптимальному плану задачі.
Aj | Bj | ui | ||||
B1 = 30 | B2 = 30 | B3 = 10 | B4 = 20 | B5 = 10 | ||
А1 = 50 | u1 = –3 | |||||
A2 = 30 | u2 = 0 | |||||
A3 = 20 | u3 = –2 | |||||
vj | v1 = 5 | v2 = 6 | v3 = 1 | v4 = 4 | v5 = 0 |
Тому
;
Zmin = 2 × 20 + 3 × 30 + 5 × 10 + 1 × 10 + 2 × 20 = 230 ум. од.
Другий оптимальний план задачі формулюється так. Перевезти з першого господарства 20 т овочів до першого магазину та 30 т — до другого; з другого господарства — 10 т до першого магазину та 10 т овочів до третього, залишаючи невивезеними 10 т, а також з третього господарства до четвертого магазину — 20 т овочів. У цьому разі загальні транспортні витрати становитимуть 230 ум. од. і також будуть найменшими.
Контрольні запитання:
1. Опишіть економічну та математичну постановку класичної транспортної задачі.
2. Чим відрізняється транспортна задача від загальної задачі лінійного програмування?
3. Сформулюйте критерій оптимальності за методом потенціалів.
4. Чим відрізняється відкрита ТЗ від закритої?
5. Які методи побудови початкового опорного плану ТЗ Вам відомі? Яка їх суть?
6. Як обчислюють потенціали?
7. Які Ви знаєте методи переходу від одного опорного плану ТЗ до іншого?
8. У чому суть методу квадратів?
9. Як будують цикл у матриці перевезень та здійснюють його перерахунок?
Питання, що виносяться на самостійне опрацювання [література]:
1. Метод осереднених коефіцієнтів побудови початкового опорного плану ТЗ. [1,2]
2. Методи розв’язування розподільчих задач. [1-4]
3. Угорський метод розв’язування ТЗ. [3]
4. Двохетапна ТЗ. [3]
5. Транспортна задача за критерієм часу. [3]
6. Розв’язування ТЗ на мережі. [3]