Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Моделювання процесу в шару каталiзатора. 4 страница




6. Аналогічно п.3 будується новий симплекс S11, S20, S31, тобто

виключається вершина S30, що мала найбільше значення цільової функції і т.д.

У результаті застосування розглянутої процедури виключення вершин симплексів з найбільшим значенням цільової функції процес пошуку сходиться до мінімального значення R(U1,U2). При виникненні зациклення в околицях крапки екстремуму необхідно зменшувати розміри симплекса.

Критерієм закінчення пошуку можуть служити розміри симплекса. Наприклад, якщо всі ребра симплекса стануть менше δ, те пошук можна припиняти.

Розглянемо алгоритм симплексного методу для задач довільної розмірності.

Нехай вершинам вихідного симплекса Si (i=1,2,...,n+1) відповідають координати

U(i) =(U(i)1,U(i)2 ,..., U(i)n), (i=1,2,...,n+1). І нехай найбільше значення цільової функції відповідає вершині Sj. Визначимо координати вершини Ŝj нового симплекса.

Вершина Ŝj розташовується симетрично вершині Sj щодо середини грані, що знаходиться проти вершини Sj. Координати центра цієї грані U(i) визначаються по формулі: (5.62) причому підсумовування ведеться тільки по тим векторам U(i), що відповідають вершинам Si, що утворюють цю грань. Вектор, що характеризує відстань від вершини Sj до центра грані, яка розташована проти цієї вершини, буде:

(5.63)

Координати вершини Sj визначаються по формулі

(5.64)

Підставивши в (5.64) вираження для U з (5.62), одержимо:

(5.65)

Формула (5.65) визначає координати вершини Sj нового симплекса.

При необхідності зменшити розміри симплекса (у випадку зациклення в околиці крапки оптимуму) замість формули (5.63) можна користатися наступним вираженням:

(5.66)

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

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


 

5.7.8. Метод Нелдера-Мида

 

Метод Нелдера-Мида є розвитком симплексного методу Спендли, Хекста і Химсворта. Ідея методу складається в порівнянні значень функції в n+1 вершинах симплекса і переміщенні симплекса в напрямку оптимальної крапки за допомогою ітераційної процедури.

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

А. Знайдемо значення функції у вершинах симплекса.

f1 = f(x1); f2=f(x2);.....fn+1=f(xn+1)

Б. Серед обчислених значень знайдемо найбільше значення функції fmax, що випливає за найбільшим значенням функції fcp, найменше значення функції fmin і відповідні їм крапки Xmax, Xcp, і Xmin.

В. Знайдемо центр ваги всіх крапок, за винятком крапки Xmax (тобто середину грані, яка розташована проти крапки Xmax).

Обчислимо f(XO)=f.

Г. Зручніше за все почати переміщення від крапки Хmax. Відбивши крапку Хmax щодо крапки Хо, одержимо крапку Хr і знайдемо f(Хr) = f. Якщо α - коефіцієнт відображення, то положення крапки Xr визначається в такий спосіб:

Хr - Хо = α.(Хо - Хmax)

чи

Хr = (1 + α) Хо - α.Хmax,

де α = │ Хr - Хо│∕│ Хо - Хmax

Д. Порівняємо значення функцій f і fmin.

1. Якщо f < fmin, то в знайденій крапці одержали найменше значення функції. Напрямок із крапки Хо в крапку Хr найбільше доцільно для переміщення. Тому, ми робимо розтягання в цьому напрямку і знаходимо крапку Хe і значення функції f = f(Xe). Коефіцієнт розтягання γ > 1 можна знайти з наступних співвідношень:

Xe - Xo = γ (Xr - Xo),

тобто

Xe = γ. Xr + (1 - γ) Xo,

де γ = │Xe - Xo│ / │Xr - Xo│.

а) Якщо f < fmin, те заміняємо крапку Xmax на крапку XE і перевіряємо (n + 1)- ую крапку симплекса на збіжність до мінімуму (див. крок 3). Якщо збіжність досягнута, то процес зупиняється; у противному випадку повертаємося на крок Б.

б) Якщо f > fmin, те відкидаємо крапку XE. Очевидно, ми перемістилися занадто далеко від крапки Xo до крапки Xr. Тому варто замінити крапку Xmax на крапку Xr, у якій було отримане поліпшення (крок Д, 1), перевірити збіжність і, якщо вона не досягнута, повернутися на крок В.

2. Якщо f > fmin, але f ≤ fcp, те Xr є кращою крапкою в порівнянні з іншими двома крапками симплекса і ми заміняємо крапку Xmax на крапку Xr і, якщо збіжність не досягнута, повертаємося на крок Б.

3. Якщо f > fmin, і f > fcp, то перейдемо на крок Е.

Е. Порівняємо значення функцій f і fmax.

1. Якщо f > fmax, то переходимо безпосередньо до кроку стиску Е,2.

Якщо f < fmax, то заміняємо крапку Xmax на крапку Xr і значення функції fmax на значення функції f. Запам'ятовуємо значення

f > fcp із кроку Д.2, приведеного вище. Потім переходимо на крок Е, 2.

2. Так як у цьому випадку f > fmax, тому ясно, що ми перемістилися занадто далеко від крапки Xmax до крапки Xo. Спробуємо виправити це, знайшовши крапку Xc ( а потім f) c допомогою кроку стиску.

Якщо f > fmax, то відразу переходимо до кроку стиску і знаходимо крапку Xc зі співвідношення

Xc - Xo = β (Xmax - Xo),

де (0 < β < 1) - коефіцієнт стиску.

Тоді

Xc = β. Xmax + (1 - β) Xo.

Якщо f < fmax, то спочатку замінимо крапку Xmax на крапку Xr, потім

зробимо стиск. Тоді крапку Xc знайдемо зі співвідношення

Xc - Xo = β (Xr - Xo),

тобто

Xc = β Xr + (1 - β) Xo (Рис. 4).

Ж. Порівняємо значення функцій f і fmax.

1.Якщо f < fmax, то заміняємо крапку Xmax на Xc, і якщо збіжність не досягнута, то повертаємося на крок Б.

2.Якщо f > fmax, то очевидно, що всі наші спроби знайти значення менше fmax закінчилися невдачею, тому ми переходимо на крок З.

З. На цьому кроці ми зменшуємо розмірність симплекса розподілом навпіл відстані від кожної крапки симплекса до Xmin - крапки визначальної найменше значення функції.

Таким чином, крапка Xi заміняється на крапку Xi + 1/2(Xi-Xmin),

тобто заміняємо крапку Xi крапкою 1/2(Xi-Xmin).

Потім обчислюємо fi для i = 1,2,..., (n + 1), перевіряємо збіжність і, якщо вона не досягнута, повертаємося на крок В.

И. Перевірка збіжності заснована на тім, щоб стандартне відхилення (n + 1) -го значення функції було менше деякого заданого малого значення ε. У цьому випадку обчислюється

де .

Якщо σ < ε, те всі значення функції дуже близький друг до друга

і тому вони, можливо, лежать поблизу крапки мінімуму функції Xmin. Тому такий критерій збіжності є розумним.

Коефіцієнти α, β і γ є відповідно коефіцієнтами відображення, стиски і розтягання. Автори рекомендують брати α=1; β = 0.5; γ = 2. Початковий симплекс вибирається довільно.

 




Поделиться с друзьями:


Дата добавления: 2014-11-29; Просмотров: 349; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.019 сек.