Методи пошукової оптимізації

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

1. Призначення і класифікація методів пошукової оптимізації
У зв'язку зі складністю об'єктів проектування критерії якості і обмеження задачі параметричної оптимізації (1.5), як правило, занадто складні для застосування класичних методів пошуку екстремуму. Тому на практиці перевага віддається методам пошукової оптимізації. Розглянемо основні етапи будь-якого методу пошуку.
Вихідними даними в методах пошуку є необхідна точність методу  і початкова точка пошуку Х 0.
Потім вибирається величина кроку пошуку h, і по деякому правилу відбувається отримання нових точок X k +1 за попередньої точки Х k, при k = 0,1,2, ... Отримання нових точок продовжують до тих пір, поки не буде виконана умова перервати пошук . Остання точка пошуку вважається рішенням задачі оптимізації. Всі крапки пошуку складають траєкторію пошуку.
Методи пошуку можуть відрізнятися один від одного процедурою вибору величини кроку h (крок може бути однаковим на всіх ітераціях методу або розраховуватися на кожній ітерації), алгоритмом отримання нової точки і умовою припинення пошуку.
Для методів, які використовують постійну величину кроку, h слід вибирати значно менше точності   h »Öe). Якщо при обраній величині кроку h не вдається отримати рішення з необхідною точністю, то потрібно зменшити величину кроку і продовження пошуку від останньої точки наявної траєкторії.
В якості умов припинення пошуку прийнято використовувати наступні:
усі сусідні точки пошуку гірша, ніж попередня;
çФ (X k +1) - Ф (X k) ç £ e, тобто значення цільової функції Ф (Х) в сусідніх точках (нової і попередньої) відрізняються один від одного на величину не більше, ніж необхідна точність e;
SHAPE \ * MERGEFORMAT



Ф (Х
k
+1
)

£

e
,
i
= 1, ...,
n
,
(2.1)



x
i


тобто всі приватні похідні в новій точці пошуку практично рівні 0 чи відрізняються від 0 на величину, що не перевищує заданої точності e.
Алгоритм отримання нової точки пошуку Х k +1 за попередньої точки Х k свій для кожного з методів пошуку, але будь-яка нова точка пошуку повинна бути не гіршою за попередню: якщо завдання оптимізації є завданням пошуку мінімуму, то Ф (Х k +1) £ Ф (Х k).
Методи пошукової оптимізації прийнято класифікувати по порядку похідної цільової функції, використовуваної для одержання нових точок. Так, в методи пошуку нульового порядка не потрібно обчислення похідних, а досить самої функції Ф (Х). Методи пошуку першого порядку використовують перші приватні похідні, а методи другого порядку використовують матрицю других похідних (матрицю Гессе).
Чим вище порядок похідних, тим більш обгрунтованим є вибір нової точки пошуку і тим менше число ітерацій методу. Але при цьому зростає трудомісткість кожної ітерації через необхідність чисельного розрахунку похідних.
Ефективність пошукового методу визначають за кількістю ітерацій і за кількістю обчислень цільової функції Ф (Х) на кожній ітерації методу (N). Розглянемо найбільш поширені методи пошуку, розташувавши їх у порядку зменшення числа ітерацій.
Для методів пошуку нульового порядку справедливо наступне: у методі випадкового пошуку не можна заздалегідь передбачити кількість обчислень Ф (Х) на одній ітерації N, а в методі покоординатного спуску N £ 2 × n, де n-кількість керованих параметрів X = (x1, x2. , ..., xn).
Для методів пошуку першого порядку справедливі наступні оцінки: в градієнтному методі з постійним кроком N = 2 × n; в градієнтному методі з подрібненням кроку N = 2 × n + n 1, де n 1 - число обчислень Ф (Х), необхідних для перевірки умови дроблення кроку; в методі найшвидшого спуску N = 2 × n + n 2, де n 2 - число обчислень Ф (Х), необхідних для розрахунку оптимальної величини кроку, а в методі Давідона - Флетчера - Пауелла (ДФП) N = 2 × n + n 3, де n 3 - число обчислень Ф (Х), необхідних для розрахунку матриці, що наближає матрицю Гессе (для величин n 1, n 2, n 3 справедливе співвідношення n 1 <n 2 <<n 3).
І, нарешті, у методі другого порядку - методі Ньютона N = 3 × n 2. При отриманні даних оцінок передбачається наближене обчислення похідних за формулами кінцевих різниць / 6 /:
SHAPE \ * MERGEFORMAT


