You are on page 1of 7

Лабораторна робота №1

Тема. Графічне рішення задачі лінійного програмування


Мета роботи – вивчення графічних методів вирішення задачі лінійного
програмування.
Лінійне програмування (ЛП) – це метод оптимізації моделей, в яких
цільові функції і обмеження строго лінійні. ЛП успішно застосовується у
військовій області, промисловості, сільському господарстві, транспортній
галузі, економіці, системі охорони здоров'я і навіть в соціальних
науках. Широке використання цього методу також підкріплюється
високоефективними комп'ютерними алгоритмами, що реалізують даний
метод. На алгоритмах лінійного програмування (враховуючи їх комп'ютерну
ефективність) базуються оптимізаційні алгоритми для інших, більш складних
типів моделей і завдань дослідження операцій
У цій роботі на простому прикладі з двома змінними показані основні
елементи моделі ЛП. Далі цей приклад буде узагальнено в загальну задачу
лінійного програмування.
1. Приклад рішення задачі ЛП графічним методом.
Компанія Reddy Mikks виготовляє два види фарб: для внутрішніх (1) і
зовнішніх (2) робіт. Продукція обох видів надходить у продаж. Для
виробництва фарб використовується два вихідних продукту - А і В.
Максимально можливі добові запаси цих продуктів складають 6 і 8 тон
відповідно. Витрати А і В на 1 тонну відповідних фарб наведені нижче в
таблиці.
Таблиця 1.1.
витрата сировини
(в тонах на тону фарби) Максимально
Вихідний
можлива добова
продукт
Фарба 1 для Фарба 2 для витрата сировини, т
зовнішніх робіт внутрішніх робіт
Сировина А 6 4 24
Сировина В 1 2 6
Дохід в тис.
дол. на 1 т 5 4
фарби

Відділ маркетингу компанії обмежив щоденне виробництво фарби для


внутрішніх робіт до 2 т (через відсутність належного попиту), а також
поставив умови, щоб щоденне виробництво фарби для внутрішніх робіт не
перевищувала більш ніж на тонну аналогічний показник виробництва фарби
для зовнішніх робіт. Компанія хоче визначити оптимальне (найкраще)
співвідношення між видами продукції, що випускається для максимізації
загального щоденного доходу.
Завдання (модель) лінійного програмування, як і будь-яке завдання
дослідження операцій, включає три основних елементи.
1. Змінні, які слід визначити.
2. Цільова функція, що підлягає оптимізації.
3. Обмеження, яким повинні задовольняти змінні.
Визначення змінних – перший крок у створенні моделі. Після
визначення змінних побудова обмежень і цільової функції зазвичай не
викликає труднощів.
У нашому прикладі необхідно визначити щоденні обсяги виробництва
фарби для внутрішніх і зовнішніх робіт. Позначимо ці обсяги як змінні
моделі:
х1 — щоденний обсяг виробництва фарби 1 для зовнішніх робіт;
х2 — щоденний обсяг виробництва фарби 2 для внутрішніх робіт.
Використовуючи ці змінні, далі будуємо цільову функцію. Логічно
припустити, що цільова функція, як сумарний щоденний дохід, повинна
зростати при збільшенні щоденних обсягів виробництва фарб. Позначимо цю
функцію через z (вона вимірюється в тисячах доларів) і покладемо, що в
відповідності з цілями компанії отримуємо задачу:
максимізувати z = 5х1 + 4х2.
Залишився невизначеним останній елемент моделі – умови
(обмеження), які повинні враховувати можливість щоденного споживання
сировини і обмеженість попиту на готову продукцію. Іншими словами,
обмеження на сировину можна записати в такий спосіб.

{ Використовуваний об'єм { Максимально


можливий
сировини для виробництва ≤ щоденний витрата
обох видів фарби } сировини }

З таблиці з даними маємо наступне.


Використовуваний об'єм сировини М1 = 6х1 + 4х2 (т)
Використовуваний об'єм сировини М2 = 1х1 + 2х2 (т)

Оскільки щоденний витрата сировини М1 і М2 обмежений відповідно


