Завдання 1
Для виготовлення виробів №1 і №2 є 100 кг металу. На виготовлення виробу №1 витрачається 2 кг металу, а на виріб №2 – 4 кг.
Скласти план виробництва, що забезпечує одержання найбільшого прибутку від продажу виробів, якщо відпускна вартість одного виробу №1 становить 3 грн. од., а виробу №2 – 2 грн. од., причому виробів №1 потрібно виготовити не більше 40 штук, а виробів №2 – 20 шт.
Сировина | Вироби | Кількість сировини | |
В1 | В2 | ||
Метал | 2 | 4 | 100 |
Вартість, грн. кг | 3 | 2 |
Розв’язок
Складаємо математичну модель задачі. Позначимо через х1 кількість виробу №1, що виготовляє підприємство за деяким планом, а через х2 кількість виробу №2. Тоді прибуток, отриманий підприємством від реалізації цих виробів, складає
∫ = 3х1+2х2.
Витрати сировини на виготовлення такої кількості виробів складають відповідно:
CI =2х1+4х2,
Оскільки запаси сировини обмежені, то повинні виконуватись нерівності:
2х1+4х2≤100
Окрім того, виробів №1 потрібно виготовити не більше 40 штук, а виробів №2 – 20 шт., тобто повинні виконуватись ще нерівності: х1≤40, х2≤20.
Таким чином, приходимо до математичної моделі:
Знайти х1, х2такі, що функція ∫ = 3х1+2х2досягає максимуму при системі обмежень:
Розв'язуємо задачу лінійного програмування симплексним методом.
Для побудови першого опорного плану систему нерівностей приведемо до системи рівнянь шляхом введення додаткових змінних.
2x1 + 4x2 + 1x3 + 0x4 + 0x5 = 100
1x1 + 0x2 + 0x3 + 1x4 + 0x5 = 40
0x1 + 1x2 + 0x3 + 0x4 + 1x5 = 20
Матриця коефіцієнтів A = a(ij) цієї системи рівнянь має вигляд:
Базисні змінні це змінні, які входять лише в одне рівняння системи обмежень і притому з одиничним коефіцієнтом.
Вирішимо систему рівнянь відносно базисних змінних:
x3, x4, x5
Вважаючи, що вільні змінні рівні 0, отримаємо перший опорний план:
X1 = (0,0,100,40,20)
Оскільки завдання вирішується на максимум, то ведучий стовпець вибираємо по максимальному негативному кількістю та індексного рядку. Всі перетворення проводимо до тих пір, поки не вийдуть в індексному рядку позитивні елементи.
Складаємо симплекс-таблицю:
План | Базис | В | x1 | x2 | x3 | x4 | x5 | min |
1 | x3 | 100 | 2 | 4 | 1 | 0 | 0 | 50 |
x4 | 40 | 1 | 0 | 0 | 1 | 0 | 40 | |
x5 | 20 | 0 | 1 | 0 | 0 | 1 | 0 | |
Індексний рядок | F(X1) | 0 | -3 | -2 | 0 | 0 | 0 | 0 |
Оскільки, в індексному рядку знаходяться негативні коефіцієнти, поточний опорний план неоптимальний, тому будуємо новий план. У якості ведучого виберемо елемент у стовбці х1, оскільки значення коефіцієнта за модулем найбільше.
План | Базис | В | x1 | x2 | x3 | x4 | x5 | min |
2 | x3 | 20 | 0 | 4 | 1 | -2 | 0 | 5 |
x1 | 40 | 1 | 0 | 0 | 1 | 0 | 0 | |
x5 | 20 | 0 | 1 | 0 | 0 | 1 | 20 | |
Індексний рядок | F(X2) | 120 | 0 | -2 | 0 | 3 | 0 | 0 |
Даний план, також не оптимальний, тому будуємо знову нову симплексну таблицю. У якості ведучого виберемо елемент у стовбці х2.
План | Базис | В | x1 | x2 | x3 | x4 | x5 | min |
3 | x2 | 5 | 0 | 1 | 0,25 | -0,5 | 0 | 5 |
x1 | 40 | 1 | 0 | 0 | 1 | 0 | 0 | |
x5 | 15 | 0 | 0 | -0,25 | 0,5 | 1 | 20 | |
Індексний рядок | F(X3) | 130 | 0 | 0 | 0,5 | 2 | 0 | 0 |
Оскільки всі оцінки >0, то знайдено оптимальний план, що забезпечує максимальний прибуток: х1=40, х2=5. Прибуток, при випуску продукції за цим планом, становить 130 грн.
Завдання 2
Записати двоїсту задачу до поставленої задачі лінійного програмування. Розв’язати одну із задач симплексним методом і визначити оптимальний план іншої задачі.
Розв’язок
Розв’яжемо задачу лінійного програмування симплексним методом.
Визначимо мінімальне значення цільової функції F(X) = x1+3x2при наступних умовах-обмежень.
9x1+10x2≥45
5x1-x2≤42
-x1+13x2≤4
Для побудови першого опорного плану систему нерівностей приведемо до системи рівнянь шляхом введення додаткових змінних.
9x1 + 10x2-1x3 + 0x4 + 0x5 = 45
5x1-1x2 + 0x3 + 1x4 + 0x5 = 42
-1x1 + 13x2 + 0x3 + 0x4 + 1x5 = 4
Введемо штучні змінні x.
9x1 + 10x2-1x3 + 0x4 + 0x5 + 1x6 = 45
5x1-1x2 + 0x3 + 1x4 + 0x5 + 0x6 = 42
-1x1 + 13x2 + 0x3 + 0x4 + 1x5 + 0x6 = 4
Для постановки задачі на мінімум цільову функцію запишемо так:
F(X) = x1+3x2+Mx6 =>min
Вважаючи, що вільні змінні рівні 0, отримаємо перший опорний план:
X1 = (0,0,0,42,4,45).
План | Базис | В | x1 | x2 | x3 | x4 | x5 | х6 |
0 | х6 | 45 | 9 | 10 | -1 | 0 | 0 | 1 |
x4 | 42 | 5 | -1 | 0 | 1 | 0 | 0 | |
х5 | 4 | -1 | 13 | 0 | 0 | 1 | 0 | |
Індексний рядок | F(X0) | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Переходимо до основного алгоритму симплекс-методу.
План | Базис | В | x1 | x2 | x3 | x4 | x5 | x6 | min |
1 | х6 | 45 | 9 | 10 | -1 | 0 | 0 | 1 | 5,5 |
x4 | 42 | 5 | -1 | 0 | 1 | 0 | 0 | 0 | |
х5 | 4 | -1 | 13 | 0 | 0 | 1 | 0 | 0,3077 | |
Індексний рядок | F(X1) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Оскільки, в індексному рядку знаходяться позитивні коефіцієнти, поточний опорний план неоптимальний, тому будуємо новий план. У якості ведучого виберемо елемент у стовбці х2, оскільки значення коефіцієнта за модулем найбільше.
План | Базис | В | x1 | x2 | x3 | x4 | x5 | x6 | min |
2 | х6 | 41,92 | 9,77 | 0 | -1 | 0 | -0,7692 | 1 | 4,29 |
x4 | 42,31 | 4,92 | 0 | 0 | 1 | 0,0769 | 0 | 8,59 | |
х2 | 0,3077 | -0,0769 | 1 | 0 | 0 | 0,0769 | 0 | 0 | |
Індексний рядок | F(X2) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Даний план, також не оптимальний, тому будуємо знову нову симплексну таблицю. У якості ведучого виберемо елемент у стовбці х1.
План | Базис | В | x1 | x2 | x3 | x4 | x5 | x6 | min |
3 | х1 | 4,29 | 1 | 0 | -0,1024 | 0 | -0,0787 | 0,1024 | 0 |
x4 | 21,18 | 0 | 0 | 0,5039 | 1 | 0,4646 | -0,5039 | 45,59 | |
х2 | 0,6378 | 0 | 1 | -0,0079 | 0 | 0,0709 | 0,0079 | 9 | |
Індексний рядок | F(X3) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Даний план, також не оптимальний, тому будуємо знову нову симплексну таблицю. У якості ведучого виберемо елемент у стовбці х5.
План | Базис | В | x1 | x2 | x3 | x4 | x5 | x6 |
4 | х1 | 5 | 1 | 1,11 | -0,1111 | 0 | 0 | 0,1111 |
x4 | 17 | 0 | -6,56 | 0,5556 | 1 | 0 | -0,5556 | |
х5 | 9 | 0 | 14,11 | -0,1111 | 0 | 1 | 0,1111 | |
Індексний рядок | F(X4) | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Оптимальний план можна записати так:
x1 = 5
x4 = 17
x5 = 9
F(X) = 1*5 = 5
Складемо двоїсту задачу до поставленої задачі лінійного програмування.
9y1+5y2-y3≤1
10y1-y2+13y3≤3
45y1+42y2+4y3 => max
y1 ≥ 0
y2 ≤ 0
y3 ≤ 0
Рішення двоїстої задачі дає оптимальну систему оцінок ресурсів. Використовуючи останню інтеграцію прямої задачі знайдемо, оптимальний план двоїстої задачі. Із теореми двоїстості слідує, що Y = C*A-1.
Сформуємо матрицю A із компонентів векторів, які входять в оптимальний базис.
Визначивши обернену матрицю А-1 через алгебраїчне доповнення, отримаємо:
Як видно із останнього плану симплексної таблиці, обернена матриця A-1 розміщена у стовбцях додаткових змінних.
Тоді Y = C*A-1 =
Запишемо оптимальний план двоїстої задачі:
y1 = 0.11
y2 = 0
y3 = 0
Z(Y) = 45*0.11+42*0+4*0 = 5
Завдання 3
Розв’язати транспортну задачу.
1 | 4 | 7 | 9 | 1 | 250 |
2 | 3 | 1 | 2 | 4 | 300 |
2 | 1 | 3 | 1 | 4 | 150 |
110 | 80 | 100 | 90 | 70 |
Розв’язок
Побудова математичної моделі. Нехай xij — кількість продукції, що перевозиться з і-го пункту виробництва до j-го споживача
. Оскільки , то задачу треба закрити, тобто збалансувати (зрівняти) поставки й потреби:У нашому випадку робиться це введенням фіктивного постачальника, оскільки
. З уведенням фіктивного споживача транспортній таблиці додатково заявляється n робочих клітинок.