Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ММДО.DO_ukr_new.doc
Скачиваний:
164
Добавлен:
16.05.2015
Размер:
5.09 Mб
Скачать

3.2. Визначення початкового опорного плану т-задачі

Розв’язання Т-задачі починається з побудови опорного плану. Опорний план містить не більше ніж m+n -1 (значення рангу системи обмежень Т-задачі) додатних компонент: невироджений план містить m+n-1, а вироджений план - менше ніж m+n-1. Є кілька простих способів знаходження початкового опорного плану Т-задачі, серед яких найпоширенішими є діагональний метод північно-західного кута, ме­тод мінімальної вартості і метод подвійних позначок.

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

1. Знаходимо x11 початкового плану, що дорівнює меншому з чисел a1,b1, тобто x11=min(a1,b1), а всі інші елементи першого стовпця (якщо a1>b1 , то x11=b1), або першого рядка (якщо a1<b1 то x11=a1), або і першого стовпця і першого рядка (якщо a1=b1, то x11=a1=b1) матриці перевезень покладемо такими, що дорівнюють нулю. Визначимо a(1)1=a1 - x11, b(1)1=b1 -x11.

2. Далі розглянемо незаповнену частину таблиці після k ітера­цій, тобто ту частину, що містить ще невизначені елементи матриці пе­ревезень. Нехай її верхній лівий елемент є x (k+2). Вико­наємо (k+1) ітерацію. Повторимо всі кроки першої ітерації, тобто знайдемо

Якщо a(k) b(k) то заповнюємо нулями -й рядок, починаючи з (+1)-го елемента. Якщо ж a(k) >b(k) то заповнюємо нулями -й стовпець. Коли ж х=a(k)=b(k) , то нулями заповнюються як -й рядок так і -й стовпець. Обчислюємо ,. На цьому (к+1) ітерація закінчується.

Через обмеженість числа елементів ai, i=1,m та bj, j=1,n описаний алгоритм скінчений. Так, наприклад, для задачі, вихідні дані якої задані в табл. 3.2, початковий опорний план, побудований методом північно-західного кута, ілюструється у табл. 3.3.

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

Таблиця 3.2

ПВ

ПД

ai

B1

B2

B3

B4

A1

7

4

2

3

50

A2

1

5

6

2

50

A3

3

8

7

6

100

bj

90

80

20

10

200

Таблиця 3.3

ПВ

ПД

ai

B1

B2

B3

B4

A1

50

50

A2

40

10

50

A3

70

20

10

100

bj

90

80

20

10

200

Опорний план Т-за­дачі для попереднього прикладу, і який побудовано методом мінімаль­ної вартості, наведено у табл. 3.4.

Таблиця 3.4

ПВ

ПД

ai

B1

B2

B3

B4

A1

(10)7

(6)4

20

(3)2

20

(4)3

10

50

A2

(1)1

50

(7)5

(8)6

(2)2

50

A3

(5)3

40

(12)8

60

(11)7

(9)6

100

bj

90

80

20

10

200

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

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

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

Таблиця 3.5

ПВ

ПД

ai

B1

B2

B3

B4

A1

7

* 4

30

** 2

20

3

50

A2

** 1

50

5

6

* 2

50

A3

* 3

40

8

50

7

6

10

100

bj

90

80

20

10

200