КАТЕГОРИИ: Архитектура-(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) |
Метод симплекса
Під симплексом розуміється n -мірний опуклий багатогранник n -мірного простору, що має n +1 вершину. Для n =2 це трикутник, а при n =3 це тетраедр. Ідея методу полягає в порівнянні значень функції в n +1 вершинах симплекса й переміщенні симплекса в напрямку кращої точки. У розглянутому методі симплекс переміщається за допомогою операцій відбиття. Далі прийнятo наступне: х 0(k), х 1(k), …, хn (k) — вершини симплекса, де к — номер ітерації.
Рис. 1. Побудова нового симплекса
Схема алгоритму методу симплекса Крок 1. Побудова початкового симплекса. Для цього задаються початкова точка х0(0) і довжина ребра симплекса l. Формуються інші вершини симплекса: xi(0) = x0(0) + l*ei (i=1,2,…,n),де ei – одиничні вектори.
Рис. 2. Побудова початкового симплекса
Крок 2. Визначення напрямку поліпшення розв'язання. Для цього на к -й ітерації обчислюються значення цільової функції в кожній точці симплекса. Нехай для всіх i: , де min, max, i — номера відповідних вершин симплекса. Визначимо центр ваги всіх точок, крім точки x max(k), . Тоді напрямок поліпшення розв'язання визначається вектором Ck – x max(k). Крок 3. Побудова відображеної точки. Заміна вершини x max(k) з максимальним значенням цільової функції на нову точку за допомогою операції відображення, результатом якої є нова точка:
Рис. 3. Побудова відображеної точки
Крок 4. Побудова нового симплекса. Обчислюємо f (uk). При цьому можливий один із двох випадків: а) ; б) . Випадок а): вершина x max заміняється на uk, чим визначається набір вершин (к +1)-й ітерації й к -я ітерація закінчується. Випадок б): у результаті відображення отримується нова точка uk, значення функції в якій ще гірше, ніж у точці x max, тобто відображати симплекс нікуди. Тому в цьому випадку виконується пропорційне зменшення симплекса (наприклад, в 2 рази) в бік вершини x min(k): , На цьому к -я ітерація закінчується. Крок 5. Перевірка збіжності. Якщо , то пошук мінімуму закінчується й приймається . У противному випадку к = к +1 і відбувається перехід до кроку 2.
Рис. 4. Схема алгоритму методу симплекса 1.1.4. Метод деформуючого симплекса (метод Нелдера-Міда). Метод деформуючого симплекса більш загальний і дозволяє враховувати локальні властивості поверхні цільової функції. Симплекси витягаються в напрямку нахилу поверхні, їхні осі повертаються при зустрічі з яром на поверхні цільової функції, поблизу мінімуму вони стискуються. Симплекс переміщається за допомогою трьох основних операцій над симплексом: відбиття, розтягання й стиск. Схема алгоритму методу Нелдера-Міда Крок 1. Побудова початкового симплекса. Задаються: х0(0) — початкова точка l — довжина ребра. Формуються інші вершини симплекса: xi (0)= x 0(0)+ lei (i =1, 2, …, n), де ei — одиничні вектори. Крок 2. Визначення напрямку поліпшення розв'язання. На кожній ітерації обчислюються значення цільової функції в кожній вершині симплекса. Нехай для всіх i де min, m, max, i — номера відповідних вершин симплекса. Визначимо центр ваги всіх точок, крім точки x max(k), Тоді напрямок поліпшення розв'язання визначається вектором Крок 3. Побудова нового симплекса. Заміна вершини x max(k) з максимальним значенням цільової функції на нову точку за допомогою операції відбиття, результат якої є нова точка , де a — коефіцієнт відображення.
Рис. Крок 4. Побудова нового симплекса. Обчислюємо f (uk), при цьому можливо один із трьох випадків: а) f (uk)< f (x min(k)); б) f (uk)> f (xm (k)); в) f (x min(k)) f (uk) f (xm (k)). Випадок а): відбита точка є точкою з «найкращим» значенням цільової функції. Тому напрямок відбиття є перспективним і можна спробувати розтягти симплекс у цьому напрямку. Для цього будується точка , де b >1 — коефіцієнт розтягнення. Якщо , то вершина x max(k) заміняється на vk, у противному випадку на uk і k -а ітерація закінчується.
Випадок б): в результаті відображення отримується нова точка uk, яка, якщо замінити x max(k), сама стане «найгіршою». Тому в цьому випадку виконується стиск симплексу. Для цього будується точка vk: де 0<γ<1 — коефіцієнт стиску.
Рис. 5. Побудова нового симплекса
Якщо , то вершина x max(k) заміняється на vk. У противному випадку вершинам xi (k +1) (i =0, 1, 2, …, n) привласнюється значення: і на цьому k -а ітерація закінчується. Випадок в): вершина x max(k) заміняється на uk, чим визначається набір вершин (k +1)-ї ітерації та k -а ітерація закінчується. Шаг 5. Перевірка збіжності. Якщо то пошук мінімуму закінчується й покладається . У противному випадку к = к +1 і відбувається перехід до кроку 2. Досвід використання описаного алгоритму показує, що доцільно брати наступні значення параметрів: a =1, b =2, g =0.5. Рис. 6. Алгоритм методу Нелдера-Міда
Дата добавления: 2015-05-23; Просмотров: 638; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |