Issuu on Google+

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

Метод можливих напрямів Особливість методу можливих напрямів, який був запропонований голландським математиком Г. Зойтендейком (див., наприклад, [50]), для розв’язування задачі умовної оптимізації f ( x)  min, x  X ,

(36.1)

полягає у тому, що при визначенні напряму спуску з деякої точки x допустимої множини Х враховуються локальні властивості цільової функції f (x) і локальні властивості множини Х в околі точки x. При цьому напрям обирається з конусу можливих напрямів, який задається системою лінійних нерівностей так, щоб в цьому конусі довільний вектор утворював тупий кут з градієнтом функції, що мінімізується. Цей метод можна розглядати як природне узагальнення методу градієнтного спуску для задачі умовної оптимізації. У порівнянні з методом умовного градієнта, метод можливих напрямів має перевагу у тому, що система обмежень задачі може мати більш складну структуру, і для відшукання напряму спуску досить розв’язати задачу лінійного програмування з невеликою кількістю обмежень або найпростішу задачу квадратичного програмування. 1. Опис методу. У роботі [50] розглядається задача опуклої умовної оптимізації (36.1), коли допустима множина X має досить загальну структуру: X  {x  R n | g i ( x)  bi , i  1, m,  ai , x  bi , i  m  1, k , x j [0; c j ], j  1, n},

де g i ( x), i  1, m – опуклі на R n функції, ai  R n , i  m  1, k , bi  R1 , i  1, k , 0  c j   , j  1, k . Розглянемо суть методу можливих напрямів для випадку, коли допустима множина X в задачі (36.1) має такий вигляд X  {x  R n | g i ( x)  0, i  1, m},

(36.2)

де функції f ( x), g i ( x), i  1, m , визначені і диференційовні на Х. Нехай x (0)  X – довільне початкове наближення і вже відоме k-те наближення x ( k )  X . Наступне (k+1)-е наближення для задачі (36.1), (36.2) у методі можливих напрямів обирається за правилом


x ( k 1)  x ( k )  hk p ( k ) , k  0, 1, ...,

(36.3)

де, як і в методі умовного градієнта (див. § 35), вектор p ( k ) задовольняє умову p ( k ) U ( x ( k ) , f )  V ( x ( k ) , X ) ,

(36.4)

а кроковий множник hk обирається так, щоб виконувалось умова монотонності на множині Х, тобто f ( x ( k 1) )  f ( x ( k ) ) і x ( k 1)  X , k  0, 1, ... .

(36.5)

Розглянемо допоміжну задачу відшукання вектора p ( k ) , який задовольняє умову (36.4). Нехай I  {i | i  1, m} – множина номерів функціональних обмежень задачі

(36.1),

(36.2),

I ( x ( k ) )  {i  I | g i ( x ( k ) )  0} – множина

номерів

«активних» функціональних обмежень в точці x ( k )  X . Зауважимо, що може бути I ( x (k ) )   . У цьому випадку g i ( x ( k ) )  0 для будь-яких i  I , тобто x ( k )  int X . Надалі будемо вважати, що I ( x (k ) )   . Розглянемо твердження, яке гарантує для деякого вектора виконання умови (36.4). Л е м а 36.1. Якщо для задачі (36.1), (36.2), де X   , у деякій точці x  X такій, що I (x )   , існує вектор p  R n , що задовольняє умови

то

 f ( x ), p  0 ,

(36.6)

 g i ( x ), p  0, i  I ( x ) ,

(36.7)

p U ( x , f )  V ( x , X ) .

(36.8)

Д о в е д е н н я. Згідно леми 20.1 вектор p, який задовольняє умову (36.6), належить конусу напрямів спадання функції f (x) в точці x , тобто p U ( x , f ) . Покажемо, що вектор p, який задовольняє умову (36.7) належить конусу допустимих напрямів множини Х в точці x  X . Позначимо i   g i ( x ), p  0 , i  I (x ) . Із диференційовності функцій gi ( x), i  I ( x ) , в точці x існує   0 таке, що для будь-яких   (0;  ) має місце gi ( x  p)  gi ( x  p)  gi ( x )   gi ( x ), p  o() 

