Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

lectures / Konspect_Ch1

.pdf
Скачиваний:
46
Добавлен:
12.02.2016
Размер:
1.5 Mб
Скачать

Конспект лекцій Ч.1. Теслюк В.М., Андрійчук М.І. „Методи синтезу та оптимізації”

Звідси випливає, що метод золотого січення гірший методу n при великих n всього у

((5 1) / 2)2 / 5 1.1708 раз, тобто на класі унімодальних функцій метод золотого січення близький до оптимальних методів.

Таким чином, застосування методів виключення інтервалів накладає єдине обмеження на цільову функцію, яка досліджується - унімодальність.

Отже, розглянуті вище методи можна використати для аналізу як неперервних, так і розривних та дискретних функцій. Логічна структура пошуку базується на простому порівнянні значень функції в двох пробних точках.

2.6 Методи поліноміальної апроксимації та точкової оцінки

Найпростіший випадок заснований на тому факті, що функція, яка приймає мінімальне значення у внутрішній точці інтервалу, має бути принаймі квадратична [3,5,8-11].

Якщо цільова функція F(х) в точках x1, x2, x3 приймає відповідні значення F1, F2, F3, то можна визначити коефіцієнти а0, a1, a2 таким чином, що значення квадратичної функції

q(х) = a0 + a1(x-x1) + a2(x-x1)(x-x2)

співпадуть зі значенням F(х) в трьох вказаних точках.(див. Табл.2.1). Обчислення значень.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Табл. 2.1

F1

= F(x1) = q(x1) = ao

ao = F1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F2

= F(x2) = q(x2) = F1 + a1(x2 - x1)

a1 =(F2 - F1)/(x2 - x1)

 

 

 

 

 

F3

=q(x3) = F1 + [(F2 - F1) (x3 - x1)]/ /(x2 - x1) + a2(x3 - x1) (x3 -

 

 

 

 

 

 

1

 

 

 

 

 

F1

 

 

 

 

 

x2)

a2 =

 

 

 

 

 

F3

 

F2 F1

x

3

x

2

 

 

x

3

x

x

2

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

1

 

 

dq

 

*

 

 

x2 x1

 

 

 

 

a1

 

 

 

 

 

 

 

0

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

2a2

 

 

 

 

 

Отже, згідно таблиці 2.1, точка мінімуму буде визначатися наступним виразом:

x*

x2 x1

 

a1

.

 

 

2

 

2a2

2.6.1 Метод з використанням квадратичної апроксимації. Метод Пауела

Якщо відомі значення функції F(х) в трьох різних точках x1, x2, x3 відповідно F1, F2, F3, то

функція F(х) може бути апроксимована квадратичною функцією

F(х)=Ax2+Bx+C,

де: А, В і C визначаються з наступних рівнянь

Ax12 Bx1 C F1 , Ax22 Bx2 C F2 , Ax32 Bx3 C F3 .

Після перетворень цих рівнянь отримуємо

A= x3 x2 F1 x1 x3 F2 x2 x1 F3 B= x2 x3 F1 x3 x1 F2 x1 x2 F3 C= x2x3 x3 x2 F1 x3x1 x1 x3 F2 x1 x2 x2 x3 F3

де: x1 x2 x2 x3 x3 x1

33

Конспект лекцій Ч.1. Теслюк В.М., Андрійчук М.І. „Методи синтезу та оптимізації”

Зрозуміло, що F(x) буде мати мінімум в точці х=-B/2A, якщо А>0.

Отже

можна

апроксимувати точку мінімуму функції F(х) значенням

 

 

 

 

δ

1

 

x2

x2

F x

2

x

2

F x2

x2

F

 

 

 

 

 

3

1

2

2

 

3

1

1

 

2

3

 

 

 

 

2

 

x x

F x

2

x

3

F x x

2

F

.

 

 

 

 

 

3

1

2

 

 

1

1

 

3

 

 

 

