Міністерство освіти і науки України
Національний університет "Львівська політехніка"
Кафедра маркетингу і логістики
Лабораторна робота №3 (частина 2)
З курсу «Економіко-математичні методи і моделі»
(варіант № 19)
ЛАБОРАТОРНА РОБОТА №3
ПОБУДОВА ЛІНІЙНОЇ МОДЕЛІ ОПТИМІЗАЦІЙНОЇ ЗАДАЧІ
ТА ЇЇ АНАЛІЗ
І. Загальні положення
Загальною формою задачі лінійного програмування є задача на знаходження екстремуму (мінімуму чи максимуму) лінійної цільової функції при лінійній системі обмежень, що включає як рівності, так і нерівності обох знаків, і при невідомих змінних, з яких одні пов’язані умовою невід’ємності, другі – умовою недодатності, а на знак третіх ніяких умов не накладено.
ІІ. Теоретичні відомості
За допомогою задачі лінійного програмування можна вирішити багато задач оптимізації, зокрема задачу про раціональне використання наявних ресурсів. У загальному вигляді задача може бути сформульована таким чином.
Припустимо, підприємство може випускати n видів продукції, використовуючи m видів ресурсів. При цьому відомі запаси кожного і-того виду ресурсу (), витрати кожного виду ресурсу на випуск кожного j-го виду продукції () та прибуток, що отримується з одиниці випущеної продукції (). Мета задачі полягає у тому, щоб скласти такий план виробництва продукції (), при якому отриманий підприємством прибуток від виробництва Z був би найбільшим.
Отже, математична модель задачі полягає в тому, щоб знайти виробничу програму, що максимізує цільову функцію:
. (3.1)
При цьому, яка б не була виробнича програма, її компоненти повинні задовольняти умові, що сумарне використання кожного виду ресурсу при виробництві всіх видів продукції не повинно перевищувати наявну кількість даного виду ресурсу, тобто
; (3.2)
. (3.3)
На значення можуть бути додатково накладені обмеження стосовно обсягів виробництва:
; (3.4)
. (3.5)
При цьому, оскільки компоненти виробничої програми – кількість виробів, то вони не можуть бути виражені від’ємними значеннями:
. (3.6)
Для аналізу стійкості важливим є діапазон зміни параметрів, в яких оптимальне рішення залишається оптимальним. У процесі пошуку оптимального рішення можна отримати так званий звіт про стійкість, у якому містяться межі коефіцієнтів цільової функції. Зміна коефіцієнтів в цих межах не призводить до зміни оптимального рішення. Аналогічні інтервали встановлюються для запасів ресурсів. При виході за визначені межі стійкості оптимальне рішення може мінятися як за номенклатурою продукції, що випускається, так і за обсягами випуску (без зміни номенклатури).
Двоїстою до основної задачі (3.1) – (3.6) називається така задача: знайти сукупність значень y1, y2,…, ym, для яких функція:
(3.7)
досягає мінімуму і задовольняє систему нерівностей:
; (3.8)
; (3.9)
. (3.10)
Багато задач лінійного програмування ставляться у вигляді основної або двоїстої задачі, тому є сенс говорити про пару двоїстих задач лінійного програмування.
Якщо одна з пари двоїстих задач має розв’язок (тобто оптимальний план), то і друга – обов’язково має розв’язок, причому:
max Z = min W. (3.11)
Для побудови двоїстої задачі необхідно основну задачу звести до стандартного вигляду, враховуючи тип екстремуму цільової функції.
Побудова двоїстої задачі до основної здійснюється в послідовності:
І. Стандартизація основної задачі:
1) у всіх обмеженнях вільні члени розміщені в правій частині рівності (нерівності), а члени з невідомим – у лівій;
2) усі обмеження нерівності основної задачі мають бути записані так, щоб знаки нерівності у них були спрямовані в один і той самий бік, для цього достатньо окремі нерівності помножити на (-1);
3) загальний знак нерівності системи обмежень пов’язується з оптимізацією форми таким чином: якщо max, то , якщо min, то .
Після стандартизації основної задачі виконується послідовність, спрямованих на формування задачі обмежень (пункт ІІ) та цільової функції (пункт ІІІ) двоїстої задачі.
ІІ. При побудові системи обмежень двоїстої задачі слід дотримуватися таких правил:
1) кожному обмеженню вихідної задачі відповідає невідома уі в двоїстій задачі, причому двоїста невідома, що відповідає обмеженню нерівності має бути невід’ємною, а рівності можуть мати будь-який знак;
2) кожній невідомій хі вихідної задачі відповідає обмеження двоїстої. Ці обмеження будують так: множать коефіцієнти aij, що стоять при хі, на відповідні двоїсті невідомі уі, результати множення додають і ставлять у ліву частину обмежень, а в праву – коефіцієнт при хі в оптимізуючій формі сі;
3) у всіх обмеженнях двоїстої задачі ставлять один і той же знак нерівності, протилежний загальному знаку нерівності системи обмежень вихідної задачі.
ІІІ. Для оптимізуючої форми двоїстої задачі мають задовольнятися умови:
1) форма w двоїстої задачі оптимізується у протилежному значенні (якщо Z max, то Wmin, і навпаки);
2) коефіцієнтами при двоїстих невідомих у формі W є відповідні вільні члени системи обмежень вихідної задачі. Вільний член с0 форми Z переноситься без змін у форму W.
Оптимальне значення кожної змінної двоїстої задачі визначає позитивний або негативний приріст значення цільової функції за рахунок одиничного приросту (позитивного чи негативного) значення константи в правій частині відповідного обмеження. Оптимальні значення змінних двоїстої задачі називають прихованими доходами або тіньовими цінами. Якщо константи в правих частинах обмежень задають обсяги наявних ресурсів, приховані доходи визначають внесок у прибуток, отриманий за рахунок одиниці кожного з ресурсів, відповідно до виду оптимального рішення прямої задачі.
Коефіцієнти aij інтерпретуються як відповідні норми споживання і-го ресурсу в j-му виробничому процесі. Сумою задається економічний ефект за рахунок j-го виробничо-технологічного процесу, обчислений з урахуванням прихованого доходу.
Завдання
Необхідно:
побудувати задачу лінійного програмування;
визначити оптимальний план виробництва продукції;
проаналізувати стійкість задачі;
побудувати двоїсту задачу лінійного програмування.
Хід роботи
Таблиця 3.1
Ціни на ковбасні вироби ПП «Фаворит»
Найменування продукції
Собівартість, грн./кг
Відпускна ціна, грн./кг
Домашня
42
53
Сардельки ніжні
24
29
Делікатесна
30
38,5
Шинка до сніданку
41
55
Шинкова
35
48,5
Популярна
22
32
Сардельки оригінальні
15,5
25
Мартаделла варена
15
28,4
Козацька
16
29
Дрогобицька
45
61
Селянська
18
33,5
Сосиски апетитні
20
30
Молочна варена
25
34,7
Московська
48
63
Київська
26,5
37,5
Краківська особлива
40,5
56,4
Шинка святкова
32
45,2
Таблиця 3.2
Витрати ресурсів на 1 кг готової продукції, кг
Найменування продукції
М'ясо свинне
М'ясо волове
Сало
Спеції
Харчові добавки
1
2
3
4
5
6
Домашня
0,7
0,3
0,19
0,02
0,18
Сардельки ніжні
0,5
0,4
0,25
0,01
0,21
Делікатесна
0,45
0,26
0,26
0,04
0,35
Шинка до сніданку
1,32
-
-
0,05
0,03
Шинкова
0,63
0,28
0,2
0,04
0,24
Популярна
0,45
0,31
0,14
0,03
0,47
Сардельки оригінальні
0,43
0,29
0,22
0,03
0,41
Мартаделла варена
0,29
0,26
0,3
0,05
0,48
Козацька
0,23
0,31
0,22
0,06
0,54
Дрогобицька
1,13
-
0,2
0,04
0,02
Селянська
0,31
0,28
0,31
0,05
0,43
Сосиски апетитні
0,46
0,42
0,22
0,03
0,25
Молочна варена
0,47
0,35
0,32
0,02
0,22
Московська
-
1
0,31
0,03
0,04
Київська
0,4
0,26
0,35
0,04
0,33
Краківська особлива
0,51
0,3
0,34
0,03
0,21
Шинка святкова
1,25
-
-
0,06
0,06
Таблиця 3.3
Ресурси для виробництва продукції
Ресурси
Наявна кількість, кг
М'ясо свинне
20463
М'ясо волове
14650
Сало
12541
Спеції
1750
Харчові добавки
15190
Таблиця 3.4
Необхідна кількість деяких видів продукції згідно договорів
Найменування продукції
Необхідна кількість продукції
Сардельки ніжні
238
Делікатесна
320
Сардельки оригінальні
153
Мартаделла варена
163
Дрогобицька
78
Сосиски апетитні
183
Молочна варена
232
Московська
125
Краківська особлива
90
Шинка святкова
181
1. Будуємо задачу лінійного програмування:
S
max
=11
x
1
+5
x
2
+8,5
x
3
+14
x
4
+13,5
x
5
+10
x
6
+9,5
x
7
+
+13,4
x
8
+13
x
9
+16
x
10
+15,5
x
11
+10
x
12
+9,7
x
13
+15
x
14
+11
x
15
+15,9
x
16
+13,2
x
17
При цьому, компоненти виробничої програми повинні задовольняти такі умови:
0,7