o( )  o()       g i ( x ), p      i  .      

(36.9)


Нехай   min | i | 0 . Тоді для будь-яких i  I (x ) і досить малого iI ( x )

числа   (0;  ) з (36.9) випливає, що o( )   g i ( x  p )        0,   

тобто вектор p V ( x , X ) . Отже вектор p задовольняє умову (36.8). Що й треба було довести. Враховуючи лему 36.1, вектор p(k) в (36.3) треба обирати так, щоб він задовольняв нерівності (36.6), (36.7). Тоді у цьому напрямі існує точка x( k 1) , для якої виконується умова (36.5). Це можна зробити, розв’язавши наступну задачу. Покладемо z  ( p, )  ( p1 , p2 ,..., pn , )  R n1 і розглянемо задачу   min, z  Z k ,

(36.10)

де Z k  {( p, )  R n1 |  f ( x ( k ) ), p  ,  g i ( x ( k ) ), p  , i  I ( x ( k ) ), | p j | 1, j  1, n}.

(36.11)

Очевидно, що ця задача є задачею лінійного програмування, причому цільова функція  c, z   0  p1  0  p2  ...  0  pn  1   ,

явно не залежить від змінних p j ( j  1, n) і її градієнт дорівнює вектору c  (0, 0, ..., 0, 1)  R n1 .

Зауважимо, що точка z (0)  (0, 0, ..., 0)  Z k , тобто Z k   і min    k  0 для будь-якого k = 0, 1, ... . Крім того, Zk – замкнена множина, zZ k

а умова | p j | 1, j  1, n , яка еквівалентна системі лінійних нерівностей p j  1, j  1, n, p j  1, j  1, n , і називається умовою нормування, гарантує обмеженість множини Zk. Отже, розв’язок задачі (36.10), (36.11) завжди існує. Для знаходження розв’язку задачі (36.10), (36.11) можна використати один з скінченних методів лінійного програмування, наприклад симплекс-метод. | p j | 1, j  1, n , використовують інші умови нормування (див., наприклад, [50]), зокрема умову  p, p  1 З а у в а ж е н н я. Іноді

або

n

( p j 1

j

в

множині

Zk

замість

умови

) 2  1 . Тоді задача (36.10), (36.11) є найпростішою задачею нелінійного

програмування, яка еквівалентна задачі квадратичного програмування спеціального виду (див. завдання 2).


Нехай розв’язком задачі (36.10), (36.11) є точка z ( k )  ( p ( k ) ,  k )  Z k , тобто  k  min  . zZ k

Як було зазначено,  k  0 . Спочатку проаналізуємо випадок, коли  k  0 . З (36.10), (36.11) видно, що це може бути, наприклад, при f ( x ( k ) )  On або g i ( x ( k ) )  On для деякого i  I ( x (k ) ) . У цьому випадку вже не

можна гарантувати, що p ( k ) задовольняє умову (36.4). Але, як стверджує наступна теорема, при  k  0 точка x ( k ) є стаціонарною точкою задачі (36.1), (36.2), тобто в ній виконуються необхідні умови мінімуму, які визначені в теоремі 23.6. Отже, при  k  0 ітераційний процес (36.3) завершується. Т е о р е м а 36.1. Нехай функції f ( x), g i ( x), i  1, m , визначені на R n і неперервно диференційовні на множині Х виду (36.2). Якщо задача (36.1), (36.2) має розв’язок, тобто f *  min f ( x)   і xX

X *  {x* X | f ( x*)  f *}   , то для будь-якої точки x* X * задача   min, z  ( p, )  Z *

(36.12)

має розв’язок ( p*, *)  Z * i *  min   0 , де zZ *

Z *  {( p, )  R n1 |  f ( x*), p  ,  g i ( x*), p  , i  I ( x*), | p j | 1, j  1, n}, (36.13) I ( x*)  {i  I | g i ( x*)  0}.

Д о в е д е н н я. Нехай точка x* X * . Тоді згідно теореми 23.6 і того, що P  R n (див. (23.30)), існують множники Лагранжа *0  0, *i  0, i  1, m , не всі рівні нулеві, такі, що виконуються умови n