Цей метод може безпосередньо застосовуватися до функцій однієї змінної. Він може бути дуже корисний для виконання лінійного пошуку. В цих процедурах потрібно знайти мінімум функції F(х) в точках x0d , де xo- задана точка, а d визначає заданий напрям пошуку оптимуму. Значення функції F(x0d) на цій прямій є значеннями функції однієї змінної λ :

F(λ) = F(x0d).

Ідеї і результати, викладені вище, перетворимо у вичислювальні процедури, які описані далі. Припустимо, що задані унімодальна функція однієї змінної F(х), початкова апроксимація місця знаходження мінімуму і довжина кроку , є величиною того ж порядку, що і відстань від точки А до точки реального мінімуму х*(умова, яку не завжди просто задовольнити). Кроки обчислювальної процедури мають наступні кроки:

Крок 1. x2 = x1 + х.

Крок 2. Обчислити значення функцій F(x1) і F(x2). Крок 3. Якщо F(x1) > F(x2), то x3 = x1 + 2 х, а

Якщо F(x1)< F(x2), то x3 = x1 - х.

Крок 4. Обчислити F(x3) і знайти Fmin= min{ F(x1), F(x2), F(x3)}, xmin = xi, яка відповідає

Fmin.

Крок 5. По x1, x2, x3 обчислити х*, використовуючи формулу для оцінки з допомогою квадратичної апроксимації.

Крок 6. Перевірка закінчення роботи алгоритму:

Якщо Fmin - F(х*) < , то закінчити пошук. В іншому випадку перехід до кроку 7. Якщо xmin - х* < , то закінчити пошук. В іншому випадку перехід до кроку 7.

Крок 7. Вибрати xmin або х* і дві точки по обидві сторони від неї. Визначити в природному порядку і перейти до кроку 4.

Даний метод часто називають методом Пауела. Відмітимо, що якщо точка ε задана дуже малою, то x1, x2, x3, а також F1, F2, F3 будуть дуже близько одне до одного і значення δ може стати взагалі недосяжним. Щоб подолати цю трудність, перепишемо рівняння для другої і останньої інтерполяції в наступному вигляді:

 

 

 

 

 

1

F F

x

 

x

 

x

 

x

 

 

 

 

 

 

 

2

3

3

 

 

1

 

2

1

2

 

 

 

1

δ

x1

x2

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

x3 x1 F2 x2 x3 F1 x1 x2 F3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Наведемо приклад застосування методу Пауела. Розглянемо процедуру оцінки

координати точки мінімуму функції

 

 

 

 

 

 

 

 

 

F(x) 2x 2 (16

) ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

в інтервалі 1 x 5 .

Нехай x1

1,

x3 5 ,

а

x2

є середньою точкою інтервала, тобто

x2 3. Вирахуємо відповідні значення функції:

 

 

 

 

 

F1 18 ,

F2 23,33,

F3 53,2 .

 

 

 

 

 

 

 

 

 

34

Конспект лекцій Ч.1. Теслюк В.М., Андрійчук М.І. „Методи синтезу та оптимізації”

Для того, щоб оцінити значення x , необхідно знайти значення параметрів a1 та a2 апроксимуючої функції. Відповідно отримаємо:

 

 

 

23,33 18

 

8

 

,

a2

 

1

 

53,2 18

 

8

 

 

46

.

a1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3 1

 

 

3

 

3

 

5 1

3

15

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

Підставимо ці значення в формулу

 

 

 

 

 

 

 

x

 

 

(x

 

x )

 

 

 

a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

1

2

 

1

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2a2

 

 

 

 

 

 

 

 

 

 

 

і отримаємо

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

(3 1)

 

 

 

(8 / 3)

1,5874 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

2(46 /15)

 

 

 

 

 

 

 

Точне значення мінімуму досягається при x 1,5874 .

2.6.2 Метод з використанням кубічної апроксимації

