Professional Documents
Culture Documents
ММДО - одновимірна оптимізація
ММДО - одновимірна оптимізація
1
Особливості методів одновимірної
оптимізації
Пошук екстремуму функції можна порівняти з пошуком
в озері найглибшого місця. При кожному вимірі отримуємо
нову інформацію. Якщо, при наступному вимірі глибина
виявилася більша, ніж в попередньому, то отримана
інформація корисна і навпаки, якщо при наступному вимірі
отримана менша глибина, ніж у попередньому випадку, то
результат не дає ніякої корисної інформації і затрачені
зусилля були марними.
Розробляючи методи пошуку, прагнуть знайти екстремум як
можна швидше, зробивши як можна менше некорисних
спроб.
Далі розглядаються методи одновимірного пошуку
максимуму (мінімуму) цільової функції.
2
Поняття унімодальності
Функція f(х) називається УНІМОДАЛЬНОЮ на
відрізку [а; b], якщо для будь-яких х1 і х2 на [а; b], де
х1< х2 і f (х1) < f (х2)= fопт, функція f(х) задовольняє
наступним умовам:
3
Поняття унімодальності
Якщо функція f(x) на множині U має, окрім глобального,
локальні мінімуми, відмінні від нього, то мінімізація f (x), як
правило, значно ускладнюється. Зокрема, багато методів пошуку
точки мінімуму f(x) пристосовані лише для функцій, у яких
кожний локальний мінімум є одночасно і глобальним. Цією
властивістю володіють унімодальні функції.
Визначення. Функція f(x) називається унімодальною на
відрізку [а; b], якщо вона неперервна на [а; b] та існують
числа ,
a b, такі, що:
1) якщо а < , то на відрізку [a; ] функція f (x) монотонно спадає;
2) якщо < b, то на відрізку [; b] функція f (x) монотонно зростає;
3) при х [; ] f (x) =f * = min f ( x)
a;b
4
Постановка задачі одновимірної
оптимізації. Основні складові
5
Постановка задачі одновимірної
оптимізації. Інтервал невизначеності
F(x)
Інтервал
невизначеності
a b
2 x6.
У наведеній задачі a = 2, b = 6. Інтервал невизначеності b-a = 6-2=4.
7
Умови існування екстремуму
функції однієї змінної (1)
Графічне представлення функції F(x) та її похідної, яка має
локальний мінімум в точці х0 і глобальний мінімум в точці
х*.
F(x )
F(x )
F(x )
x
x0 x* x
xc xT
8
Умови існування екстремуму
функції однієї змінної (2)
9
Умови існування екстремуму
функції однієї змінної (3)
F ( x )
Слід відмітити, що в точках х0 і х* похідна x міняє
знак з негативного на позитивний. У точці хт знак
міняється з позитивного на негативний, в той же час як в
точці хс він не міняється. Отже, похідна в мінімумі є
зростаючою функцією, а оскільки міра зростання F(x)
вимірюється другою похідною, то можна
стверджувати, що F''(x0)>0, F'' (x*)>0, тоді як F'' (x) <0.
Якщо, однак, друга похідна рівна нулю, ситуація
залишається невизначеною.
10
Умови існування екстремуму
функції однієї змінної (4)
13
Методи виключення інтервалів
14
Звуження інтервалу
невизначеності
Обчисливши значення цільової функції F1 і F2 при значеннях
проектного параметра x1 і x 2 у вказаному інтервалі, звузимо інтервал
невизначеності. Існує декілька шляхів систематичного звуження
інтервалу.
F(x)
Звужений інтервал
невизначеності
a X1 X2 b
15
Переваги та особливості методів
виключення інтервалів
Основна перевага методів виключення інтервалів полягає
в тому, що вони засновані на обчисленні тільки значень
цільової функції і, отже, не вимагають виконання умови
диференційованості та запису в аналітичному вигляді.
Остання властивість особливо цінна при імітаційному
моделюванні.
16
Метод Свена
Цей метод передбачає вибір початкової точки, а потім на основі правила
виключення будується відносно широкий інтервал, який містить точку
оптимуму. Евристичний метод Свена передбачає, що на (k+1) кроці пробна
точка визначається за рекурентною формулою
xk +1 = xk + 2 k D, k = 0,1,2...,
де хo - довільно вибрана початкова точка; D - величина кроку, яка
підбирається інженером.
Знак D визначається шляхом порівняння значень F(x), F(xo +|D| ), F(xo -|D|):
- якщо F(xo -|D|) >= F(x) >= F(xo + |D|), то D - додатне значення;
- якщо F(xo -|D|) <= F(x) <= F(xo + |D|), то D - від’ємне значення;
- якщо F(xo -|D|) >= F(x) <= F(xo +| D|), то точка мінімуму розміщена між
xо-|D| та xо + |D| і пошук межових точок завершений;
- якщо F(xo -|D|) <= F(x) >= F(xo +|D|), то є протиріччя про унімодальність.
17
Метод Свена. Приклад
Відомо: F(x)=(100-x)**2, xo=30, |D| =5.
Визначимо знак D: F(30)=4900; F(30+5)=4225; F(30-5)=5625.
Виконується умова F(xo -|D|) >= F(x) >= F(xo + |D|), відповідно,
D - є додатнє значення; х*=30.
x 1 = x 0 + 2 0 D = 35 ,
x 2 = x 1 + 21 D = 45 , F(45)=3025 < F(xl) → x*>35;
x 3 = x 2 + 2 2 D = 65 , F(65)=1225 < F(x2) → x*>45;
x 4 = x 3 + 2 3 D = 105 , F(105)=25 < F(x3) ) → x*>>65;
x 5 = x 4 + 2 4 D = 185 , F(185)=7225 > F(x4) ) → x*>185.
Отже, шуканий інтервал 65<х*<185.
18
Метод Свена. Приклад
f ( x) = −70 x + 60 x 2 − 14 x 3 + x 4
19
Методи розв’язання задач
одновимірної оптимізації
20
Правило виключення інтервалів.
Формулювання
Нехай F(х) унімодальна функція на відрізку [a, b], а її мінімум
досягається в точці х*. Розглянемо точки x1 і x2 , які розташовані а< x1<
x2<b.
1) Якщо F(x1)>F(x2), то точка мінімуму для цільової функції
F(х) не лежить в інтервалі (a, x1), тобто х* належить відрізку (x1, b).
2) Якщо F(x1)<F(x2), то точка мінімуму для цільової функції
F(х) не лежить в інтервалі (x2, b), тобто х* належить відрізку (a, x2).
Це правило дає змогу реалізувати процедуру пошуку шляхом
послідовного виключення частин початкового обмеженого інтервалу.
Пошук завершується тоді, коли підінтервал, що залишився меншає до
досить малих розмірів.
21
Правило виключення інтервалів.
Графічне представлення
f (x) f (x)
1)
F(x1)
→ F(x1)
F(x2) F(x2)
0 a x1 x2 b x 0 a x1 x2 b x
f (x) f (x)
F(x2)
→
F(x2)
2) F(x1)
F(x1)
0 a x1 x2 b x 0 a x1 x2 b x
22
Метод загального перебору. Ідея
Найбільш природним шляхом звуження інтервалу
невизначеності для одновимірної унімодальної цільової
функції є розбиття його на декілька рівних частин з
подальшим обчисленням значень цільової функції у вузлах
отриманої сітки. В результаті, інтервал
Початкова величина інтервалу невизначеності вужчає до
f (x) Звужений інтервал двох кроків сітки.
Завершуємо пошук
тоді, коли
виконується одна з
двох умов:
b−a ε ,
x F (b) − F (a) ε .
0 a x1 x2 x3 x4 x5 x6 x7 b
23
Метод загального перебору.
Коефіцієнт дроблення
Досить часто виникає проблема оцінити результати пошуку
оптимуму чи порівняти з іншим методом. В таких випадках
використовують параметр дроблення (параметр ефективності методу).
Цей параметр визначає у скільки разів зменшено інтервал
невизначеності по відношенню до початкового за n ітерацій.
Якщо початковий інтервал невизначеності позначимо через L0, а
інтервал, який отримаємо після n ітерацій Ln, то вираз для обчислення
даного відношення буде наступним:
L
f (n ) = n
L0 .
У випадку, коли задано точність розв’язання задачі, то для обчислення
кількості ітерацій використовується наступний вираз (метод загального
перебору): n =
2
−1
f ( n)
.
24
Метод загального перебору. Коефіцієнт
дроблення
Дроблення інтервалу невизначеності характеризується
коефіцієнтом f (у скільки разів зменшено інтервал
невизначеності). Розділивши інтервал невизначеності на n
частин, отримаємо n+1 вузол, і тоді коефіцієнт f можна
визначити за наступною формулою
2 .
f ( n) =
n +1
Для прикладу, щоб отримати значення параметра f = 0,01,
потрібно обчислити цільову функцію в 199 вузлах, а при f =
0,001 - n має бути рівним 1999. Зрозуміло, що ефективність
цього методу при зменшенні інтервалу невизначеності
швидко падає, яка визначається як кількість обчислень
значень цільової функції.
25
Модифікований метод загального
перебору
26
Алгоритм методу загального
перебору. Блок-схема алгоритму
Початок
Введення вхідних
даних a, b,
1 Визначення числа
відрізків розбиття
n (b − a) /
2
Визначення значень
функції у кожному вузлі
3
Визначення найменшого
значення функції
Вивести
результати
Кі нець
27
Метод загального перебору.
Приклад
28
Метод загального перебору. Приклад
min f ( x) = −70 x + 60 x 2 − 14 x3 + x 4
29
Метод загального перебору. Приклад
Розв’язати задачу f (х)=x4+e–x → min, x [0; 1] з точністю = 0,1.
Функція f (х) унімодальна на відрізку [0; 1]. Визначимо число n
відрізків розбиття:
1− 0
n = 10.
0,1
Отже, можна взяти n = 10. Обчислити значення f (xi), де xi=0,1i, i = 0, .., 10
та запишемо їх в табл.
xi 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0
f (xi) 1.00 0,90 0,82 0.75 0,7 0,67 0.68 0,74 0,86 1,06 1,37
30
Переваги та недоліки методу
Переваги:
1. Простота методу та його реалізації на ПК.
2. Можна застосувати для не унімодальних цільових
функцій
Недолік:
Великий об’єм обчислень (необхідно обчислити
значення ЦФ у кожному вузлі та порівняти їх між
собою). Частково покращити можна цей
параметр використанням модифікованого методу
загального перебору.
31
Метод ділення інтервалу пошуку
на половину (дихотомії)
32
Метод ділення інтервалу
пошуку на половину (1)
Метод поділу інтервалу пошуку наполовину
дає змогу зменшити інтервал пошуку в два
рази при кожній ітерації. ЦФ – унімодальна.
f (x) xm =
(b − a)
,
2
L =b−a,
L
x1 = x m − ,
4
x L
x2 = xm + .
x1 xm 4
0 a x2 b
Визначити значення цільової функції F ( x1 ), F ( x m ), F ( x 2 ).
33
Метод ділення інтервалу пошуку
на половину (2)
Якщо F (x1 ) F (xm ) F (x2 ), f (x) F ( x1 )
F ( xm )
f (x) F ( x1 ) F ( x2 )
F ( xm )
F ( x2 )
→ x
0 a x1 xm x2 b
x ↓
0 a x1 xm x2 f (x) F ( xm )
b
то виключити a, xm , x
і a = xm , xm = x2 . 0 a xm b
34
Метод ділення інтервалу
пошуку на половину (3)
Якщо F (x1 ) F (xm ) F (x2 ), то виключити xm , b , і b = x m , x m = x1.
f (x) F ( x2 )
F ( xm )
f (x) F ( x2 ) F ( x1 )
F ( xm ) → x
F ( x1 )
x
0 a x1 xm
↓ x2 b
f (x) F ( xm )
0 a x1 xm x2 b
x
0 a xm b
35
Метод ділення інтервалу
пошуку на половину (4)
Якщо F (x1 ) F (xm ) F (x2 ) , f (x) F ( x1 ) F ( x2 )
F ( xm )
f (x) F ( x2 )
F ( x1 )
F ( xm )
→
x
0 a x1 xm x2 b
x f(x) ↓
F ( xm )
0 a x1 xm x2 b
то виключити a, x1 , та x 2 , b x
і a = x1 , b = x2 .
0 a xm b 36
Умови завершення та блок-
схема алгоритму методу.
Умова завершення обчислень: b − a ε.
1
Введення вхідних L
Початок L = b - a, x m = , F(x m ).
даних a, b, F(x), 2
так
3 2 L L
Виключити інтервал x1 = a + , x2 = b − ,
(x m , b), та b = x m , x m = x 1 F(x 1 ) F(x m ). 4 4
F(x1 ), F(x 2 ).
ні
ні
5 Вивести
так
L =b−a L
результати
Кінець
37
Метод ділення інтервалу пошуку на
половину. Приклад
min f ( x) = −70 x + 60 x 2 − 14 x3 + x 4
38
Метод дихотомії
В цьому методі точки x1 та х2 разміщують досить близько
до середини наступного відрізка [а; b].
b + a − b + a +
x1 = , x2 = ,
2 2
де > 0 – мале число. При цьому відношення довжин нового
та початкового відрізків
b − x1
x −a
= = 2
b−a b−a
близьке до 1/2, цим і пояснюється назва методу.
Умова завершення пошуку оптимуму
b−a
.
2
39
Алгоритм методу дихотомії
Крок 1. Визначити x1 та х2 . Обчислити f (x1) та f (x2).
Крок 2. Порівняти f (x1) і f (x2). Якщо f ( x1) f ( x2 ) ,
то перейти до відрізка [а; x2], покласти b = x2 , інакше – до відрізка
[x1; b], присвоївши а = x1 .
b−a
Крок 3. Знайти досягнуту точність n = .
2
Якщо n , то перейти до наступної ітерації (до кроку 1).
Якщо n , то завершити пошук і перейти до кроку 4.
− a+b −
Крок 4. Покласти *
x x= *
, f ( x ).
2
Число вибирають з інтервалу (0;2).
b − a − b−a
n log 2 (N ) = N =
2 − 2
N
+1
2
40
Метод ділення інтервалу пошуку на
половину. Приклад 2
f ( x) = x 4 + e − x → min , x [0;1] , =0,1.
Виберемо =0,02.
Ітерація 1.
Крок 1. x1 = 0,49, x2 = 0,51. f (x) = 0,670, f (x2) = 0,688.
Крок 2. f (x1) > f (x2), тому присвоюємо a = x1 = 0,49.
Крок 3. (b–а)/2 = 0,255 > 0,1, тобто переходимо до наступної ітерації.
Результати обчислення інших ітерацій зведено в таблицю.
b–a Порівняння
Номер ітерації а b x1 x2 f (x1) f (x2)
2 f (x1) та f (x2)
2 0,49 1 0,26 0,735 0,755 0,771 0,792 f (x1) < f (x2)
3 0,49 0,755 0,13 0,613 0,633 0,683 0,691 f (x1) < f (x2)
Недолік:
Як випливає з алгоритму, з кожних трьох значень
цільової функції F(х), обчислених в інтервалі пошуку,
надалі використовується тільки дві, а третє не дає
додаткової інформації і надалі не використовується.
42
Метод “золотого січення”
В методі золотого січення цільова функція обчислюється в
точках інтервалу, які розташовані таким чином, щоб
кожне обчислене значення цільової функції давало б нову
корисну інформацію.
Основна ідея методу золотого січення полягає в тому, що інтервал пошуку
ділиться на дві частини так, щоб відношення довжини великого
a x b
43
Метод “золотого січення”.
Визначення коефіцієнта поділу k.
z z
З рисунка видно, що z = z1 + z 2 . Тоді вираз 1
= 2
z z1
перепишемо у вигляді Z 12 = ZZ 2 = (Z 1 + Z 2 )Z 2 = Z 1 Z 2 + Z 22
,
або Z1Z 2 + Z 22 − Z12 = 0 .
2
Розділимо ліву частину рівняння на 1 отримаємо
z
2 2
z2 z2 z2 z2 z2
+ − 1 = 0 , або z + z − 1 = 0. Беручи до уваги =x
z1 z1 1 1
z1
отримаємо квадратне рівняння x + x −1 = 0 ,
2
де a = 1; b = 1; c = −1.
−b D ( 5 − 1)
xi = D = b 2 − 4ac, D = 1 − 4 * 1 * (−1) = 5 , k = 0,618 .
2a , 2 44
Метод “золотого січення”(1)
1) F (x1 ) F (x2 ) 2) F ( x2 ) F ( x1 )
f (x) F ( x2 ) f (x) F ( x1 )
F ( x1 ) F ( x2 )
x x
0 a x1 x2 b 0 a x1 x2 b
45
Метод “золотого січення” (2)
1) F (x1 ) F (x2 ) → b = x2 , x2 = x1 , F ( X 2 ) = F ( X 1 ),
k = 0,618 , x1 = a + (1 − k )(b − a ) .
F ( x2 ) f (x) F ( x2 )
f (x) ←
F ( x1 ) F ( x1 )
→
x x
0 a x1 x2 b 0 a x1 ← x2 ← b
46
Метод “золотого січення”(3)
2) F ( x2 ) F ( x1 ) → a = x1 , x1 = x 2 , F ( X 1 ) = F ( X 2 ),
k = 0,618 , x 2 = a + k (b − a ) .
f (x) F ( x1 ) f (x) F ( x1 )
F ( x2 ) → F ( x2 )
→
x x
0 a x1 x2 b 0 a → x1 → x2 b
47
Метод “золотого січення”.
Блок-схема алгоритму.
1
Початок Введення вхідних ( 5 − 1)
даних a, b, k= , J=0,
2
2
J=1 x1 = a + (1 − k )(b − a),
F (x1 )
так 3
Кінець x 2 = a + k (b − a),
J=0
F ( x2 )
ні
x = ( x1 + x2 ) / 2, так 4
... m x1 − x2
F (xm )
ні
так
6 5
b = x 2 , x2 = x1 , a = x1 , x1 = x2 ,
F (X 2 ) = F (X1 ) F (x2 ) F (x1 )
F (X1 ) = F (X 2 )
ні
48
Метод “золотого січення”.
Приклад.
min f ( x) = −70 x + 60 x 2 − 14 x3 + x 4
49
Переваги та недоліки методу
1. Якщо початковий інтервал має одиничну довжину, то
довжина після ітерацій рівна .
50
Порівняння методів виключення інтервалів
(кількість обчислень значень ЦФ)
Точність, ɛ
Метод
0,1 0,01 0,001 0,0001 0,00001
Загального 22 33 44 55 66
перебору
Поділу 11 17 23 31 37
наполовину
Золотого 9 14 18 23 28
січення
51
Порівняння методів виключення
інтервалів (точність)
Методи Кількість обчислень ЦФ f (x)
мінімізації
N=5 N = 11 N = 21 N = 51
52
Методи поліноміальної
апроксимації
Пошук точки мінімуму методами виключення інтервалів
грунтується на порівнянні значень цільової функції в двох
точках. При такому порівнянні різниці значень ЦФ f(x) в
цих точках не враховуються, важливі лише їх знаки.
Враховують інформацію про відносні значення зміни
значень ЦФ f(x) в пробних точках методи поліноміальної
апроксимації.
53
Поняття неперервності та
гладкості функції (1)
54
Теорема Вейєрштрасса
55
Методи поліноміальної
апроксимації. Теорема Вейєрштрасса
Суть методів поліноміальної апроксимації грунтується на
теоремі Вейєрштрасса про апроксимацію, яка передбачає
що, неперервну функцію в деякому інтервалі можна
апроксимувати певним поліномом з будь-якою точністю.
56
Особливості забезпечення точності
методів поліноміальної апроксимації
Для підвищення точності апроксимації можна, по–перше,
збільшити порядок полинома і, по–друге, зменшити
довжину відрізка апроксимації. Перший шлях призводить
до швидкого ускладнення обчислювальних процедур, тому
на практиці використовують апроксимуючі поліноми не
вище третього порядку. В то й же час зменшення відрізка,
що містить точку мінімуму унімодальної функції, не
представляє особливих труднощів.
1. Квадратичний апроксимаційний поліном (метод Пауела)
f ( x ) = Ax 2 + Bx + C .
2. Кубічний апроксимаційний поліном
f ( x ) = Ax 3 + Bx 2 + Cx + D .
3. . . .
57
Метод Пауела (метод парабол).
Основні співвідношення
( )
Якщо відомі значення функції f x в трьох різних точках x1 , x 2 , x3
( )
Відповідно f 1 , f 2 , f 3, то функція f x може бути апроксимована
квадратичною функцією f ( x ) = Ax 2 + Bx + C . Відповідно, маємо 3
рівняння та 3 невідомі
f1 = Ax1 + Bx1 + C, f 2 = Ax 2 2 + Bx 2 + C , f 3 = Ax 3 + Bx3 + C .
2 2
x x
0 a x1 x2 b 0 a x1 x2 x3 b
Якщо f(x1)< f(x2), то x3 = x1 - х
f (x) F ( x2 ) f (x) F ( x2 )
F ( x1 ) F ( x1 )
х → F ( x3 )
х х
мінімум
x x
0 a x1 x2 b 0 a x3 x1 x2 b
60
Крок 5-6.
Метод Пауела.
Блок-схема алгоритму (3)
F ( x1 )
f (x)
F ( x2 ) If fmin - f(х*)< → End
F ( x3 ) ↓
fmin → ↨ ←f поліном =Ах**2+Вх+С
xmin
↓ f(х*) x
0 a x1 x2 x3↔ х*=-B/2A
↑ b
If xmin - х* < → End 61
Метод Пауела. Приклад (1)
Розглянемо процедуру оцінки координати точки мінімуму функції
F ( x) = 2 x 2 + (16 ) . Нехай в інтервалі 1 x 5 x1 = 1 , x3 = 5 , а x 2
x
є середньою точкою інтервала, тобто x 2 =. 3
Вирахуємо відповідні значення функції:F1 = 18, F2 = 23,33 , F3 = 53,2 .
Для того, щоб оцінити значення x , необхідно знайти значення параметрів
a1 та a 2 апроксимуючої функції. Відповідно отримаємо:
23,33 − 18 8 1 53,2 − 18 8 46
a1 = = , a2 = − = .
3 −1 3 5 − 3 5 −1 3 15
Підставимо ці значення в x = ( x2 + x1 ) − a1 і отримаємо
2 2a 2 ,
формулу
(3 + 1) (8 / 3)
x = − = 1,5874 .
2 2(46 / 15)
Точне значення мінімуму досягається при x = 1,5874 .
62
Метод Пауела. Приклад (2)
min f ( x) = −70 x + 60 x 2 − 14 x3 + x 4
63
Метод Пауела
Точність, ɛ
0,1 0,01 0,001 0,0001 0,00001
Метод
Загального 22 33 44 55 66
перебору
Поділу 11 17 23 31 37
наполовину
Золотого 9 14 18 23 28
січення
Метод 5 8 9 10 11
Пауела
64
Метод Пауела
Переваги:
1. Найефективніший серед вищерозглянутих.
2. Пошук мінімуму можна проводити при відсутності
аналітичного виразу для ЦФ.
Недоліки:
Унімодальність, неперервність та
гладкість(диференційованість) ЦФ.
65
Метод Ньютона-Рафсона.
Ідея методу (градієнтний метод)
Метод Ньютона-Рафсона вимагає, що функція f була двічі
диференційована. Робота алгоритму починається в точці xк, яка
представляє початкове наближення (чи початкову оцінку) координати
стаціонарної точки, або кореня рівняння f'(х)=0.
Потім будується лінійна
апроксимація функції f'(х)
в точці xк, і точка, в якій
апроксимуюча лінійна
функція рівна нулю,
приймається як наступне
наближення.
Цей ітераційний процес
повторюється до
виконання умови
f ' (x )
66
Метод Ньютона-Рафсона.
Графічна інтерпретація. Ідеї методу
f ' ( x1 )
'
f ( x) f ' ( x)
f ' ( x2 )
' * f ' ( x3 )
f (x )
x3 x
x0 x* x2 x1
a b
0 ← ------
67
Метод Ньютона-Рафсона.
Основні співвідношення
Якщо точка xk (як правило її на першій ітерації позначають хо )
прийнята як поточне наближення до стаціонарної точки, то лінійна
функція, апроксимуюча функцію f'(х) в точці x k , записується у вигляді
f ' (x; xk ) = f ' (xk ) + f '' (xk )(x − xk ) .
xk +1 = xk − f (xk ) / f (xk )' ''
.
68
Метод Ньютона-Рафсона. Особливості
збіжності ітераційного процесу (1)
69
Метод Ньютона-Рафсона. Особливості
збіжності ітераційного процесу (2)
f ' ( x0 )
f ' ( x)
f ' ( x1 )
f ' ( x2 )
f ' ( x* )
x* x0 x1 x2 x
0 a - - - - - - - - - - - -b→
70
Метод Ньютона-Рафсона.
Блок-схема алгоритму
Початок
Введення вхідних
даних x0 ,
k =0
1 Визначення першої
та другої похідних
f ' (xk ), f '' (xk )
2
xk+1 = xk − f ' (xk )/ f '' (xk )
ні
4 3
k = k +1 f ' ( xk )
так
Вивести
результати
Кінець
71
Метод Ньютона-Рафсона.
Приклад (1)
Розв’яжемо наступну задачу: min f (x ) = 2 x 2 + (16/ x ) .
Для того щоб визначити стаціонарну точку функції f(х), скористаємося
методом Ньютона -Рафсона, поклавши x1 = 1 :
( )
f ' ( x ) = 4 x − 16 / x 2 , ( )
f '' ( x ) = 4 + 32 / x 3 .
Ітерація 1. x1 = 1, f ' (x1 ) = −12 , f '' (x1 ) = 36 , x2 = 1 − (− 12 / 36 ) = 1,33 .
x
Ітерація 2. 2 = 1,33 , f '
( x 2 ) = − 3, 73 , f ''
(x2 ) = 17,6 ,
x3 = 1,33 − (− 3,73 / 17 ,6) = 1,54 .
Ітерації продовжуються доти, поки не буде виконана нерівність F ' ( xk ) ε ,
72
Метод Ньютона-Рафсона.
Приклад (2)
min f ( x) = −70 x + 60 x 2 − 14 x3 + x 4
73
Метод Ньютона-Рафсона
Точність, ɛ
0,1 0,01 0,001 0,0001 0,00001
Метод
Загального перебору 22 33 44 55 66
Поділу наполовину 11 17 23 31 37
Золотого січення 9 14 18 23 28
Метод Пауела 5 8 9 10 11
Метод Ньютона- 8 10 10 10 10
Рафсона
74
Метод Ньютона-Рафсона
Переваги:
Один з найефективніших серед вищерозглянутих.
Недоліки:
1. Може розбігатися розв’язання задачі.
2. ЦФ має бути мінімум двічі диференційованою.
3. Необхідно обчислювати першу та другу похідні.
75
Метод середньої точки.
Ідея методу (1)
Цільова функція має бути диференційованою.
Використовується необхідна умова існування оптимуму, тобто – перша похідна
від ЦФ має бути рівною нулю.
Спершу визначаються значення першої похідної на границях інтервалу
невизначеності (a,b), які мають мати різні знаки ( f ' (a ) , 0 f ' (b ) ).0
Шуканий оптимум буде розміщений між цими точками.
Ділимо інтервал невизначеності ' f ' (b ) 0
наполовину і визначаємо значення f ( x )
координати a + b та значення
z=
2
похідної в цій точці f ' ( z ) .
a z b x
Якщо f ' ( z ) 0 , то виключаємо (z,b).
Якщо f ' ( z ) 0 , то виключаємо (a,z).
f ' (a ) 0
76
Метод середньої точки.
Ідея методу (2)
f (x )
' f ' (b ) 0
a z b x
f ' (a ) 0
77
Метод середньої точки.
Алгоритм
Введення даних.
Крок 1. Обчислити перші похідні в точці a та b (необхідно зауважити,
що f ' (b ) 0 , f ' (a ) 0 ).
a+b
Крок 2. Визначити z= та f ' (z ) .
2
Крок 3. Якщо ( z ) , то заверш. обчислення та перехід до кроку 5,
'
f
в іншому випадку перехід до кроку 4.
Крок 4. Якщо f ' ( z ) 0 , то виключаємо (z,b), b=z. Перехід до кроку 2.
Якщо f ' ( z ) 0, то виключаємо (a,z), a=z. Перехід до кроку 2.
Крок 5. Виведення даних.
78
Метод середньої точки. Приклад
2
Мінімізувати функцію f ( x) = 2 x + (16 / x) на інтервалі 1 x 5 = 0,1.
dF ( x) 16
f ' ( x) = = 4x − .
dx x2
Ітерація 1. Крок 1. b = 5 , a = 1 , f ' (b) = 19.36, f ' (a ) = −12.
Крок 2. z = (5 + 1) / 2 = 3, f ' ( z ) = 10,22 0 .
.
Крок 4. f ' ( z ) = 4 0 , то b = 2 .
Ітерації продовжуються до тих пір, поки не буде виконуватись нерівність
| f ' ( z ) | . 79
.
Метод середньої точки
Переваги:
Простота реалізації.
Недоліки:
1. ЦФ має бути мінімум диференційованою.
2. Необхідна значна кількість ітерацій.
3. Необхідно обчислювати першу похідну від ЦФ.
80
Метод хорд. Ідея методу (1)
xn − xn −1
Розкладемо функцію N(x) в ряд Тейлора в околі точки x 0 :
f 2 f (Δ x ) nf (Δ x )
2 2
f (x 0 + Δ x ) = f (x 0 ) + Δx+ + ... + .
x x xn
↓
0 2 0 0
2! n!
f f (x 0 + Δ x )-f ( x0 ) n f Δx
x = - * ,n . 2
x
f
0
f n+1 n
↓- f Δx x n
n!
n = + Θ (Δ x )
x Δ xn
. 81
Метод хорд. Ідея методу (2)
xn − xn −1
xn +1 = xn − ' f '
( xn ), n = 1,2,....
f ( xn ) − f ( xn −1 )
'
82
Метод хорд. Геометрична
інтерпретація
Геометрична інтерпретація методу хорд наступна: дотичну до точки
( xn , f ( xn )) замінює січна, проведена через точки ( xn −1 , f ( xn −1 )) і
( xn , f ( xn )) . Геометричну інтерпретацію методу показано на рисунку.
y
y=F(x)
83
Метод хорд. Алгоритм
Введення даних.
Крок 1. Обчислити перші похідні в точці a та b (необхідно зауважити,
що f ' (b ) 0, f ' (a ) 0).
f ' (b )(b − a )
Крок 2. Визначити z = b − ()
та f '
z .
f (b ) − f (a )
' '
Крок 3. Якщо f ( z ) , то заверш. обчислення та перехід до кроку 5,
'
в іншому випадку перехід до кроку 4.
Крок 4. Якщо f ' ( z ) 0 , то виключаємо (z,b), b=z. Перехід до кроку 2.
Якщо f ' ( z ) 0, то виключаємо (a,z), a=z. Перехід до кроку 2.
Крок 5. Виведення даних.
84
Метод хорд. Приклад
Мінімізувати функцію F ( x) = 2 x 2 + (16 / x) на інтервалі1 x 5 , = 0,1 .
dF ( x) 16
F ' ( x) = = 4x − 2 .
dx x
Ітерація 1.
Крок 1. b = 5 , a = 1 , F ' (b) = 19 .36 , F (a) = −12 .
'
.
19.36
Крок 2. z = 5 − = 2.53 .
(19.36 + 12) / 4
Крок 3. F ( z ) = 7.62 0 ; покласти b = 2.53 .
'
Ітерація 2.
7.62
Крок 2. z = 2.53 − = 1.94.
(7.62 + 12) / 1.53
Крок 3.F ' ( z ) = 3.51 0; покласти b = 1.94 . Ітерації продовжуються
до тих пір, поки не буде виконуватись нерівність | F ' ( z ) | .
85
Порівняння методу хорд та
Ньютона (1)
У таблиці наведено хід ітерацій для процедури отримання
квадратного кореня з числа a = 16 . Початкове наближення вибрано
однаковим: x 0 = 2 . З таблиці видно, що для даного випадку метод
хорд збігається повільніше.
Номер ітерації xn за методом Ньютона за методом хорд
0 2.0000 2.0000
1 5.0000 5.0000
2 4.1000 3.7143
3 4.0012 3.9673
Метод хорд має повільнішу збіжність, ніж метод Ньютона, однак у ньому не
потрібно обчислювати на кожному кроці значення похідної . Якщо
зафіксувати кінцеву точку відрізка, для якої виконується співвідношення
F ( x) F ' ( x) 0 , і позначити її через x F, то отримаємо традиційну формулу
xn − x F
методу хорд x n+1 = x n − F ( x n ) , n = 1,2,....
F ( xn ) − F ( x F )
86
Порівняння методів одновимірної
оптимізації (1)
87
Порівняння методів одновимірної
оптимізації (2)
88
Порівняння методів одновимірної
оптимізації (3)
89