*0 f ( x*)   *i g i ( x*)  On ,

(36.14)

*i g i ( x*)  0, i  1, m .

(36.15)

i 1

Враховуючи зміст умов доповнюючої нежорсткості (36.15) (див. §23), для i  I ( x*) *i  0 . Тому (36.14) можна записати у вигляді *0 f ( x*) 

 *i g i ( x*)  On .

iI ( x*)

Візьмемо довільну точку z  ( p, )  Z * . Тоді  f ( x*), p   ,  g i ( x*), p  , i  I ( x*) .

(36.16)


Помноживши першу нерівність на *0  0 , решту – на відповідні *i  0 , i  I (x*) , і додавши одержані нерівності, з урахуванням (36.16) будемо мати

 *0 f ( x*)   *i g i ( x*), p  0  (*0   *i ) . iI ( x *)

Звідси, враховуючи, що *0 

iI ( x *)

 *i  0 , маємо   0 для будь-якої точки

iI ( x*)

z  ( p, )  Z * . Оскільки точка (0, 0, ..., 0)  Z * , то *  min   0 . zZ *

З а у в а ж е н н я. Можна показати (див., наприклад, [18]), що, якщо в умовах теореми 36.1, крім того функції f ( x), g i ( x), i  1, m , опуклі на R n , а множина Х регулярна (див. означення 22.2), то будь-яка точка x*  X * , для якої задача (36.12), (36.13) визначає величину *  min   0 , є розв’язком задачі (36.1), (36.2). zZ *

Нехай тепер  k  0 . Тоді згідно леми 36.1 напрям p (k ) , одержаний при розв’язуванні задачі (36.10), (36.11), є напрямом спадання цільової функції f (x) в точці x ( k )  X і можливим напрямом відносно множини Х в точці x ( k ) , тобто p ( k ) U ( x ( k ) , f )  V ( x ( k ) , X ) (див. рис. 36.1). x2

x*

x(k)+αkp(k)

+ g1(x)=0

+

l f(x*)

– g3(x)=0

1

g'1(x(k))

x(k) -1

X (k)

p

1

– x1 l (k) f(x ) +

g'2(x(k)) -1

f '(x(k))

– +

– + g2(x)=0

Рис. 36.1 Зауважимо, що якщо в точці x (k ) множина I ( x (k ) )   , то x ( k )  int X і p (k ) співпадає з напрямом антиградієнта функції f (x) в точці x ( k )  X , тобто p ( k )   k f ( x ( k ) ) ,

(36.17)


 f ( x ( k ) )  де  k   max  j 1,n x j    36.2).

