5.3.              Методи нелінійного програмування

 

Методи нелінійного програмування розподіляють на такі класи: градієнтні, безградієнтні, випадкового пошуку.

Градієнтні методи використовують, як правило, коли пошук ведеться на моделі, а інші – під час пошуку на об’єкті.

В основі градієнтних методів лежить аналіз і обчислення похідної цільової функції I(u). Найбільше поширення серед градієнтних методів отримали три методи: релаксації, градієнта і найшвидшого спуску. У методі релаксації пошук ведуть за осьовими напрямками, на яких змінюється тільки одна складова вектора управлінь, тому цей метод вимагає найменших обчислювальних витрат порівняно з іншими градієнтними методами і найбільшого часу пошуку. У методі градієнта напрям пошуку визначає градієнт, тому час пошуку тут найменший, а обчислювальні витрати найбільші. У методі найшвидшого спуску на початку напрям руху визначає градієнт, але далі напрям руху не змінюється до знаходження екстремуму за цим напрямком. Тому за обчислювальними витратами і часом пошуку цей метод займає середню позицію.

Спільні недоліки градієнтних методів:

1. вони виявляють тільки локальний екстремум;

2. можливе «застрявання» процедури пошуку у будь-якій точці обмеження типу нерівностей цільової функції чи в будь-якій точці «яру» цільової функції, особливо коли напрямок «ярів» не співпадає з осьовими лініями;

3. процедура пошуку не ефективна у випадку, коли пошук ведеться безпосередньо на об’єкті.

У безградієнтних методах пошуку використовують інформацію, отриману не під час аналізу похідних, а від порівняння значення критерію оптимізації (КО), визначеного на двох послідовних кроках. Найчастіше використовують такі методи багатовимірного (з кількома вхідними змінними) безградієнтного пошуку: покоординатного спуску (Гаусса-Зейделя), сканування (перебору) чи симплексний.

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

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

Симплексний метод полягає у визначенні КО біля вершин випуклого багатогранника – симплекса, під яким у n-мірному просторі розуміють багатогранник, що має n+1 вершин. У 2-мірному просторі – це трикутник, у 3-мірному – піраміда. У процесі руху виключають вершини симплексів із найбільшими значеннями цільової функції (під час пошуку мінімуму) і на протилежній грані будують новий симплекс, що відрізняється від попереднього розташуванням тільки однієї вершини. Цей метод є безградієнтним аналогом методу градієнта. Його недоліки співпадають з недоліками методу градієнта за винятком того, що в цьому випадку, по-перше, не треба розраховувати часткові похідні і градієнт, а, по-друге, його реалізація не потребує істотного збільшення обчислювальних витрат із збільшенням розмірності задачі [1, С. 28-30].