- •1.1.2. Метод конфігурацій (метод Хука й Дживса).
- •1.1.3.Метод симплекса
- •1. Побудова нового симплекса
- •3. Побудова відображеної точки
- •4. Схема алгоритму методу симплекса
- •1.1.4. Метод деформуючого симплекса (метод Нелдера-Міда).
- •1.2. Метод обертових координат (метод Розенброка)
- •1.3. Метод паралельних дотичних (метод Пауэлла)
- •8. Геометрична інтерпретація методу Пауэлла
- •2.Завдання на лабораторну роботу.
- •3. Варіанти завдання
3. Побудова відображеної точки
Крок 4. Побудова нового симплекса.
Обчислюємо f(uk). При цьому можливий один із двох випадків:
а)
;
б)
.
Випадок а): вершина xmax заміняється на uk, чим визначається набір вершин (к+1)-й ітерації й к-я ітерація закінчується.
Випадок б): у результаті відображення отримується нова точка uk, значення функції в якій ще гірше, ніж у точці xmax, тобто відображати симплекс нікуди. Тому в цьому випадку виконується пропорційне зменшення симплекса (наприклад, в 2 рази) в бік вершини xmin(k):
,
На цьому к-я ітерація закінчується.
Крок 5. Перевірка збіжності.
Якщо
,
то пошук мінімуму закінчується й приймається
.
У противному випадку к=к+1 і відбувається перехід до кроку 2.
Рис.
4. Схема алгоритму методу симплекса
1.1.4. Метод деформуючого симплекса (метод Нелдера-Міда).
Метод деформуючого симплекса більш загальний і дозволяє враховувати локальні властивості поверхні цільової функції. Симплекси витягаються в напрямку нахилу поверхні, їхні осі повертаються при зустрічі з яром на поверхні цільової функції, поблизу мінімуму вони стискуються.
Симплекс переміщається за допомогою трьох основних операцій над симплексом: відбиття, розтягання й стиск.
Схема алгоритму методу Нелдера-Міда
Крок 1. Побудова початкового симплекса.
Задаються:
х0(0) — початкова точка
l — довжина ребра.
Формуються інші вершини симплекса:
xi(0)=x0(0)+lei (i=1, 2, …, n),
де ei — одиничні вектори.
Крок 2. Визначення напрямку поліпшення розв'язання.
На кожній ітерації обчислюються значення цільової функції в кожній вершині симплекса. Нехай для всіх i
де min, m, max, i — номера відповідних вершин симплекса. Визначимо центр ваги всіх точок, крім точки xmax(k),
Тоді напрямок поліпшення розв'язання визначається вектором
Крок 3. Побудова нового симплекса.
Заміна
вершини xmax(k)
з максимальним значенням цільової
функції на нову точку за допомогою
операції відбиття, результат якої є
нова точка
,
де —
коефіцієнт відображення.
Рис.
Крок 4. Побудова нового симплекса.
Обчислюємо f(uk), при цьому можливо один із трьох випадків:
а) f(uk)< f(xmin(k));
б) f(uk)>f(xm(k));
в)
f(xmin(k))
f(uk)
f(xm(k)).
Випадок а): відбита точка є точкою з «найкращим» значенням цільової функції. Тому напрямок відбиття є перспективним і можна спробувати розтягти симплекс у цьому напрямку. Для цього будується точка
,
де >1 — коефіцієнт розтягнення.
Якщо
,
то вершина xmax(k)
заміняється на vk,
у противному випадку на uk
і k-а
ітерація закінчується.
Випадок б): в результаті відображення отримується нова точка uk, яка, якщо замінити xmax(k), сама стане «найгіршою». Тому в цьому випадку виконується стиск симплексу. Для цього будується точка vk:
де 0<γ<1 — коефіцієнт стиску.
Рис.
5. Побудова нового симплекса
Якщо
,
то вершина xmax(k)
заміняється на vk.
У противному випадку вершинам xi(k+1) (i=0, 1, 2, …, n) привласнюється значення:
і на цьому k-а ітерація закінчується.
Випадок в): вершина xmax(k) заміняється на uk, чим визначається набір вершин (k+1)-ї ітерації та k-а ітерація закінчується.
Шаг 5. Перевірка збіжності.
Якщо
то пошук мінімуму закінчується й покладається
.
У противному випадку к=к+1 і відбувається перехід до кроку 2.
Досвід використання описаного алгоритму показує, що доцільно брати наступні значення параметрів:
=1, =2, =0.5.
Рис. 6.
Алгоритм методу Нелдера-Міда