1

 0 і при цьому | p j ( k ) | 1, j  1, n (див. рис.

x2

g1(x)=0 +

x*

x(k)+αkp(k)

+ +

– p(k)

x(k) (k)

f '(x )

l f(x(k))

g3(x)=0

1

-1

l f(x*)

– +

1

x1 X

-1

– + g2(x)=0

Рис. 36.2 Використовуючи знайдений напрям спуску p (k ) , наступне (k+1)-е наближення визначається за правилом (36.3), де параметр hk  (0;  k ] ,  k  sup{ | x ( k )  p ( k )  X , 0    }  0 .

(36.18)

Величина  k , якщо вона скінченна, визначає найбільший відрізок [ x ( k ) ; x ( k )   k p ( k ) ] , який належить Х і при цьому точка x ( k )   k p ( k ) лежить на межі множини Х (див. рис. 36.1). Обираючи величину hk в (36.3) різними способами, можна одержати різні варіанти методу можливих напрямів. Розглянемо деякі з них (див., наприклад, [18], [57]).

1. Величина hk обирається з умови

hk  arg min f ( x ( k )  hp ( k ) ) , h( 0;  k ]

(36.19)

тобто

f ( x ( k )  hk p ( k ) )  min f ( x ( k )  hp ( k ) ) . h( 0; k ]

Для знаходження hk , що задовольняє умову (36.19), можна використати відомі класичні методи одновимірної мінімізації (див. § 8). Але точний


розв’язок задачі (36.19) вдається знайти дуже рідко, тому на практиці доцільно використовувати, наприклад, такі способи визначення hk : 0  hk   k , f ( x ( k )  hk p ( k ) )  f k*   k ,

 k  0,

де f k*  inf

h( 0;  k ]

(36.20)

 k     ,

k 1

f ( x ( k )  hp ( k ) ) ,

або f ( x ( k )  hk p ( k ) )  (1   k ) f ( x ( k ) )   k f k* , де 0     k  1 .

(36.21)

2. Якщо функція f ( x)  C1,1 ( X ) і відома константа Ліпшиця L  0 для градієнта f (x) на множині Х, то hk в (36.3) м��жна обирати з умови hk  min{ k ; |  k | L1} . 3. Можна hk обирати з умов

(36.22)

f ( x ( k )  hk p ( k ) )  f ( x ( k ) )   k |  k |, 0  hk   k ,

(36.23)

де   (0; 2 1 ] . Для знаходження такого hk можна скористатися правилом поділу кроку, поклавши на початку hk   k , а потім, якщо умова (36.23) не виконується, зменшувати hk , помножаючи його щоразу на деяке число   (0; 1) доти, поки умова (36.23) не виконається. Тут можна покласти, наприклад,   0.9 . 4. У тих випадках, коли величину  k , яка задовольняє (36.18), знайти важко, то для визначення hk  0 , яке забезпечує виконання умови монотонності (36.5) на множині Х, можна скористатися наступним правилом. Покласти hk  h  const  0 . Якщо умова (36.5) виконується, то пошук hk завершується. Якщо не виконується умова x ( k 1)  X , то треба зменшувати hk , помножаючи його на деяке число   (0; 1) , і знову перевіряти умову (36.5). На цьому завершується опис пошуку (k+1)-го наближення за методом можливих напрямів. На практиці ітераційний процес (36.3) доцільно завершувати не лише при  k  0 (див. (36.10)), але й при виконанні однієї з умов     k  0 , або || f ( x (k ) ) ||  , або || x ( k 1)  x ( k ) ||  ,

де   0 – точність обчислень. П р и к л а д 36.1. Нехай задано задачу умовної мінімізації f ( x1 , x2 )  ( x1  2) 2  x2  min, 2

X  {x  R 2 | g1 ( x1 , x2 )  2 x1  x2  2  0; g 2 ( x1 , x2 )   x1  x2  1  0} . 2


Зробити дві ітерації за методом можливих напрямів (36.3)-(36.5), (36.10), (36.11), 3 5 (36.19), починаючи ітераційний процес з допустимої точки x ( 0 )   ,  (рис. 36.3). 2 2

x2

g1(x)=0

2

+ –

l f(x*) + –

+ -4

l f(x

(1)

)

-3

1 x*

-2

x(0)

p(1) p(0)

(2)

x

(1)

-1

+ –

1

X

g2(x)=0

x

2

x1

+

l f(x(0)) -2

Рис. 36.3 Для знаходження можливого напряму p ( 0 ) в точці x ( 0) побудуємо допоміжну задачу виду (36.10), (36.11) при I ( x ( 0 ) )  {1, 2} . Враховуючи, що f ( x1 , x2 )  (2( x1  2), 2 x2 ), g1 ( x1 , x2 )  (4 x1 ,  1), g 2 ( x1 , x2 )  (1, 1) , маємо   min,

7 p1  5 p 2  , 6 p  p  , 2  1  p1  p 2  ,   p1  1,  p  1,  1  p 2  1,   p 2  1 . Розв’язавши цю задачу лінійного програмування відносно змінних p1 , p2 ,  , наприклад за симплекс-методом, одержимо 2 5 p1( 0)    0,286, p2( 0)  1,  0    0,714 . 7 7  2  Отже, p ( 0 )    ,  1 і, оскільки  0  0 , то перейдемо до знаходження  7  (1) наступного наближення x за правилом x (1)  x ( 0 )  h0 p ( 0 ) , де h0  arg min f ( x ( 0 )  hp ( 0 ) ) , h( 0;  0 ]

 0  sup{ | x ( 0 )  p ( 0 )  X , 0    }  0 (див. (36.18)).


Як видно з рис. 36.3, точка x (1)  int X . Тому, враховуючи, що цільова функція  2 0  , h0 згідно f (x) квадратична з симетричною додатно визначеною матрицею A    0 2 (32.20) буде дорівнювати

 2  ( 7 , 5 ),   ,  1 (0) (0)  f ( x ), p  343  7  h0      3, 236 . (0) T (0) T 106  A( p ) , ( p )  2 2      2 0           7  , 7   0 2    1    1  Тоді маємо 78   3 5  343  2   61 x (1)   ,   ,   ,  1     (0,575,  0,736) .  2 2  106  7   106 106  Для точки x (1)  int X множина номерів I ( x (1) )   , тому знайдемо напрям p (1) із співвідношення (36.17): p (1)  1 f ( x (1) ) ,  f ( x (1) )  де 1  max  j 1,n x j  Звідси маємо 1 

   

1

106  0,194 i 546

 546 156   0 , f ( x (1) )   ,   (5,151,  1, 472) .  106 106 

p (1)  

106  546 156   156  ,      1,    ( 1, 0,286) . 546  106 106   546 

З рис. 36.3 видно, що наступне наближення

78  156   61  x ( 2 )  x (1)  h1 p (1)   ,   h1   1,  546   106 106   належить межі множини Х і при цьому

h1  arg min f ( x (1)  hp (1) )  1 , I ( x ( 2 ) )  {1} . h( 0; 1 ]

Знайдемо h1 , підставивши в рівняння g1 ( x1 , x2 )  2 x1  x2  2  0 замість x1 і x 2 61 78 156  h1 , x2    h1 відповідно x1  , при цьому одержимо квадратне рівняння 106 106 546 2 78 156  61  2  h1    h1 20 546  106  106 відносно h1 . Розв’язавши його, знайдемо два корені 2

141 240 141 240   1,495; h1     0,201 , 14 371 14 371 з яких другий корінь зайвий. Отже, h1  1,495 . h1 

Тоді

78 156   61 x ( 2)    1,495,   1,495   ( 0,920,  0,309) , 106 546   106 в якій f ( x ( 2) )  1,262 .


Зауважимо, що x*  (1, 0), f ( x*)  1.

розв’язком

задачі,

як

видно

з

рис. 36.3,

є

точка

2. Схема методу. Розглянемо схему алгоритму роботи за методом можливих напрямів (36.3), (36.5), (36.10), (36.11), де параметр hk обирається за правилом 4. Нехай задано   0 – досить мале число,   (0; 1), h  const  0 , довільне початкове наближення x ( 0 )  X і k : 0 . К р о к 1. Знайти f ( x (k ) ) і визначити множину I ( x (k ) ) . Якщо || f ( x ( k ) ) ||  , то покласти x* : x ( k ) , f * : f ( x ( k ) ) і перейти до виконання кроку 8. К р о к 2. Якщо I ( x (k ) )   , то обчислити p ( k )  k f ( x ( k ) ) ,

 f ( x ( k ) )  де  k   max  j 1,n x j   

1

і перейти до виконання кроку 5.

К р о к 3. Знайти g i ( x (k ) ) , i  I ( x (k ) ) , і визначити пару ( p ( k ) ,  k ) , яка є розв’язком задачі   min ,

 f ( x ( k ) ), p  ,  g i ( x ( k ) ), p  , i  I ( x ( k ) ) ,

| p j | 1, j  1, n . К р о к 4. Якщо     k  0 , то покласти x* : x ( k ) , f * : f ( x ( k ) ) і перейти до виконання кроку 8. К р о к 5. Покласти hk : h . К р о к 6. Знайти x  x ( k )  hk p ( k ) . Якщо x  X i f ( x )  f ( x (k ) ) , то покласти x ( k 1) : x і перейти до виконання кроку 7, інакше покласти hk : hk і повторити крок 6. К р о к 7. Якщо || x ( k 1)  x ( k ) ||  , то покласти x* : x ( k 1) , f * : f ( x ( k 1) ) і перейти до виконання кроку 8, інакше покласти k : k  1 і перейти до виконання кроку 1. К р о к 8. Вивести: x*, f *, k . Кінець. З а у в а ж е н н я. На практиці описаний варіант методу можливих напрямів використовується досить рідко. Це пов’язано з тим, що коли в розв’язку ( p ( k ) ,  k ) задачі (36.10), (36.11) значення  k   досить мале, то напрям p (k ) , теоретично будучи можливим напрямом спадання функції f (x) в точці x (k ) відносно множини Х, практично може не задовольняти цю умову, або задовольняти її, але при цьому величина  k в (36.17), а отже і hk , будуть досить малими. Виникнення такої ситуації можливе з двох основних причин: 1) напрям p (k ) «дотикається» множини Х , якщо для деякого i  I ( x (k ) ) величина  i( k )   g i ( x ( k ) ), p ( k )   0 ;