Ф (Х) Ф (
x
1
, ...,
x
i
+
a
.
, ...,
x
n
)
-
Ф (
x
1
, ...,
x
i
.
, ...,
x
n
)

»

,
(2.2)


x
i
a


SHAPE \ * MERGEFORMAT

2
Ф (Х) Ф (
x
1
, ...,
x
i
+
a
.
, ...,
x
n
)
-
2
×
Ф (
x
1
, ...,
x
i
.
, ...,
x
n
) + Ф ((
x
1
, ...,
x
i
-
a
.
, ...,
x
n
)

»


,
(2.3)


x
i
2


2
×

a


тобто для обчислення похідної першого порядку потрібно знати два значення цільової функції Ф (Х) в сусідніх точках, а для другої похідної - значення функції у трьох точках.
На практиці широке застосування знайшли метод найшвидшого спуску і метод ДФП, як методи з оптимальним співвідношенням числа ітерацій і їх трудомісткості.

2. Методи пошуку нульового порядка
2.1. Метод випадкового пошуку
У методі випадкового пошуку вихідними даними є необхідна точність методу e, початкова точка пошуку Х 0 = (x1 0, x2. 0, ..., xn 0) і величина кроку пошуку h. Пошук нових точок виробляється у випадковому напрямку, на якому і відкладається заданий крок h (рис. 2.1), таким чином отримують пробну точку Х ^ і перевіряють, чи є задана точка кращою, ніж попередня точка пошуку. Для задачі пошуку мінімуму це означає, що
Ф (Х ^) £ Ф (Х k), k = 0,1,2 ... (2.4)
Якщо умова (2.4) виконано, то пробну точку включають в траєкторію пошуку Х k +1 = Х ^. В іншому випадку, пробну точку виключають з розгляду і виробляють вибір нового випадкового спрямування з точки Х k, k = 0,1,2,.
Незважаючи на простоту даного методу, його головним недоліком є той факт, що заздалегідь невідомо, скільки випадкових напрямків буде потрібно для одержання нової точки траєкторії пошуку Х k +1, що робить витрати на проведення однієї ітерації занадто великими. Крім того, оскільки при виборі напрямку пошуку не використовується інформація про цільову функції Ф (Х), кількість ітерацій в методі випадкового пошуку дуже велике.
У зв'язку з цим метод випадкового пошуку використовується для дослідження маловивчених об'єктів проектування і для виходу із зони тяжіння локального мінімуму при пошуку глобального екстремуму цільової функції / 6 /.
SHAPE \ * MERGEFORMAT
Ф (Х
^
)> Ф (Х
k
)





·

Х
^
Ф (
Х
^
)
£
Ф (Х
k
)



h

X
k

·




·


h

X
k
+1
=
X


h

·

Х
^



Ф (
Х
^
)> Ф (Х
k
)



Рис. 2.1


2.2. Метод покоординатного спуску
На відміну від методу випадкового пошуку, в методі покоординатного спуску в якості можливих напрямків пошуку вибирають напрями, паралельні осям координат, причому рух можливий як у бік збільшення, так і зменшення значення координати.
Вихідними даними в методі покоординатного спуску є величина кроку h і початкова точка пошуку Х 0 = (x1 0, x2. 0, ..., xn 0). Рух починаємо з точки Х 0 вздовж осі x1 в бік збільшення координати. Отримаємо пробну точку Х ^ з координатами (x1 0 + h, x2 0, ..., xn 0), при k = 0.
Порівняємо значення функції Ф (Х ^) зі значенням функції в попередній точці пошуку Х k. Якщо Ф (Х ^) £ Ф (Х k) (ми припускаємо, що потрібно вирішити задачу мінімізації цільової функції Ф (Х)), то пробну точку включають в траєкторію пошуку ( Х k 1 = Х ^).
В іншому випадку, пробну точку виключаємо з розгляду і отримуємо нову пробну точку, рухаючись вздовж осі x1 в бік зменшення координати. Отримаємо пробну точку Х ^ = (x1 k-h, x2. k, ..., xn k ). Перевіряємо, якщо Ф (Х ^)> Ф (Х k), то продовжуємо рух вздовж осі x 2 в бік збільшення координати. Отримаємо пробну точку Х ^ = (x1 k, x2. K + h, ..., xn k) і т.д. При побудові траєкторії пошуку повторне рух по точках, що ввійшли в траєкторію пошуку, заборонено. Отримання нових точок у методі покоординатного спуску продовжується до тих пір, поки не буде отримана точка Х k, для якої всі сусідні 2 × n пробних точок (за всіма напрямами x1, x2., ..., Xn у бік збільшення і зменшення значення кожної координати) будуть гіршими, тобто Ф (Х ^)> Ф (Х k). Тоді пошук припиняється і в якості точки мінімуму вибирається остання точка траєкторії пошуку Х * = Х k.
SHAPE \ * MERGEFORMAT
x
2



4
¾

3
¾

Ä


2
Ä

¨
X
*
 
Ä


1
¨
X
0

¨

X
1

Ä



½

½

½

½

x
1

0 1 2 3 4


Ä
-

пробна точка

Рис. 2.2




3. Методи пошуку першого порядку
3.1. Структура градієнтного методу пошуку
У методах пошуку першого порядку в якості напрямку пошуку максимуму цільової функції Ф (Х) вибирається вектор градієнт цільової функції grad (Ф (Х k)), для пошуку мінімуму - вектор антіградіент-grad (Ф (Х k)). При цьому використовується властивість вектора градієнта вказувати напрямок найшвидшого зміни функції:
SHAPE \ * MERGEFORMAT


grad
(
Ф
(
Х

k
))
=

Ф (Х
k
)
,

Ф (Х
k
)
,

Ф (Х
k
)


. (2.5)



x
1

x
2

x
n



Для вивчення методів пошуку першого порядку важливо також наступне властивість: вектор градієнт grad (Ф (Х k)) спрямований по нормалі до лінії рівня функції Ф (Х) в точці Х k (Див. рис. 2.4). Лінії рівня - це криві, на яких функція приймає постійне значення (Ф (Х) = соnst).
У цьому розділі ми розглянемо 5 модифікацій градієнтного методу:
градієнтний метод з постійним кроком,
градієнтний метод з подрібненням кроку,
метод найшвидшого спуску,
метод Давідона-Флетчера-Пауелла,
дворівневий адаптивний метод.
3.2. Градієнтний метод з постійним кроком
У градієнтному методі з постійним кроком вихідними даними є необхідна точність e, початкова точка пошуку Х 0 і крок пошуку h.
Отримання нових точок виробляється за формулою:
SHAPE \ * MERGEFORMAT
Х
k +1
=

Х
k

-
h
×
grad
Ф
(
Х
k
)
, K = 0,1,2, ...

(2.6)


Формула (2.7) застосовується, якщо для функції Ф (Х) необхідно знайти мінімум. Якщо ж завдання параметричної оптимізації ставиться як завдання пошуку максимуму, то для отримання нових точок у градієнтному методі з постійним кроком використовується формула:
SHAPE \ * MERGEFORMAT
Х
k +1
=

Х
k

+ H
×
grad
Ф
(
Х
k
)
, K = 0,1,2, ...

(2.7)


Кожна з формул (2.6), (2.7) є векторним співвідношенням, що включає n рівнянь. Наприклад, з урахуванням Х k +1 = (x1 k +1, x2. k +1, ..., xn k +1), Х k = (X1 k, x2. k, ..., xn k) формула (2.6) прийме вигляд:
(2.8)
SHAPE \ * MERGEFORMAT

x
1
k
+1


x
1

k


Ф (Х

k
) /

x
1


x
2.

k
+1

=
x
2

k

-

h

×


Ф (Х
k
) /

x
2

... ...
. . .


x
n
k
+1


x
n

k


Ф (Х
k
) /

x
n


або в скалярному вигляді
SHAPE \ * MERGEFORMAT

x
1
k
+1
=

x
1

k

-

h

×


Ф (Х
k
)



x
1


x
2
k
+1
=

x
2

k


-

h

×


Ф (Х
k
)



x
2

. . .

(2.9)



x
n

k
+1
=

x
n

k


-

h

×


Ф (Х
k
).



x
n


У загальному вигляді (2.9) можна записати:
SHAPE \ * MERGEFORMAT

x
i
k +1
=

x
i
k

-
h
×


Ф (Х
k
)
,
i = 1, ..., n
.


x
i


(2.10)

В якості умови перервати пошук у всіх градієнтних методах використовується, як правило, комбінація дві умови: ç Ф (X k +1) - Ф (X k) ç £ e або
SHAPE \ * MERGEFORMAT


Ф (Х
k
+1
)

£

e
для всіх
i
= 1, ...,
n
.
(2.11)



x
i


SHAPE \ * MERGEFORMAT
x
2


-
grad
(
Ф (Х
0
))

2
¾

*




Å

X
*
=
X
3


Å
Х

2



Å
X
1




1
Å
X
0








0




½

½

½

½

x
1




0.6

0.84

0.94
1


Рис. 2. 3


У градієнтному метод можна дещо скоротити число ітерацій, якщо навчитися уникати ситуацій, коли кілька кроків пошуку виконуються в одному і тому ж напрямку.

3.3. Градієнтний метод з подрібненням кроку
У градієнтному методі з подрібненням кроку процедура підбору величини кроку на кожній ітерації реалізується наступним чином.
Вихідними даними є необхідна точність e, початкова точка пошуку Х 0 і початкова величина кроку пошуку h (зазвичай h = 1). Отримання нових точок здійснюється за формулою:
SHAPE \ * MERGEFORMAT
Х
k
+1
=
Х
k

-

h
k

×
grad

Ф (Х
k
)
,
k
= 0,1,2, ...
,
(2.12)



де h k - Величина кроку на k-ої ітерації пошуку, при h k повинна виконуватися умова:
SHAPE \ * MERGEFORMAT
Ф (
Х
k

-

h
k

×
grad

Ф (Х
k
)
)
£
Ф (Х
k
)
-

e
×

h
k

×
½
grad

Ф (Х
k
)
½
2
.
(2.13)


Якщо величина h k є такою, що нерівність (2.13) не виконано, то проводиться дроблення кроку до тих пір, поки ця умова не буде виконана. Дроблення кроки виконується за формулою h k = h k × a, де 0 <a <1.Такой підхід дозволяє скоротити число ітерацій, але витрати на проведення однієї ітерації при цьому дещо зростають.
3.4. Метод найшвидшого спуску
У методі найшвидшого спуску на кожній ітерації градієнтного методу вибирається оптимальний крок у напрямку градієнта.
Вихідними даними є необхідна точність e, початкова точка пошуку Х 0.
Отримання нових точок здійснюється за формулою:
SHAPE \ * MERGEFORMAT
Х
k +1
=

Х
k

-
h
k
×
grad
Ф
(
Х
k
)
, K = 0,1,2, ...

,
(2.14)

де h
k
= Arg min Ф (
Х
k

-
h
k

×
grad
Ф
(
Х
k
)
),


0 <
h
<
¥



тобто вибір кроку виробляється за результатами одномірної оптимізації за параметром h.
Основна ідея методу найшвидшого спуску полягає в тому, що на кожній ітерації методу вибирається максимально можлива величина кроку в напрямку якнайшвидшого убування цільової функції, тобто в напрямку вектора-антіградіента функції Ф (Х) в точці Х k (Рис. 2. 4).
SHAPE \ * MERGEFORMAT
x
2




-
grad
(
Ф (Х
k
)).




·
X
k
+1


-
grad
(
Ф (Х
k
+1
))


·
X
*





·
X
k




x
1



Рис. 2.4


При виборі оптимальної величини кроку необхідно з безлічі ХМ = {Х ½ Х = Х k - H × grad Ф (Х k), hÎ [0, ¥)} точок, що лежать на векторі градієнті функції Ф (Х), побудованому в точці Х k, вибрати ту, де функція Ф (h) = Ф (Х k - h × grad Ф (Х k)) приймає мінімальне значення.
На практиці цільові функції є набагато більш складними, лінії рівня також мають складну конфігурацію, але в будь-якому випадку справедливо наступне: з усіх градієнтних методів у методі найшвидшого спуску найменше число ітерацій, але деяку проблему представляє пошук оптимального кроку чисельними методами, тому що в реальних задачах , що виникають під час проектування РЕЗ, застосування класичних методів знаходження екстремуму практично неможливо.
SHAPE \ * MERGEFORMAT
x
2



2
¾


Ä

X
*
=
X
1







-
grad
(
Ф (Х
0
))




1
Ä

X
0



лінії рівня


(
x
1

-
1)
2
+ (

x
2

-
2)
2
=
Ö
2




0




½

x
1





1



Рис. 2. 5



4. Методи пошуку другому порядку
Не дивлячись на простоту реалізації, метод найшвидшого спуску не рекомендується в якості "серйозної" оптимізаційної процедури для вирішення задачі безумовної оптимізації функції багатьох змінних, так як для практичного застосування вона працює занадто повільно. Причиною цього є той факт, що властивість найшвидшого спуску є локальним властивістю, тому необхідно часте зміна напрямку пошуку, що може призвести до неефективної обчислювальної процедурою. Більш точний і ефективний метод розв'язання задачі параметричної оптимізації (1.5) можна отримати, використовуючи другу похідні цільової функції (методи другого порядку). Вони базуються на апроксимації (тобто наближеної заміни) функції Ф (Х) функцією j (Х),

SHAPE \ * MERGEFORMAT
j
(Х) = Ф (Х
0
) + (Х
-
Х
0
)
т
×
grad
Ф (Х
0
) +
1
×

G
(
X
0
)
×

-
Х
0
),
(2.17)

