Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2012_лр6_методи порядку 0.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
270.85 Кб
Скачать

1.2. Метод обертових координат (метод Розенброка)

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

Рис. 

7. Геометрична інтерпретація методу Розенброка

З початкової точки х0 здійснюють спуск у точку х1 по напрямках, паралельним координатним осям. На наступній ітерації одна з осей повинна проходити в напрямку y1=х1х0, а інша — у напрямку, перпендикулярному до в1. Спуск уздовж цих осей приводить у точку х2, що дає можливість побудувати новий вектор х2х1 і на його базі нову систему напрямків пошуку. У загальному випадку даний метод ефективний при мінімізації яружних функцій, тому що результуючий напрямок пошуку прагне розташуватися уздовж осі яру.

Алгоритм методу Розенброка

Крок 1

Позначають через напрямки координатних осей у деякій точці хk (на к-й ітерації). Виконують пробний крок h1 уздовж осі , тобто

.

Якщо при цьому , то крок h множать на величину >1;

Якщо , - то на величину (-), 0 < || < 1;

.

Приймаючи ?h1=а1.одержують

.

Крок 2

З точки виконують крок h2 уздовж осі :

.

Повторюють операцію кроку 1, тобто

.

Цю процедуру виконують для всіх інших координатних осей. На останньому кроці одержують точку

.

Крок 3

Вибирають нові осі координат . В якості першої вісі приймається вектор

.

Інші вісі будують ортогональними до першої вісі за допомогою процедури ортогоналізації Грама-Шмідта. Повторюють обчислення з кроку 1 до виконання умов збіжності.

Коефіцієнти підбираються емпірично. Гарні результати дають значення = –0,5 при невдалих пробах і =3 при вдалих пробах .

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

1.3. Метод паралельних дотичних (метод Пауэлла)

Цей метод використовує властивість квадратичної функції, що полягає в тім, що будь-яка пряма, що проходить через точку мінімуму функції х*, перетинає під рівними кутами дотичні до поверхонь рівного рівня функції в точках перетинання (рис. 8).

Цей метод використовує властивість квадратичної функції, що полягає в тім, що будь-яка пряма, що проходить через точку мінімуму функції х*, перетинає під рівними кутами дотичні до поверхонь рівного рівня функції в точках перетинання (рис. 8).

Рис. 

8. Геометрична інтерпретація методу Пауэлла

Суть методу така. Вибирається деяка початкова точка х0 і виконується одномірний пошук уздовж довільного напрямку, що приводить у точку х1. Потім вибирається точка х2, що не лежить на прямій х0х1, і здійснюється одномірний пошук уздовж прямій, паралельної х0х1. Отримана в результаті точка х3 разом з точкою х1 визначає напрямок x1х3 одномірні пошуки, що дає точку мінімуму х*. У випадку квадратичної функції n змінних оптимальне значення знаходиться за п ітерацій. Пошук мінімуму при цьому в остаточному підсумку здійснюється у взаємно сполучених напрямках. У випадку неквадратичної цільової функції напрямки пошуку виявляються сполученими щодо матриці Гессе.

Алгоритм методу паралельних дотичних

Крок 1

Задається початкова точка x0. За початкові напрямки пошуку р1, …, р0 приймають напрямки осей координат, тобто рi=еi, i=1, ..., n (тут ei=(0, ..., 0, 1, 0, …, 0)T).

Крок 2

Виконують n одномірних пошуків уздовж ортогональних напрямків рi, i=1, ..., п. При цьому кожний наступний пошук виконується з точки мінімуму, отриманої на попередньому кроці. Величина кроку аk знаходиться з умови

.

Отриманий крок визначає точку

.

Крок 3

Вибирають новий напрямок p=–xnх0 і змінюють напрямки р1, …, рn на р2, …, рn, р. Останнім привласнюють позначення р[1],..., р[n].

Крок 4

Здійснюють одномірний пошук уздовж напрямку р=рn=хnх0. Заміняють х0 на хn+1=хnnрп і приймають цю точку за початкову точку х0 для наступної ітерації. Переходять до кроку 1.

Таким чином, у результаті виконання розглянутої процедури здійснюється почергова заміна прийнятих спочатку напрямків пошуку. У підсумку після n кроків вони виявляться взаємно сполученими.