2) величина  (fk )   f ( x ( k ) ), p ( k )   0 , тобто вздовж p (k ) функція спадає досить повільно. З цих причин метод можливих напрямів ще далеко від розв’язку x*  X задачі (36.1), (36.2) починає збігатися досить повільно. Далі буде розглянуто один із способів, як запобігти виникненню таких ситуацій.

3. Прискорити збіжність послідовних наближень за методом можливих напрямів можна за рахунок певного правила добору множини I ( x (k ) ) для поточного наближення x (k ) з метою визначення вектора p (k ) з яскраво вираженими властивостями можливого напряму спадання функції f (x) в точці x (k ) відносно множини Х. Нехай x (0)  X – деяке початкове наближення,  – досить мале число,  0   – параметр методу. Припустимо, що вже знайдено точку x ( k )  X і відповідне йому значення параметра  k  0 . Визначимо множину I ( x ( k ) ,  k ) таку, що I ( x ( k ) ,  k )  {i  I |  k  g i ( x)  0} ,

(36.24)

і розглянемо задачу

  min , z  ( p, )  Z k ,

(36.25)

де X  {( p, )  R n1 |  f ( x ( k ) ), p  ,  g i ( x ( k ) ), p  ,

i  I ( x ( k ) ,  k ), | p j | 1, j  1, n} .

