5. Нумеруємо клітини циклу, починаючи від приєднаної до опорного плану (ця клітина обов'язково потрапляє в цикл), рухаючись уздовж циклу. Клітини з непарними номерами утворять непарний півцикл, із парними – парний півцикл.
6. Серед завантажень клітин парного півциклу знаходимо найменше завантаження xmin.
7. Робимо перенос по циклу: із завантажень клітин парного півциклу віднімаємо xmin, до завантажень клітин непарного півциклу додаємо xmin. Клітину парного півциклу, у якої завантаження стало рівним нулю (або будь-яку з них, якщо таких клітин декілька), викидаємо з множини завантажених клітин (тим самим розриваємо цикл) і переходимо до п. 1.
Розв’язання транспортної задачі продемонструємо на прикладі, дані яких наведені в табл. 1.
Табл. 1
Постачальник |
Споживач |
Наявність вантажу |
||||
В1 |
В2 |
В3 |
В4 |
В5 |
||
А1 |
8 |
7 |
9 |
5 |
11 |
120 |
А2 |
4 |
12 |
14 |
8 |
9 |
150 |
А3 |
7 |
10 |
19 |
4 |
11 |
180 |
А4 |
4 |
12 |
7 |
13 |
10 |
250 |
Потреба у вантажі |
110 |
195 |
165 |
100 |
130 |
700 |
Змінимо транспортну матрицю, для цього введемо рядок для потенціалів V1 і стовпчик для потенціалів Uk. Кожну клітину розділимо навпіл діагоналлю, над якою будемо писати Ckl, а під діагоналлю - xkl. Замість першого стовпчика поставимо стовпчик наявності вантажу аk, а замість першого рядка - потреби bl (табл. 2).
Табл. 2
bl ak |
110 |
195 |
165 |
100 |
130 |
|
120 |
8 |
7 20 |
9 |
5 100 |
11 |
0 |
150 |
4 110 |
12 |
14 |
8 |
9 40 |
4 |
180 |
7 |
10 15 |
9 165 |
4 |
11 |
3 |
250 |
9 |
12 160 |
7 |
13 |
10 90 |
5 |
0 |
7 |
6 |
5 |
5 |
Uk Vl |
Будуємо опорний план методом мінімуму по рядку. У першому рядку мінімальне С1l дорівнює С14=5 (клітина А1В1). Завантажуємо клітину, вважаючи х14=100. У А1 залишилося 20 одиниць вантажу. Переходимо до слідуючої клітини за мінімумом С1l - це клітина А1В2, де С12=7. Завантажуємо її х12=20 і переходимо до другого рядка, де minC2l=C21=4. Клітину А2В1 завантажуємо х21=110. Переходимо до клітини А2В5:С25=9 (у рядку є клітина А2В4, у якій С24=8<9, але потреба В4 уже задоволена). Завантажуємо х24=40. Переходимо до третього рядка. Мінімальне С3l по не повністю завантажених стовпцях дорівнює С33=9. Завантажуємо клітину А3В3: х33=165 і клітину А3В2 х32=15. Заповнимо далі четвертий рядок: х45=90, х42=160. Кількість завантажених клітин 8=m+n-1 де m=4 - кількість постачальників, n=5 - кількість споживачів (це входить в умову того, що отриманий план - опорний) (див. табл. 2).
Перевіряємо отриманий план на оптимальність. Для цього знаходимо потенціали рядків і стовпчиків:
U1=0, V2=7 (тому що U1+V2=C12=7) тощо (див. табл. 2).
Знаходимо потенціали незавантажених клітин за формулою pkl=Uk+Vl-Ckl: р11== -8, р34= -3 тощо (повністю обчислення зробіть самостійно).
Серед потенціалів незавантажених клітин є додатні (перевірте), тому отриманий план не є оптимальним. Серед додатних потенціалів вибираємо найбільший: р34=р43=4. Беремо, наприклад, клітину А3В4 і приєднуємо її до клітин опорного плану. Знаходимо цикл (починаючи з клітини А3В4): А3В4-А1В4-А1В2-А3В2. Нумеруємо клітини циклу, починаючи з клітини А3В4
(рис. 1). Серед завантажень клітин парного півциклу знаходимо xmin=15 і робимо перенос по циклу: віднімаємо її з завантажень парного півциклу і додаємо до завантажень клітин непарного півциклу. Клітину А3В2 виводимо з множини завантажених клітин (рис. 2).
|
||||||||
|
|
Рис. 1 Рис. 2
Одержуємо другий опорний план, який знову перевіряємо на оптимальність. Цей процес продовжуємо, поки потенціали всіх незавантажених клітин не стануть недодатніми (зробіть самостійно). Оптимальний план приведено в таблиці 3.
Табл. 3
bl ak |
110 |
195 |
165 |
100 |
130 |
|
120 |
8 |
7 120 |
9 |
5 |
11 |
0 |
150 |
4 110 |
12 |
14 |
8 |
9 40 |
0 |
180 |
7 |
10 75 |
9 5 |
4 100 |
11 |
3 |
250 |
9 |
12 |
7 160 |
13 |
10 90 |
1 |
4 |
7 |
6 |
1 |
9 |
Uk Vl |
Мінімум транспортної роботи:
min C=7∙ 120+4∙ 110+9∙ 40+10∙ 75+9∙ 5+4∙ 100+7∙ 160+10∙ 90=4855.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.