1 Геометрична інтерпретація симплексного методу
Із основних теорем лінійного програмування відомо, що якщо задача лінійного програмування має оптимальне рішення, то воно відповідає хоча б одній кутовій точці багатогранника рішень і співпадає, принаймні, з одним із допустимих базисних рішень системи обмежень. Шляхом вирішення любої задачі лінійного програмування є: перебрати скінченне число допустимих базисних рішень системи обмежень і вибрати серед них те, на якому цільова функція приймає оптимальне рішення. Геометрично це відповідає перебору усіх кутових точок багатогранника рішень. Такий перебір зрештою приведе до оптимального рішення (якщо воно існує), проте його практичне здійснення пов’язано з великими труднощами, так як для реальних задач число допустимих базисних рішень хоч і скінченне, але може бути досить велике.
Число допустимих базисних рішень, що перебираються, можна скоротити, якщо виконувати перебір не хаотично, а з урахуванням зміни лінійної функції, тобто так, щоб кожне наступне рішення було «краще» (або хоча б «не гірше»), ніж попереднє, по значенням лінійної функції (збільшення її при відшуканні максимуму , зменшення – при відшуканні мінімуму).
Такий перебір дозволяє скоротити кількість кроків при відшуканні оптимуму. Пояснимо це на графічному прикладі.
Рисунок 1.1 – Область допустимих рішень
Нехай область допустимих рішень зображена багатокутником ABCDEGH (рис.1.1). Допустимо, що його кутова точка А відповідає вихідному базисному рішенню. При хаотичному переборі довелося б випробувати сім допустимих базисних рішень, що відповідають семи кутовим точкам многокутника. Проте з креслення видно, що після вершини А варто перейти до сусідньої вершини В, а потім – до оптимальної точки С.
Замість семи перебрали лише три вершини, послідовно покращуючи лінійну функцію.
Ідея послідовного покращення рішення лягла в основу універсального методу рішення задач лінійного програмування – симплексного методу.
Геометричний зміст симплексного методу полягає в послідовному переході від одної вершини многогранника обмежень (що називається початковою) до сусідньої, в якій лінійна функція приймає краще (або хоча б, не гірше) значення (по відношенню до цілі задачі) до тих пір, доки не буде знайдено оптимальне рушення – вершина, де досягається оптимальне значення цільової функції (якщо задача має кінцевий оптимум).
Вперше симплексний метод був запропонований американським вченим Дж. Данцигом в 1949 р., проте ще в 1939 р. ідеї методу були розроблені російським вченим Л. В. Канторовичем.
Симплексний метод, що дозволяє вирішити будь-яку задачу лінійного програмування, універсальний. В даний час він використовується для комп’ютерних розрахунків, хоча нескладні приклади з використанням симплексного методу можна вирішувати і в ручну.
Для реалізації симплексного методу – послідовного покращення рішення – необхідно опанувати три основних елементи:
Спосіб визначення якогось початкового допустимого базисного рішення задачі;
Правило переходу до кращого (точніше, не гіршого) рішення;
Критерій перевірки оптимальності знайденого рішення.
Для використання симплексного методу задача лінійного програмування має бути приведена до канонічного виду, тобто система повинна бути представлена і вигляді рівнянь. Алгоритм розглянемо на прикладах.