Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МРіЗ.docx
Скачиваний:
24
Добавлен:
16.05.2015
Размер:
150.14 Кб
Скачать

Розв’язання:

Математична модель транспортної задачі:

F = ∑∑cijxij,

при умові:

∑xij = ai, i = 1,2,…, m,

∑xij = bj, j = 1,2,…, n,

Вартість перевезення одиниці вантажу з кожного пункту відправлення у відповідні пункти призначення задана матрицею тарифів

1

2

3

4

5

Запаси

1

1

2

3

4

8

300

2

4

5

6

2

6

200

3

1

1

3

4

5

100

4

3

3

2

2

7

200

5

5

6

7

8

10

300

Потреби

100

100

200

200

300

Перевіримо необхідну і достатню умови розв'язання задачі.

∑a = 300 + 200 + 100 + 200 + 300 = 1100

∑b = 100 + 100 + 200 + 200 + 300 = 900

Занесемо вихідні дані у розподільну таблицю.

1

2

3

4

5

6

Запаси

1

1

2

3

4

8

0

300

2

4

5

6

2

6

0

200

3

1

1

3

4

5

0

100

4

3

3

2

2

7

0

200

5

5

6

7

8

10

0

300

Потреби

100

100

200

200

300

100

Етап I. Пошук першого опорного плану.

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

1

2

3

4

5

6

Запаси

1

1

2

3

4

8

0

300

2

4

5

6

2[200]

6

0

200

3

1[100]

1

3

4

5

0

100

4

3

3

2[200]

2

7

0

200

5

5

6[100]

7

8

10

0[200]

300

Потреби

100

100

200

200

300

200

2. Підрахуємо число зайнятих клітин таблиці, їх 8, а має бути m+n-1=10. Отже, опорний план є виродженим.

Для отримання не виродженого плану примусово додаємо нуль [0] в клітку (1; 1); (1, 2).

Етап II. Поліпшення опорного плану.

Перевіримо оптимальність опорного плану. Знайдемо попередні потенціали ui, vi. по зайнятих клітинах таблиці, в яких ui + vi = cij, вважаючи, що u1 = 0.

v 1 = 1

v 2 = 2

v 3 = 3

v 4 = 4

v 5 = 8

v 6 = 0

u1 = 0

1[0]

2[0]

3[0]

4[0]

8[300]

0[0]

u2 = -2

4

5

6

2[200]

6

0

u3 = 0

1[100]

1

3

4

5

0

u4 = -1

3

3

2[200]

2

7

0

u5 = 2

5

6[100]

7

8

10

0[200]

Опорний план не є оптимальним, тому що існують оцінки вільних клітин, для яких ui + vi > cij

Вибираємо максимальну оцінку вільної клітини (3; 1): 4

Для цього в перспективну клітку (3; 1) поставимо знак «+», а в решті вершинах багатокутника чергуються знаки «-», «+», «-».

1

2

3

4

5

6

Запаси

1

1[0]

2[0][-]

3[0]

4[0]

8[300]

0[0][-]

300

2

4

5

6

2[200]

6

0

200

3

1[100]

1

3

4

5

0

100

4

3

3

2[200]

2

7

0

200

5

5

6[100][+]

7

8

10

0[200][+]

300

Потреби

100

100

200

200

300

200

Цикл наведено в таблиці (3,1; 1,1; 1,2; 3,2;).

З вантажів хij які стоять в мінусових клітинах, вибираємо найменший, тобто у = min (1, 1) = 0. Додаємо 0 до обсягів вантажів, що стоять в плюсових клітинах і віднімаємо 0 з Хij, які стоять в мінусових клітинах. В результаті отримаємо новий опорний план.

1

2

3

4

5

Запаси

1

1[0]

2[0]

3[0]

4[0]

8[300]

0[0]

300

2

4

5

6

2[200]

6

0

200

3

1[100]

1

3

4

5

0

100

4

3

3

2[200]

2

7

0

200

5

5

6[100]

7

8

10

0[200]

300

Потреби

100

100

200

200

300

200

Перевіримо оптимальність опорного плану. Знайдемо попередні потенціали ui, vi. по зайнятих клітинам таблиці, в яких ui + vi = cij, вважаючи, що u1 = 0.

v 1 = 1

v 2 = 2

v 3 = 3

v 4 = 4

v 5 = 8

v 6 = 0

u1 = 0

1[0]

2[0]

3[0]

4[0]

8[300]

