Градієнтні методи

В багатьох алгоритмах багатовимірної оптимізації так чи інакше використовується інформація про градієнти. Проілюструємо це положення наступним простим прикладом. Представимо собі, що альпіністу зав’язали очі і сказали, що він повинен добратися до вершини “унімодальної” гори. Навіть якщо він не буде нічого бачити, він може це зробити, якщо весь час буде рухатися вверх. Хоча будь-яка тропа, яка веде вверх, в кінці-кінців приведе його до вершини, найкоротшою з них буде найкрутіша, якщо, правда, альпініст не наштовхнеться на вертикальний обрив, який необхідно буде обійти. (Математичним еквівалентом обриву на поверхні, яку створює цільова функція, являються ті її місця, де поставлені умовні обмеження). Уявімо, що задача оптимізації не містить обмежень. Пізніше ми включимо їх в схему пошуку. Метод оптимізації, в основі якого лежить ідея руху по самій крутій тропі, називається методом найшвидшого підйому або найшвидшого спуску. Вектор градієнта перпендикулярний лінії рівня і вказує напрямок до нової точки в просторі проектування. Відмітимо, що градієнтний метод на відміну від методу дотичної до лінії рівня можна використовувати до будь-якої унімодальної функції, а не тільки тих, у яких ця властивість явно виражена.

Щоб краще зрозуміти ідею градієнтних методів, більш конкретно зупинимося на властивостях градієнтів. Розглянемо систему незалежних одиничних векторів е1, е2, е3, …, еN, які направлені в здовж вісей координат x1, x2, x3, …, xN, які є в той же час проектними параметрами. Вектор градієнта довільної цільової функції F = (x1, x2, x3, …, xN,) має вигляд

,

де частинні похідні обчислюються в точці, яка розглядається. Цей вектор направлений вверх, в напрямку підйому; обернений йому вектор вказує напрямок спуска. Одиничний вектор градієнта часто представляють у вигляді

,

де . (14.16)

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

.

Тут - невелике зміщення в напрямку хi. Цю формулу часто називають “наближенням січної”. Отриману інформацію про напрямок градієнта можна використовувати різним чином для побудови алгоритму пошуку.

Постановка задачіоптимізації градієнтними методами: мінімізація функції F (x1, x2, x3, …, xN) з N проектними параметрами за допомогою ЕОМ розв’язується ітераційними методами. Розв’язок задачі починається з вибору початкових значень (i = 1, 2, …, N), які за звичай визначаються із умов розв’язуємої задачі, і потім будують послідовні наближення, використовуючи ітераційну формулу, яку отримуємо з формули (14.12):

, (i = 1, 2, …, N; j = 0, 1, 2, …), (14.17)

де - величина кроку ітерації по кожному з параметрів ;

- параметр вибору “напрямку”, який звичайно визначається за формулою (14.12).

Дана формула забезпечує збіжність досліджуваної функції до деякого рішення при . Величина кроку на кожній j-ій ітерації визначається одним з методів оптимізації однопараметричної оптимізації, наприклад методом ділення відрізка навпіл або методом “золотого перетину” або Фібоначчі.