Методичні рекомендації та завдання до контрольної роботи з курсу “Математичне програмування”, страница 4

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В525=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 тощо (повністю обчислення зробіть самостійно).

Серед потенціалів незавантажених клітин є додатні (перевірте), тому отриманий план не є оптимальним. Серед додатних потенціалів вибираємо найбільший: р3443=4. Беремо, наприклад, клітину А3В4 і приєднуємо її до клітин опорного плану. Знаходимо цикл (починаючи з клітини А3В4):  А3В41В41В23В2.  Нумеруємо клітини циклу, починаючи з клітини А3В4

(рис. 1).  Серед завантажень клітин парного півциклу знаходимо xmin=15 і робимо перенос по циклу: віднімаємо її з завантажень парного півциклу і додаємо до завантажень клітин непарного півциклу.  Клітину А3В2 виводимо з множини завантажених клітин (рис. 2).

15

 

4

 

1

 
 


                         Рис. 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.