0[0]

u2 = -2

4

5

6

2[200]

6

0

u3 = 0

1[100]

1

3

4

5

0

u4 = -1

3

3

2[200]

2

7

0

u5 = 2

5

6[100]

7

8

10

0[200]

Опорний план не є оптимальним, тому що існують оцінки вільних клітин, для яких ui + vi > cij

Вибираємо максимальну оцінку вільної клітини . Для цього в перспективну клітку поставимо знак «+», а в решті вершинах багатокутника чергуються знаки «-», «+», «-».

1

2

3

4

5

6

Запаси

1

1[0]

2[0][-]

3[0]

4[0]

8[300]

0[0][+]

300

2

4

5

6

2[200]

6

0

200

3

1[100]

1

3

4

5

0

100

4

3

3

2[200]

2

7

0

200

5

5

6[100][+]

7

8

10

0[200][-]

300

Потреби

100

100

200

200

300

200

З вантажів хij що стоять в мінусових клітинах, вибираємо найменше, тобто у = min =0. Додаємо 0 до обсягів вантажів, що стоять в плюсових клітинах і віднімаємо 0 з Хij, що стоять в мінусових клітинах. В результаті отримаємо новий опорний план.

1

2

3

4

5

6

Запаси

1

1[0]

2

3[0]

4[0]

8[300]

0

300

2

4

5

6

2[200]

6

0

200

3

1[100]

1

3

4

5

0

100

4

3

3

2[200]

2

7

0

200

5

5

6[100]

7

8

10

0[200]

300

Потреби

100

100

200

200

300

200

Перевіримо оптимальність опорного плану. Знайдемо попередні потенціали ui, vi. по зайнятих клітинам таблиці, в яких ui + vi = cij, вважаючи, що u1 = 0.

v 1 = 1

v 2 = 2

v 3 = 3

v 4 = 4

v 5 = 8

v 6 = 0

u1 = 0

1[0]

2

3[0]

4[0]

8

0[0]

u2 = -2

4

5

6

2[200]

6

0

u3 = 0

1[100]

1

3

4

5

0

u4 = -1

3

3

2[200]

2

7

0

u5 = 2

5

6[100]

7

8

10

0[200]

Опорний план не є оптимальним, тому що існують оцінки вільних клітин, для яких ui + vi > cij

Вибираємо максимальну оцінку вільної клітини. Для цього в перспективну клітку поставимо знак «+», а в решті вершинах багатокутника чергуються знаки «-», «+», «-».

1

2

3

4

5

6

Запаси

1

1[0]

2[0][-]

3[0]

4[0]

8[300]

0[0][-]

300

2

4

5

6

2[200]

6

0

200

3

1[100]

1

3

4

5

0

100

4

3

3

2[200]

2

7

0

200

5

5

6[100][+]

7

8

10

0[200][+]

300

Потреби

100

100

200

200

300

200

З вантажів хij що стоять в мінусових клітинах, вибираємо найменше, тобто у = min (1, 2) = 0. Додаємо 0 до обсягів вантажів, що стоять в плюсових клітинах і віднімаємо 0 з Хij, що стоять в мінусових клітинах. В результаті отримаємо новий опорний план.

1

2

3

4

5

6

Запаси

1

1[0]

2[0]

3[0]

4[0]

8[300]

0[0]

300

2

4

5

6

2[200]

6

0

200

3

1[100]

1

3

4

5

0

100

4

3

3

2[200]

2

7

0

200

5

5

6[100]

7

8

10

0[200]

300

Потреби

100

100

200

200

300

200

Перевіримо оптимальність опорного плану. Знайдемо попередні потенціали ui, vi. по зайнятих клітинам таблиці, в яких ui + vi = cij, вважаючи, що u1 = 0.

v 1 = 1

v 2 = 2

v 3 = 3

v 4 = 4

v 5 = 8

v 6 = 0

u1 = 0

1[0]

2

3[0]

4[0]

8

0[0]

u2 = -2

4

5

6

2[200]

6

0

u3 = 0

1[100]

1

3

4

5

0

u4 = -1

3

3

2[200]

2

7

0

u5 = 2

5

6[100]

7

8

10

0[200]

Опорний план є оптимальним, так як всі оцінки вільних клітин задовольняють умові ui + vi <= cij.

Мінімальні витрати складуть:

F(x) = 1*100 + 2*200 + 2*20 + 2*200 + 6*100 + 0*200 =800