85767 (597827), страница 3
Текст из файла (страница 3)
Базисне припустиме рішення задачі лінійного програмування відповідає одній з вершин або граней множини розв’язків.
Оптимальне рішення задачі лінійного програмування відповідає одному з базисних припустимих рішень, тобто досягається у вершині множини розв’язків, має другу назву – оптимальний план задачі лінійного програмування.
Геометрична інтерпретація множини допустимих розв’язків задачі лінійного програмування та графічний метод її розв’язування. /2/ стор. 165.
Розглянемо задачу лінійного програмування у формі стандартної задачі – з обмеженнями у вигляді нерівностей. З метою наочності розглянемо простіший випадок з двома невідомими змінними. Пригадаємо задачу про планування випуску продукції малим підприємством.
Z = 10 x1 + 20 x2 ; Z max;
х1 + 3,5 х2 350;
2 х1 + 0,5 х2 240;
х1 + х2 150;
х1 + х2 110;
10 х1 + 20 х2 1400;
х1 0;
х2 0.
Нерівність – обмеження графічно відображається півплощіною, а границя – граничною прямою, рівняння якої утворюється перетворенням нерівності на рівняння.
l1 x1 + 3,5x2 = 350 ;
x1 = 0, x2 = 350 / 3,5 = 100 ; x2 = 0, x1 = 350.
Щоб з’ясувати, яка напівплощіна задовольняє нерівності, перевіримо, наприклад, чи включає точку (0,0) 0 + 3,5 0 350 напівплощіна нижче граничної прямої – нерівність виконується – напівплощіна нижче границі.
Таким же чином перевіримо та побудуємо інші нерівності:
l2 2x1 + 0,5x2 = 240 ;
x1 = 0, x2 = 240 / 0,5 = 480 ; x2 = 0, x1 = 240 / 2 = 120 ;
l3 x1 + x2 = 150; x1 = 0; x2 = 150; x2 = 0, x1 = 150;
l4 x1 + x2 = 110; x1 = 0; x2 = 110; x2 = 0, x1 = 110;
l5 10x1 + 20x2 = 1400;
x1 = 0, x2 = 1400 / 20 = 70; x2 = 0, x1 = 1400 / 10 = 140;
але точка (0,0) 10 0 + 20 0 = 0 1400 не відповідає нерівності, тому нам потрібна півплощіна вище граничної прямої.
Таким чином отриманий многокутник розв’язків, до речі – опуклий, як завжди.
З метою знаходження максимуму цільової функції
Z = 10 x1 + 20 x2 побудуємо лінію рівня цільової функції, поклавши Z = 0 ,
10 x1 + 20 x2 = 10; x1 = 0, x2 = 40; x2 = 0; x1 = 80;
зростання цільової функції позначає паралельне зміщення самій собі догори, доки остання крапка не вийде на границю многокутника розв’язків.
Ця точка відповідає перетину прямих
х1 + 3,5 х2 = 350; - l1 ( ) C (70; 80)
х1 + х2 = 250; - l3
х1 = 70, х2 = 80,
Zmax (x) = 10 x1 + 20 x2 = 10 70 + 20 80 = 23000 грн.
Слушне зауваження у підручнику – якщо було б потрібно знайти мінімальне значення цільової функції, так лінію рівня потрібно зміщувати униз, доки остання крапка вийде на границю многокутника розв’язків – це l5 , усі крапки якої є розв’язком задачі – нескінченна множина рішень.
У розглянутому випадку многокутник розв’язків не тільки опуклий, а ще і є замкненим. Можливі варіанти опуклого многокутника розв’язків, який є необмеженим.
У першому випадку можливо знайти максимальне значення цільової функції, а у другому випадку – мінімальне значення. На наступному малюнку наведений приклад многокутника розв’язків несумісної системи обмежень – розв’язок задачі математичного програмування відсутній.
Малюнок. Многокутник розв’язків несумісної системи обмежень
задачі лінійного програмування
Тема 3. Симплексний метод розв’язання задач лінійного програмування
Перша праця по лінійному програмуванню була надрукована Канторовичем у 1939 році, але лише після відкриття Данцігом у 1949 році симплекс-метода розв'язання задачі лінійного програмування до цього класу задач виникла зацікавленість. Симплекс-метод дає аналітичний розв’язок лінійної задачі математичного програмування.
Симплексний метод розв’язання задачі лінійного програмування ґрунтується на переході від одного опорного плану до іншого таким чином, що кожного разу значення цільової функції зростає (за умов, що задача має оптимальний план, та кожний з опорних планів не є надмірним). Під опорним планом мають на увазі невід’ємний базисний розв’язок задачі лінійного програмування. Нагадаємо – базисний план (розв’язок) – рішення системи обмежень. у якому усі вільні змінні дорівнюють нулеві, тобто геометрично базисний план відповідає одній з вершин або граней многокутника розв’язків.
Розглянемо використання симплекс-методу для вирішення задачі лінійного програмування на прикладі задачі про планування випуску продукції малим підприємством. У зв’язку з тим, що ця задача була розв’язана раніше, і ми з’ясували, що функціональні планові обмеження виконуються автоматично, а також з метою спрощення пошуку, розглянемо тільки функціональні обмеження ресурсів.
х1 + 3,5 х2 350;
2 х1 + 0,5 х2 240;
х1 + х2 150;
х1 0;
х2 0.
Z = f (x) = 10 x1 + 20 x2 ; Z max;
( -Z = - f (x) = - 10 x1 - 20 x2 - 0 x4 - 0 x5; min ).
Розв’язок задачі. Перетворимо функціональні обмеження-нерівності на обмеження-рівності шляхом введення у обмеження-нерівності невід’ємних вільних невідомих y1, y2, y3 (хоча можливо було б і х3, х4, х5 ).
х 1 + 3,5 х2 + у1 = 350; (1)
2 х1 + 0,5 х2 + у2 = 240; (2)
х1 + х2 + у3 = 150; (3)
х1 0; х2 0; у1 0; у2 0; у3 0.
Перед початком виробництва х1 = х2 = 0 , тоді
у 1 = 350; наявність ресурсу – шерсть;
у2 = 240; наявність ресурсу – шовк;
у3 = 150; наявність ресурсу – трудомісткість.
Прибуток на початок справи Z = 10 0 + 20 0 = 0;
Кількість рівнянь-обмежень m = 3; кількість невідомих – х1, х2, у1, у2, у3 n = 5; кількість вільних змінних – (n – m) = 5 – 3 = 2;
базисне припустиме рішення задачі – це таке, у якому усі вільні змінні дорівнюють нулеві (вершина або грань многокутника розв’язків). Тому початковий опорний план складає
х (1) = (0; 0; 350; 240; 150) ; Z ( х(1) ) = 0;
де : х1 = 0; х2 = 0 – вільні змінні, відповідає рішенню задачі, коли продукція не виробляється. Надамо цю інформацію у вигляді симплекс-таблиці
Таблиця
х1 | х2 | х3 | |
1 2 1 | 3,5 0,5 1 | 350 240 150 | у1 – шерстяна тканина у2 – шовкова тканина у3 – наявність ресурсів праці |
10 | 20 | 0 | - Z = - дохід від виробництва |
Z = 10х1 + 20х2 = 10 0 + 20 0 = 0; - Z = 0;
Виробництво чоловічих костюмів х2 дає більший дохід, так почнемо його збільшувати, залишаючи х1 = 0, але існують обмеження. З першої строки симплекс-таблиці (першого рівняння-обмеження на наявність шерстяної тканини) чоловічих костюмів можливо виготовити 350 / 3,5 = 100; з другої строки симплекс-таблиці (другого рівняння-обмеження на наявність шовкової тканини) чоловічих костюмів можливо виготовити 240 / 0,5 = 480 штук; з третьої строки симплекс-таблиці (третього рівняння-обмеження на наявність ресурсів праці) чоловічих костюмів можливо виготовити 150 / 1 = 150 одиниць. Визначальним є обмеження на шерстяну тканину, тобто найбільша кількість чоловічих костюмів (за умов відсутності жіночих – х1 = 0) дорівнює найменшому з трьох значень 100; 480; 150; х2 = 110. Визначальний елемент симплекс-таблиці – коефіцієнт у першому рівнянні при другій вільній змінній (х2), який дорівнює3,5; та має назву центру (ключового елемента).
Як буде виготовлено 100 чоловічих костюмів, так х2 = 100 і з першого рівняння-обмеження отримаємо (х1 = 0)
у 1 = 350 – 3,5х2 – х1; (1)
у2 = 240 – 0,5х2 – 2х1; (2)
у3 = 150 – х2 – х1; (3)
що у1 = 0, тобто ресурсів шерстяної тканини не буде; з другого рівняння-обмеження отримаємо у2 = 240 – 0,5 100 – 2 0 = = 190 м шовкової тканини у запасах; з третього рівняння-обмеження отримаємо у3 = 150 – 100 – 0 = 50 людино - тижнів трудомісткості у запасах.
Прибуток складає Z = 10 0 + 20 100 = 2000 грн.; - Z = - 2000.
Цільова функція Z = 10 х1 + 20 х2 через нові вільні змінні (х1 = 0; у2 = 0) має вираз
40 40 40 30
Z = 10 х1 + 20 х2 = 10 х1 + 2000 - у1 - х1 = 2000 - у1 + х1,
7 7 7 7
бо (з першого рівняння-обмеження) маємо:
х2 = 100 – у1 / 3,5 – х1 / 3,5.
Перетворимо систему рівнянь-обмежень, замінюючи х2 на його вираз:
х 1 + 3,5 (100 – у1 / 3,5 – х1 / 3,5) + у1 = 350; (1)
2 х1 + 0,5 (100 – у1 / 3,5 – х1 / 3,50) + у2 = 240; (2)
х1 + (100 – у1 / 3,5 – х1 / 3,50) + у3 = 150; (3)
х2 + у1 / 3,5 + х1 / 3,5 = 100 (4)
Другий опорний план задачи таким чином складає
х(2) = (0; 100; 0; 190; 50; 100); Z (х(2) ) = 2000;
де: х1 = 0; у1= 0 – вільні змінні, відповідає розв’язку задачі, якщо виробляються виключно чоловічі костюми (х2 = 100). Знов надамо цю інформацію у вигляді симплекс-таблиці.
Таблиця
х1 | у1 | bі | |
13 7 | 1 - 7 | 190 | у2 – залишки шовкової тканини |
5 7 | 2 - 7 | 50 | у3 – залишки ресурсів праці |
2 7 | 2 7 | 100 | х2 – виробництво чоловічих костюмів |
30 7 | 40 - 7 | - 2000 | - Z – цільова функція |
Кожен з елементів симплекс-таблиці має своє значення:
-
у першому стовпці (х1) 13 / 7 – потрібна кількість шовкової тканини, потрібної на один жіночий костюм; 5 / 7 – потрібна кількість праці на один жіночий костюм; 30 / 7 – прибуток від одного жіночого костюма;
Дивлячись на цільову функцію
30 40
Z = 2000 + х1 - у1 ,
-
7
бачимо, що збільшення виготовлення жіночих костюмів може збільшити прибуток, бо х1 0 , а також 30 / 7 0.
Пригадуючи, що у1 = 0, знайдемо значення нової вільної змінної, яка задовольняє систему рівнянь-обмежень (2), (3), (1), а також у2 0 , у3 0 , х2 0 .
(2) дає, якщо у2 = 0, х1 102;
(3) дає, якщо у3 = 0, х1 = 70;
(1) дає, якщо х2 = 0, х1 =350;
Визначальними є обмеження на ресурси праці: , х1 = 70, у3 = 0 з рівняння (3).