- •Основні поняття
- •Оптимізація при обмеженнях (лінійна)
- •Одновимірна оптимізація без обмежень
- •Методи мінімізації функції багатьох змінних
- •Прямі методи
- •Алгоритм Хука і Дживса
- •Симплексний метод Нелдера-Міда або пошук багатогранником, що деформується
- •Методи першого порядку
- •Алгоритм найшвидшого спуску
- •1Определения
- •2 Пример
- •3Геометрическая интерпретация
- •4Построение
- •Апроксимація методом найменших квадратів
- •Метод найменших квадратів для узагальненого полінома
- •Модуль №2
- •Формули центральної різниці
- •Аналіз похибок і вибір оптимального кроку
- •Формули центральної різниці для похідних вищого порядку
- •Складені формули трапецій
- •Рекурентні формули й інтегрування за Ромбергом
- •Рекурентна формула Буля
- •Квадратурна формула Гауса
- •Розглянемо рівняння
- •Методи розв’язку
- •Числові методи
- •Метод Ейлера
- •Неявні методи
- •Розв’язання систем звичайних диференціальних рівнянь
- •Метод пристрілки
- •Різницевий метод
- •Розв'язання диференційних рівнянь у часткових похідних на підставі формули д'Аламбера
Одновимірна оптимізація без обмежень
Задача оптимізації (мінімізації або максимізації), у якій задана функція однієї змінної, відноситься до найбільш простого типу оптимізаційних задач, однак аналіз такого типу задач займає центральне місце в оптимізаційних дослідженнях. Це пов'язано не тільки з тим, що такі задачі досить часто вирішуються інженерами на практиці, але і з тим, що одномірні методи оптимізації використовуються при реалізації ітеративних процедур рішення багатомірних задач оптимізації.
Часто в процесі дослідження системи відомо, що цільова функція має тільки один екстремум ( максимум або мінімум) на визначеному інтервалі дослідження, але при цьому вона може не задовольняти вимозі неперервності, існування похідної у всіх точках або носити дискретний характер, тобто мати визначені значення для заздалегідь заданих або відомих значень аргументу. Такі функції називаються унімодальними.
Нехай x1 і x2 – значення x в інтервалі [a, b], що відповідає двом виконаним експериментам (натурному або модельному). Кожному проведеному експерименту відповідає визначене значення цільової функції (результат експерименту). Будемо вважати, x1 < x2, а xopt відповідає експериментальному значенню цільової функції y.
Функція y=f(x) є унімодальною, якщо виконуються наступні умови:
якщо x1 > xopt, то y1 > y2 (y1 < y2) при пошуку максимуму (мінімуму);
якщо x2 < xopt, то y1< y2 (y1 > y2) при пошуку максимуму (мінімуму).
Це означає, що при виконанні першої умови на відрізку [x2, b] не може знаходиться xopt, отже, його можна виключити з подальшого розгляду. Якщо ж виконується друга умова, то на відрізку [a, x1] не може знаходитися xopt, отже, його можна виключити з подальшого розгляду.
Таким чином, знаючи значення цільової функції y1 і y2 у будь-яких точках x1 і x2, можна швидко зменшити інтервал пошуку шляхом відкидання інтервалів, що не містять шуканий оптимум.
В даний час розроблена велика кількість різних стратегій пошуку мінімуму унімодальної функції. Розглянемо найбільш розповсюджені: метод дихотомії (половинного ділення), метод Фібоначі, метод золотого перетину, точковий метод квадратичної апроксимації методи з використанням похідної, у тому числі метод кубічної апроксимації.
Метод дихотомії. Метод дихотомії (половинного ділення) – це метод, відповідно до якого вихідна довжина інтервалу пошуку екстремума [a, b] на кожній ітерації зменшується в два рази, що забезпечує ефективний пошук xopt. Алгоритм методу включає наступні етапи:
а) Визначаються координати двох точок x1 і x2, що лежать на однаковій відстані від центра і границь інтервалу [a, b]. Шукані значення x1 і x2 рівні:
.
б) Визначається значення цільової функції y1 і y2 для цих двох точок:
і.
в) Виконується пошук нового вихідного інтервалу, у якому знаходиться шуканий оптимум xopt. Для цього використовуються властивості унімодальної функції, а також значення цільової функції обчислені на попередніх етапах.
,
і
.
a) b)
г) Перевіряється умова закінчення процесу пошуку оптимуму:
якщо (b-a)< то процес закінчується успішно, де - точність розрахунку
д) Перевіряється число виконаних операцій i.
Метод Фібоначі. За методом Фібоначі на кожній ітерації відкидається інтервал, хоча і менший, чим за методом половинного ділення, але тут потрібно виконати тільки один розрахунок функції, замість двох, тобто визначити координату лише однієї точки - x1 або x2,тому що друга збігається з однією з точок, розрахованій на попередній ітерації. У розрахунку використовуються числа Фібоначі, що можуть бути обчислені за рекурентною формулою FN=FN-1+FN-2, де F1=F2=1. Перші кілька значень чисел Фібоначі рівних: F3 F15 = {2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610}. Алгоритм методу включає наступні етапи:
а) Визначення числа Фібоначі для вихідного інтервалу пошуку [a, b].
б) Визначення координат двох точок x1 і x2, що лежать на відстані, пропорційній числам Фібоначі F(N-2) і F(N-1), від кінців вихідного інтервалу пошуку [a, b
в) Визначення значень цільової функції y1 і y2 для двох точок x1 і x2
і ,
г) Визначення нового вихідного інтервалу пошуку, у якому знаходиться шуканий оптимум
д) Перевірка числа виконаних ітерацій i.
Метод золотого перетину. Золотим перетином відрізка називається такий його розподіл на дві нерівні частини, при якому відношення довжини усього відрізка до довжини більшого підінтервалу дорівнює відношенню довжини більшого підінтервалу до довжини меншого, тобто, якщо на відрізку [a, b] розташована точка c то АВ/СВ=СВ/АС. Якщо прийняти довжину відрізка AB за 1, а СВ за x то співвідношення буде дорівнює 1/x=x/(1-x). Вирішуючи це рівняння, одержимо x2+x-1=0, відкіля x=((5)-1)/2=0.6180339. Тобто величина x=0.6180339 і буде золотим перетином.
Якщо від кінців вихідного інтервалу пошуку відкласти величину (b-a)*0.6180339 то одержимо точки x1 і x2 , кожна з який поділяє в тім же співвідношенні інтервал пошуку, що залишився після відкидання одного з крайніх інтервалів [a, x1] або [x2, b]. Це дозволяє скоротити число необхідних розрахунків на кожній ітерації. Алгоритм методу золотого перетину включає наступні етапи:
а) Визначення координат двох точок, x1 і x2 лежачих на відстані (b-a)*0.6180339 від кінців вихідного інтервалу пошуку
б) Визначення значень однієї цільової функції y1 або y2 для відповідної точки x1 або x2
або
,
в) Визначення нового вихідного інтервалу пошуку, у якому знаходиться шуканий оптимум xopt.
Если
(для
поиска max изменить неравенство на
),
то
Иначе
.
г) Перевірка умови закінчення пошуку екстремуму.
Если
,
то
и
останов.Иначе возврат к шагу 2.
Методи оцінювання з використанням квадратичної апроксимації.
Найпростішим варіантом поліноміальної інтерполяції є квадратична апроксимація, що заснована на тому факті, що функція, яка приймає мінімальне значення у внутрішній точці інтервалу, повинна бути принаймні квадратичною. Якщо ж функція лінійна, то її оптимальне значення може досягатися тільки в одній із двох граничних точок інтервалу. Таким чином, при реалізації методу оцінювання з використанням квадратичної апроксимації передбачається, що в обмеженому інтервалі можна апроксимувати функцію квадратичним поліномом, а потім використовувати вбудовану апроксимаційну схему для оцінювання координати точки фактичного мінімуму функції.
Якщо
задана послідовність точок
і відомі відповідні цим точкам значення
функції
і
,
то можна визначити постійні величини
і
таким чином, що значення квадратичної
функції
співпадуть
зі значеннями
в трьох зазначених точках. Перейдемо
до обчислення
в кожній із трьох заданих точок.
Насамперед, тому що
маємо
Далі, оскільки
одержуємо
Нарешті,
при
Вирішуючи останнє рівняння відносно , одержуємо
Таким
чином, за трьома заданими точками і
відповідними значеннями функції можна
оцінити параметри
й
апроксимуючого квадратичного полінома
за допомогою приведених вище формул.
Условие
минимума
Нахождение
мин. значения
Метод пошуку з використанням кубічної апроксимації
Відповідно до розглянутого методу підлягаюча мінімізації функція f(x) апроксимується поліномом третього порядку. Логічна схема методу аналогічна схемі методу з використанням квадратичної апроксимації. Однак у даному випадку побудова апроксимуючого полінома здійснюється на основі меншого числа точок, оскільки в кожній точці можна обчислювати значення як функції, так і її похідної.
Робота
алгоритму починається в довільно обраної
точки
:
знаходиться інша точка
,
така, що похідні
і
мають різні знаки. Іншими словами,
необхідно знайти стаціонарну точку
,
у якій
,
в інтервал між
і
.
Апроксимуюча кубічна функція записується
в наступному вигляді:
.
Параметри
цього рівняння підбираються таким
чином, щоб значення функції
і її похідної
в точках
і
,
збігалися зі значеннями
й
у цих точках. Перша похідна функції
дорівнює
Коефіцієнти
і
з цього рівняння визначаються за відомими
значеннями
шляхом рішення наступної системи
лінійних рівнянь:
Замітимо, що дана система легко вирішується рекурсивним методом. Після того як коефіцієнти знайдені, діючи за аналогією з випадком квадратичної апроксимації, можна оцінити координату стаціонарної точки функції f за допомогою апроксимуючого полінома. При цьому прирівнювання до нуля похідної приводить до квадратного рівняння. Використовуючи формулу для обчислення коренів квадратного рівняння, запишемо рішення, яке визначає стаціонарну точку апроксимуючого кубічного полінома, у наступному вигляді:
де
Формула
для w
забезпечує належний вибір одного з двох
коренів квадратного рівняння; для
значень
,
розміщених в інтервалі від 0 до 1, формула
для
гарантує, що одержувана точка
розташована між
і
.
Потім знову вибираються дві точки
для реалізації процедури кубічної
апроксимації -
і одна з точок
або
,
причому значення похідної досліджуваної
функції в цих точках
повинні бути протилежні за знаком, і
процедура кубічної апроксимації
повторюється.
Лекція № 6 Числові методи мінімізації функцій багатьох змінних.
Критерії мінімізації. Функціонал. Прямі методи пошуку мінімуму. Методи Хука-Дживса, Розенброка, Нелдера-Міда, випадкового пошуку. Градієнтні методи першого та другого порядків. Методи найскорішого спуску, Ньютона тощо.