В даному методі функція F (x) апроксимується поліномом третього порядку. Робота методу починається в довільно вибракій точці x1 , після цього знаходиться друга точка, така,

що похідні

 

F '

 

(x )

 

 

і

F ' (x

2

) мають

 

різні

 

знаки. Іншими

словами,

необхідно помістити

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F '

(x) 0 ,

 

 

 

 

між x

і x

 

 

 

 

 

 

 

стаціонарну точку

x ,

в якій

 

в

інтервал

2

. Апроксимуючу кубічну

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

функцію записуємо в наступному вигляді

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F(x) a

0

 

a (x x ) a

2

(x x )(x x

2

) a

3

(x x )2 (x x

2

}.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

1

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Параметри цього рівняння вибирають таким чином, щоб значення

 

F (x) та її похідної в

точках x

 

 

x

 

 

 

співпадали із значеннями F (x) та F '

 

 

 

 

та

2

 

 

(x) в цих точках. Перша похідна F (x)

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

рівна

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

' (x) a a

 

(x x ) a

 

(x x

 

 

) a

 

(x x )2

2a

 

(x x

 

 

 

 

 

 

 

 

 

F

2

2

2

3

3

2

}.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

Коефіцієнти a0 , a1 , a2

 

 

 

a3

 

 

 

 

 

 

і

 

 

рівняння для F (x)

визначаються за відомими значеннями

F(x ), F(x

2

), F

 

' (x ) і

F ' (x

2

) шляхом розв’язування наступної системи лінійних рівнянь

1

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F1 F(x1 ) a0 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F2 F(x2 ) a0 a1 (x2 x1 ) ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F '

F ' (x ) a a

2

(x x

2

) ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

1

 

 

1

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F '

F ' (x

2

) a a

2

(x

2

x ) a

3

(x

2

x )2 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Зауважимо, що дана схема легко реалізується рекурсивним методом, Після того, як коефіцієнти знайдено, діючи по аналогії з квадратичною апроксимацією, можна оцінити

координати стаціонарної точки функції F з допомогою апроксимуючого полінома F (x) . При

цьому, прирівнюючи до нуля похідну F ' (x) отримуємо квадратне рівняння. Використовуючи формулу для обчислення коренів квадратного рівняння, запишемо розв’язок, який визначає стаціонарну точку апроксимаційного кубічного полінома у наступному вигляді

35

 

 

 

 

 

 

 

 

 

 

 

Конспект лекцій Ч.1. Теслюк В.М., Андрійчук М.І. „Методи синтезу та оптимізації”

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2 , якщо 0,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

(x2

 

x1 ), якщо 0

1,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1 , якщо

1,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

де

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F

' w z

 

, z

 

3(F F )

F

'

F ' ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

2

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F '

F '

2w

 

 

 

 

x

 

 

x

 

 

 

 

 

1

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(z 2

F1' F2' )1/ 2 ,

 

якщо x1

x2 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

F

' F ' )1/ 2 ,

 

якщо x

 

x

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(z 2

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

2

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Формула для забезпечує правильний вибір одного з двох коренів квадратного

 

 

 

 

 

 

 

 

 

 

 

 

 

 

з інтервалу [0,1]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

рівняння.

 

Для значень

 

 

 

формула для

 

x

 

гарантує, що отримана точка

 

x

розміщена між x1

та x2 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Після цього знову вибирають дві точки для кубічної апроксимації - x і одна з точок x1

та

x2 , причому значення похідної в цих двох точках повинні бути різні по знаку, і процедура

кубічної апроксимації повторюється.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Наведемо формальний опис алгоритма методу з використанням кубічної апроксимації.

Нехай задано початкову точку x0 , додатня величина кроку і параметри збіжності 1

та 2 .

 

 

 

 

 

 

 

Крок 1. Обчислити F ' (x0 ) .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Якщо F '

(x

0

) 0, обчислити x

k 1

x

k

2k для k 0,1,2,...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Крок 2. Обчислити значення

F '

(x )

 

в точках

x

k 1

при k 0,1,2,... аж до точки x

M

, в

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

якій

F '

(x

M

1

)F ' (x

M

) 0.

 

