- •3.3. Чисельні методи відшукання екстремумів (основні ітераційні процедури)
- •Метод поділу інтервалу навпіл.
- •3.3. Чисельні методи відшукання екстремумів
- •Метод ділення інтервалу навпіл.
- •Метод золотого перерізу.
- •3.4. Методи одновимірної оптимізації, що враховують додаткові відомості про функції
- •4. Методи пошуку екстремумів функцій багатьох змінних
- •Аналітичний метод пошуку екстремумів
- •4.2. Ітераційний підхід. Унімодальність і опуклість
- •4.3. Метод перерізів
- •4.4. Вектор-градієнт і деякі його властивості
- •4.6. Спрощені градієнтні процедури
- •4.7. Процедури підвищеної ефективності
Метод ділення інтервалу навпіл.
Розглянутий метод дозволяє виключати в точності половину інтервалу на кожній ітерації. Іноді цей метод називають трьохточковим пошуком на рівних інтервалах, оскільки його реалізація заснована на виборі трьох пробних точок, рівномірно розподілених в інтервалі пошуку. Приведемо, згідно [28], опис основних кроків пошукової процедури, орієнтованої на перебування точки максимуму функції в інтервалі .
Проведені нижче п'ять кроків виконуються на кожній ітерації процесу відшукання максимуму, що проводяться одна за одною. Для спрощення ми нехтуємо рідким (але передбаченим зауваженням 3.3) випадком рівності порівнюваних значень функції .
Крок 1. Покласти і (рис. 3.12), обчислити значення .
Крок 2. Покласти і (відзначимо, що точки і поділяють інтервал на чотири рівні частини). Обчислити значення і .
Крок 3. Порівняти і .
(1) Якщо виключити інтервал поклавши . Середньою точкою нового інтервалу пошуку стає точка . Отже, необхідно покласти , а в якості лівої граничної точки зберегти її старе значення. Привласнити значення . Перейти до кро- ку 5.
Якщо , перейти до кроку 4.
Крок 4. Порівняти і .
(1) Якщо , виключити інтервал , поклавши , а в якості правої граничної точки вибрати її старе значення. Так як середньою точкою нового інтервалу стає точка , покласти . Привласнити значення . Перейти до кроку 5.
(2) Якщо , виключити інтервали і . Покласти і (при цьому продовжує залишатися середньою точкою нового інтервалу). Перейти до кроку 5.
Крок 5. Обчислити . Якщо величина L менше заданої , закінчити пошук. У іншому випадку повернутися до кроку 2.
Зауваження 3.5. На кожній ітерації алгоритму виключається в точності половина інтервалу пошуку. Тому після проведення т ітерацій довжина інтервалу невизначеності складе .
Зауваження 3.6. Середня точка послідовно одержуваних інтервалів завжди збігається з однієїю з пробних точок чи , знайдених на попередній ітерації. Отже, на кожній ітерації, крім першої, потрібно не більш двох обчислень значень функції.
Зауваження 3.7. Із зауважень 3.5 і 3.6 випливає наступне просте твердження: якщо проведено п обчислень функції , то довжина отриманого інтервалу невизначеності складає в методі ділення інтервалу навпіл величини вихідного інтервалу. Дійсно, на першій ітерації функція обчислюється в трьох пробних точках, на всіх наступних — у двох. Так як кожна ітерація приводить до дворазового скорочення інтервалу невизначеності, то після проведення п обчислень (n — обов'язково непарне число) відношення довжин отриманого і вихідного інтервалів невизначеності складе, як легко перевірити,
Зауваження 3.8. Доведено [28], що серед методів пошуку екстремуму, що використовують дві, три, чотири і т.д. пробні точки на рівних інтервалах, не існує більш ефективного, ніж алгоритм ділення інтервалу навпіл (трьохточковий пошук).
Метод золотого перерізу.
Викладений вище метод спирався на три пробні точки. Покажемо, що, використовуючи дві пробні точки, можна підвищити ефективність пошуку, відмовившись від розподілу інтервалу невизначеності на рівні інтервали.
Припустимо, що початковий інтервал має одиничну довжину
(рис. 3.13) — це припущення спростить міркування, не зменшуючи, як легко зрозуміти, їхньої загальності.
З огляду на апріорну невизначеність, пробні точки будемо, як і в методі ділення інтервалу навпіл, завжди розташовувати симетрично щодо центра досліджуваного інтервалу. Маючи на увазі реалізацію мінімаксної стратегії, обраний образ дій будемо зберігати незмінним на кожній ітерації процесу пошуку. Практично, це означає, що відношення довжини виключеного підінтервалу до величини інтервалу пошуку буде залишатися незмінним (але, як ми побачимо, не дорівнювнюватиме 1/2, як у методі ділення інтервалу навпіл). Особливістю методу буде та обставина, що на кожній ітерації повинне обчислюватися тільки одне значення функції .
Знову
звернемося до рис. 3.13 і розглянемо
симетричне розташування двох пробних
точок
і
на
вихідному інтервалі одиничної довжини.
Пробні точки відстоять від
граничних точок
інтервалу на — поки ще не визначену
— відстань
.
При такому
симетричному
розташуванні
точок
довжина інтервалу,
що
залишається
після виключення,
завжди дорівнює
,
незалежно
від того, яке зі значень функції
в
пробних
точках
є
меншим
(така ситуація має місце як у випадку
застосування першого
правила
виключення
інтервалів, коли
,
так
і другого,
коли
;
для спрощення
випадком
рівності
і
,
що трапляється досить рідко,
ми
нехтуємо).
Для
визначеності припустимо, що виключається
правий
підінтервал
(див.
рис. 3.13). Тоді залишився
підінтервал
довжини
,
що містить
одну пробну точку
,
що
знаходиться
на відстані
від лівої граничної точки
(рис. 3.14). Для того, щоб симетрія, а також
співвідношення відстаней пробних точок
до країв інтервалу пошуку зберігалися
незмінними при переході від однієї
ітерації до наступної,
відстань
повинна складати
- у частину
довжини інтервалу пошуку, що у даному
випадку дорівнює
.
При цьому наступна пробна точка
розміщується на відстані, рівній
- й
частині
довжини інтервалу пошуку, тобто
,
від правої граничної точки
інтервалу (рис. 3.15). Звідси випливає,
що при виборі
відповідно
до умови
стратегія пошуку зберігається при переході до зменшеного інтервалу.
Вирішуючи квадратне рівняння
,
одержуємо
звідки
додатний результат
.
Схема пошуку, при якій пробні точки
поділяють
інтервал у цьому співвідношенні, відома
під назвою методу
золотого перерізу.
Зауваження
3.9.
Після перших двох обчислень значень
функції кожне наступне обчислення
дозволяє виключити підінтервал,
величина
якого складає
- у
частку
довжини інтервалу пошуку. Отже, після
проведення п
обчислень
довжина інтервалу невизначеності
складає
- у частину
вихідного інтервалу.
Зауваження 3.10. Можна показати, що пошук за допомогою методу золотого перерізу є асимптотично (тобто при досить великому п) найбільш ефективним способом реалізації мінімаксної стратегії в порівнянні з іншими процедурами пошукової оптимізації.
Через недолік місця ми не будемо тут приводити покроковий опис алгоритму золотого перерізу (див., наприклад, [28], як це було зроблено у випадку методу ділення інтервалу навпіл. Проілюструємо можливості пошукової оптимізації прикладом застосування методу трьохточкового пошуку на рівних інтервалах до функції , що вже зустрічалася нам (див. рис. 3.12), а також описані вище кроки алгоритму).
Приклад [28]. Максимізувати методом ділення інтервалу навпіл функцію
,
,
де
,
;
припустима
величина
інтервалу невизначеності
.
Ітерація 1.
Крок
1.
,
,
.
Крок
2.
Крок
3.
Крок
4.
Виключаються інтервали
і
Вважаємо
Крок
5.
Ітерація 2.
Крок
2.
Крок
3.
Крок
4.
Виключаються інтервали
і
Вважаємо
Крок
5.
Ітерація 3.
Крок
2.
Крок
3.
Виключається
інтервал
Вважаємо
як
і раніше
Крок
5.
Пошук закінчено.
Після проведення трьох ітерацій інтервал невизначеності зменшився в 90/11,25 = 8 разів.
На закінчення параграфа приведемо таблицю з результатами порівняння ефективності методів одновимірної пошукової оптимізації. Як зразок, відносно якого будемо судити про ефективність методів ділення інтервалів навпіл і золотого перерізу, виберемо рівномірний пошук - загальновідомий і традиційний алгоритм, що звичайно використовують початківці. Суть його полягає в наступному.
Початковий
інтервал невизначеності довжини
поділяється
на n+1 рівні інтервали довжиною
.
Нехай
- точка
істинного максимуму функції
,
а результати обчислення функції
в рівновіддалених точках
приведені
на рис. 3.16. Ясно, що за даними вимірами
- в припущення унімодальності
- можна вказати наступний інтервал
невизначеності
,
тому
що
істинний максимум
може знаходитися
як лівіше,
так і правіше
точки
.
Отже, довжина інтервалу невизначеності, отриманого після n проб, у даній ситуації визначається виразом
(3.9)
Рис. 3.16
Із зауваження 3.7 випливає, що у випадку методу ділення інтервалу навпіл аналогічна величина дорівнює
(3.10)
а у випадку методу золотого перерізу
(3.11)
(див. зауваження 3.9).
Ефективність пошуку зручно характеризувати числом
Задавшись
значеннями
неважко розрахувати, використовуючи
формули (3.9) ... (3.11), необхідну
кількість обчислень п
для
трьох порівнюваних методів.
Результати таких розрахунків зведені в таблицю 3.1.
Дані
таблиці 3.1 показують величезний виграш
(приблизно два порядки) у кількості
обчислень методів золотого перерізу і
ділення
інтервалу навпіл у порівнянні з
рівномірним пошуком за умови дуже
точного визначення положення
екстремальної точки
.
Перевага
ж методу золотого перерізу в порівнянні
з методом ділення
інтервалу навпіл відносно невелика.
Таблиця 3.1
-
Метод пошуку
Параметр
0,1
0,05
0,01
0,001
Ділення інтервалу навпіл
9
11
15
21
Золотий переріз
6
8
11
16
Рівномірний пошук
19
39
199
1999
