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

Контрольная работа - Математика и статистика

Другие контрольные работы по предмету Математика и статистика

Міністерство освіти і науки України

НТУУ КПІ

Кафедра АПЕПС

 

 

 

 

 

 

 

 

 

Лабораторна робота

по темі "Градієнтні методи"

 

 

 

 

Виконала

ст. 3-го курсу

ТЕФ, гр. ТМ-81

Кошева А.С.

 

 

 

 

 

 

Київ 2010

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

 

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

 

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

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

 

 

де x={x (1), x (2), …, x (n) } - точка в n-мірному просторі X=IRn, тобто цільова функція f (x) =f (x (1),…,f (x (n)) - функція n аргументів.

Так само як і в першій лабораторній роботі ми розглядаємо задачу мінімізації. Чисельні методи відшукання мінімуму, як правило, складаються в побудові послідовності точок {xk}, що задовольняють умові f (x0) >f (x1) >…>f (xn) >…. Методи побудови таких послідовностей називаються методами спуску. У цих методах точки послідовності {xk} обчислюються за формулою:

 

хk+1 = xk + kpk, k=0,1,2,…,

 

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

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

 

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

 

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

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

 

xk+1 = xk - k f (xk), k>0, k=0, 1, 2, …

 

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

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

 

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

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

 

 

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

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

Варто мати на увазі, що одномірну мінімізацію можна робити будь-яким методом одномірної оптимізації, що породжує різні варіанти методу найшвидшого спуска.

Схема алгоритму

Крок 1.

Задаються х0, 3. Обчислюється градієнт , напрямок пошуку.

Привласнюється до=0.

Крок 2.

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

 

хк+1 = хк - до,

 

де до - мінімум задачі одномірної мінімізації:

Крок 3.

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

Крок 4.

Якщо ||||3, то пошук точки мінімуму закінчується й покладається:

 

 

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

 

1.5 Методи ярів

 

1.5.1 Загальна характеристика

Градієнтні методи повільно сходяться в тих випадках, коли поверхні рівня цільової функції f (x) сильно витягнуті. Цей факт відомий у літературі як "ефект ярів". Суть ефекту в тім, що невеликі зміни один змінних приводять до різкої зміни значень функції - ця група змінних характеризує "схил яру", а по іншим змінним, що задає напрямок "дно яру", функція міняється незначно. На малюнку зображені лінії рівня "яружної" функції траєкторія градієнтного методу характеризується досить швидким спуском на "дно яру", і потім повільним зиґзаґоподібним рухом у точку мінімуму.

 

 

Існують різні підходи для визначення