Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
конспект-градієнтні_методи_оптимізації.docx
Скачиваний:
25
Добавлен:
25.04.2019
Размер:
101.14 Кб
Скачать

2.2 Градієнтний метод із дробленням кроку

В цьому варіанті градієнтного методу величина кроку на кожній ітерації вибирається із умови виконання нерівності:

f(xn+1) = f(xn  nf (xn))  f(xn)  n||f (xn)||2, (3)

де   (0, 1) – деяка вибрана константа. Процедуру знаходження n зазвичай здійснюють наступним чином: обирається число   (0, 1) і деякий початковий крок 0. Тепер для кожного n покладають n = 0 і здійснюють крок градієнтного методу. Якщо з таким n умова (3) виконується, то множать n на  («дроблять крок») і повторюють цю процедуру до тих пір, поки нерівність (3) не буде виконуватися. В умовах теореми про умовну збіжність градієнтного методу з постійним кроком, ця процедура для кожного n за скінченну кількість кроків приведе до потрібного n.

2.3 Метод найшвидшого спуску

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

.

Алгоритм 1

Початок. І. Вибрати довільну початкову точку і покласти

Основний цикл.

ІІ. Обчислити .

ІІІ. Якщо , то покласти і зупинити обчислення; інакше перейти на крок IV.

IV. Обчислити кроковий множник із умови

.

V. Обчислити наступне наближення

.

VI. Покласти і перейти на крок ІІ.

Алгоритм 1 на практиці використовують рідко. Це пов’язано із неможливістю реалізувати крок IV в більшості практичних випадків. Тому на практиці частіше використовують модифіковані методи найшвидшого спуску.

2.4 Модифікований метод найшвидшого спуску

Алгоритм 2

Кроки І–ІІІ такі, як в алгоритмі 1.

ІV. Визначити число , яке задовольняє рівності

.

V. Обчислити параметр , , який задовольняє нерівностям , де довільна константа з напівінтервалу .

VI. Обчислити кроковий множник із умови

. (3.1)

VII. Обчислити наступне наближення

.

VIIІ. Покласти і перейти на крок ІІ.

Покажемо графічну інтерпретацію методу найшвидшого спуску:

3. Приклади розв’язку задач методами градієнтного спуску

Приклад 1. Знайти методом найшвидшого спуску мінімум функції. Беручи в значенні початкової точки точку , визначити координати наступної точки:

.

Розв’язання.

За початкову точку беремо точку . Обчислюємо градієнт в цій точці за формулами:

Отже:

Оскільки , то є точкою мінімуму.

Приклад 2. Визначити градієнтним методом максимум функції , почавши ітераційний процес з точки Х=(4, 5).

Розв’язання.

Ітерація 1.

Обчислюємо градієнт функції в заданій початкові точці:

Тоді:

Обчислюємо градієнт в даній точці:

Використовуючи необхідну умову екстремуму, знаходимо похідну:

Звідси:

Так як , то знайдене значення є точкою максимуму. За допомогою отримуємо нову точку:

Ітерація 2. Початкова точка , значення градієнта функції в цій точці:

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

Приклад 3. Визначити методом найшвидшого спуску мінімум функції , почавши ітераційний процес з точки Х=(0, 0).

Розв’язання.

Ітерація 1.

Обчислюємо градієнт функції в заданій початкові точці:

Тоді:

Обчислюємо градієнт в даній точці:

Використовуючи необхідну умову екстремуму, знаходимо похідну:

Звідси:

Так як , то знайдене значення є точкою мінімуму. За допомогою отримуємо нову точку:

Ітерація 2. Початкова точка , значення градієнта функції в цій точці:

Тоді:

Обчислюємо градієнт в даній точці:

Використовуючи необхідну умову екстремуму, знаходимо похідну:

Звідси:

Так як , то знайдене значення є точкою мінімуму. За допомогою отримуємо нову точку:

Ітерація 3. Початкова точка , значення градієнта функції в цій точці:

Тоді:

Обчислюємо градієнт в даній точці:

Використовуючи необхідну умову екстремуму, знаходимо похідну:

Звідси:

Так як , то знайдене значення є точкою мінімуму. За допомогою отримуємо нову точку:

Ітерація 4. Початкова точка , значення градієнта функції в цій точці:

Тоді:

Обчислюємо градієнт в даній точці:

Використовуючи необхідну умову екстремуму, знаходимо похідну:

Звідси:

Так як , то знайдене значення є точкою мінімуму. За допомогою отримуємо нову точку:

і так далі до закінчення ітераційного процесу.

Можна помітити, що послідовність сходиться за геометричною прогресією, знаменник якої

Відзначимо також, що , тому точка мінімуму відома зразу.