Тема 2. Лінійні оптимізаційні задачі

 

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

                                 (2.1)

де  ‑ задані постійні величини, ; .

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

У реальних оптимізаційних задачах шукається або мінімум або максимум цільової функції. Методи лінійного програмування працюють зовсім однаково, як при пошуку мінімуму цільової функції, так і при пошуку її максимуму. Припустимо, що в лінійній математичній моделі (2.1) шукається мінімум цільової функції:

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

Таким чином,

 

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

 

Цей метод є досить простим, наочним і дозволяє зробити деякі загальні висновки щодо розв’язку оптимізаційних задач методами лінійного програмування. Однак, застосування графічного методу обмежено задачами невеликої розмірності. Розглянемо математичну модель лінійної оптимізаційної задачі, в якій потрібно знайти мінімум цільової функції:

,

при обмеженнях:

і граничних умовах незаперечності змінних:

.

Після введення додаткових змінних х3, х4, х5 перейдемо від обмежень-нерівностей до рівностей:

                                       (2.2)

Відзначимо, що граничні умови незаперечності змінних поширюються й на додаткові змінні:

Відкладемо на горизонтальній осі значення змінної х1, а на вертикальній осі – значення змінної х2 (рис. 2.1). З огляду на граничні умови , штрихуванням виділимо напівплощини допустимих значень змінних х1 і х2 (вправо від осі х2 і нагору від осі х1).

Розглянемо одне з обмежень-рівностей, наприклад, перше

і перепишемо його у вигляді:

.

Прирівнюємо змінну х3 до нуля:

.

Останнє співвідношення являє собою рівняння прямої лінії на площині х1х2. На цій прямій значення х3=0. Отже, по одну сторону від цієї прямої х3>0, по іншу х3<0. З огляду на граничну умову x3≥0, штрихуванням виділимо напівплощину, у якій х3>0.

Рис.2.1. Ілюстрація графічного розв’язку задачі

 

Аналогічні графічні побудови виконаємо для другого і третього обмежень системи (2.2).

В результаті виконаних графічних побудов на площині х1х2 виділиться область Ω допустимих значень змінних х1, х2, х3, х4, х5 (рис. 2.1). Ця область являє собою опуклий багатогранник abcde. Всі допустимі розв’язки задачі, в тому числі й оптимальний розв’язок, будуть належати області Ω.

Розглянемо вираз цільової функції й прирівняємо його до нуля:

.

У площині х1х2 ‑ це рівняння прямої лінії, що проходить через початок координат (рис. 2.1).

Прирівнюємо вираз цільової функції до будь-якого відмінного від нуля значення, наприклад, до одиниці:

та побудуємо в площині х1х2 відповідну пряму (рис. 2.1).

Прямі Z=const є лініями рівного рівня цільової функції, оскільки на кожній такій лінії значення цільової функції є незмінним. Лінії рівного рівня паралельні між собою. За взаємним розташуванням ліній рівного рівня Z=0 і Z=1 визначимо напрямок зростання цільової функції Z. Це напрямок зазначений на рис. 2.1 стрілкою.

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

Відповідно до графічних побудов такою точкою буде вершина е багатогранника Ω (рис. 2.1). Ця вершина й буде відповідати мінімуму цільової функції, тобто оптимальному розв’язку задачі.

Мінімальне значення цільової функції Z досягається при наступних значеннях змінних:

х2>0,  х3>0,  х4>0,  х1=0,  х5=0.

Три змінні відрізняються від нуля, дві змінні рівні нулю. Видно, що кількість не рівних нулю змінних дорівнює кількості обмежень. Інші змінні дорівнюють нулю.

Нехай у розглянутій вище лінійній задачі потрібно знайти максимум цільової функції Z. Як було відзначено вище, у цьому випадку шукається мінімум цільової функції зі зміненими знаками коефіцієнтів

.

Обмеження й граничні умови при цьому не змінюються.

На рис. 2.2 виконаний графічний розв’язок задачі. З побудови прямих  і  або  видно, що зміна знаків коефіцієнтів с1 і с2 обумовила зміну напрямку зростання цільової функції на протилежний (див. стрілку на рис. 2.2). Очевидно, що в цьому випадку мінімуму цільової функції відповідає вершина b багатогранника Ω.

Таким чином, задачі мінімізації й максимізації цільової функції вирішуються зовсім однаково. Варто тільки мати на увазі, що

Рис.2.2. Визначення максимуму цільової функції

 

На підставі виконаного графічного розв’язку задачі лінійного програмування можна зробити наступні загальні висновки щодо розв’язку лінійної оптимізаційної задачі:

‑ оптимальний розв’язок задачі завжди перебуває в одній з вершин багатогранника Ω, тому для відшукання оптимального розв’язку досить розглянути тільки кінцеву кількість розв’язків, які лежать у вершинах багатогранника Ω і не розглядати нескінченну кількість розв’язків, що лежать на гранях і всередині цього багатогранника;

‑ у кожному розв’язку, що відповідає одній з вершин багатогранника Ω, кількість додатних (не рівних нулю) змінних дорівнює кількості обмежень m, інші (n-m) змінні дорівнюють нулю;

‑ для відшукання оптимального розв’язку варто розглянути тільки ті розв’язки, які містять m змінних, не рівних нулю, і (n-m) змінних, рівних нулю.

Надалі відмінні від нуля додатні змінні будемо називати базисними, нульові змінні ‑ вільними. В кожному розглянутому розв’язку кількість базисних змінних дорівнює кількості обмежень m, а кількість вільних змінних дорівнює (n-m).

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