Завдання 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
Записати двоїсту задачу до поставленої задачі лінійного програмування. Розв’язати одну із задач симплексним методом і визначити оптимальний план іншої задачі. Оптимальні результати перевірити графічно.
Розв’язок
Пряма задача лінійного програмування має вигляд:
При обмеженнях:
Оскільки, у прямій задачі лінійного програмування необхідно знайти мінімум функції, то приведемо першопочаткову умову до вигляду:
Для досягнення відповідного вигляду помножимо 3-ю нерівність на -1
0х1-11х2≥-11
В результаті отримаємо наступні матриці:
Для складання двоїстої задачі лінійного програмування знайдемо матриці А, В, СТ.
Відповідно, двоїста задача лінійного програмування матиме вигляд:
F(Y)= 14Y1+27Y2-11Y3 (max)
Обмеження:
8Y1+3Y2+0Y3≤5
-14Y1+2Y2-11Y3≤3
Y1≥0
Y2≥0
Y3≥0
Розв’яжемо задачу лінійного програмування симплексним методом.
Визначимо мінімальне значення цільової функції F(X) = 5x1+3x2 при наступних умовах-обмежень.
8x1-14x2≥14
3x1+2x2≥27
x2≤11
Для побудови першого опорного плану систему нерівностей приведемо до системи рівнянь шляхом введення додаткових змінних.
Оскільки маємо змішані умови-обмеження, то введемо штучні змінні x.
8x1-14x2-1x3 + 0x4 + 0x5 + 1x6 + 0x7 = 14
3x1 + 2x2 + 0x3-1x4 + 0x5 + 0x6 + 1x7 = 27
0x1 + 1x2 + 0x3 + 0x4 + 1x5 + 0x6 + 0x7 = 11
Для постановки задачі на мінімум цільову функцію запишемо так:
F(X) = 5 x1 +3 x2 +M x6 +M x7 => min
Переходимо до основного алгоритму симплекс-методу.
План | Базис | В | x1 | x2 | x3 | x4 | x5 | x6 | x7 | min |
1 | x6 | 14 | 8 | -14 | -1 | 0 | 0 | 1 | 0 | 1.75 |
x7 | 27 | 3 | 2 | 0 | -1 | 0 | 0 | 1 | 9 | |
x5 | 11 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | |
Індексний рядок | F(X1) | 4100000 | 1099995 | -1200003 | -100000 | -100000 | 0 | 0 | 0 | 0 |
Оскільки, в індексному рядку знаходяться позитивні коефіцієнти, поточний опорний план неоптимальний, тому будуємо новий план. У якості ведучого виберемо елемент у стовбці х1, оскільки значення коефіцієнта за модулем найбільше.
математичний модель симплексний лінійний
План | Базис | В | x1 | x2 | x3 | x4 | x5 | x6 | x7 | min |
2 | x1 | 1.75 | 1 | -1.75 | -0.13 | 0 | 0 | 0.13 | 0 | 0 |
x7 | 21.75 | 0 | 7.25 | 0.38 | -1 | 0 | -0.38 | 1 | 3 | |
x5 | 11 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 11 | |
Індексний рядок | F(X2) | 2175008.75 | 0 | 724988.25 | 37499.38 | -100000 | 0 | -137499.38 | 0 | 0 |
Даний план, також не оптимальний, тому будуємо знову нову симплексну таблицю. У якості ведучого виберемо елемент у стовбці х2.
План | Базис | В | x1 | x2 | x3 | x4 | x5 | x6 | x7 | min |
3 | x1 | 7 | 1 | 0 | -0.03 | -0.24 | 0 | 0.03 | 0.24 | 0 |
x2 | 3 | 0 | 1 | 0.05 | -0.14 | 0 | -0.05 | 0.14 | 3 | |
x5 | 8 | 0 | 0 | -0.05 | 0.14 | 1 | 0.05 | -0.14 | 11 | |
Індексний рядок | F(X3) | 44 | 0 | 0 | -0.02 | -1.62 | 0 | -99999.98 | -99998.38 | 0 |
Остаточний варіант симплекс-таблиці оптимальний, тому що в індексному рядку знаходяться негативні коефіцієнти.
Оптимальний план можна записати так:
x1 = 7
x2 = 3
x5 = 8
F(X) = 5*7 + 3*3 = 44
Визначаємо оптимальний план двоїстої задачі до поставленої задачі лінійного програмування.
F(Y)= 14Y1+27Y2-11Y3 (max)
Обмеження:
8Y1+3Y2+0Y3≤5
-14Y1+2Y2-11Y3≤3
Y1≥0
Y2≥0
Y3≥0
Для побудови першого опорного плану систему нерівностей приведемо до системи рівнянь шляхом введення додаткових змінних.