2


де G (X 0) - матриця Гессе (гессіан, матриця других похідних), обчислена в точці Х 0:

Формула (2.17) являє собою перші три члени розкладання функції Ф (Х) в ряд Тейлора в околі точки Х 0, тому при апроксимації функції Ф (Х) функцією j (Х) виникає помилка не більш ніж (½ Х-Х 0 ½) 3 . З урахуванням (2.17) в методі Ньютона вихідними даними є необхідна точність e і початкова точка пошуку Х 0, а отримання нових точок виробляється за формулою:
SHAPE \ * MERGEFORMAT
Х
k
+1
=
Х
k

-

G
-
1

k
)
×
grad

Ф (Х
k
)
,
k
= 0,1,2, ...
,
(2.18)


де G -1k) - матриця, обернена до матриці Гессе, обчислена в точці пошуку Х k (G (Х k) × G -1k) = I, де I - одинична матриця).

Бібліографічний список
1. Кофанов Ю.М. Теоретичні основи конструювання, технології та надійності радіоелектронних засобів. - М.: Радіо і зв'язок, 1991. - 360 с.
2. Норенков І.П., Маничев В.Б. Основи теорії і проектування САПР .- М.: Вищ. шк., 1990 .- 335 с.
3. Самойленко Н.Е. Основи проектування РЕЗ. - Воронеж: ВДТУ, 1998. - 60 с.
4. Фролов В.М., Львович Я.Є. Теоретичні основи конструювання, технології та надійності РЕА. - М.: Радіо і зв'язок, 1988. - 265 с.
5. Батищев Д.І. Пошукові методи оптимального проектування. - М.: Сов. Радіо, 1975. - 216 с.
6. Банді Б. Методи оптимізації. Вступний курс. - М.: Радіо і зв'язок, 1988 .- 128 с.
7. Батищев Д.І., Львович Я.Є., Фролов В.М. Оптимізація в САПР. Воронеж: Изд-во Воронеж. держ. ун-ту, 1997. 416 с.
8. Автоматизація проектування РЕЗ: Учеб. посібник для вузів / О.В. Алексєєв, А.А. Головков, І.Ю. Пивоваров та ін; Під. ред О.В. Алексєєва. М: Вищ. шк., 2000. 479 с.
Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Лекція
131.7кб. | скачати


Схожі роботи:
Методи оптимізації господарства
Методи синтезу та оптимізації
Методи оптимізації при вирішенні рівнянь
Чисельні методи інтегрування та оптимізації складних систем
Теоретичні основи і методи системного аналізу оптимізації управління прийняття рішень і
Завдання оптимізації
Метод оптимізації синхросигналу
Психологічні основи оптимізації
Аналіз оптимізації оподаткування
© Усі права захищені
написати до нас