Графічний метод розв’язування задач лінійного програмування

Для розв’язування двовимірних задач лінійного програмування, тобто задач із двома змінними, а також деяких тривимірних задач застосовують графічний метод, що ґрунтується на геометричній інтерпретації та аналітичних властивостях задач лінійного програмування. Обмежене використання графічного методу зумовлене складністю побудови багатогранника розв’язків у тривимірному просторі (для задач з трьома змінними), а графічне зображення задачі з кількістю змінних більше трьох взагалі неможливе.

Розглянемо задачу.

Знайти

Графічний метод розв’язування задач лінійного програмування - student2.ru (3.15)

за умов:

Графічний метод розв’язування задач лінійного програмування - student2.ru (3.16)

Графічний метод розв’язування задач лінійного програмування - student2.ru . (3.17)

Припустимо, що система (3.15) за умов (3.16) сумісна і багатокутник її розв’язків обмежений.

Згідно з геометричною інтерпретацією задачі лінійного програмування (п.3.3) кожне і-те обмеження-нерівність у (3.16) визначає півплощину з граничною прямою Графічний метод розв’язування задач лінійного програмування - student2.ru (і = 1, 2, …, т). Системою обмежень (3.16) графічно можна зобразити спільну частину, або переріз усіх зазначених півплощин, тобто множину точок, координати яких задовольняють всі обмеження задачі – багатокутник розв’язків.

Умова (3.17) невід’ємності змінних означає, що область допустимих розв’язків задачі належить першому квадранту системи координат двовимірного простору. Цільова функція задачі лінійного програмування геометрично інтерпретується як сім’я паралельних прямих с1х12х2 = const.

Скористаємося для графічного розв’язання задачі лінійного програмування властивостями, наведеними в п.3.4: якщо задача лінійного програмування має оптимальний план, то екстремального значення цільова функція набуває в одній із вершин її багатокутника розв’язків. Якщо ж цільова функція досягає екстремального значення більш як в одній вершині багатокутника, то вона досягає його і в будь-якій точці, що є лінійною комбінацією цих вершин.

Отже, розв’язати задачу лінійного програмування графічно означає знайти таку вершину багатокутника розв’язків, у результаті підстановки координат якої в (3.15) лінійна цільова функція набуває найбільшого (найменшого) значення.

Алгоритм графічного методу розв’язування задачі лінійного програмування складається з таких кроків:

1. Будуємо прямі, рівняння яких дістаємо заміною в обмеженнях задачі (3.16) знаків нерівностей на знаки рівностей.

2. Визначаємо півплощини, що відповідають кожному обмеженню задачі.

3. Знаходимо багатокутник розв’язків задачі лінійного програмування.

4. Будуємо вектор Графічний метод розв’язування задач лінійного програмування - student2.ru , що задає напрям зростання значення цільової функції задачі.

5. Будуємо пряму с1х12х2=const, перпендикулярну до вектора Графічний метод розв’язування задач лінійного програмування - student2.ru .

6. Рухаючи пряму с1х12х2=const в напрямку вектора
Графічний метод розв’язування задач лінійного програмування - student2.ru (для задачі максимізації) або в протилежному напрямі
(для задачі мінімізації), знаходимо вершину багатокутника розв’язків, де цільова функція набирає екстремального значення.

7. Визначаємо координати точки, в якій цільова функція набирає максимального (мінімального) значення, і обчислюємо екстремальне значення цільової функції в цій точці.

У разі застосування графічного методу для розв’язування задач лінійного програмування можливі такі випадки:

1. Цільова функція набирає максимального значення в єдиній вершині А багатокутника розв’язків (рис.3.3).

2. Максимального значення цільова функція досягає в будь-якій точці відрізка АВ (рис.3.4). Тоді задача лінійного програмування має альтернативні оптимальні плани.

3. Задача лінійного програмування не має оптимальних планів: якщо цільова функція необмежена згори (рис.3.5) або система обмежень задачі несумісна (рисунок 3.6).

Графічний метод розв’язування задач лінійного програмування - student2.ru

Рисунок 3.3 Рисунок 3.4

Графічний метод розв’язування задач лінійного програмування - student2.ru