Потім

покласти

x

x

M 1

, x

2

x

M

. Обчислити

 

значення

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F , F , F ' , F ' .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

2

1

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Крок 3. Знайти стаціонарну точку x апроксимуючого полінома.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Крок 4. Якщо

 

F(x) F(x1 ) ,

перейти до кроку 5,

інакше

 

x

обчислити за формулою

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x x 1/ 2(x x1 ) до тих пір, поки не буде виконуватись нерівність

F(x) F(x1 ) .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Крок 5. Перевірка на закінчення пошуку.

Якщо | F ' (x) |

1

 

і

| (x x ) / x |

2

, пошук

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

закінчити. Інакше покласти

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а) x

2

і

x x , якщо F ' (x)F ' (x ) 0 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

або

 

 

 

б)

x

 

x , якщо

F ' (x)F ' (x

2

) 0 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Після цього перейти до кроку 3.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приклад. Пошук з використанням кубічної апроксимації і похідних.

 

 

 

 

 

 

 

 

 

 

 

 

Мінімізівати F9x) 2x2

16 / x . Нехай

початкова

 

точка

 

 

x

0

1, 1,

 

1

10 2 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

3 10 2 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F ' (x)

dF

4x 16 / x2 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ітерація 1.

36

Конспект лекцій Ч.1. Теслюк В.М., Андрійчук М.І. „Методи синтезу та оптимізації”

Крок 1. F ' (1) 12 0 , отже x1 1 1 2. Крок 2. F ' (2) 4 .

Оскільки F ' (1)F ' (2) 18 0 , то стаціонарна точка розміщена між 1 і 2. Покладемо

x1 1, x2

 

2.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Тоді F 18 , F 16 , F '

12

, F '

4 .

 

 

 

 

 

 

 

 

 

1

 

2

 

1

 

2

 

 

 

 

 

 

 

 

 

 

Крок 3.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z

3

(18 16) ( 12) 4 2 ,

[4 ( 12)(4)]1/ 2 (52)1/ 2 7.211 ,

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4 7.211 ( 2)

0.4343 ,

 

 

 

 

 

 

 

 

 

 

 

 

x 2 0.4343(2 1)

1.5657 .

 

 

 

 

 

 

 

 

 

 

 

 

4 ( 12) 2 (7.211)

 

 

 

 

Крок 4.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F(1.5657 ) 15.1219

F(x1 ) 18 . Отже, продовжуємо пошук.

 

 

 

 

Крок 5.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Перевірка на закінчення пошуку. F ' (1.5657 ) 0.2640 , пошук не закінчено.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Оскільки F

' (x)F ' (x

2

) ( 0.2640 )4 0 , то покладаємо x

x 1.5657 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

Ітерація 2.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Крок 3.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z ... 2.3296 , ... 2.5462 , ... 0.9486 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x 1.5880 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Крок 4.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F(1.5880 ) 15.11911 F(x1 ) 15.1219 . Продовжуємо пошук.

 

 

 

 

Крок 5.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Перевірка

 

 

на

 

закінчення

 

 

пошуку.

F ' (1.5880 ) 0.0072

10 2 ,

|

1.5880 1.5657

| 0.0140

3 10 2 . Пошук закінчено.

 

 

 

 

 

1.5880

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.7 Методи з використанням похідних

Всі розглянуті в попередніх розділах методи пошуку базуються на припущеннях про унімодальність і в ряді випадків про неперервність цільової функції, яка досліджується. Доцільно передбачити, що якщо в доповнення до умови неперервності ввести вимогу диференційованості функції, то ефективність пошукових процедур можна значно підвищити. Нагадаємо, що необхідна умова існування локального мінімуму функції в деякій точці z, згідно