24 і 6 тонами, отримуємо такі обмеження.
6х1 + 4х2 ≤ 24 (сырье М1)
1х1 + 2х2 ≤ 6 (сырье М2)
Існує ще два обмеження щодо попиту на готову продукцію. Перше
обмеження вказує, що щоденний обсяг виробництва фарби для внутрішніх
робіт не повинен перевищувати щоденний обсяг виробництва фарби для
зовнішніх робіт більш ніж на одну тонну, тобто х2—х1≤1. Друге обмеження
просте – максимальний щоденний обсяг виробництва фарби для внутрішніх
робіт не повинен перевищувати 2 т – і записується як х2 ≤ 2.
Ще одне неявне обмеження полягає в тому, що змінні х1 і х2 повинні
бути невід'ємними. Таким чином, до сформульованим вище обмеженням
необхідно додати умова невід'ємності змінних: х1 ≥ 0, х2 ≥ 0.
Остаточно завдання буде записана наступним чином:
максимізувати z = 5х1 + 4х2 при виконання обмежень
6х1 + 4х2 ≤ 24,
х1 + 2х2 ≤ 6,
-х1 + х2 ≤ 1,
х2 ≤ 2,
х1 ≥ 0, х2 ≥ 0.
Будь-яке рішення, яке задовольняє обмеженням моделі, є
допустимим. Наприклад, рішення х1 = 3 и х2 = 1 буде допустимим, оскільки
не порушує жодного обмеження, включаючи умову невід'ємності. Щоб
упевнитися в цьому, треба підставити значення х1 = 3 и х2 = 1 в ліві частини
нерівностей системи обмежень і переконайтеся, що жодне нерівність не
порушується.
Значення цільової функції при цьому дорівнюватиме z = 5*3 + 4*1 =
19 .
Задача сформульована, тепер постає питання про пошук оптимального
допустимого рішення, що доставляє максимум цільової функції. Відзначимо,
що в прикладі цільова функція і всі обмеження лінійні. Властивість
лінійності функцій передбачає наступне.
а) Значення лівих частин нерівностей обмежень і значення цільових
функції прямо пропорційні значенням змінних.
б) Адитивність змінних означає, що загальний внесок всіх змінних в
значення цільової функції і лівих частин нерівностей обмежень є прямою
сумою вкладів кожної окремої змінної.
Вирішимо задачу ЛП графічно. Графічний спосіб розв'язування задач
ЛП складається з двох етапів.
1. Побудова простору допустимих рішень, що задовольняють всім
обмеженням моделі.
2. Пошук оптимального рішення серед усіх точок простору допустимих
рішень.
Етап 1. Побудова простору допустимих рішень.
              Спочатку проведемо осі: на горизонтальній будуть вказуватися
значення змінної х1 а на вертикальній — хг (рис. 1.1). Далі розглянемо умова
невід'ємності змінних: х1 > 0 і хг > 0. Ці два обмеження показують, що
простір допустимих рішень буде лежати в першому квадранті (тобто вище
осі х1 і правіше осі х2).
Рис. 1.1. Простір допустимих рішень моделі

Щоб врахувати решту обмежень, найпростіше замінити нерівності на


рівності (отримавши рівняння прямих), а потім на площині провести ці
прямі. Наприклад, нерівність 6х1 + 4х2 < 24 замінюється рівнянням прямої 6х1
+ 4х2 = 24. Щоб провести цю лінію, треба знайти дві різні точки, що лежать
на цій прямій. Якщо х1 = 0, то х2 = 24/4 = 6. Аналогічно для х2 = 0 знаходимо
х1= 24/6 = 4. Итак, наша прямая проходит через две точки (0, 6) и (4, 0). Отже,
наш прямий проходить через дві точки (0, 6) і (4, 0). Ця пряма позначена на
рис. 1.1 як лінія (1).
Тепер розглянемо, як графічно інтерпретуються нерівності. Кожні
нерівність ділить площину (х1 , х2) на два півпростору, які розташовуються по
обидва боки прямий, яка, як показано вище, відповідає даним
нерівності. Точки площині, розташовані по одну сторону прямої,
задовольняють нерівності (допустиме полупространство), а точки, що лежать
по інший бік, - немає. "Тестової" точкою, яка перевіряє, точки якого
полупространства задовольняють нерівності, а якого - ні, може служити
точка (0, 0). Наприклад, ця точка задовольняє першому нерівності 6х1 + 4хг ≤
24 (здесь 6×0 + 4×0 = 0 ≤ 24). Це означає, що точки півпростору, що містить
початкову точку (0, 0), задовольняють цьому нерівності. На рис. 1.1
допустимі півпростору показані стрілками.
Якщо точка (0, 0) не задовольняє нерівності, допустимим півпростором
буде те, яке не містить цю точку. Якщо ж пряма проходить через цю точку,
слід як "тестової" взяти будь-яку іншу точку.
Етап 2. Пошук оптимального рішення.
Точки простору допустимих рішень, показаного на рис. 1.1,
задовольняють одночасно всім обмеженням. Це простір обмежений
відрізками прямих, які з'єднуються в кутових точках А, В, С, D, Е і F. Будь-
яка точка, розміщена всередині або на кордоні області, обмеженою ламаної
ABCDEF, є допустимим рішенням, тобто задовольняє всім
обмеженням. Оскільки простір допустимих рішень містить нескінченне
число точок, необхідна якась процедура пошуку оптимального рішення.
Для того щоб знайти оптимальне рішення, необхідно визначити напрям
зростання цільової функції z = 5х1 + 4х2 (нагадаємо, що функцію z слід
максимізувати). Ми можемо прирівняти z до кількох зростаючим значенням,
наприклад 10 і 15. Ці значення, підставлені замість z в вираз цільової функції,
породжують рівняння прямих; для значень 10 і 15 отримуємо рівняння
прямих 5х1 + 4х2 = 10 і 5х1 + 4х2 = 15. На рис. 2.2 ці прямі показані
штриховими лініями, а напрям зростання цільової функції – жирної
стрілкою. Цільова функція може зростати до тих пір, поки прямі, відповідні
зростаючому значенням цієї функції, перетинають область допустимих
рішень. Точка перетину області допустимих рішень і прямий, відповідної
максимально можливого значення цільової функції, і буде точкою оптимуму.

