special

Математичне програмування - Наконечний С.І.

5.3. Методи побудови опорного плану транспортної задачі

Як і в звичайному симплексному методі, розв’язування транспортної задачі полягає в цілеспрямованому переборі та перевірці на оптимальність опорних планів. Початком такого ітераційного процесу є побудова першого опорного плану.

Перший опорний план транспортної задачі, як і будь-якої задачі лінійного програмування можна побудувати методом, який було розглянуто в розділі 2, що призведе до необхідності надто складних розрахунків. Завдяки вищезгаданим особливостям будови математичної моделі транспортної задачі існують кілька простих методів побудови опорного плану. Розглянемо методи північно-західного кута, мінімальної вартості, подвійної переваги та метод апроксимації Фогеля. Побудову опорного плану зручно подавати у вигляді таблиці, в якій постачальники продукції відповідають рядкам, а споживачі — стовпчикам.

Нехай умови конкретної транспортної задачі подані в табл. 5.2.

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

Розглянемо цей процес детальніше на прикладі.

Спочатку, не враховуючи вартості перевезень, завжди задовольняють потреби першого споживача В1, використовуючи запаси першого постачальника А1. У нашому прикладі (табл. 5.2) потреби споживача В1 становлять = 110, а запаси постачальника — = 150 одиниць (тобто із запасів першого постачальника можна повністю задовольнити потреби першого споживача), тому в клітинку А1В1 записуємо менше із значень , , тобто 110. Тепер потреби першого споживача повністю задоволені, і переходимо до задоволення потреб наступного (другого) споживача В2. Обсяг його потреб = 50. Після задоволення потреб першого споживача залишок запасів першого постачальника становить 150 – – 110 = 40. Отже, від першого виробника другому споживачеві можна перевезти лише 40 одиниць продукції, тому в клітину А1В2 записуємо число 40. Після цього, оскільки запаси першого постачальника повністю вичерпані, переходимо до використання запасів наступного постачальника А2. Його запаси  = 60, а незадоволені потреби другого споживача 50 – 40 = 10, тому в клітинку А2В2 записуємо число 10, і другий споживач у такий спосіб також повністю отримав необхідну кількість продукції. Переходимо до задоволення потреб наступного споживача В3. У результаті часткового використання запасів другого постачальника його залишок продукції становить 60 – 10 = 50. Отже, від другого виробника до третього споживача можна перевезти 50 одиниць продукції. Клітинка А2В3 міститиме зазначене число 50, і цим запаси постачальника А2 будуть повністю вичерпані. Переходимо до розподілу запасів останнього (третього) постачальника А3. Залишились незадоволеними потреби третього споживача в обсязі 60 –50 = 10. Для їх задоволення скористаємося запасами постачальника А3. У клітинку А3В3 записуємо число 10, і потреби споживача В3 також повністю задоволені. Переходимо до останнього споживача В4 з потребами b4 = 80, які повністю задовольняються за рахунок залишку запасів третього постачальника: 90 – 10 = 80.

Таблиця 5.2

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

Аналогічний результат можна отримати, якщо почати з правого нижнього кута таблиці, рухаючись до лівого верхнього. Процедуру методу можна застосовувати також, починаючи розподіл поставок з лівого нижнього кута і рухаючись до правого верхнього по діагоналі. В такому разі спосіб розподілу перевезень можна було б назвати методом південно-західного кута, тому цей метод ще називають діагональним. Метод північно-західного кута є найпростішим, однак і найменш ефективним. Процес відшукання оптимального плану після початкового опорного, визначеного методом північно-західного кута, пов’язаний зі значним обсягом обчислювальних робіт, тому його реалізують на ЕОМ.

Визначимо загальну вартість перевезень згідно з початковим опорним планом. Від першого постачальника до першого споживача необхідно перевезти 110 одиниць продукції за ціною 4 ум. од. (ціна записана в правому верхньому куті кожної клітини), отже, це коштуватиме ум. од. Крім того, необхідно перевезти від першого постачальника 40 одиниць продукції до другого споживача за ціною 4 ум. од. і т. д. У такий спосіб визначимо загальну вартість усіх перевезень:

