Смекни!
smekni.com

Симплексний метод лінійного програмування (стр. 3 из 4)

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

Занесемо вихідні дані у таблицю

В1

В2

В3

В4

В5

Запаси

А1

5

2

3

6

1

200

А2

1

1

4

4

2

150

А3

4

3

1

2

1

350

А4

0

0

0

0

0

70

Потреби

110

170

200

180

110

Забезпечивши закритість розв'язуваної задачі, розпочинаємо будувати математичну модель даної задачі:

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

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

Загальні витрати, пов’язані з транспортуванням продукції, визначаються як сума добутків обсягів перевезеної продукції на вартості транспортування од. продукції до відповідного замовника і за умовою задачі мають бути мінімальними. Тому формально це можна записати так:

minZ=5x11+2x12+3x13+6x14+1x15+1x21+1x22+4x23+4x24+2x25+4x31+3x32+1x33

+2x34+ +1x35+0x41+0x42+0x43+0x44+0x45.

Загалом математична модель сформульованої задачі має вигляд:

minZ=5x11+2x12+3x13+6x14+1x15+1x21+1x22+4x23+4x24+2x25+4x31+3x32+1x33

+2x34+ +1x35+0x41+0x42+0x43+0x44+0x45.

за умов:

Запишемо умови задачі у вигляді транспортної таблиці та складемо її перший опорний план у цій таблиці методом «північно-західного кута».


Ai

Bj

ui

b1 = 110

b2 = 170

b3 = 200

b4=180

b5=110

а1 = 200

5

110

2

[-] 90

3

6

1

[+]

u1 = 0

а2 = 150

1

1

[+] 80

4

[-] 70

4

2

u2 = -1

а3 = 350

4

3

1

[+] 130

2

180

1

[-] 40

u3 = -4

а4 = 70

0

0

0

0

0

70

u4 = -5

vj

v1 = 5

v2 = 2

v3 = 5

v4 = 6

v5 = 5

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

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

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

u1=0, u2=-1, u3=-4, u4=-5, v1=5, v2=2, v3=5 v4=6, v5=5.

Ці значення потенціалів першого опорного плану записуємо у транспортну таблицю.

Потім згідно з алгоритмом методу потенціалів перевіряємо виконання другої умови оптимальності ui + vj ≤ cij (для порожніх клітинок таблиці).

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

(1;3): 0 + 5 > 3

(1;5): 0 + 5 > 1

(2;1): -1 + 5 > 1

(2;4): -1 + 6 > 4

(2;5): -1 + 5 > 2

(4;4): -5 + 6 > 0

Тому від нього необхідно перейти до другого плану, змінивши співвідношення заповнених і порожніх клітинок таблиці. Вибираємо максимальну оцінку вільної клітини (А1B5): 1. Для цього в перспективну клітку (1;5) поставимо знак «+», а в інших вершинах багатокутника чергуються знаки «-», «+», «-». Цикл наведено в таблиці.

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

Для цього у порожню клітинку А1B4 переносимо менше з чисел хij, які розміщені в клітинках зі знаком «–». Одночасно це саме число хij додаємо до відповідних чисел, що розміщені в клітинках зі знаком «+», та віднімаємо від чисел, що розміщені в клітинках, позначених знаком «–».

Усі інші заповнені клітинки першої таблиці, які не входили до циклу, переписуємо у другу таблицю без змін. Кількість заповнених клітинок у новій таблиці також має відповідати умові невиродженості плану, тобто дорівнювати (n + m – 1).

Отже, другий опорний план транспортної задачі матиме такий вигляд:

Ai

Bj

ui

b1 = 110

b2 = 170

b3 = 200

b4=180

b5=110

а1 = 200

5

110

2

[-] 50

3

6

1

[+] 40

u1 = 0

а2 = 150

1

1

[+] 120

4

[-] 30

4

2

u2 = -1

а3 = 350

4

3

1

[+] 170

2

[-] 180

1

u3 = -4

а4 = 70

0

0

0

0

[+]

0

[-] 70

u4 = -1

vj

v1 = 5

v2 = 2

v3 = 5

v4 = 6

v5 = 1

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

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

(1;3): 0 + 5 > 3

(2;1): -1 + 5 > 1

(2;4): -1 + 6 > 4

(4;1): -1 + 5 > 0

(4;2): -1 + 2 > 0

(4;3): -1 + 5 > 0

(4;4): -1 + 6 > 0

Вибираємо максимальну оцінку вільної клітини (А4B4): 0

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

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

Ai

Bj

ui

b1 = 110

b2 = 170

b3 = 200

b4=180

b5=110

а1 = 200

5

[-] 110

2

20

3

6

1

[+] 70

u1 = 0

а2 = 150

1

1

150

4

4

2

u2 = -1

а3 = 350

4

3

1

200

2

150

1

u3 = 1

а4 = 70

0

[+]

0

0

0

30

0

[-] 40

u4 = -1

vj

v1 = 5

v2 = 2

v3 = 0

v4 = 1

v5 = 1

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