(36.26)

Як і задача (36.10), (36.11), задача (36.25), (36.26) є задачею лінійного програмування і має хоча б один розв’язок ( p ( k ) ,  k ) , де  k  min   0 . zZ k

Можливі такі випадки: 1. Якщо  k   k , то вважають, що напрям p (k ) є досить вдалим напрямом спадання функції f (x) в точці x (k ) відносно множини Х, і тоді за допомогою одного з правил 1-4 обчислюють величину hk таку, що 0  hk   k , де  k визначається з (36.18). Потім покладають x ( k 1) : x ( k )  hk p ( k ) ,  k 1 : k , k  k  1 ,

(36.27)

і продовжують процес, тобто розв’язується задача (36.25), (36.26) з новою точкою x ( k 1) і параметром  k 1 . 2. Якщо   k   k  0 , то вважають, що напрям p (k ) не є вдалим і тоді покладають x ( k 1) : x ( k ) ,  k 1 :  k , де   (0; 1) ,

(36.28)


і знову розв’язують задачу (36.25), (36.26) з новим параметром  k 1 і множиною I ( x ( k 1) ,  k 1 )  {i  I |   k 1  g i ( x ( k 1) )  0} ,

сподіваючись, що вдасться знайти кращий напрям p ( k 1) . 3. Якщо  k  0 , то розв’язують задачу (36.25), (36.26) при I ( x (k ) , 0) , тобто задачу (36.10), (36.11). Якщо для цієї задачі буде k  0 , то процес зупиняється, оскільки x (k ) – стаціонарна точка задачі (36.1), (36.2). У випадку коли k  0 , покладають x ( k 1) : x ( k ) ,  k 1 :  k , де   (0; 1) ,

(36.29)

і знову розв’язують задачу (36.25), (36.26) з новим параметром  k 1 і множиною I ( x ( k 1) ,  k 1 ) . З а у в а ж е н н я. 1. Для задачі умовної мінімізації f ( x)  min,