з яким перша похідна функції в точці має бути рівною нулю, тобто F ' (z)

dF

 

0 .

 

 

dx

 

x x 0

Якщо функція F(х) містить члени, які включають х в третій і більш високих степенях, то безпосереднє отримання аналітичного рішення рівняння F'(х)=0 може виявитися досить складною задачею. В таких випадках використовуються наближені методи послідовного пошуку стаціонарної точки функції F. Передусім опишемо класичну пошукову схему,

37

Конспект лекцій Ч.1. Теслюк В.М., Андрійчук М.І. „Методи синтезу та оптимізації”

орієнтовану на знаходження кореня нелінійного рівняння. Ця схема була розроблена Ньютоном і пізніше уточнена Рафсоном.

2.7.1Метод Ньютона-Рафсона

Врамках схеми Ньютона-Рафсона[3,5] передбачається, що функція F двічі диференційована. Робота алгоритму починається в точці xк, яка представляє початкове наближення (чи початкову оцінку) координати стаціонарної точки, або кореня рівняння F'(х)=0. Потім будується лінійна апроксимація функції F'(х) в точці xк, і точка, в якій апроксимуюча лінійна функція рівна нулю, приймається як наступне наближення.

Рис.2.8 Метод Ньютона-Рафсона ( збіжність)

Якщо точка xk (як правило її на першій ітерації позначають хо ) прийнята як поточне наближення до стаціонарної точки, то лінійна функція, апроксимуюча функцію F'(х) в точці xk , записується у вигляді

F ' x; xk F ' xk F '' xk x xk .

Прирівнявши праву частину рівняння до нуля, то отримаємо наступне наближення: xk 1 xk F ' xk / F '' xk .

Рис.2.8 та рис.2.9 ілюструють основні кроки реалізації методу Ньютона. На жаль, в залежності від вибору початкової точки і виду цільової функції алгоритм може як сходитися до істинної стаціонарної точці, так і розбігтися, що відображено на рис. 2.9. Якщо початкова точка розташована правіше за x0, то ті, що отримуються внаслідок послідовних наближень точки віддаляються від стаціонарної точки z.

2.7.2 Приклад застосування методу НьютонаРафсона

Згідно алгоритму розвязку оптимізаційної задачі з допомогою методу Ньютона-Рафсона

(Рис.2.9).

38

Конспект лекцій Ч.1. Теслюк В.М., Андрійчук М.І. „Методи синтезу та оптимізації”

Рис.2.9. Метод Ньютона -Рафсона (відсутність збіжності)

Ввід початкових даних xk,E

Визначити 1-шу та 2-гу похідні f’(xk), f’’(xk)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Xk+1=xk-f’(xk)/f’’(xk)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Xk=Xk+1

 

 

 

 

 

 

|f’(xk)|<E

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

КІНЕЦЬ

 

 

 

Рис.2.9 Основні кроки методу Ньютона-Рафсона

Розвяжемо наступну задачу:

 

 

 

 

 

 

 

 

 

 

мінімізувати F x 2x2

16/x .

 

 

 

 

 

 

 

 

Для того щоб визначити стаціонарну точку функції F(х), скористаємося методом

Ньютона -Рафсона, поклавши x1 1:

 

 

 

 

 

 

 

 

F ' x 4x 16 / x2

, F '' x 4 32 / x3 .

 

 

 

 

Ітерація 1.

x 1,

F

' x

12 , F '' x

 

36 ,

x 1 12 / 36 1,33.

 

1

 

1

 

 

1

 

 

 

 

2

 

 

Ітерація 2.

x 1,33 ,

F

' x

2

3,73

, F '' x

2

17,6 , x 1,33 3,73/17,6 1,54

 

2

 

 

 

 

 

 

 

 

 

3

 

Ітерації продовжуються доти, поки не буде виконуватися нерівність F ' xk ε , де зазделегідь встановлена величина допустимого відхилення.

