Скачать .docx |
Реферат: Математичне програмування
Завдання 1
Побудувати математичну модель задачі.
Меблева фабрика виготовляє столи, стільці, тумби і книжкові шафи використовуючи дошки двох видів, причому фабрика має 500 м2дошок першого виду і 1000 м2дошок другого виду. Задані також трудові ресурси в кількості 800 людино-годин. У таблиці наведені нормативи витрат кожного виду ресурсів на виготовлення одного виду і прибуток від реалізації одиниці виробу.
Ресурси | Витрати на один виріб | Запас сировини, м2 | |||
Столи | Стільці | Тумби | Книжкові шафи | ||
Дошки І виду, м2 | 5 | 1 | 9 | 12 | 500 |
Дошки ІІ виду, м2 | 2 | 3 | 4 | 1 | 1000 |
Трудові ресурси, люд.год. | 3 | 2 | 5 | 10 | 800 |
Прибуток від реалізації одного виробу, грн.од. | 12 | 5 | 15 | 10 |
Визначити асортимент, що максимізує прибуток.
Розв’язок
Складаємо математичну модель задачі. Позначимо через х1кількість виробів 1-ї моделі, що виготовляє фірма за деяким планом, а через х2 кількість виробів 2-ї моделі та через та через х3і х4кількість виробів 3-ї і 4-ї моделі відповідно. Тоді прибуток, отриманий фабрикою від реалізації цих виробів, складає
∫ = 12х1+5х2 + 15х3+ 10х4.
Витрати сировини на виготовлення такої кількості виробів складають відповідно:
А =5х1+1х2 + 9х3+ 12х4,
В =2х1+3х2 + 4х3+ 1х4,
С =3х1+2х2 + 5х3+ 10х4,
Оскільки запаси сировини обмежені, то повинні виконуватись нерівності:
5х1+1х2 + 9х3+ 12х4≤ 500
2х1+3х2 + 4х3+ 1х4≤ 1000
3х1+2х2 + 5х3+ 10х4≤ 800
Оскільки, кількість виробів є величина невід'ємна, то додатково повинні виконуватись ще нерівності: х1> 0, х2> 0, х3> 0, х4> 0.
Таким чином, приходимо до математичної моделі (задачі лінійного програмування):
Знайти х1 , х2, х3 та х4 такі, що функція ∫ = 12х1+5х2 + 15х3+ 10х4 досягає максимуму при системі обмежень:
Розв'язуємо задачу лінійного програмування симплексним методом. Введемо балансні змінні х5 ≥ 0, х6≥ 0, х7≥ 0. Їх величина поки що невідома, але така, що перетворює відповідну нерівність у точну рівність. Після цього, задача лінійного програмування набуде вигляду: ∫ = 12х1+5х2 + 15х3+ 10х4 → max при обмеженнях
де х1,...,х7>0
Оскільки завдання вирішується на максимум, то ведучий стовпець вибирають по максимальному негативному кількістю та індексного рядку. Всі перетворення проводять до тих пір, поки не вийдуть в індексному рядку позитивні елементи.
Переходимо до основного алгоритму симплекс-методу.
План | Базис | В | x1 | x2 | x3 | x4 | x5 | x6 | x7 | min |
1 | x5 | 500 | 5 | 1 | 9 | 12 | 1 | 0 | 0 | 55.56 |
x6 | 1000 | 2 | 3 | 4 | 1 | 0 | 1 | 0 | 250 | |
x7 | 800 | 3 | 2 | 5 | 10 | 0 | 0 | 1 | 160 | |
Індексний рядок | F(X1) | 0 | -12 | -5 | -15 | -10 | 0 | 0 | 0 | 0 |
Оскільки, в індексному рядку знаходяться негативні коефіцієнти, поточний опорний план неоптимальний, тому будуємо новий план. У якості ведучого виберемо елемент у стовбці х3, оскільки значення коефіцієнта за модулем найбільше.
План | Базис | В | x1 | x2 | x3 | x4 | x5 | x6 | x7 | min |
2 | x3 | 55.56 | 0.56 | 0.11 | 1 | 1.33 | 0.11 | 0 | 0 | 100 |
x6 | 777.78 | -0.22 | 2.56 | 0 | -4.33 | -0.44 | 1 | 0 | 0 | |
x7 | 522.22 | 0.22 | 1.44 | 0 | 3.33 | -0.56 | 0 | 1 | 2350 | |
Індексний рядок | F(X2) | 833.33 | -3.67 | -3.33 | 0 | 10 | 1.67 | 0 | 0 | 0 |
Даний план, також не оптимальний, тому будуємо знову нову симплексну таблицю. У якості ведучого виберемо елемент у стовбці х1.
План | Базис | В | x1 | x2 | x3 | x4 | x5 | x6 | x7 | min |
3 | x1 | 100 | 1 | 0.2 | 1.8 | 2.4 | 0.2 | 0 | 0 | 500 |
x6 | 800 | 0 | 2.6 | 0.4 | -3.8 | -0.4 | 1 | 0 | 307.69 | |
x7 | 500 | 0 | 1.4 | -0.4 | 2.8 | -0.6 | 0 | 1 | 357.14 | |
Індексний рядок | F(X3) | 1200 | 0 | -2.6 | 6.6 | 18.8 | 2.4 | 0 | 0 | 0 |
Даний план, знову не оптимальний, тому будуємо знову нову симплексну таблицю. У якості ведучого виберемо елемент у стовбці х2.
План | Базис | В | x1 | x2 | x3 | x4 | x5 | x6 | x7 | min |
4 | x1 | 38.46 | 1 | 0 | 1.77 | 2.69 | 0.23 | -0.08 | 0 | 500 |
x2 | 307.69 | 0 | 1 | 0.15 | -1.46 | -0.15 | 0.38 | 0 | 307.69 | |
x7 | 69.23 | 0 | 0 | -0.62 | 4.85 | -0.38 | -0.54 | 1 | 357.14 | |
Індексний рядок | F(X4) | 2000 | 0 | 0 | 7 | 15 | 2 | 1 | 0 | 0 |
Оскільки всі оцінки >0, то знайдено оптимальний план, що забезпечує максимальний прибуток: х1=38.46, х2=307.69, х3=0, х4=0, х5=0, х6=0, х7=69.23. Прибуток, при випуску продукції за цим планом, становить 2000 грн.
Завдання 2
Записати двоїсту задачу до поставленої задачі лінійного програмування. Розв’язати одну із задач симплексним методом і визначити оптимальний план іншої задачі. Оптимальні результати перевірити графічно.
Розв’язок
Пряма задача лінійного програмування має вигляд:
При обмеженнях:
Оскільки, у прямій задачі лінійного програмування необхідно знайти максимум функції, то приведемо першопочаткову умову до вигляду:
Для досягнення відповідного вигляду помножимо 1-ю нерівність на -1
-2X1-5X2≥-10
В результаті отримаємо наступні матриці:
Для складання двоїстої задачі лінійного програмування знайдемо матриці АT, BT, C.
А, В, СТ.
Відповідно, двоїста задача лінійного програмування матиме вигляд:
F(Y)= 10Y1+28Y2-8Y3 (min)
Обмеження:
-2Y1+3Y2+1Y3≥ 5
-14Y1+2Y2-11Y3≥ 5
Y1≥0
Y2≥0
Y3≥0
Розв’яжемо задачу лінійного програмування симплексним методом.
Визначимо максимальное значення цільової функції F(X) = 8x1+2x2 за таких умов-обмежень.
2x1+5x2≥10
3x1+4x2≤28
x1-3x2≤5
Для побудови першого опорного плану систему нерівностей наведемо до системи рівнянь шляхом введення додаткових змінних (перехід до канонічної форми).
2x1 + 5x2-1x3 + 0x4 + 0x5 = 10
3x1 + 4x2 + 0x3 + 1x4 + 0x5 = 28
1x1-3x2 + 0x3 + 0x4 + 1x5 = 5
Введемо штучні змінні x.
2x1 + 5x2-1x3 + 0x4 + 0x5 + 1x6 = 10
3x1 + 4x2 + 0x3 + 1x4 + 0x5 + 0x6 = 28
1x1-3x2 + 0x3 + 0x4 + 1x5 + 0x6 = 5
Для постановки завдання на максимум цільову функцію запишемо так:
F(X) = 8x1+2x2 - Mx6 => max
Вважаючи, що вільні змінні рівні 0, отримаємо перші опорний план:
X1 = (0,0,0,28,5,10)
План | Базис | В | x1 | x2 | x3 | x4 | x5 | x6 |
0 | x6 | 10 | 2 | 5 | -1 | 0 | 0 | 1 |
x4 | 28 | 3 | 4 | 0 | 1 | 0 | 0 | |
x5 | 5 | 1 | -3 | 0 | 0 | 1 | 0 | |
Індексний рядок | F(X0) | -10M | -8-2M | -2-5M | 1M | 0 | 0 | 0 |
Переходимо до основного алгоритму симплекс-методу.
План | Базис | В | x1 | x2 | x3 | x4 | x5 | x6 | min |
1 | x6 | 10 | 2 | 5 | -1 | 0 | 0 | 1 | 2 |
x4 | 28 | 3 | 4 | 0 | 1 | 0 | 0 | 7 | |
x5 | 5 | 1 | -3 | 0 | 0 | 1 | 0 | 0 | |
Індексний рядок | F(X1) | -10M | -8-2M | -2-5M | 1M | 0 | 0 | 0 | 0 |
Оскільки, в індексному рядку знаходяться негативні коефіцієнти, поточний опорний план неоптимальний, тому будуємо новий план. У якості ведучого виберемо елемент у стовбці х2, оскільки значення коефіцієнта за модулем найбільше.
План | Базис | В | x1 | x2 | x3 | x4 | x5 | x6 | min |
2 | x2 | 2 | 0.4 | 1 | -0.2 | 0 | 0 | 0.2 | 5 |
x4 | 20 | 1.4 | 0 | 0.8 | 1 | 0 | -0.8 | 14.29 | |
x5 | 11 | 2.2 | 0 | -0.6 | 0 | 1 | 0.6 | 5 | |
Індексний рядок | F(X2) | 4 | -7.2 | 0 | -0.4 | 0 | 0 | 0.4+1M | 0 |
Даний план, також не оптимальний, тому будуємо знову нову симплексну таблицю. У якості ведучого виберемо елемент у стовбці х1.
План | Базис | В | x1 | x2 | x3 | x4 | x5 | x6 | min |
3 | x1 | 5 | 1 | 2.5 | -0.5 | 0 | 0 | 0.5 | 0 |
x4 | 13 | 0 | -3.5 | 1.5 | 1 | 0 | -1.5 | 8.67 | |
x5 | 0 | 0 | -5.5 | 0.5 | 0 | 1 | -0.5 | 0 | |
Індексний рядок | F(X3) | 40 | 0 | 18 | -4 | 0 | 0 | 4+1M | 0 |
Даний план, також не оптимальний, тому будуємо знову нову симплексну таблицю. У якості ведучого виберемо елемент у стовбці х3.
План | Базис | В | x1 | x2 | x3 | x4 | x5 | x6 | min |
4 | x1 | 5 | 1 | -3 | 0 | 0 | 1 | 0 | 0 |
x4 | 13 | 0 | 13 | 0 | 1 | -3 | 0 | 1 | |
x3 | 0 | 0 | -11 | 1 | 0 | 2 | -1 | 0 | |
Індексний рядок | F(X4) | 40 | 0 | -26 | 0 | 0 | 8 | 1M | 0 |
Поточний опорний план неоптімальний, тому що в індексному рядку знаходяться негативні коефіцієнти
В якості ведучого виберемо стовпець, відповідної змінної x2, Так як це найбільший коефіцієнт по модулю.
План | Базис | В | x1 | x2 | x3 | x4 | x5 | x6 |
5 | x1 | 8 | 1 | 0 | 0 | 0.2308 | 0.3077 | 0 |
x2 | 1 | 0 | 1 | 0 | 0.0769 | -0.2308 | 0 | |
x3 | 11 | 0 | 0 | 1 | 0.8462 | -0.5385 | -1 | |
Індексний рядок | F(X5) | 66 | 0 | 0 | 0 | 2 | 2 | 1M |
Остаточний варіант симплекс-таблиці оптимальний, тому що в індексному рядку знаходяться позитивні коефіцієнти.
Оптимальний план можна записати так:
x1 = 8
x2 = 1
x3 = 11
F(X) = 8*8 + 2*1 = 66
Складемо двоїсту задачу до поставленої задачі лінійного програмування.
2y1+3y2+y3≥8
5y1+4y2-3y3≥2
10y1+28y2+5y3 => min
y1 ≤ 0
y2 ≥ 0
y3 ≥ 0
Рішення двоїстої задачі дає оптимальну систему оцінок ресурсів. Використовуючи останню інтеграцію прямої задачі знайдемо, оптимальний план двоїстої задачі. Із теореми двоїстості слідує, що Y = C*A-1.
Сформуємо матрицю A із компонентів векторів, які входять в оптимальний базис.
Складемо матрицю A з компонентів векторів, що входять в оптимальний базис.
Визначивши зворотну матрицю А-1 через алгебраїчні доповнення, отримаємо:
Як видно з останнього плану симплексного таблиці, зворотна матриця A-1 розташована в стовпцях додаткових змінних .
Тоді Y = C*A-1 =
Оптимальний план двоїстої задачі дорівнює:
y1 = 0
y2 = 2
y3 = 2
Z(Y) = 10*0+28*2+5*2 = 66
Завдання 3
Розв’язати транспортну задачу.
1 | 4 | 7 | 2 | 3 | 300 |
1 | 5 | 3 | 1 | 6 | 90 |
2 | 1 | 3 | 1 | 4 | 70 |
100 | 20 | 70 | 100 | 180 |
Розв’язок
Побудова математичної моделі. Нехай xij — кількість продукції, що перевозиться з і-го пункту виробництва до j-го споживача . Оскільки , то задачу треба закрити, тобто збалансувати (зрівняти) поставки й потреби:
У нашому випадку робиться це введенням фіктивного постачальника, оскільки
З уведенням фіктивного постачальника в транспортній таблиці додатково заявляється n робочих клітинок.Ціни, додатковим клітинкам, щоб фіктивний рядок був нейтральним щодо оптимального вибору планових перевезень, призначаються усі рівні нулю.
Занесемо вихідні дані у таблицю.
В1 | В2 | В3 | В4 | В5 | Запаси | |
А1 | 1 | 4 | 7 | 2 | 3 | 300 |
А2 | 1 | 5 | 3 | 1 | 6 | 90 |
А3 | 2 | 1 | 3 | 1 | 4 | 70 |
А4 | 0 | 0 | 0 | 0 | 0 | 10 |
Потреби | 100 | 20 | 70 | 100 | 180 |
Забезпечивши закритість розв'язуваної задачі, розпочинаємо будувати математичну модель даної задачі:
Економічний зміст записаних обмежень полягає в тому, що весь вантаж потрібно перевезти по пунктах повністю.
Аналогічні обмеження можна записати відносно замовників: вантаж, що може надходити до споживача від чотирьох баз, має повністю задовольняти його попит. Математично це записується так:
Загальні витрати, пов’язані з транспортуванням продукції, визначаються як сума добутків обсягів перевезеної продукції на вартості транспортування од. продукції до відповідного замовника і за умовою задачі мають бути мінімальними. Тому формально це можна записати так:
minZ=1x11+4x12+7x13+2x14+3x15+1x21+5x22+3x23+1x24+6x25+2x31+1x32+3x33+1x34+ +4x35+0x41+0x42+0x43+0x44+0x45.
Загалом математична модель сформульованої задачі має вигляд:
minZ=1x11+4x12+7x13+2x14+3x15+1x21+5x22+3x23+1x24+6x25+2x31+1x32+3x33+1x34+ +4x35+0x41+0x42+0x43+0x44+0x45.
за умов:
Запишемо умови задачі у вигляді транспортної таблиці та складемо її перший опорний план у цій таблиці методом «північно-західного кута».
Ai | Bj | ui | ||||
b1 = 100 | b2 = 20 | b3 = 70 | b4=100 | b5=180 | ||
а1 = 300 | 1 100 |
4 20 |
7 [-]70 |
2 100 |
3 [+]10 |
u1 = 0 |
а2 = 90 | 1 |
5 |
3 [+] |
1 |
6 [-]90 |
u2 = 3 |
а3 = 70 | 2 |
1 |
3 |
1 |
4 70 |
u3 = 1 |
а4 = 10 | 0 |
0 |
0 |
0 |
0 10 |
u4 = -3 |
vj | v1 =1 | v2 =4 | v3 =7 | v4 =2 | v5 =3 |
В результаті отримано перший опорний план, який є допустимим, оскільки всі вантажі з баз вивезені, потреба магазинів задоволена, а план відповідає системі обмежень транспортної задачі.
Підрахуємо число зайнятих клітин таблиці, їх 8, а має бути m+n-1=8. Отже, опорний план є не виродженим.
Перевіримо оптимальність опорного плану. Знайдемо потенціали ui, vi. по зайнятих клітинам таблиці, в яких ui + vi = cij, вважаючи, що u1 = 0:
u1=0, u2=3, u3=1, u4=-3, v1=1, v2=4, v3=7 v4=2, v5=3. Ці значення потенціалів першого опорного плану записуємо у транспортну таблицю.
Потім згідно з алгоритмом методу потенціалів перевіряємо виконання другої умови оптимальності ui + vj ≤ cij (для порожніх клітинок таблиці).
Опорний план не є оптимальним, тому що існують оцінки вільних клітин для яких ui + vi > cij
(2;1): 3 + 1 > 1; ∆21 = 3 + 1 - 1 = 3
(2;2): 3 + 4 > 5; ∆22 = 3 + 4 - 5 = 2
(2;3): 3 + 7 > 3; ∆23 = 3 + 7 - 3 = 7
(2;4): 3 + 2 > 1; ∆24 = 3 + 2 - 1 = 4
(3;2): 1 + 4 > 1; ∆32 = 1 + 4 - 1 = 4
(3;3): 1 + 7 > 3; ∆33 = 1 + 7 - 3 = 5
(3;4): 1 + 2 > 1; ∆34 = 1 + 2 - 1 = 2
(4;2): -3 + 4 > 0; ∆42 = -3 + 4 - 0 = 1
(4;3): -3 + 7 > 0; ∆43 = -3 + 7 - 0 = 4
max(3,2,7,4,4,5,2,1,4) = 7
Тому від нього необхідно перейти до другого плану, змінивши співвідношення заповнених і порожніх клітинок таблиці. Вибираємо максимальну оцінку вільної клітини (2;3): 3. Для цього в перспективну клітку (2;3) поставимо знак «+», а в інших вершинах багатокутника чергуються знаки «-», «+», «-». Цикл наведено в таблиці.
Тепер необхідно перемістити продукцію в межах побудованого циклу. З вантажів хij що стоять в мінусових клітинах, вибираємо найменше, тобто у = min (1, 3) = 70. Додаємо 70 до обсягів вантажів, що стоять в плюсових клітинах і віднімаємо 70 з хij, що стоять в мінусових клітинах. В результаті отримаємо новий опорний план.
Усі інші заповнені клітинки першої таблиці, які не входили до циклу, переписуємо у другу таблицю без змін. Кількість заповнених клітинок у новій таблиці також має відповідати умові невиродженості плану, тобто дорівнювати (n + m – 1).
Отже, другий опорний план транспортної задачі матиме такий вигляд:
Ai | Bj | ui | ||||
b1 = 100 | b2 = 20 | b3 = 70 | b4=100 | b5=180 | ||
а1 = 300 | 1 100 |
4 20 |
7 |
2 [-]100 |
3 [+]80 |
u1 = 0 |
а2 = 90 | 1 |
5 |
3 70 |
1 [+] |
6 [-]20 |
u2 = 3 |
а3 = 70 | 2 |
1 |
3 |
1 |
4 70 |
u3 = 1 |
а4 = 10 | 0 |
0 |
0 |
0 |
0 10 |
u4 = -3 |
vj | v1 =1 | v2 =4 | v3 =0 | v4 =2 | v5 =3 |
Перевіримо оптимальність опорного плану. Знайдемо потенціали ui, vi. по зайнятих клітинам таблиці, в яких ui + vi = cij, вважаючи, що u1 = 0.
Опорний план не є оптимальним, тому що існують оцінки вільних клітин для яких ui + vi > cij
(2;1): 3 + 1 > 1; ∆21 = 3 + 1 - 1 = 3
(2;2): 3 + 4 > 5; ∆22 = 3 + 4 - 5 = 2
(2;4): 3 + 2 > 1; ∆24 = 3 + 2 - 1 = 4
(3;2): 1 + 4 > 1; ∆32 = 1 + 4 - 1 = 4
(3;4): 1 + 2 > 1; ∆34 = 1 + 2 - 1 = 2
(4;2): -3 + 4 > 0; ∆42 = -3 + 4 - 0 = 1
max(3,2,4,4,2,1) = 4
Вибираємо максимальну оцінку вільної клітини (2;4): 1
Для цього в перспективну клітку (2;4) поставимо знак «+», а в інших вершинах багатокутника чергуються знаки «-», «+», «-». Цикл наведено в таблиці.
З вантажів хij що стоять в мінусових клітинах, вибираємо найменше, тобто у = min (2, 5) = 20. Додаємо 20 до обсягів вантажів, що стоять в плюсових клітинах і віднімаємо 20 з Хij, що стоять в мінусових клітинах. В результаті отримаємо новий опорний план.
Ai | Bj | ui | ||||
b1 = 100 | b2 = 20 | b3 = 70 | b4=100 | b5=180 | ||
а1 = 300 | 1 100 |
4 [-]20 |
7 |
2 80 |
3 [+]100 |
u1 = 0 |
а2 = 90 | 1 |
5 |
3 70 |
1 20 |
6 |
u2 = -1 |
а3 = 70 | 2 |
1 [+] |
3 |
1 |
4 [-]70 |
u3 = 1 |
а4 = 10 | 0 |
0 |
0 |
0 |
0 10 |
u4 = -3 |
vj | v1 =1 | v2 =4 | v3 =4 | v4 =2 | v5 =3 |
Перевіримо оптимальність опорного плану. Знайдемо потенціали ui, vi. по зайнятих клітинам таблиці, в яких ui + vi = cij, вважаючи, що u1 = 0.
Опорний план не є оптимальним, тому що існують оцінки вільних клітин для яких ui + vi > cij
(3;2): 1 + 4 > 1; ∆32 = 1 + 4 - 1 = 4
(3;3): 1 + 4 > 3; ∆33 = 1 + 4 - 3 = 2
(3;4): 1 + 2 > 1; ∆34 = 1 + 2 - 1 = 2
(4;2): -3 + 4 > 0; ∆42 = -3 + 4 - 0 = 1
(4;3): -3 + 4 > 0; ∆43 = -3 + 4 - 0 = 1
max(4,2,2,1,1) = 4
Вибираємо максимальну оцінку вільної клітини (3;2): 1
Для цього в перспективну клітку (3;2) поставимо знак «+», а в інших вершинах багатокутника чергуються знаки «-», «+», «-». Цикл наведено в таблиці.
З вантажів хij що стоять в мінусових клітинах, вибираємо найменше, тобто у = min (1, 2) = 20. Додаємо 20 до обсягів вантажів, що стоять в плюсових клітинах і віднімаємо 20 з Хij, що стоять в мінусових клітинах.
В результаті отримаємо новий опорний план.
Ai | Bj | ui | ||||
b1 = 100 | b2 = 20 | b3 = 70 | b4=100 | b5=180 | ||
а1 = 300 | 1 100 |
4 |
7 |
2 [-]80 |
3 [+]120 |
u1 = 0 |
а2 = 90 | 1 |
5 |
3 [-]70 |
1 [+]20 |
6 |
u2 = -1 |
а3 = 70 | 2 |
1 20 |
3 [+] |
1 |
4 [-]50 |
u3 = 1 |
а4 = 10 | 0 |
0 |
0 |
0 |
0 10 |
u4 = -3 |
vj | v1 =1 | v2 =0 | v3 =4 | v4 =2 | v5 =3 |
Перевіримо оптимальність опорного плану. Знайдемо потенціали ui, vi. по зайнятих клітинам таблиці, в яких ui + vi = cij, вважаючи, що u1 = 0.
Опорний план не є оптимальним, тому що існують оцінки вільних клітин для яких ui + vi > cij
(3;3): 1 + 4 > 3; ∆33 = 1 + 4 - 3 = 2
(3;4): 1 + 2 > 1; ∆34 = 1 + 2 - 1 = 2
(4;3): -3 + 4 > 0; ∆43 = -3 + 4 - 0 = 1
max(2,2,1) = 2
Вибираємо максимальну оцінку вільної клітини (3;3): 3
Для цього в перспективну клітку (3;3)поставимо знак «+», а в інших вершинах багатокутника чергуються знаки «-», «+», «-». Цикл наведено в таблиці.
З вантажів хij що стоять в мінусових клітинах, вибираємо найменше, тобто у = min (А1B1) =70. Додаємо 70 до обсягів вантажів, що стоять в плюсових клітинах і віднімаємо 70 з Хij, що стоять в мінусових клітинах.
В результаті отримаємо новий опорний план.
Ai | Bj | ui | ||||
b1 = 100 | b2 = 20 | b3 = 70 | b4=100 | b5=180 | ||
а1 = 300 | 1 100 |
4 |
7 |
2 [-]30 |
3 [+]170 |
u1 = 0 |
а2 = 90 | 1 |
5 |
3 [-]20 |
1 [+]70 |
6 |
u2 = -1 |
а3 = 70 | 2 |
1 20 |
3 50 |
1 |
4 |
u3 = -1 |
а4 = 10 | 0 |
0 |
0 [+] |
0 |
0 [-]10 |
u4 = -3 |
vj | v1 =1 | v2 =2 | v3 =4 | v4 =2 | v5 =3 |
Перевіримо оптимальність опорного плану. Знайдемо потенціали ui, vi. по зайнятих клітинам таблиці, в яких ui + vi = cij, вважаючи, що u1 = 0.
Опорний план не є оптимальним, тому що існують оцінки вільних клітин для яких ui + vi > cij
(4;3): -3 + 4 > 0; ∆43 = -3 + 4 - 0 = 1
Вибираємо максимальну оцінку вільної клітини (4;3): 0
Для цього в перспективну клітку (4;3)поставимо знак «+», а в інших вершинах багатокутника чергуються знаки «-», «+», «-». Цикл наведено в таблиці.
З вантажів хij що стоять в мінусових клітинах, вибираємо найменше, тобто у = min (4, 5) = 10. Додаємо 10 до обсягів вантажів, що стоять в плюсових клітинах і віднімаємо 10 з Хij, що стоять в мінусових клітинах.
В результаті отримаємо новий опорний план.
Ai | Bj | ui | ||||
b1 = 100 | b2 = 20 | b3 = 70 | b4=100 | b5=180 | ||
а1 = 300 | 1 100 |
4 |
7 |
2 20 |
3 180 |
u1 = 0 |
а2 = 90 | 1 |
5 |
3 10 |
1 80 |
6 |
u2 = -1 |
а3 = 70 | 2 |
1 20 |
3 50 |
1 |
4 |
u3 = -1 |
а4 = 10 | 0 |
0 |
0 10 |
0 |
0 |
u4 = -4 |
vj | v1 =1 | v2 =2 | v3 =4 | v4 =2 | v5 =3 |
Перевіримо оптимальність опорного плану, тобто повторюємо описані раніше дії.
Знайдемо потенціали ui, vi. по зайнятих клітинам таблиці, в яких ui + vi = cij, вважаючи, що u1 = 0.
Перевірка останнього плану на оптимальність за допомогою методу потенціалів показує, що він оптимальний.
Розрахуємо значення цільової функції відповідно до другого опорного плану задачі:
F(x) = 1*100 + 2*20 + 3*180 + 3*10 + 1*80 + 1*20 + 3*50 + 0*10 = 960
За оптимальним планом перевезень загальна вартість перевезень всієї продукції є найменшою і становить 940 грн.
Завдання 4
Знайти графічним методом екстремуми функцій в області, визначеній нерівностями.
.
Розв’язок
Побудуємо область допустимих рішень, тобто вирішимо графічно систему нерівностей. Для цього побудуємо кожну пряму і визначимо півплощини, задані нерівностями (півплощини позначені штрихом).
екстремум модель математичний перевезення оптимальний
Межі області
Цільова функція F(x) => max
Розглянемо цільову функцію завдання F = 5X1+7X2 => max.
Побудуємо пряму, що відповідає значенню функції F = 0: F = 5X1+7X2 = 0. Будемо рухати цю пряму паралельним чином. Оскільки нас цікавить максимальне рішення, тому рухався прямо до останнього торкання позначеної області. На графіку ця пряма позначена пунктирною лінією.
Рівний масштаб
Перетином півплощини буде область, яка представляє собою багатокутник, координати точок якого задовольняють умові нерівностей системи обмежень задачі.
Пряма F(x) = const перетинає область у точці B. Оскільки точка B отримана в результаті перетину прямих 1 i 5, то її координати задовольняють рівнянням цих прямих:
x1+x2≤4
x1=0
Вирішивши систему рівнянь, одержимо: x1 = 0, x2 = 4
Звідки знайдемо максимальне значення цільової функції:
F(X) = 5*0 + 7*4 = 28