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

Лабораторна робота № 2

Тема: Методи безумовної багатомірної оптимізації першого порядку. Градієнтні методи

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

1. Короткі теоретичні відомості.

1.1. Загальні відомості про чисельні методи багатомірної оптимізації

Задача багатомірної безумовної мінімізації формулюється у вигляді:

де  — точка в n-мірному просторі X=Rn, тобто цільова функція  — функція n аргументів. Задачу відшукання максимуму функції легко перетворити в задачу відшукання її мінімуму:

.

Чисельні методи відшукання мінімуму, як правило, полягають в побудові послідовності точок {xk}, що задовольняють умові Методи побудови таких послідовностей називаються методами спуску. В цих методах точки послідовності {xk} обчислюються за формулою:

,

де pk — напрямок спуску, k — довжина кроку в цьому напрямку.

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

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

1.2.1. Загальна схема методів градієнтного спуску

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

У координатній формі цей процес записується в такий спосіб:

.

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

1.2.2. Градієнтний метод з постійним кроком

Основна проблема в градієнтними методах — це вибір кроку k. Досить малий крок k забезпечує убування функції, тобто виконання нерівності:

,

але може привести до неприйнятно великої кількості ітерацій, необхідних для досягнення точки мінімуму. З іншого боку, занадто великий крок може викликати несподіваний ріст функції (невиконання умови убування) або привести до коливань біля точки мінімуму. Однак перевірка умови убування на кожній ітерації є досить трудомісткої, тому в методі градієнтного спуска з постійним кроком задають =k постійним і досить малим, щоб можна було використовувати цей крок на будь-якій ітерації. При цьому доводиться миритися з можливо більшою кількістю ітерацій. Розрадою є лише те, що трудомісткість кожної ітерації, у цьому випадку, мінімальна (потрібно обчислювати тільки градієнт ).

Алгоритм градієнтного методу з постійним кроком

Крок 1.

Задаються:

х0 — початкове наближення,

 — постійний крок,

 — умови зупинки алгоритму.

Обчислюється значення градієнта  — напрямок пошуку. Привласнюється k=0.

Крок 2.

Визначається точка чергового експерименту:

,

або, у координатній формі:

Крок 3.

Обчислюється значення градієнта в точці хк+1: ,

або, у координатній формі:

.

Крок 4.

Якщо , то пошук закінчується, при цьому:

Інакше k=k+1 і переходимо до кроку 2.

Рис. 1.

Схема алгоритму градієнтного методу з постійним кроком