
- •Тема: Методи безумовної багатомірної оптимізації першого порядку. Градієнтні методи
- •1. Короткі теоретичні відомості.
- •1.1. Загальні відомості про чисельні методи багатомірної оптимізації
- •1.2. Градієнтні методи
- •1.2.1. Загальна схема методів градієнтного спуску
- •1.2.2. Градієнтний метод з постійним кроком
- •1.2.3. Градієнтний метод із дробленням кроку
- •1.2.4. Метод найшвидшого спуску
- •1.3. Метод покоординатного спуску
- •1.4. Метод Гауса-Зейделя
- •1.5. Методи ярів
- •1.5.1. Загальна характеристика
- •1.5.2. Евристичні алгоритми
- •1.5.3. Яружні методи (Метод Гельфанда)
- •2. Завдання на лабораторну роботу
- •3. Варіанти завдання
- •3.2. Варіанти завдань
1.4. Метод Гауса-Зейделя
Ідея методу Гауса-Зейделя
Якщо в методі найшвидшого спуску крок к вибирається з умови мінімуму функції:
то ми одержуємо так званий метод оптимізації Гауса-Зейделя.
Алгоритм методу Гауса-Зейделя
Крок 1.
При к=0 уводяться вихідні дані
х0,
.
Крок 2.
Здійснюється циклічний по j (j=1, 2, …, n) покоорднатний спуск із точки хkn по формулах:
де kn+j-1 є розв’язком задачі одномірної мінімізації функції:
Крок 3.
Якщо
,
то пошук мінімуму закінчується, причому:
Інакше k=k+1 і переходимо до кроку 2.
Рис. 6.
Схема алгоритму методу Гауса-Зейделя
1.5. Методи ярів
1.5.1. Загальна характеристика
Градієнтні методи повільно сходяться в тих випадках, коли поверхні рівня цільової функції f(x) сильно витягнуті. Цей факт відомий у літературі як «ефект ярів». Суть ефекту полягає в тому, що невеликі зміни одних змінних приводять до різкої зміни значень функції — ця група змінних характеризує «схил яру», а по іншим змінним, що задають напрямок «дно яру», функція змінюється незначно. На малюнку зображені лінії рівня «яружної» функції траєкторія градієнтного методу характеризується досить швидким спуском на «дно яру», і потім повільним зиґзаґоподібним рухом у точку мінімуму.
Рис. 7.
Лінії рівня яружної функції
Існують різні підходи для визначення точки мінімуму функції f(x) у яружній ситуації. Більшість із них засновані на евристичні (тобто інтуїтивних, не обґрунтованих строго) міркуваннях. Їх можна застосовувати в ситуаціях, коли застосування більше зроблених методів неможливо або недоцільно, наприклад, значення цільової функції обчислюється зі значними похибками, інформація про її властивості недостатня, і т.д. Ці методи прості в реалізації й досить часто застосовуються на практиці, дозволяючи в ряді випадків одержати задовільний розв’язок задачі.
1.5.2. Евристичні алгоритми
Ідея евристичних алгоритмів
Іноді, використовуючи градієнтний спуск для мінімізації функцій зі складною топографічною структурою, застосовують евристичні схеми, які ідейно близькі до методів спуску. Ми розглянемо дві такі схеми.
Перша
евристична схема містить два основних
етапи. Обидва етапи являють собою аналоги
градієнтного спуску з постійним кроком.
Тільки замість градієнта
використовується вектор g(x),
формований з координат
,
але на кожному з етапів за різними
правилами.
На першому
етапі задається мале число 1<<1
і використовується градієнтний спуск,
де замість градієнта
береться вектор
,
який визначається в такий спосіб:
Таким чином, спуск виробляється лише по тими змінним, у напрямку яких похідна цільової функції досить велика. Це дозволяє швидко спуститися на «дно яру». Ми спускаємося доти, поки метод не зациклиться, тобто доти, поки кожна наступна ітерація дозволяє знайти точку, у якій значення функції менше, ніж значення, знайдене в попередній ітерації. Після цього переходимо до наступного етапу.
На другому етапі задається деяке велике число 2>>1 і використовується процедура спуску, де замість градієнта береться вектор , який визначається в такий спосіб:
У цьому випадку переміщення відбувається по «березі» яру уздовж його «дна». Як і на першому етапі, спуск триває доти, поки метод не зациклиться.
Після виконання першого й другого етапів приймається рішення про завершення роботи або продовження. Для цього рівняється норма різниці попередньої точки, тобто точки, що ми мали до застосування першого й другого етапів, з поточною точкою, тобто отриманої після застосування з точністю рішення задачі 1. Якщо ця норма менше 1 і норма градієнта в поточній точці менше 3, то пошук закінчується й остання обчислена точка приймається за наближений розв’язок задачі. Інакше для поточної точки знову повторюємо перший і другий етапи й т.д.
Словесний опис евристичного алгоритму
Крок 1.
Задаються
х0,
1, 3,
1, 2,
1 — постійний крок пункту 1,
2 — постійний крок пункту 2 (1<2).
Привласнюється к=0.
Крок 2. (Перший етап).
Із точки хк здійснюється спуск на «дно яру» з постійним кроком 1. При спуску обчислення чергової точки здійснюється з використанням формул:
,
де
,
Нехай цей процес зупиниться в точці xl.
Крок 3. (Другий етап).
Із точки xl здійснюється спуск уздовж «дна яру» з постійним кроком 2. При спуску використовуються формули: xj+1=xj–2g(xj), де
,
Нехай цей процес зупинився в точці xm.
Крок 4.
Якщо
і
,
то приймаємо:
і пошук мінімуму закінчується.
Інакше k=m і переходимо до кроку 2.
Рис. 8.
Схема евристичного алгоритму