(ум. од.).

Теорема 5.4. Опорний план транспортної задачі, знайдений методом північно-західного кута, завжди ациклічний.

Доведення. Скористаємося методом індукції числа . Для теорема очевидна: план ациклічний, оскільки складається з елемента. Так само ациклічним є план для , оскільки він складається лише з двох клітин.

Нехай теорема справедлива для деякого довільного . Доведемо її справедливість для числа .

Допустимо для визначеності, що в транспортній задачі (5.1)—(5.4) , тобто після першого кроку за методом північно-західного кута отримаємо , всі інші . Дальші кроки методу пов’язані із його застосуванням до таблиці розмірністю , де , а , причому всі запаси і потреби нової таблиці збігаються з запасами і потребами попередньої, крім . За припущенням індукції план, знайдений методом північно-західного кута для , тобто в новій таблиці, ациклічний. Очевидно, що приєднання до цього плану першого рядка з єдиним ненульовим елементом не утворить циклу, але відшуканий у такий спосіб план буде планом початкової задачі для , чим і доводиться теорема.

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

Очевидно, якщо за побудови опорного плану враховувати вартості перевезень, то сумарна вартість всіх постачань може бути зменшена, і отриманий опорний план буде ближчим до оптимального.

Ідея методу мінімальної вартості полягає в тому, що на кожному кроці заповнюють клітинку таблиці, яка має найменшу вартість перевезення одиниці продукції. Такі дії повторюють доти, доки не буде розподілено всю продукцію між постачальниками та споживачами.

Складемо за допомогою цього методу план розглянутої задачі (табл. 5.3).

Найменшу вартість мають перевезення, які здійснюються від А2 до В3 та від А3 до В2 (ціна перевезення одиниці продукції — 1 ум. од.). Заповнимо будь-яку з них, наприклад, А2В3. Оскільки постачальник має 60 одиниць продукції, а споживач потребує саме такої її кількості, то в клітину А2В3 ставимо значення 60. У такий спосіб запаси другого постачальника повністю вичерпані, а потреби третього споживача повністю задоволені. Також мінімальною є вартість перевезень від третього постачальника до другого споживача, тому заповнимо також клітину А3В2.

З клітинок таблиці, що залишились незаповненими, вибираємо наступне мінімальне значення вартості перевезень, яке дорівнює 2 ум. од. — для клітин А1В3, А2В4, А3В1 та А3В4. Заповнення клітин А2В4 та А1В3 неможливе, оскільки постачальник А2 вже повністю вичерпав власний обсяг запасів, задовольняючи потреби споживача В3, а споживач В3 повністю задовольнив свої потреби. Отже, можна заповнити тільки клітину А3В1 чи А3В4. Заповнимо А3В1. Обсяг запасів а3 = 90, причому 50 одиниць продукції вже надано другому споживачеві. Отже, маємо залишок 90 – 50 = 40, а потреби b1 = 110, тому від третього постачальника до першого споживача плануємо перевезти 40 одиниць продукції. Тепер у клітину А3В4 не можна записати будь-який обсяг постачання, оскільки запаси третього постачальника вже повністю вичерпані.

Знову вибираємо найменшу вартість для клітин таблиці, що залишилися пустими, і продовжуємо процес доти, поки всі запаси не будуть розподілені, а потреби — задоволені.

Таблиця 5.3

bj

ai

b1 = 110

b2 = 50

b3 = 60

b4 = 80

а1 = 150

4

70

4

2

5

80

а2 = 60

5

3

1

60

2

а3 = 90

2

40

1

50

4

2

В результаті таких міркувань отримали початковий опорний план, загальна вартість перевезень для якого становить:

(ум. од.).

Значення цільової функції менше за попередній варіант, значить цей план ближчий до оптимального.