Рисунок 3.5 Рисунок 3.6

4. Задача лінійного програмування має оптимальний план за необмеженої області допустимих розв’язків (рис.3.7 і 3.8). На рис.3.7 у точці В маємо максимум, на рис.3.8 у точці А – мінімум, на рис.3.9 зображено, як у разі необмеженої області допус­тимих планів цільова функція може набирати максимального чи мінімального значення у будь-якій точці променя.

Графічний метод розв’язування задач лінійного програмування - student2.ru

Рисунок 3.7 Рисунок 3.8

Графічний метод розв’язування задач лінійного програмування - student2.ru

Рисунок 3.9

Розв’язувати графічним методом можна також задачі лінійного програмування n-вимірного простору, де Графічний метод розв’язування задач лінійного програмування - student2.ru , якщо при зведенні системи нерівностей задачі до системи рівнянь шляхом введення додаткових змінних кількість змінних n на дві більша, ніж число обмежень m, тобто Графічний метод розв’язування задач лінійного програмування - student2.ru .

Тоді, як відомо з курсу вищої математики, можна дві з n змінних, наприклад х1 та х2, вибрати як вільні, а інші m зробити базис­ними і виразити через вільні. Припустимо, що це зроблено. Отримаємо Графічний метод розв’язування задач лінійного програмування - student2.ru рівнянь вигляду:

Графічний метод розв’язування задач лінійного програмування - student2.ru

Оскільки всі значення Графічний метод розв’язування задач лінійного програмування - student2.ru , то мають виконуватись умови:

Графічний метод розв’язування задач лінійного програмування - student2.ru ,

Графічний метод розв’язування задач лінійного програмування - student2.ru (3.18))

Розглянемо, як можна зобразити ці умови геометрично. Візьмемо, наприклад, першу з них:

Графічний метод розв’язування задач лінійного програмування - student2.ru

Узявши величину х3 рівною своєму крайньому значенню — нулю, отримаємо рівняння:

Графічний метод розв’язування задач лінійного програмування - student2.ru .

Це рівняння прямої. Для такої прямої Графічний метод розв’язування задач лінійного програмування - student2.ru , по одну сторону від неї Графічний метод розв’язування задач лінійного програмування - student2.ru , а по другу – Графічний метод розв’язування задач лінійного програмування - student2.ru . Відмітимо ту сторону прямої Графічний метод розв’язування задач лінійного програмування - student2.ru , де Графічний метод розв’язування задач лінійного програмування - student2.ru .

В аналогічний спосіб побудуємо і всі інші обмежуючі прямі: Графічний метод розв’язування задач лінійного програмування - student2.ru ; Графічний метод розв’язування задач лінійного програмування - student2.ru ;...; Графічний метод розв’язування задач лінійного програмування - student2.ru і відмітимо для кожної з них півплощину, де відповідна змінна більше нуля.

У такий спосіб отримують n–2 прямі та дві осі координат ( Графічний метод розв’язування задач лінійного програмування - student2.ru , Графічний метод розв’язування задач лінійного програмування - student2.ru ). Кожна з них визначає півплощину, де виконується умова Графічний метод розв’язування задач лінійного програмування - student2.ru . Частина площини в Графічний метод розв’язування задач лінійного програмування - student2.ru належить водночас всім півплощинам, утворюючи багатокутник допустимих розв’язків.

Припустимо, що в задачі необхідно знайти максимальне значення функціонала:

Графічний метод розв’язування задач лінійного програмування - student2.ru .

Підставивши вирази для Графічний метод розв’язування задач лінійного програмування - student2.ru , Графічний метод розв’язування задач лінійного програмування - student2.ru , Графічний метод розв’язування задач лінійного програмування - student2.ru , ...; Графічний метод розв’язування задач лінійного програмування - student2.ru з (3.18) у цей функціонал, зведемо подібні доданки і отримаємо вираз лінійної функ­ції F всіх n змінних лише через дві вільні змінні Графічний метод розв’язування задач лінійного програмування - student2.ru та Графічний метод розв’язування задач лінійного програмування - student2.ru :

Графічний метод розв’язування задач лінійного програмування - student2.ru ,

