Розділи

загрузка...
2.9. Модифікації симплексного методу; Математичне програмування - Наконечний С.І.

2.9. Модифікації симплексного методу

Симплексний метод є ефективною, досить простою процедурою, проте не позбавленою деяких недоліків. Цей факт пояснює численні спроби модифікування симплексного методу, які можна зустріти в літературі, наприклад [31].

Хоча теоретична основа симплексного методу гарантує збіжність до оптимального розв’язку за скінченну кількість кроків, але труднощі обчислювального характеру, що виникають внаслідок помилок округлення в процесі машинних розрахунків, у цьому методі не враховані. Такі проблеми зустрічаються передусім тоді, коли штучні змінні є частиною початкового базисного розв’язку. Використання як ± М у цільовій функції дуже великих чисел може призвести до помилки округлення, що зумовлена операціями над групою чисел, яка містить як дуже великі, так і відносно малі числа. Розглянемо задачу (2.60)—(2.61).

Зазначена загроза зменшується розбиттям процесу розв’язування задачі на два етапи. На першому етапі розв’язується задача виду:

за обмежень:

де – штучні змінні.

Очевидно значення цільової функції для оптимального плану буде . Отже, при початкова задача має допустимий базисний розв’язок, причому такий, що не містить штучних змінних. На другому етапі розв’язування задачі як початковий опорний план береться Х0, і процес продовжується за звичайним алгоритмом симплексного методу. Завдяки поділу розв’язування задачі на два етапи на кожному з них у процесі обчислень використовуються майже однакові за значеннями числа. Перший етап характеризується використанням лише великих чисел як коефіцієнтів цільової функції, проте на другому етапі задача не містить штучних змінних, отже, значення, що відповідають ±М,не розглядаються.

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

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

З метою зменшення впливу помилок округлення був розроблений модифікований симплексний метод. Основні етапи його алгоритму по суті такі ж, як і для симплексного методу. Головна відмінність полягає в тому, що для отримання послідовності симплексних таблиць у модифікованому симплексному методі не застосовується метод виключення змінних Жордана—Гаусса. Допустимо, що розглядається задача лінійного програмування, де базис утворюють останні n + m векторів, які позначимо через Х2, а відповідні їм коефіцієнти цільової функції — через С2.Аналогічно перші n змінних позначимо через Х1, а відповідні коефіцієнти цільової функції — через С1. Коефіцієнти векторів Х1 у системі обмежень утворюють матрицю А. Тоді схематично першу та останню симплексні таблиці можна подати у вигляді (табл. 2.11):

Таблиця 2.11

де В–1 — матриця, обернена до одиничної, з першої симплексної таблиці. Як видно з наведеної табл. 2.11, вся симплексна таблиця сформована шляхом використання початкових даних (матриця А) та обернення поточного базису В-1. Отже, в обчислювальних процедурах модифікованого симплексного методу головна увага зосереджена на мінімізації помилок округлення при обчисленні матриці В–1.

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