Метод подвійної переваги. Якщо розмірність задачі досить велика, то перебір за методом мінімальної вартості ускладнюється. В такому разі спростити пошук клітин з найменшими вартостями можна, застосовуючи метод подвійної переваги.

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

Таблиця 5.4

bj

ai

b1 = 110

b2 = 50

b3 = 60

b4 = 80

а1 = 150

4

110

4

V 2

5

40

а2 = 60

5

3

VV 1

60

V 2

а3 = 90

V 2

VV 1

50

4

V 2

40

(ум. од.).

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

Метод апроксимації Фогеля. За цим методом на кожному кроці визначають різницю між двома найменшими вартостями в кожному рядку і стовпчику транспортної таблиці. Ці різниці записують у спеціально відведених місцях таблиці — знизу та справа у кілька рядків та стовпчиків, що відповідають крокам заповнення таблиці. З-поміж усіх різниць вибирають найбільшу і у відповідному рядку чи стовпчику заповнюють клітинку з найменшою вартістю. Якщо ж однакових найбільших різниць кілька, то вибирають будь-який відповідний рядок або стовпчик. Коли залишається незаповненим лише один рядок або стовпчик, то обчислення різниць припиняють, а таблицю продовжують заповнювати за методом мінімальної вартості.

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

Метод апроксимації Фогеля дає змогу особливо для задач великих розмірностей скласти найкращий опорний план.

Таблиця 5.5

bj

ai

b1 = 110

b2 = 50

b3 = 60

b4 = 80

Різниці по рядках

а1 = 150

4

110

4

40

2

5

2

2

0

а2 = 60

5

3

1

60

2

1

2

 

а3 = 90

2

1

10

4

2

80

1

1

1

Різниці по стовпцях

2

2

1

3

 

 

 

2

2

1

 

 

 

 

2

3

 

 

 

 

 

У таблиці 5.5. навпроти кожного рядка і стовпчика записані величини, які знайдені як різниці між мінімальним значенням вартості та наступним за ним по рівню. Максимальне значення такої різниці на першому кроці відповідає четвертому стовпчику і означає, що у разі, коли не буде задоволена потреба четвертого споживача перевезенням продукції від третього постачальника за ціною 2 ум. од. за одиницю, то на наступних кроках вартість перевезення може бути на 3 ум. од. більшою. Тобто інакше може статися, що потребу четвертого споживача необхідно буде задовольняти перевезенням продукції від першого постачальника, що призведе до збільшення вартості цього перевезення в 2,5 рази. Водночас для всіх інших споживачів та постачальників такі різниці є меншими. Отже, найдоцільніше на першому кроці заповнити клітину А3В4. Після цього потреби В4 повністю задоволені, і всі клітини четвертого стовпчика виключаються з наступного розрахунку різниць по рядках і стовпцях.

На другому кроці максимальна різниця дорівнює 2 і відповідає першому і другому рядкам та першому і другому стовпчикам, тому можна заповнювати будь-яку їх клітину з мінімальною вартістю, наприклад, А2В3. Після цього з розгляду виключаються одразу всі клітини другого рядка та третього стовпця, оскільки потреби третього споживача повністю задоволені, а запаси другого постачальника вичерпані.

Останній розрахунок різниць (найбільше значення 3 відповідає другому стовпчику) свідчить про доцільність введення поставки від третього постачальника до другого споживача. Решту клітин заповнимо методом мінімальної вартості та визначимо загальну вартість перевезень:

 (ум. од.).

Результат збігся із значенням цільової функції для опорного плану, що складений за попереднім методом. Ефективність методу апроксимації Фогеля, як вже згадувалось, є очевидною для задач більшої розмірності.

Зазначимо, що ефективність наведених методів можна оцінювати лише в середньому, оскільки можлива ситуація, що методом мінімальної вартості отримано опорний план транспортної задачі кращий, ніж методом подвійної переваги.



 

Created/Updated: 25.05.2018