де Графічний метод розв’язування задач лінійного програмування - student2.ru — вільний член, якого в початковому вигляді функціонала не було.

Очевидно, що лінійна функція Графічний метод розв’язування задач лінійного програмування - student2.ru досягає свого максимального значення за тих самих значень Графічний метод розв’язування задач лінійного програмування - student2.ru та Графічний метод розв’язування задач лінійного програмування - student2.ru , що й Графічний метод розв’язування задач лінійного програмування - student2.ru . Отже, процедура відшукання оптимального плану з множини допустимих далі здійснюється за алгоритмом для випадку двох змінних.

(Самостійна робота)

Приклад 3.1. Розв’язати графічним методом задачу лінійного програмування

Графічний метод розв’язування задач лінійного програмування - student2.ru

Графічний метод розв’язування задач лінійного програмування - student2.ru

Графічний метод розв’язування задач лінійного програмування - student2.ru .

Розв’язання. Маємо n=7 – кількість змінних, m=5 – кількість обмежень. Виберемо як вільні змінні х1 та х2 і виразимо через них всі інші базисні змінні. З першого рівняння маємо:

Графічний метод розв’язування задач лінійного програмування - student2.ru (3.19)

З третього рівняння:

Графічний метод розв’язування задач лінійного програмування - student2.ru , (3.20)

а з четвертого:

Графічний метод розв’язування задач лінійного програмування - student2.ru . (3.21)

Підставляючи (3.19) в друге рівняння системи і (3.21) в останнє, розв’язуємо їх відносно х4 та х7. Отримаємо:

Графічний метод розв’язування задач лінійного програмування - student2.ru ;

Графічний метод розв’язування задач лінійного програмування - student2.ru .

Далі за алгоритмом беремо х1 = 0 та х2 = 0 – координатні осі; інші обмежуючі прямі знаходимо, узявши х3 = 0, х4 = 0, х5=0, х6 = 0, х7 = 0. Багатокутник допустимих розв’язків зображено на рис. 3.10.

Графічний метод розв’язування задач лінійного програмування - student2.ru

Рисунок 3.10

Знайдемо вигляд функціонала, вираженого через х1 та х2. Для цього знайдені щойно вирази для х3, х4, х5, х6 та х7 через вільні змінні х1 і х2 підставимо у функціонал і, звівши подібні члени, отримаємо: Графічний метод розв’язування задач лінійного програмування - student2.ru . Відкидаючи вільний член, маємо: Графічний метод розв’язування задач лінійного програмування - student2.ru . Будуємо вектор Графічний метод розв’язування задач лінійного програмування - student2.ru (–5, –2), перпендикулярно до нього — пряму F'. Рухаючи пряму F' в напрямку, протилежному Графічний метод розв’язування задач лінійного програмування - student2.ru (необхідно знайти мінімальне значення функції F), отримаємо точку мінімуму – А (рис.3.11).

Графічний метод розв’язування задач лінійного програмування - student2.ru

Рисунок 3.11

У точці А перетинаються дві обмежуючі прямі: х6=0 та х7=0. Отже, для відшукання її координат необхідно розв’язати систему рівнянь:

Графічний метод розв’язування задач лінійного програмування - student2.ru

Розв’язком системи є Графічний метод розв’язування задач лінійного програмування - student2.ru = 8,5; Графічний метод розв’язування задач лінійного програмування - student2.ru = 5. Підставивши ці значення у відповідні вирази, знайдемо оптимальні значення базисних змінних:

Графічний метод розв’язування задач лінійного програмування - student2.ru = 0,5; Графічний метод розв’язування задач лінійного програмування - student2.ru = 16,5; Графічний метод розв’язування задач лінійного програмування - student2.ru = 17,5; Графічний метод розв’язування задач лінійного програмування - student2.ru = 0; Графічний метод розв’язування задач лінійного програмування - student2.ru = 0.

Підстановкою значень Графічний метод розв’язування задач лінійного програмування - student2.ru та Графічний метод розв’язування задач лінійного програмування - student2.ru в лінійну функцію F отримуємо значення цільової функції:

Графічний метод розв’язування задач лінійного програмування - student2.ru .

Наши рекомендации