8x1 + 3x2 + 0x3 + 1x4 + 0x5 = 5
-14x1 + 2x2-11x3 + 0x4 + 1x5 = 3
Вважаючи, що вільні змінні рівні 0, отримаємо перший опорний план
План | Базис | В | x1 | x2 | x3 | x4 | x5 |
0 | x4 | 5 | 8 | 3 | 0 | 1 | 0 |
x5 | 3 | -14 | 2 | -11 | 0 | 1 | |
Індексний рядок | F(X0) | 0 | 8 | 3 | -9 | 0 | 0 |
Перейдемо до основного алгоритму симплекс-метода.
План | Базис | В | x1 | x2 | x3 | x4 | x5 | min |
1 | x4 | 5 | 8 | 3 | 0 | 1 | 0 | 1.67 |
x5 | 3 | -14 | 2 | -11 | 0 | 1 | 1.5 | |
Індексний рядок | F(X1) | 0 | -14 | -27 | 11 | 0 | 0 | 0 |
План | Базис | В | x1 | x2 | x3 | x4 | x5 | min |
2 | X4 | 0.5 | 29 | 0 | 16.5 | 1 | -1.5 | 0.0172 |
X2 | 1.5 | -7 | 1 | -5.5 | 0 | 0.5 | 0 | |
Индексная строка | F(X2) | 40.5 | -203 | 0 | -137.5 | 0 | 13.5 | 0 |
План | Базис | В | x1 | x2 | x3 | x4 | x5 |
3 | x1 | 0.0172 | 1 | 0 | 0.569 | 0.0345 | -0.0517 |
x2 | 1.62 | 0 | 1 | -1.52 | 0.2414 | 0.1379 | |
Индексная строка | F(X3) | 44 | 0 | 0 | -22 | 7 | 3 |
План | Базис | В | x1 | x2 | x3 | x4 | x5 |
4 | x3 | 0.0303 | 1.76 | 0 | 1 | 0.0606 | -0.0909 |
x2 | 1.67 | 2.67 | 1 | 0 | 0.3333 | 0 | |
Индексная строка | F(X4) | 44.67 | 38.67 | 0 | 0 | 8.33 | 1 |
Оптимальний план можливо записати так:
x3 = 0.0303
x2 = 1.67
F(X) = 27*1.67 + -11*0.03 = 44.67
Завдання 3
Розвязати транспортну задачц.
1 | 4 | 1 | 5 | 6 | 300 |
1 | 3 | 1 | 1 | 2 | 250 |
4 | 1 | 2 | 2 | 3 | 200 |
100 | 120 | 90 | 70 | 80 |
Розв’язок
Побудова математичної моделі. Нехай xij — кількість продукції, що перевозиться з і-го пункту виробництва до j-го споживача
. Оскільки , то задачу треба закрити, тобто збалансувати (зрівняти) поставки й потреби У нашому випадку робиться це введенням фіктивного постачальника, оскільки . З уведенням фіктивного споживача в транспортній таблиці додатково заявляється n робочих клітинок (додатковий стовпчик).Виникає проблема, які ціни присвоїти цим клітинкам, щоб фіктивний стовпчик був нейтральним щодо оптимального вибору планових перевезень. Нейтральність забезпечується тим, що всі ціни у фіктивних клітинках вибираються однаковими, а оскільки ці ціни при поставках не повинні впливати на значення цільової функції f, то їх беруть усі рівними нулю.
Занесемо вихідні дані у таблицю.
В1 | В2 | В3 | В4 | В5 | В6 | Запаси | |
А1 | 1 | 4 | 1 | 5 | 6 | 0 | 300 |
А2 | 1 | 3 | 1 | 1 | 2 | 0 | 250 |
А3 | 4 | 1 | 2 | 2 | 3 | 0 | 200 |
Потреби | 100 | 120 | 90 | 70 | 80 | 290 |
Забезпечивши закритість розв'язуваної задачі, розпочинаємо будувати математичну модель даної задачі:
Економічний зміст записаних обмежень полягає в тому, що весь вантаж потрібно перевезти по пунктах повністю.
Аналогічні обмеження можна записати відносно замовників: вантаж, що може надходити до споживача від чотирьох баз, має повністю задовольняти його попит. Математично це записується так:
Загальні витрати, пов’язані з транспортуванням продукції, визначаються як сума добутків обсягів перевезеної продукції на вартості транспортування од. продукції до відповідного замовника і за умовою задачі мають бути мінімальними. Тому формально це можна записати так:
minZ = 1x11 + 4x12 + 1x13 + 5x14 +6x15 + 0x16 +1x21 + 3x22 + 1x23 + 1x24 +2x25+0x26+4x31 + 1x32 + 2x33 + 2x34 +3x35 + 0x36.
Загалом математична модель сформульованої задачі має вигляд:
minZ = 1x11 + 4x12 + 1x13 + 5x14 +6x15 + 0x16 +1x21 + 3x22 + 1x23 + 1x24 +2x25 +0x26+4x31 + 1x32 + 2x33 + 2x34 +3x35 + 0x36.
за умов:
Запишемо умови задачі у вигляді транспортної таблиці та складемо її перший опорний план у цій таблиці методом «північно-західного кута».
Ai | Bj | ui | |||||
b1 = 100 | b2 = 120 | b3 = 90 | b4=70 | b5=80 | B6=290 | ||
а1 = 300 | 1100 | 4[-]120 | 1[+]80 | 5 | 6 | 0 | u1 = 0 |
а2 = 250 | 1 | 3 | 1[-]10 | 170 | 280 | 0[+]90 | u2 = 0 |
а3 = 200 | 4 | 1[+] | 2 | 2 | 3 | 0[-]200 | u3 = 0 |
vj | v1 =1 | v2 =4 | v3 =1 | v4 =1 | v5=2 | V6 =0 |
В результаті отримано перший опорний план, який є допустимим, оскільки всі вантажі з баз вивезені, потреба магазинів задоволена, а план відповідає системі обмежень транспортної задачі.
Підрахуємо число зайнятих клітин таблиці, їх 8, а має бути m+n-1=8. Отже, опорний план є не вироджених.
Перевіримо оптимальність опорного плану, складемо систему рівнянь (для заповнених клітин таблиці) для визначення потенціалів першого опорного плану:
Записана система рівнянь є невизначеною, і один з її розв’язків дістанемо, узявши, наприклад, u1 = 0. Тоді всі інші потенціали однозначно визначаються з цієї системи рівнянь: u1 =0, u2 = 0, u3 = 0, v1 =1, v2 =4, v3 =1 v4=1, v5=2, v6=0. Ці значення потенціалів першого опорного плану записуємо у транспортну таблицю.
Потім згідно з алгоритмом методу потенціалів перевіряємо виконання другої умови оптимальності ui + vj ≤ cij(для порожніх клітинок таблиці):
А1B4 : u1 + v4 = 0 + 1 = 1<5;
А1B5 : u1 + v5 = 0 + 2 = 2<6;
А1B6 : u1 + v6 = 0 + 0 = 0=0;
А2B1 : u2 + v1 = 0 + 1 = 1= 1;
А2B2 : u2 + v2 = 0 + 4 = 4>3;
А3B1 : u3 + v1 = 0 + 1 = 1< 4;
А3B2 : u3 + v2 = 0 + 4 = 4> 1;
А3B3 : u3 + v3 = 0 + 1 = 1<2;
А3B4 : u4 + v1 = 0 + 1 = 1<2;
А3B5 : u4 + v2 = 0 + 2 = 2<3;
Опорний план не є оптимальним, тому що існують оцінки вільних клітин для яких ui + vi>cij
А2B2 : u2 + v2 = 0 + 4 = 4>3;
А3B2 : u3 + v2 = 0 + 4 = 4> 1;
Тому від нього необхідно перейти до другого плану, змінивши співвідношення заповнених і порожніх клітинок таблиці. Вибираємо максимальну оцінку вільної клітини (А3B2): 1
Ставимо в ній знак «+». Для визначення клітинки, що звільняється, будуємо цикл, починаючи з клітинки А3B2, та позначаємо вершини циклу почергово знаками «–» і «+». Тепер необхідно перемістити продукцію в межах побудованого циклу. Для цього у порожню клітинку А1B4 переносимо менше з чисел хij, які розміщені в клітинках зі знаком «–». Одночасно це саме число хij додаємо до відповідних чисел, що розміщені в клітинках зі знаком «+», та віднімаємо від чисел, що розміщені в клітинках, позначених знаком «–».
З вантажів хij що стоять в мінусових клітинах, вибираємо найменше,
, тобто . Додаємо 10 до обсягів вантажів, що стоять в плюсових клітинах і віднімаємо 10 з Хij, що стоять в мінусових клітинах. В результаті отримаємо новий опорний план. Усі інші заповнені клітинки першої таблиці, які не входили до циклу, переписуємо у другу таблицю без змін. Кількість заповнених клітинок у новій таблиці також має відповідати умові невиродженості плану, тобто дорівнювати (n + m – 1).Отже, другий опорний план транспортної задачі матиме такий вигляд:
Ai | Bj | ui | |||||
b1 = 100 | b2 = 120 | b3 = 90 | b4=70 | b5=80 | B6=290 | ||
а1 = 300 | 1100 | 4[-] 110 | 190 | 5 | 6 | 0[+] | u1 = 0 |
а2 = 250 | 1 | 3 | 1 | 170 | 280 | 0100 | u2 = -3 |
а3 = 200 | 4 | 1[+] 10 | 2 | 2 | 3 | 0[-] 190 | u3 = -3 |
vj | v1 =1 | v2 =4 | v3 =1 | v4 =4 | v5=5 | V6 =3 |
Перевіримо оптимальність опорного плану. Знайдемо потенціали ui, vi. по зайнятих клітинам таблиці, в яких ui + vi = cij, вважаючи, щоu1 = 0.
Опорний план не є оптимальним, тому що існують оцінки вільних клітин для яких ui + vi>cij
(А1B6): 0 + 3 = 3 >0;
Вибираємо максимальну оцінку вільної клітини (А1B6): 0
Для цього в перспективну клітку (А3B2) поставимо знак «+», а в інших вершинах багатокутника чергуються знаки «-», «+», «-». Цикл наведено в таблиці.
З вантажів хij що стоять в мінусових клітинах, вибираємо найменше, тобто у = min (А1B2) = 110. Додаємо 110 до обсягів вантажів, що стоять в плюсових клітинах і віднімаємо 110 з Хij, що стоять в мінусових клітинах. В результаті отримаємо новий опорний план.
Ai | Bj | ui | |||||
b1 = 100 | b2 = 120 | b3 = 90 | b4=70 | b5=80 | B6=290 | ||
а1 = 300 | 1100 | 4 | 190 | 5 | 6 | 0110 | u1 = 0 |
а2 = 250 | 1 | 3 | 1 | 170 | 280 | 0100 | u2 = 0 |
а3 = 200 | 4 | 1120 | 2 | 2 | 3 | 080 | u3 = 0 |
vj | v1 =1 | v2 =1 | v3 =1 | v4 =1 | v5=2 | V6 =0 |
Перевіримо оптимальність опорного плану, тобто повторюємо описані раніше дії.