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

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

Процес пошуку опорного та оптимального планів перевезень у транспортної ( T ) задачі розглянемо на конкретному прикладі. Відмітимо також, що всі без винятку спрощені методи розв’язання Т-задачі базуються на транспортній таблиці (див. табл. 3.3).

В центрі кожної клітинки перехрестя і проставляються обсяги відповідних перевезень ( ), у її верхньому правому куті – відповідні відстані від до , тобто .

Таблиця 3.3

Складання опорного плану перевезень

методом північно-західного кута

Запаси

4

80

7

20

2

5

100

3

6

80 -

1

+ 40

8

120

9

3

+

6

70

-

2

70

140

Заявки

80

100

110

70

360

Із застосуванням транспортних таблиць Т-задача формулюється наступним чином: визначити такі позитивні значення обсягів перевезень , сума яких по кожному і –му ряду ( ) дорівнює , і сума яких по кожній j-й колонці ( ) дорівнює , при цьому сума добутків ( ) по всіх клітинках буде мінімальною.

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

Згідно таблиці 4 маємо: m = 3; n = 4.

b1 = 80 т.; b2 = 100 т.; b3 = 110 т.; b4 = 70 т.; а1 = 100 т.; а2 = 120 т.; а3 = 140 т.;

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

Для розглянутого випадку робимо наступне:

  1. Задовольнимо , решту відправимо до B2;

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

  3. Щоб повністю задовольнити , додамо необхідний обсяг за рахунок (ще 70). Решту відправимо до , задовольнив таким чином його повністю.

Підрахуємо кількість ненульових перевезень (зайнятих клітинок). Таких є 6, що відповідає обов'язкової умові (n + m – 1) = (4 + 3 – 1) = 6. Оскільки суми перевезень по рядах і колонках відповідають ( ) і ( ), отриманий план перевезень є можливим і опорним, тому що цей план є початковим. Для отриманого плану можливо підрахувати загальні витрати на здійснення всіх перевезень. Якщо приймемо для спрощення С = 1 грн (вартість 1 ткм), то

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

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

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

Для кожного такого контуру знаходимо вартісну характеристику переміщення одиниці вантажу в незайняту клітинку ( ), не змінюючи баланс сум перевезень в рядках та стовпчиках. Для переміщення, наприклад, 1 т вантажу в отримуємо збільшення вартості на ( ), але для збереження балансу вантажів в рядках і стовпчиках зменшуємо на 1 т вантаж в клітинці , що викличе зменшення вартості перевезень на ( ). Оскільки зменшується на 1 т, додамо в клітинку також 1 т, що викличе збільшення вартості перевезення на ( ). Однак збільшення на 1 т повинно призвести до зменшення на 1 т, тобто до зменшення вартості перевезень на ( ). Це зменшення буде скомпенсоване раніше проведеним додаванням 1 т в незайняту клітинку . Таким чином, додавання 1 т в незайняту клітинку призведе до зміни вартості на величину вартісної характеристики (при С = 1 грн/ткм):

Іншими словами, переміщення одиниці вантажу (або будь-якого об’єму) по контуру не викличе зміни вартості перевезень, тобто така модернізація початкового плану недоцільна. Відзначимо, що вартість С = 1 грн/ткм входить в як додатній коефіцієнт при алгебраїчній сумі відстаней по даному контуру, тому будемо визначати в незайнятій (ij)-ї клітинці як алгебраїчну суму відстаней по даному контуру, причому для даної незайнятої клітинки ця відстань приймається завжди зі знаком “+”, потім за мірою просування по контуру (або в одну, або в іншу сторону – напрям проходження контуру не має значення) відстані приймають послідовно знаки “-” або “+”.

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

Визначаємо для всіх незайнятих клітинок:

;

;

α31 = 9 – 4 + 7 – 6 + 1 – 6 = 1;

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

Об’єм вантажу, що переміщається, визначається як мінімальний з від’ємних об’ємів по даному контуру ( ). Таким чином, переміщення вантажу по даному контуру дозволить максимально завантажити клітинку і повністю розвантажити клітинку . Очевидно, що при цьому стане рівним (80 – 70) = 10, а стане рівним (40 + 70) = 110. Інші значення для даного контуру ; .

Очевидно, що загальна вартість перевезень повинна при цьому змінитися на:

і має бути рівною

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

Для отриманого плану перевезень маємо:

;

;

;

Перевіряємо загальну вартість перевезень:

.

Таблиця 3.4

Запаси

4

80

7

-

20

2

5

+

100

3

6

10

1

110

8

120

9

3

70

+

6

2

70

-

140

Заявки

80

100

110

70

360

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

, і т.д.

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

Більш простим методом оптимізації плану перевезень є метод потенціалів, суть якого полягає у наступному.

1. Приймаємо будь-який початковий потенціал ui для i-го ряду таблиці; шукаємо заповнену клітинку (ij), для якої і визначаємо відповідний потенціал та рахуємо: vj = lij - ui . Робимо аналогічні розрахунки для решти рядів і колонок таблиці, спираючись на вже розраховані транспортні потенціали.

Таблиця 3.5

Запаси

4

80

7

2

5

20

100

3

6

10

1

110

8

120

9

3

90

6

2

50

140

Заявки

80

100

110

70

360

2. Після визначення i ( ; ) перевіряємо нерівність для всіх (ij) незайнятих клітинок таблиці (тобто для ). Якщо ця нерівність має місце для усіх без виключення незайнятих клітинок, план перевезень є оптимальним.

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

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

Наприклад, є певний опорний план перевезень (табл. 3.6). Розрахуємо потенціали і , використовуючи саме зайняті клітинки, і занесемо їх в додаткові стовпчик і рядок.

Приймаємо , тоді ; . Використовуючи вже отримані потенціали, визначаємо решту потенціалів:

; ;

;

Відмітимо, що для отриманого плану (при C = 1 грн/ткм) маємо L = 980 грн, що набагато краще опорного плану, отриманого за методом північно-західного кута (L1=1540 грн.).

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

; ; ;

; ; .

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

Таблиця 3.6

4

7

2

6

0

4

7

30

-

2

70

5

+

100

-1

3

80

6

1

40

8

120

-4

9

3

+

70

6

2

-

70

140

80

100

110

70

360

Для цього шукаємо контур, що містить у решті кутів зайняті клітинки. Це контур: . Оскільки ми завантажуємо , присвоюємо їй знак “+”, потім, пересуваючись по контуру, послідовно міняємо знаки. Мінімальне абсолютне значення від’ємного обсягу знаходиться в клітинці і дорівнює x = 30 т. Пересуваємо цей обсяг по контуру з урахуванням знаків і отримуємо новий план перевезень. Далі процес повторюється до отримання оптимального плану.