Page 1

Матеріали взято з книги: М. І. Жалдак, Ю. В. Триус Основи теорії і методів оптимізації: Навчальний посібник. – Черкаси: Брама-Україна, 2005. – С. 549-553.

Метод рівномірного перебору. Припустимо, що в задачі (39.1) функція f (x ) задовольняє умову Ліпшиця | f ( x (1) )  f ( x ( 2 ) ) | K || x (1)  x ( 2 ) || x (1)  D, x ( 2 )  D ,

(39.13)

де K  const  0 . Розглянемо метод пошуку глобального мінімуму задачі (39.1), який є узагальненням методу рівномірного перебору для знаходження глобального мінімуму функції однієї змінної на відрізку [ a; b] (див. §26). Позначимо через Q(K ) клас функцій, які задовольняють умову (39.13) з однією й тією ж для всіх функцій цього класу константою Ліпшиця K  0 . Нехай, як і в §26, M k – деякий метод, який являє собою правило вибору k точок x (1) , x ( 2 ) , ..., x ( k ) з множини D , в яких обчислені значення цільової функції f ( x (1) ), f ( x ( 2 ) ), ..., f ( x ( k ) ) , і знайдена величина F *  min f ( x*) , i1,k

яка є певним наближенням до значення f *  inf f ( x ) . xD

Введемо деякі позначення: ( f , M k )  F *  f * і ( M k )  sup ( f , M k ) , f Q ( K )

де ( f , M k ) характеризує похибку методу M k при мінімізації конкретної функції з класу Q(K ) , а ( M k ) є похибкою методу M k для найбільш складної для цього методу функції з Q(K ) і називається гарантованою точністю методу M k на класі Q(K ) . Постає питання: як обрати число k і метод M k , за яким генерується множина точок x (1) , x ( 2 ) , ..., x ( k ) з D так, щоб мала місце нерівність ( M k )   ,

(39.14)

де   0 – задана точність? Розглянемо правило вибору точок x (1) , x ( 2 ) , ..., x ( k ) з D (див., наприклад, [18]), яке полягає у тому, що ці точки обираються так, що об’єднання куль


S ( x ( i ) , r )  {x  R n | || x  x ( i ) || r} , i  1, k ,

з центром в точках x (i ) і радіуса r  K 1 , покриває множину D , тобто k

D   S ( x (i ) , r ) . i 1

Виявляється, що при такому виборі точок x (1) , x ( 2 ) , ..., x ( k ) з D , якщо взяти F * за наближення до f * , буде розв’язана задача (39.1), (39.2), (39.13), (39.14). Дійсно, візьмемо будь-яку точку x ( 0 )  D . Оскільки кулі S ( x ( i ) , r ) , i  1, k , покривають множину D , то точка x ( 0 )  D належить одній з куль S ( x ( i0 ) , r ) , тобто || x ( 0 )  x ( i0 ) || r  K 1 . Звідси і з умови (39.13) маємо

f ( x ( 0 ) )  f ( x ( i0 ) )  K || x ( 0 )  x ( i0 ) || min f ( x ( i ) )  Kr  F *  i 1,k

або F *  f ( x ( 0) )  

для кожної функції f  Q(K ) . З останньої нерівності, в силу довільності точки x ( 0 )  D , будемо мати 0  F * f *  для кожної функції f  Q(K ) . Це означає, що для описаного методу M k виконується нерівність (39.14). Що й треба було довести. Зауважимо, що покривати кулями множину D не досить зручно. Набагато зручніше і простіше покривати множину D n -вимірними паралелепіпедами або гіперкубами. При цьому відзначимо, що куля S ( x ( i0 ) , r ) містить у собі гіперкуб

C ( i )  {x  R n | x (ji )  h  x j  x (ji )  h, j  1, n} , де h 

r  , з довжиною ребра 2 h і центром в точці x (i ) .  n K n

Розглянемо один з варіантів покриття гіперкубами паралелепіпеду D . Для цього побудуємо на множині D регулярну сітку з кроком h (рис. 39.3) і серед вузлів сітки візьмемо точки (i j )

x ( i1 , i 2 , ..., i n )  ( x1( i1 ) , x2( i 2 ) , ...,x j

(m j )

де j -ті координати x (j1) , x (j2 ) , ..., x j

, ..., xn( i n ) ) , i j  1, m j , j  1, n , (39.15) цих точок визначаються за правилом

x (ji )  a j  h( 2i  1), i  1, m j  1,

(39.16)


(m j )

xj

 min{b j ; a j  h( 2m j  1)},

(39.17)

а номер m j визначається з умови ( m j 1)

xj

( m j 1)

 b j  h  a j  h( 2m j  1)  x j

 2h .

(39.18)

2r і з центром в точці n x ( i1 ,i 2 ,..., i n ) , i j  1, m j , j  1, n , покриють паралелепіпед D .

Тоді куби C ( i1 ,i 2 ,..., i n ) з довжиною ребра 2 h 

Оскільки куб C ( i1 , i 2 , ..., i n ) належить кулі S ( x ( i1 , i 2 , ..., i n ) , r ) , то об’єднання куль S ( x ( i1 , i 2 , ..., i n ) , r ) , i j  1, m j , j  1, n , покриє паралелепіпед D . Тоді, як було показано вище, за методом M k , за яким генеруються точки x (1) , x ( 2 ) , ..., x ( k ) з D , де k  m1  m2  ... mn , за правилом (39.15)-(39.18), розв’язується задача (39.1), (39.2), (39.13), (39.14) на класі функцій Q(K ) . x2 C(1,2) b2

C(2,2)

x(3)

x(4)

x(1)

x(2)

D

a2+2h a2+h

C(1,1)

C(2,1)

a2

0

a1

a1+h a1+2h a1+3h

b1

x1

Рис. 39.3. На рис. 39.3 показано приклад покриття прямокутника D квадратами C ( i1 ,i 2 ) , i j  1, m j , j  1, 2 де m1  2 , m2  2 , k  m1  m2  4 , і точки x (1) , x ( 2 ) , x ( 3) , x ( 4 ) згідно (39.15)-(39.18) мають вигляд: x (1)  x (1,1)  ( x1(1) , x2(1) ) , x ( 2 )  x ( 2,1)  ( x1( 2 ) , x2(1) ) , x ( 3)  x (1, 2 )  ( x1(1) , x2( 2 ) ) , x ( 4 )  x ( 2, 2 )  ( x1( 2 ) , x2( 2 ) ) ,

де j -ті координати x (j1) , x (j2 ) , j  1, 2 , дорівнюють x1(1)  a1  h , x1( 2 )  a1  3h , x2(1)  a2  h , x2( 2 )  a2  3h  b2 .


Розглянутий метод рівномірного перебору відноситься до пасивних методів, оскільки в ньому всі точки x (1) , x ( 2 ) , ..., x ( k ) з D задаються одночасно до початку обчислень значень цільової функції. Існують методи, за якими точки x (1) , x ( 2 ) , ..., x ( k ) генеруються послідовно і при обранні чергової точки x (i ) певним чином враховуються результати обчислень у попередніх точках x (1) , x ( 2 ) , ..., x ( k 1) . Таким чином є можливість знайти величину f * з тією ж точністю   0 за меншу кількість обчислень, ніж у методі (39.15)-(39.18) (див., наприклад, [18]).

Metod rivnomirnogo perebory  
Read more
Read more
Similar to
Popular now
Just for you