Page 151 - 5637
P. 151
= + . Якщо < , то здійснюємо перехід до п. 2. Якщо = , то вважаємо
= = , = 1, замінюємо на + 1 і переходимо до початку п. 1.
2. Обчислюємо матрицю , за такими формулами:
= ; = ( ) − ( ); (7.8)
= + − .
Замінюємо на + 1 і повертаємося до п. 1.
При реалізації алгоритму у вигляді програми зазвичай в якості початкової матриці
вибирається одинична матриця , можна також використовувати будь-яку іншу
симетричну позитивно певну квадратну ( × )-матрицю. Вельми важливим є
правильний вибір алгоритму одновимірного пошуку, здійснює мінімізацію функції
( + ). так як на цю частину алгоритму припадає більша частина загального
обсягу обчислень. Бажано, щоб точність одновимірного пошуку була вище (або
принаймні еквівалентна) точності є самого алгоритму Девідона-Флетчера-Пауелла.
Відзначимо також, що алгоритм Девідона-Флетчера-Пауелла досить чутливий до
помилок, одержуваних при обчисленні градієнта ( ). Тому треба обережно
підходити до використання замість градієнта його оцінок, одержуваних за допомогою
відносин різниць. Використання грубих оцінок градієнта приводить або до значного
зростання кількості обчислень мінімізуючої функції порівняно з випадком, коли
використовуються аналітичні вирази, або взагалі до аварійного завершення процесу
оптимізації [58, 64].
B окремому випадку, коли функція квадратична, в ході пошуку, виробляються
– зв'язані напрямки пошуку , … , тобто мають місце співвідношення = 0
при ≠ . Після однієї ітерації алгоритм зупиняється в точці мінімуму (тобто є
оптимальним рішенням задачі). Крім того, має місце співвідношення = .
Зазначимо, що алгоритм Девідона-Флетчера-Пауелла включається в більш
загальний клас квазінютоновських процедур, в яких напрямок пошуку задається у
вигляді – ( ), де – деяка позитивно певна симетрична матриця. Різні принципи
вибору матриці породжують серію алгоритмів оптимізації (див. [1, 58, 60, 64, 65]).
Програмні аспекти реалізації алгоритмів змінної метрики досить повно висвітлені в