Рис.1.2. Оптимальне рішення задачі


 
 
На рис. 1.2 видно, що оптимальне рішення відповідає точці С. Ця точка
є місцем перетину прямих (1) і (2), тому її координати х1 і х2 знаходяться як
рішення системи рівнянь, які задають ці прямі:
6х1 + 4х2 = 24,
х1 + 2х2 = 6.
Рішенням цієї системи буде х1 = 3 і х2= 1,5, при цьому значення
цільової функції дорівнює z = 5×3 + 4×1,5 = 21. Отримане рішення означає,
що для компанії Reddy Mikks оптимальним вибором буде щоденне
виробництво 3 т фарби для зовнішніх робіт і 1,5 т – для внутрішніх робіт з
щоденним доходом в 21 000 дол.
Не випадково, що оптимальне рішення розташоване в кутовій точці
простору допустимих рішень, де перетинаються дві прямі. Якщо ми змінимо
нахил функції z (шляхом зміни її коефіцієнтів), то виявимо, що в будь-якому
випадку рішення досягається в одній з кутових точок (або одночасно в
декількох кутових точках). В цьому і полягає основна ідея побудови
загального симплексного алгоритму.
2. Завдання.
2.1. Вирішити графічним методом наступні задачі лінійного
програмування. 1. Фармацевтична фірма Ozark кожен день виробляє не
менше 800 фунтів якоїсь харчової добавки - суміші кукурудзяного і соєвого
борошна складу якої в таблиці 1.2. Дієтологи вимагають, щоб в харчовій
добавці було не менше 30% білка і не більше 5% клітковини. Фірма Ozark
хоче визначити структуру суміші мінімальної вартості з урахуванням вимоги
дієтологів. (Звернути увагу на те, що цільова функція задачі мінімізується).

Таблиця 1.2.
Вартість в доларах за
Борошно В фунтах на фунт борошна
фунт
Білок Клітковина
Кукурудзян
0,3 0,09 0,02
а
Соєва 0,9 0,6 0,06

2.2. Джек - студент-першокурсник. Він прийшов до висновку, що одна


тільки навчання, без щоденної гри в баскетбол, погано впливає на його
розумовий, моральний і фізичний розвиток. Тому він вирішив розподілити
свій денний час (приблизно 10 годин) для навчання і гри в
баскетбол. Привабливість ігрового часу він оцінює в два рази вище, ніж
привабливість часу, витраченого на навчання. Але, маючи совість і почуття
обов'язку, Джек вирішив, що час для гри не повинно перевищувати час
навчання. Крім того, він помітив, що, якщо виконувати всі навчальні
завдання, на гру залишиться не більше 4 годин на день. Допоможіть Джеку
розподілити час так, щоб він отримував максимальне задоволення і від
роботи, і від гри.
2.3. Нафтова компанія OilCo будує новий нафтопереробний завод для
виробництва 4 видів продуктів: дизельне паливо, бензин, мастильні
матеріали і авіаційне паливо. Попит на ці види продукції становить
відповідно 14, 30, 10 і 8 тис. барелів на день. компанія уклала контракти з
Іраном і ОАЕ на поставку сирої нафти танкерами. Оскільки обсяг видобутку
нафти квотується рішеннями ОПЕК (Організація країн - експортерів нафти),
компанія розраховує, що не менше 40% нафти вона буде отримувати з Ірану,
а решта - з Арабських Еміратів. OilCo також прогнозує, що в найближчі 10
років попит на її продукцію і квоти на сиру нафту залишаться незмінними.
Нафта, що поставляється з Ірану і ОАЕ, відрізняється своїми
якостями. з одного бареля іранської нафти можна зробити 0,2 бареля
дизельного палива, 0,25 бареля бензину, 0,1 бареля мастильних матеріалів і
0,15 бареля авіаційного палива. Відповідні числа для нафти з ОАЕ складають
0,1, 0,6, 0,15 і 0,1. Компанії OilCo необхідно визначити мінімальну
завантаження сирою нафтою свого нового нафтопереробного заводу.
 
3. Зміст звіту.
1. Титульний лист.
2. Назва та мета роботи.
3. Завдання.
4. Результати виконання завдання.
5. Висновки по роботі.

You might also like