x X ,

де

X  {x  R n g i ( x)  0, i  1, m,  ai , x  bi  0, i  m  1, k} ,

ai  R n , bi  R1 , i  m  1, k , тобто задачі, яка містить обмеження-нерівності і лінійні обмеження-рівності, метод можливих напрямів описується так само, як і для задачі (36.1), (36.2), але в задачах (36.10), (36.11) і (36.24), (36.25) необхідно додати обмеження  ai , p  0, i  m  1, k . 2. Якщо величина  k буде задовольняти умову  k   , то роботу за описаним методом можна зупинити і одержати розв’язок задачі (36.1), (36.2) із заданою точністю  . 3. Ефективність методу можливих напрямів залежить від вдалого вибору параметрів  k , k  0, 1,... , але це треба робити для кожної задачі умовної мінімізації окремо, оскільки загальні рекомендації дати важко.

4. Збіжність методу. Для методу можливих напрямів, описаному в попередньому пункті, сформулюємо теореми, в яких визначено умови збіжності відповідних послідовних наближень. Позначимо через S * множину стаціонарних точок задачі (36.1), (36.2). Згідно теореми 36.1 S * складається з точок x* X , для яких задача (36.12), (36.13) має розв’язок ( p*, *)  Z * i *  0 , при цьому I ( x*)  I ( x*, 0) . Т е о р е м а 36.2. Нехай виконуються умови: 1) функції f ( x), g i ( x), i  1, m , належить класу C 1,1 ( X ) ; 2) існує таке число M  0 , що || g i ( x) || M , i  1, m, для будь-яких x  X 0  {x  X | f ( x)  f ( x ( 0 ) )} , де наближення;

точка

x (0)  X 0 – деяке ��очаткове


3) множина S*  X непорожня; 4) f *  inf f ( x)   ;

стаціонарних

точок

задачі

(36.1),

(36.2)

xX

5) послідовність точок {x (k ) } , яка генерується за методом можливих напрямів (36.3)-(36.5), (36.24)-(36.26), (36.27)-(36.29), (36.18), (36.21), обмежена. Тоді має місце рівність lim ( x ( k ) , S *)  lim inf || x ( k )  x* || 0 . k 

k  x *S *

Доведення цієї теореми можна знайти, наприклад, у [57]. Т е о р е м а 36.3. Нехай виконуються умови: 1) функції f ( x), g i ( x), i  1, m , визначені і опуклі на R n ; 2) множина Х в задачі (36.1), (36.2) регулярна; 3) функції f ( x), g i ( x), i  1, m , належить класу C 1,1 ( X ) ; 4) D  max sup || g i ( x ) ||  ; i 1,m xX

5) задача (36.1), (36.2) має розв’язок, тобто f *  inf f ( x)  , X *  {x* X | f ( x*)  f *}   ; xX

6) початкове наближення x (0)  X таке, що множина L ( x (0) )  {x  X f ( x)  f ( x (0) )  ,   0} – обмежена. Тоді при будь-якому  0  0 для послідовності {x (k ) } , яка генерується за методом можливих напрямів (36.3)-(36.5), (36.24)-(36.26), (36.27)-(36.29), (36.18), (36.20), мають місце рівності lim f ( x ( k ) )  f * , k 

lim ( x ( k ) , X *)  lim inf || x *  x ( k ) || 0 .

k 

k  x *X *

Доведення цієї теореми можна знайти, наприклад, у [18]. На закінчення зазначимо, що достоїнствами методу можливих напрямів можна вважати його надійність і універсальність при розв’язуванні задач оптимізації з обмеженнями досить складної структури. Недоліками цього методу є невисока швидкість збіжності за кількістю ітерацій і досить великий об’єм обчислень на кожній ітерації за рахунок розв’язування допоміжних задач для знаходження напряму можливого спуску p (k ) і крокового множника hk . Різні способи прискорення збіжності розглянутого методу та його узагальнення на більш широкий клас задач умовної оптимізації можна знайти, наприклад, у [18], [50], [57].


Metod mojluvux napramiv