Метод Флетчера – Рівса

Цей метод дозволяє знайти мінімум нелінійної цільової функції багатьох змінних вигляду

при відсутності обмежень. Метод заснований на застосуванні часткових похідних цільової функції по незалежним змінним і перевизначений для дослідження унімодальних функцій. За його допомогою можна досліджувати і мультимодальні функції, однак в цьому випадку слідує брати декілька вхідних точок і перевіряти, однаково чи в усіх випадках рішення. Схема алгоритму метода Флетчера – Рівса представлена на рис.14.6.

Рисунок 14.6 - Схема алгоритму метода Флетчера - Рівса

Виконується він наступним чином. Спочатку вибирається підхожа початкова точка простору проектування й шляхом обчислення компонент вектора градієнта визначається напрямок найшвидшого спуску. Індекс =1 відповідає вхідній точці. Після цього в напрямку найшвидшого спуску ведеться одномірний пошук по формулі

Рисунок 14.7 - Схема алгоритму методу найшвидшого спуску

 

 

, і = 1, 2, ..., N,

, і = 1, 2, ..., N,

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

, і = 1, 2, ..., N, (14.19)

де

. (14.20)

Індекс вказує на послідовність обчислень в процесі ітерацій. Нові напрямки називаються «спряженими» і відповідають поточній локальній квадратичній апроксимації функції, а фактично представляють собою рух по дну яру (рис. 14.7).

Рисунок 14.7 – Зміна напрямків руху по дну яру

Після цього по новому напрямку (іншому склону яру) проводять одномірний пошук і, знайшовши мінімум, перевіряють, чи досягнутий необхідний ступінь збіжності. Якщо перевірка показує, що це так, то рахунок припиняється. В протилежному випадку визначають нові спряжені напрямки, збільшують на одиницю і продовжують процес до тих пір, доки не буде забезпечена збіжність або доки пошук не буде проведений по всім +1 напрямкам. Закінчивши цикл пошуку по +1 напрямкам, починають новий цикл, в якому знову використовується напрямок найшвидшого спуску. Особливість цього алгоритму полягає в тому, що він дозволяє використати переваги градієнтних методів, які проявляються при дослідженні цільової функції з перервними похідними. Так як +1 напрямків пошуку другої сукупності відрізняються від напрямків одиничних векторів градієнту, то пошук не «зависає на перегині», а йде вздовж лінії, яка з'єднує точки перегинів лінії рівня, яка, як правило, проходить через точку оптимуму. Взагалі можна стверджувати, що методи, основані на визначенні нових напрямків пошуку на основі накопичених даних про локальну поведінку функції, по самій своїй природі більш ефективні, ніж методи, в яких напрямок пошуку задається заздалегідь. Саме тому метод Флетчера – Рівса володіє більшими перевагами у порівнянні з методами найшвидшого спуску або підйому. Його недолік полягає в тому, що, він є складнішим ніж вказані методи, він вимагає розробки більш складних програм.