39

Конспект лекцій Ч.1. Теслюк В.М., Андрійчук М.І. „Методи синтезу та оптимізації”

2.7.3 Метод січних (хорд)

У методі Ньютона потрібно обчислювати похідну F ' (x) , що не завжди зручно. Якщо її замінити розділеною різницею першого порядку, обчисленою на двох останніх ітераціях[3,5]

F ' (x

 

) F (x

 

 

; x

 

)

F (xn ) F (xn 1 )

,

n

n 1

n

 

 

 

 

 

 

 

 

xn xn 1

 

 

 

 

 

 

 

 

 

 

то з ітераційної формули методу Ньютона отримаємо формулу узагальненого методу

хорд:

 

 

 

 

 

 

 

 

 

 

 

 

xn 1 xn

 

 

xn xn 1

 

F (xn ) , n 1,2,....

 

 

 

 

 

 

 

 

 

 

 

F (xn ) F (xn 1 )

Геометрична

інтерпретація методу хорд наступна: дотичну до точки (xn , F(xn ))

замінює січна, проведена через точки (xn 1 , F(xn 1 )) і (xn , F(xn )) . Геометричну

інтерпретацію методу показано на Рис. 2.10. y

y=F(x)

x

 

 

 

 

 

 

 

 

 

 

 

Рис. 2. 10.

Приклад застосування методу січних.

Мінімізувати функцію F(x) 2x2

(16 / x) на інтервалі 1 x 5 .

F ' (x)

dF (x)

4x

16

.

 

 

 

 

 

 

 

 

 

dx

 

 

x 2

 

Ітерація 1.

 

 

 

 

 

 

 

Крок 1. b 5 , a 1,

F ' (b) 19.36 ,

F ' (a) 12 .

Крок 2.

 

 

 

 

 

 

 

 

 

z 5

 

 

19.36

 

 

 

2.53 .

 

 

 

 

(19.36 12) / 4

 

Крок 3. F ' (z) 7.62 0 ; покласти b 2.53.

Ітерація 2.

 

 

 

 

 

 

 

Крок 2.

z 2.53

 

 

 

7.62

 

1.94

 

 

(7.62 12) /1.53

Крок 3.

F ' (z) 3.51 0 ; покласти

b 1.94 . Ітерації продовжуються до тих пір, поки не

буде виконуватись нерівність | F ' (z) | .

40

xF , то

Конспект лекцій Ч.1. Теслюк В.М., Андрійчук М.І. „Методи синтезу та оптимізації”

Продемонструємо ефективність методу хорд в порівнянні з методом Ньютона. У таблиці 2.2 наведено хід ітерацій для процедури отримання квадратного кореня з числа a 16 . Початкове наближення вибрано однаковим: x0 2 . З таблиці слідує, що для даного випадку метод хорд збігається повільніше.

 

 

Табл. 2.2

 

 

 

Номер ітерації n

xn за методом Ньютона

xn за методом хорд

 

 

 

0

2.0000

2.0000

 

 

 

1

5.0000

5.0000

 

 

 

2

4.1000

3.7143

 

 

 

3

4.0012

3.9673

 

 

 

Метод хорд належить до так званих двокрокових: для знаходження n 1-го наближення потрібно мати інформацію про два попередні наближення. Для запуску ітераційного процесу перше наближення x1 потрібно обчислити будь-яким однокроковим методом, або ж задати.

Наближення x2 і наступні обчислюються згідно формули методу.

Метод хорд має повільнішу збіжність, ніж метод Ньютона, однак у ньому не потрібно обчислювати на кожному кроці значення похідної F ' (x) . Якщо зафіксувати кінцеву точку відрізка, для якої виконується співвідношення F(x)F ' (x) 0, і позначити її через отримаємо традиційну формулу методу хорд

xx

xn 1 xn F (xnn) FF(xF ) F (xn ) , n 1,2,....

