Безградiєнтні методи рішення задач оптимiзації 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Безградiєнтні методи рішення задач оптимiзації



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

Безградiєнтні методи засновані на використанні у процесі пошуку інформації, що одержується від порівняльної оцінки значень цільової функції внаслідок виконання чергового кроку.

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

Методи многомірного пошуку - покоордiнатного спуска, многомірного сканiрованiя, Хука-Джiвса, сiмплексний можуть використовувати методи одномірного пошуку як допоміжні.

Спершу розглянемо методи одномірного пошуку. Для всіх методів постановка завдання наступна - визначити стан екстремуму на iнтервалі [Umin, Umax ].

 

Метод сканiрованiя

 

Алгоритм методу слідуючи й. Iнтервал пошуку [Umin, Umax] розбивається на N рівних дільниць, кожний з яких равен кроку пошуку h. Далі послідовно визначається R(Uj) значення цільової функції у всіх точках розбивки, включаючи граничні точки та запам’ятається максимальне чи мінімальне значення цільової функції (рис.5.23).

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

Рис. 5. 23

 

Метод локалiзації екстремума

Iнтервал пошуку [Umin, Umax] розбивається на 4 рівні частини та у точках розбивки та на кордонах інтервалу вираховуються значення цільової функції - у точках 0, 1, 2, 3 та 4 (рис. 5.24). Неважко помітити, що розбивка інтервалу на 4 - найбільш зручний варіант, так як на кожному наступному кроці необхідно обчислювати тільки 2 нових значення цільової функції. У наданому випадкуу точках 5 та 6.

 

Рис 5.24

 

Локалiзація екстремуму продовжується до отих пор, доки не буде досягнута задана точність. Абсолютна помилка у знаходженні стану екстремуму визначається по формулі:

 

Δ=(Umax-Umin)*2-(S-1)/2 (5.51)

 

де S - кількість обчислювань значень цільової функції завжди непарне число.

Так, наприклад, при S=21 відносна помилка у знаходженні стану екстремуму складе:

 

Δ=(Umax-Umin)*2-10 ≈ 0.001

 

5.7.3. Метод "золотого перетину"

 

Результати пошуку можуть бути краще, якщо ділення iнтервала [Umin, Umax], у якому знаходиться екстремум, виробляти не на ціле число, а у певному ірраціональному відношенні.

(a / b) = (b / c) або a*c = b 2 (5.52)

 

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

Оскільки c = a – b, отой підставив вираз для с в (5.52) та запровадивши нову перемінну k = b / a, після перетворень одержимо:

 

K2 + K – 1 = 0 (5.53)

 

Вирішив (5.53), одержимо близьке значення K ~ 0. 62.

Порядок пошуку екстремуму методом "золотого перетину" наступний. На досліджуваним iнтервалі визначаються дві точки Umin та Umах:

 

U1=Umin+(1-K).a

U2=Umin+K.a (5.54)

 

де а - довжина інтервалу Umin – Umax.

 

У точках U1 і U2 розраховується цільова функція. За знайденим значенням R(U1і U2) з обліком R(Umin і Umax) визначається подінтервал, у якому локалізований екстремум. У даному випадку це [Umin,U2 ] (рис. 5.25).

Далі усередині великого подінтервалу [Umin,U1 ] знаходиться крапка, що відстоїть від загального кінця подінтервалу на відстані

(1–К)Wb= K2.b,

де b - довжина подінтервалу [Umin,U2 ], у якому локалізований екстремум, причому b = K.a. Тоді:

 

U3=Umin+K2.b =Umin+K2.(K.a)=Umin+K3.a (5.55)

 

Неважко показати, що в інтервалі [Umin,U2 ] також дотримується "золотий перетин". Далі обчислюється значення цільової функції R(U3) і порівнюються значення R(U2), R(U1), R(U3). Знаходиться мінімальне значення (у даному випадку R(U3)) і процедура продовжується - визначається аналогічно крапка R(U4) і т.д., поки не буде знайдений екстремум із заданою точністю. Абсолютна помилка у визначенні положення екстремуму після S обчислень складе

(5.56)

При S=21 відносна помилка: Δ/(Umax -Umin)= 0,5*0.6218 ≈ 0.9*10-4 Отже, точність розрахунку по методу "золотого перетину" практично на порядок перевершує точність розрахунку по методу локалізації екстремуму при тому самому кількості обчислень.

Розглянемо тепер деякі з методів багатомірного пошуку.

 



Поделиться:


Последнее изменение этой страницы: 2016-07-11; просмотров: 213; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.142.98.108 (0.027 с.)