2.8 Порівняльна характеристика та особливості застосування і програмної реалізації методів одновимірної оптимізації

Найкращими критеріями порівняння трьох методів пошуку серед методів дроблення інтервалу, описаних вище, є їх ефективність і універсальність [3,5-11]. Під ефективністю алгоритму звичайно розуміють число обчислень цільової функції, необхідне для досягнення необхідного звуження інтервалу невизначеності. З табл. 2.3 слідує, що кращим в цьому відношенні є метод „золотого січення‖, а гіршим метод загального пошуку.

Універсальність алгоритму означає, що його можна легко застосувати для рішення самих різноманітних задач. З точки зору універсальності малоефективний метод загального пошуку має принаймні одну перевагу його можна з успіхом застосовувати і для неунімодальних функцій, якщо вони досить гладкі. Нерідко зазделегідь не відомо, чи є цільова функція, що розглядається унімодальною. В таких випадках потрібно скористатися декількома різними алгоритмами і подивитися, чи дають вони всі один і той же оптимум. Звідси слідує важливий висновок, який потрібно мати на увазі, вирішуючи задачі оптимізації: не існує універсального алгоритму, який дозволяв би вирішувати будь-які задачі. Вирішуючи складні задачі оптимізації, потрібно користуватися різними методами, оскільки це дозволяє збільшити частку вдалих рішень.

В табл.2.4 наведено значення кількості обрахунків значення цільової функції при вирішенні одновимірних задач оптимізації різними методами.

41

Конспект лекцій Ч.1. Теслюк В.М., Андрійчук М.І. „Методи синтезу та оптимізації”

Отримані результати дозволяють стверджувати, що найбільш ефективним є метод поліноміальної апроксимації. Хорошими результатами володіє метод Ньютона-Рафсона та метод золотого січення з методів дроблення інтервалу.

Табл. 2.3 Порівняння методів одновимірного пошуку по значеннях коефіцієнта дроблення

інтервалу невизначеності

Число вирахувань

Метод

загального

Метод

ділення

Метод золотого січення

значення функції

перебору

 

інтервалу

на

 

 

 

 

половину

 

 

1

1,0

 

1,0

 

1,0

 

 

 

 

 

2

0,667

 

 

0,618

 

 

 

 

 

3

0,500

0,503

 

0,382

 

 

 

 

 

4

0,400

 

 

0,236

 

 

 

 

 

5

0,333

0,:50

 

0,146

 

 

 

 

 

6

0,286

 

 

0090

 

 

 

 

 

7

0,250

0,125

 

0,056

 

 

 

 

 

8

0,222

 

 

0,0345

 

 

 

 

 

9

0,200

0,0625

 

0,0213

 

 

 

 

 

10

0,182

 

 

0,0132

 

 

 

 

 

13

0,143

0,0156

 

0,00311

 

 

 

 

 

14

0,133

 

 

0,00192

 

 

 

 

 

15

0,125

0,00781

 

0,00119

 

 

 

 

 

17

0,111

0,00391

 

0,000453

 

 

 

 

 

19

0,100

0,00195

 

0,000173

 

 

 

 

 

20

0,095

 

 

0,000107

 

 

 

 

 

 

Всі величини округлені до трьох значущих цифр.

Табл. 2.4

Значення кількості обрахунків значеннь цільової функції [12]

Методи одновимірної оптимізації

Цільова функція

 

 

 

 

Загального перебору

Половинного ділення

Золотого січення

Квадратичної апроксимації

-Ньютона Рафсона

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (x) x

4

14x

3

60x

2

70x

44

23

18

9

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f (x) =

 

0.3333x3 + ex + 2x

66

37

28

7

12

 

 

 

 

 

 

 

 

f (x) x3 3sin(x)

 

 

55

33

25

7

10

 

 

 

 

 

 

 

 

 

 

 

 

42

Соседние файлы в папке lectures