Uploaded by lonejej215

Дослідження операцій

advertisement
Міністерство освіти і науки, молоді та спорту України
Львівський національний університет імені Івана Франка
М. Я. Бартіш, І. М. Дудзяний
Дослідження операцій
Частина 4. Нелінійне програмування
Підручник
Затверджено
Міністерством освіти і науки України
Львів 2011
Міністерство освіти і науки, молоді та спорту України
Львівський національний університет імені Івана Франка
М. Я. Бартіш, І. М. Дудзяний
Дослідження операцій
Частина 4. Нелінійне програмування
Затверджено
Міністерством освіти і науки України
Львів 2011
УДК 519.8
ББК 22.183
Б 26
Рецензенти:
д-р фіз.-мат. наук, проф. В. А. Кривень
(Тернопільський державний технічний університет імені Івана Пулюя);
д-р фіз.-мат. наук, проф. І. В. Огірко
(Українська академія друкарства, м. Львів);
д-р фіз.-мат. наук, проф. Р. В. Слоньовський
(Національний університет “Львівська політехніка”)
Затверджено Міністерством освіти і науки України
як підручник для студентів вищих навчальних закладів
(лист № 14/18–Г–609 від 01.08.06 р.)
Б 26
Бартіш М. Я.
Дослідження
операцій.
Частина
4 : Нелінійне
програмування : підручник / М. Я. Бартіш, І. М. Дудзяний. –
Львів : ЛНУ ім. Івана Франка, 2011. - 208 с.
ISBN 966-613-496-9
ISBN 978-966-613-854-8
Ч. 4
Розглянуто найважливіші питання, присвячені чисельним методам
розв’язування нелінійних екстремальних задач. Наведено теоретичне
обґрунтування і коротку характеристику цих методів. Значну увагу
приділено методам мінімізації функцій скінченної кількості змінних. З метою
глибокого засвоєння матеріалу наведено достатню кількість довідкового
матеріалу з курсів математичного аналізу та лінійної алгебри.
Для бакалаврів, спеціалістів і магістрів вищих закладів освіти, в яких
викладають
предмети
”Дослідження
операцій”,
”Математичне
програмування” та інші.
УДК 519.8
ББК 22.183
ISBN 966-613-496-9
ISBN
 Бартіш М. Я., Дудзяний І. М., 2011
Ч. 4
 Львівський національний університет
Івана Франка, 2011
імені
Дослідження операцій
1. ВСТУП У ТЕОРІЮ ОПТИМІЗАЦІЇ
 План викладу матеріалу:
1.
2.
3.
4.
Загальні положення.
Задачі безумовної оптимізації.
Задачі умовної оптимізації.
Задачі математичного програмування.
 Ключові терміни розділу
 Функція мети
 Точка глобального мінімуму
 Точка локального мінімуму
 Функція Лагранжа
 Регулярна функція Лагранжа
 Функціональні обмеження
 Задачі математичного програмування
 Мінімум функції
 Умовний екстремум
 Безумовний екстремум
 Градієнт
 Матриця Гессе
 Прямі обмеження
 Задачі квадратичного програмування
1.1. Загальні положення
Перші задачі геометричного змісту на відшукання найменших або найбільших значень виникли ще у давні часи. Розвиток
промисловості, науки у ХVІІ–ХVІІІ ст. зумовив до потреби у дослідженні складніших задач на екстремум, а також сприяв виникненню варіаційного числення. Лише у ХХ ст. стали актуальними
задачі оптимального керування (у тому або іншому сенсі) різними
процесами фізики, техніки, економіки тощо.
Математичною мовою такі задачі можна записати як задачі
визначення екстремуму (максимуму або мінімуму) функції або
функціонала на деякій множині X :
f ( x)  min, x  X ,
(1.1)
де f (x) – функція мети; X – допустима множина. Довільний елемент x  X є допустимою точкою для задачі (1.1). Розглядатимемо
скінченновимірні задачі оптимізації, тобто задачі, коли Χ  R n .
2
7. Числові методи умовної мінімізації
3
----------------------------------------------------------------------------------------------------------
Означення 1.1. Точку x*  X називають:
1) точкою глобального мінімуму функції f (x) на множині X , якщо
f ( x )  f ( x) x  X ;
(1.2)
2) точкою локального мінімуму функції f x  на X , якщо    0 :
f ( x )  f ( x) x  X  X  ( x ) ,
(1.3)
де X  ( x* )  {x : x  R n , x  x*  } – окіл точки x радіуса   0 з
центром у точці x* . Якщо нерівність (1.2) або (1.3) для x  x є
строгою, то x – точка строгого мінімуму в глобальному або
локальному значенні.
Глобальний розв’язок є водночас і локальним. Твердження
навпаки буде неправильним. Вираз (1.2) можна записати у вигляді
f ( x )  min f ( x) ,
x X
або
x  arg min f ( x) ,
x X
тобто точка x реалізує величину f*  min f ( x) . Множину всіх
x X
точок глобального мінімуму f (x) на X позначають так:
Arg min f ( x)  x : x  X , f ( x)  f*
x X
Отже, arg min f ( x) – деяка точка множини Arg min f ( x) .
x X
x X
За аналогією з задачею (1.1) можна розглядати задачу визначення максимуму функції f (x) на множині X :
f ( x)  max .
x X
(1.4)
Дослідження операцій
Легко бачити, що задача (1.4) еквівалентна задачі
 f ( x)  min ,
x X
у тому сенсі, що множини локальних, глобальних, строгих
розв’язків першої і другої задач збігаються.
Задачі (1.1) та (1.4) є задачами на екстремум. Надалі розглядатимемо здебільшого задачі мінімізації (1.1). У разі розв’язування
задачі (1.1) виникає питання про існування розв’язку. З огляду на
це, нагадаємо результати математичного аналізу.
Теорема 1.1 (Теорема Вейєрштрасса). Нехай X − компакт у R n ,
f (x) – неперервна функція на X . Тоді точка глобального мінімуму
функції f (x) на X існує.
Надалі буде корисним дещо інший варіант цієї теореми.
Теорема 1.2. Нехай X − замкнута множина в R n , f (x) − неперервна функція на X , причому для деякого x 0  X множина
N ( x 0 )  {x  X : f ( x)  f ( x 0 )}
обмежена, тоді точка глобального мінімуму f (x) на X існує.
Задача (1.1) − це загальне формулювання задач оптимізації.
Такі задачі можна класифікувати за декількома ознаками залежно
від вигляду функції f (x) і області X .
1.2. Задачі безумовної оптимізації
Задача (1.1) є задачею безумовної оптимізації, якщо X  R n ,
тобто
n
f ( x)  min, x  R .
(1.5)
Під час дослідження будь-якого типу оптимізаційних задач
важливе значення мають умови оптимальності (екстремуму). Розрізняють необхідні і достатні умови екстремуму. Коротко нагадаємо їх.
Уведемо позначення:
4
7. Числові методи умовної мінімізації
5
---------------------------------------------------------------------------------------------------------T
 f ( x)
f ( x) 
 – вектор перших частинних похідних,
f ( x)  
,...,

x
xn 
1

градієнт функції f (x) у точці x  R n ;
  2 f ( x) 
– матриця
f ( x)  

 xi x j i, j 1, n
других
частинних
похідних
(гесіан, матриця Гессе) функції f (x) у точці x  R n .
Теорема 1.3. Нехай функція f (x) диференційовна в точці x  R n .
Якщо x - локальний розв’язок задачі (1.5), то
f ( x )  0 .
(1.6)
Теорема 1.4. Нехай функція f (x) двічі диференційовна в точці
x  R n . Якщо x – локальний розв’язок задачі (1.5), то матриця
f ( x ) невід’ємно визначена, тобто
 f ( x )h, h   0 h  R n .
(1.7)
Теорема 1.5. Нехай функція f (x) двічі диференційовна в точці
x  R n , f ( x )  0 , а матриця Гессе додатно визначена, тобто
n
( f ( x )h, h)  0 h  R , h  0 .
(1.8)
тоді x – строгий локальний розв’язок задачі (1.5).
У випадку X  R умови (1.6) – (1.8) можна записати у
вигляді:
f ( x )  0 ; f ( x )  0 f ( x )  0 .
У простих випадках теореми 1.3–1.5 дають змогу явно розв’язати задачу (1.5). Теорема 1.3 дає необхідні умови мінімуму
першого порядку. Теореми 1.4, 1.5 – відповідно, необхідні та достатні умови мінімуму другого порядку. У першому випадку використано лише першу похідну, а в теоремах 1.4, 1.5 – другу похідну
функції f (x).
Дослідження операцій
2.3. Задачі умовної оптимізації
Задачу (1.1) називають задачею умовної оптимізації, якщо
X  R n . У цьому випадку умови теорем 1.3 – 1.5 справджуються,
якщо x  int X , тобто x є внутрішня точка множини X . Для
багатьох задач умовної оптимізації екстремум досягається на межі
X і в цьому разі класичні результати аналізу не можна застосовувати. Задачі умовної оптимізації складніші, ніж задачі безумовної
оптимізації. Розглянемо окремі класи задач умовної оптимізації.
Класична задача на умовний екстремум. У цьому випадку
область X задано системою скінченної кількості рівнянь
____
X  {x  R n : fi ( x)  0, i  1, m }
і задачу записують так:
f ( x)  min ,
x Rn ;
(1.9)
f i ( x)  0 , i  1, m .
У разі дослідження задачі (1.9) важливу роль відіграє
функція Лагранжа
m
L ( x,  )    i f i ( x ) ,
(1.10)
i 0
де x  R n , f 0 ( x)  f ( x);    0 ,1, ,  m   R m 1 − множники
Лагранжа. У цьому випадку виконується така теорема.
Теорема 1.6 (Правило множників Лагранжа). Нехай функції
f i ( x), i  0, m неперервно-диференційовні в деякому околі точки
x . Якщо x − локальний розв’язок задачі (1.9), то існує вектор
*  (*0 , *1,..., *m )  R m 1 , що не дорівнює нулю і такий, що
m
Lx ( x , *)   i f i( x )  0.
i 0
(1.11)
6
7. Числові методи умовної мінімізації
7
----------------------------------------------------------------------------------------------------------
Якщо ж градієнти f1( x* ),..., f m ( x* ) лінійно незалежні, то виконується умова регулярності і *0  0 .
Умова
(1.11)
означає,
що
вектори
(градієнти)
f 0 ( x* ),..., f m ( x* ) лінійно залежні. Будь-яка точка x  X , що задовольняє при деякому векторі *  (*0 , *1,..., *m )  0 умову (1.11) і
умови допустимості
f i ( x )  0 , i  1,m ,
(1.12)
є стаціонарною точкою задачі (1.9).
Стаціонарну точку визначають системою n  m рівнянь
(1.11), (1.12) з n  m  1 невідомим. Оскільки у випадку регулярності  o*  0 , то можна прийняти  0*  1 . Тому, розв’язуючи систему рівнянь (1.11), (1.12), достатньо розглянути лише два випадки: а)  0 *  0 , б)  0*  1 і тоді невідомих у системі буде n  m і
n  m рівнянь. Якщо виконується умова регулярності, то замість
функції Лагранжа розглядатимемо регулярну функцію Лагранжа:
m
L( x, )  f ( x)    i fi ( x).
(1.13)
i 1
Як і у випадку безумовної оптимізації, стаціонарні точки не
обов’язково будуть розв’язком сформульованої задачі. Тут також є
необхідні і достатні умови оптимальності другого порядку.
Теорема 1.7. Нехай функції f i ( x), i  0, m двічі диференційовні в
точці x  R n , яка задовольняє (1.12), і неперервно-диференційовні в деякому околі цієї точки, причому f i( x* ) , i  1,m лінійно незалежні. Якщо x – локальний розв’язок задачі (1.9), то
 ( x ,  )h, h)  0 при довільному *, що задовольняє (1.11) і
( Lxx
ненульових h  R n таких, що
( f i( x ), h)  0 , i  1, m .
(1.14)
Дослідження операцій
Теорема 1.8. Нехай функції f i (x) , i  0,m двічі диференційовні в
точці x  R n , яка задовольняє (1.12), і для певного *  R n вико ( x , *) h, h)  0 при всіх ненунується умова (1.11), крім того, ( Lxx
льових h  R n , що задовольняють (1.14). Тоді x* строгий локальний розв’язок задачі (1.9).
У простіших випадках теореми 1.6 – 1.8 дають змогу розв’язати задачу (1.9) в явному вигляді.
1.4. Задачі математичного програмування.
Важливий клас задач умовної оптимізації становлять задачі
математичного програмування –розділу прикладної математики, в
якому вивчають задачі пошуку екстремуму функції f (x) на множині X  R n і розробляють методи їхнього розв’язування. Це задачі типу (1.1), в яких допустима множина має вигляд:
X  {x  X 0 : f i ( x)  0 , i  1, m; f i ( x)  0 , i  m  1, s} .
(1.15)
Задачу математичного програмування можна записати так:
f ( x)  min,
(1.16)
f i ( x)  0 , i  1,m ,
(1.17)
f i ( x)  0 , i  m  1, s , x  X 0 .
(1.18)
Умови типу (1.17) називають обмеженнями-нерівностями,
типу (1.18) – обмеженнями-рівностями. Ці типи умов називають
функціональними обмеженнями. Умови x  X 0 – прямі обмеження.
В
(1.15)
окремих
обмежень
може
не
бути
n
( m  0; m  s; s  0; X 0  R ,... ). Отже, класична задача на умовний
екстремум є частинним випадком задачі математичного програмування.
Зазвичай, множину X 0 вибирають простої структури, наприклад, X 0  {x  R n : a j  x j  b j , j  1, n}; причому не вилучають a j   , b j   , або X 0  Rn та ін. На практиці розгля-
8
7. Числові методи умовної мінімізації
9
----------------------------------------------------------------------------------------------------------
дають окремі підкласи задач математичного програмування.
Такими є задачі:
1)
лінійного програмування, дискретної оптимізації (про них
мова йшла у частині 1);
2)
опуклого програмування. Задачу (1.16) – (1.18) називають
задачею опуклого програмування, якщо Х0 – опукла множина;
f (x) , f i (x) , i  1,m – опуклі функції; f i (x) , i  m  1, s – лінійні
функції. В такому випадку допустима множина задачі (1.16) –
(1.18) опукла;
3)
квадратичного програмування – це задачі мінімізації за
лінійних обмежень квадратичної функції вигляду
f ( x) 
1
( Ax, x)  (b, x) ,
2
де А – симетрична невід’ємно визначена матриця розмірності n  n ;
b  Rn .
 Запитання для самоперевірки
1.
2.
3.
4.
5.
6.
7.
8.
9.
Дайте визначення точки локального мінімуму.
Дайте визначення точки глобального мінімуму.
Дайте постановку задачі на екстремум.
Запишіть необхідні умови екстремуму.
Запишіть достатні умови екстремуму.
Сформулюйте правило множників Лагранжа для задачі на
умовний екстремум.
Запишіть задачу математичного програмування.
Запишіть задачу квадратичного програмування.
Дайте визначення для задачі опуклого програмування.
 Завдання для самостійної роботи
1.Визначити радіус основи і висоту циліндра об’ємом 1 м3 і
найменшою площею повної поверхні.
Дослідження операцій
2. Визначити радіус основи і висоту циліндра з площею повної
поверхні 1 м 2 і найбільшим об’ємом.
3. Визначити найменший периметр прямокутника площею 10 м 2 .
4. Визначити найбільшу площу прямокутника з периметром 16 м.
10
Дослідження операцій
10
2. МІНІМІЗАЦІЯ ФУНКЦІЙ ОДНІЄЇ ЗМІННОЇ
 План викладу матеріалу
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Загальні положення.
Метод поділу відрізка навпіл.
Метод золотого поділу відрізка.
Оптимальні методи пошуку екстремуму.
Метод парабол.
Числові методи мінімізації багатоекстремальних функцій.
Метод простого перебирання.
Метод послідовного перебирання.
Метод ламаних.
Пошук початкового локалізованого відрізка.
 Ключові терміни розділу
 Мінімізаційна послідовність  Гарантована похибка
 Збіжність послідовності
 Оптимальні методи
 Стаціонарні точки
  – оптимальні методи
 Золотий поділ відрізка
 Числа Фібоначчі
 Метод дихотомії
 Нижня межа
 Стійкість методу
 Локалізований відрізок
2.1 Загальні положення
На перший погляд задачі мінімізації функції однієї змінної
здаються простими. Однак методи диференціального числення
мають обмежене застосування і не завжди зручні для реалізації.
Задача мінімізації функції однієї змінної має такий вигляд:
7. Числові методи умовної мінімізації
11
----------------------------------------------------------------------------------------------------------
f ( x)  min, x  X  R
де X  [a, b] , X  (a, b) , X  (a, b] , X  [a, b) ,    a <b+  .
Залежно від функції f (x) і множини X множина розв’язків
X *  Arg min f ( x)
може містити одну, декілька або навіть і
X
безмежну кількість точок. Можливі випадки, коли X*   .
Приклад 2.1. Нехай
f (x) = sin
2
 / x  при
x0
і f (0) =0 .
На множині X  1,2 мінімальне значення f (x) дорівнює 0,
1 
1 1 
X *  {1} – одна точка. Якщо X   ,1 , то X*   , ,1 – три
3 
3 2 
1
точки, у випадку X  0,1 , X *  {x : x  , n  1,2,...} – зчисленна
n
множина
точок,
а
для
X  2 ,  ,
X*   ,
inf f ( x)  0 ,
X
lim f ( x)  0 .
x 
Зазначимо таке: якщо X*   , то нижня межа і min функції
f (x) збігаються inf f ( x)  min f ( x) . У цьому випадку говорять,
x X
x X
що f (x) на X досягає своєї нижньої межі, inf f ( x)  f завжди
xX
існує, а min f ( x) не завжди має сенс.
x X
Означення
2.1.
Послідовність
{xk }  X
називають
Дослідження операцій
мінімізаційною
для
функції
f (x)
на
множині
X,
12
якщо
lim f ( xk )  inf f ( x)  f* .
k 
x X
Означення
непорожньої
2.2.
Послідовність
множини
X,
якщо
{ xk }
збігається
lim ( xk , X )  0 ,
k 
до
де
( xk , X )  inf xk  x – відстань від xk до множини X .
x X
Якщо X*   , то завжди існує мінімізаційна послідовність,
яка збігається до X* . Однак не кожна мінімізаційна послідовність
xk  буде збігатися до
X*   .
Приклад 2.2 Нехай
f ( x) 
x 2  min
4
1 x
R
У нашому випадку x*  0 , f (0)  0 . Послідовність xk  k для
k=1,2,… є мінімізаційною
f ( xk )  0
k  ,
хоча ( xk , x )  k   .
k 
У разі розв’язування задач мінімізації на множині X
розрізнятимемо два типи задач:
1) необхідно визначити f*  inf f ( x) ;
X
2) потрібно визначити f* і точку x*  arg min f ( x).
X
7. Числові методи умовної мінімізації
13
----------------------------------------------------------------------------------------------------------
У першому випадку можливий варіант X*   , у другому –
обов’язково X*   . Отримати точний розв’язок задачі першого,
або другого типів у загальному випадку практично неможливо.
Тому в першому випадку за
f*
беруть для мінімізаційної
послідовності {xk } деяке значення f ( xk ) при достатньо великому
k . Для задач другого типу необхідно побудувати мінімізаційну
послідовність {xk } , яка збігається до X* , і за наближення до f* і
x* взяти, відповідно, f ( xk ) і xk при достатньо великому k . Під
час розв’язування задач другого типу в окремих випадках треба
виконувати додаткові дослідження.
У випадку розв’язування задачі (2.1) можна використовувати
класичний метод. Нехай функція f (x) кусковогладка на a ,b ,
тобто може існувати лише скінченна кількість точок, де f (x) має
розрив першого роду, або неперервна, однак похідна у точці не
існує. У цьому разі точкою екстремуму функції f (x) на a ,b може
бути лише та точка, для якої виконується одна з умов:
1.
f (x) має розрив першого роду;
2.
f (x) неперервна, однак похідна не існує;
3.
f ( x)  0;
4. x - точка на кінці відрізка.
Ці точки прийнято називати підозрілими на екстремум. На
жаль,
класичний
метод
Обчислення похідної f (x)
має
доволі
вузьке
застосування.
в окремих випадках може бути
Дослідження операцій
14
трудомістким, або f (x) взагалі неможливо обчислити.
Крім того, розв’язування рівняння f ( x)  0 може бути не
менш
складним,
ніж
вихідна
задача.
Тому
на
практиці
використовують методи, які дають змогу безпосередньо знайти
мінімум f (x) . Для
цього треба зробити обмеження на класи
функцій.
Означення 2.3. Функція f (x) є унімодальною на проміжку
X  a ,b , якщо існують такі числа a      b , що:
1.
f (x) строго монотонно спадає при a  x   (a  );
2.
f (x) строго монотонно зростає при   x  b (  b);
3.
f ( x)  min f ( x) при   x   , тобто X*   , .
x[ a,b]
Випадки, коли один з відрізків a , ,
 ,, ,b
або два
одночасно вироджуються в точку, можливі. Якщо    , то f (x) є
строго унімодальною на a ,b .
Означення 2.4. Відрізок
a , b  X *   i значення
a, b  є локалізованим, якщо
f (x) обчислено не більше, ніж в одній
точці x  (a, b) .
2.2. Метод поділу відрізка навпіл
Простішим
методом мінімізації функції
f ( x), x  a, b є
поділ відрізка навпіл. Пошук мінімуму розпочинають з вибору
двох точок
7. Числові методи умовної мінімізації
15
----------------------------------------------------------------------------------------------------------
x1 
ab
ab
для   b  a .
; x2 
2
2
Величину  вибираємо самі, вона повинна задовольняти дві
умови:
по-перше, бути достатньо малою, щоб новий локалізований
відрізок отримати якомога меншим;
по-друге, бути достатньо
великою, щоб можна розрізнити
значення функції у двох точках x1 , x2 .
Точки x1 , x2 розміщені симетрично до центра відрізка a ,b і
при малих  ділять його майже навпіл, від чого походить назва
методу. Після вибору точок x1 , x2 обчислюємо значення f ( x1 ) ,
f ( x2 ) і порівнюємо між собою. Якщо f ( x1 )  f ( x2 ), то приймаємо
a1  a , b1  x2 ; якщо f ( x1 )  f ( x2 ) , то a1  x1 , b1  b . Оскільки
f x 
унімодальна функція на
a1 ,b1   X*   .
дорівнює
a ,b ,
то виконується умова
Відрізок a1 ,b1  є локалізованим і його довжина
b1  a1  b  a    / 2   .
виконуємо з відрізком
a1 ,b1  .
Аналогічну
процедуру
Після k  1 –го кроку одержимо
локалізований відрізок ak 1 ,bk 1  , для якого виконуються умови:
a k 1 ,bk 1   X *   , bk 1  ak 1  b ka1     ,
2
( k  2)
На k-му кроці вибираємо дві нові точки
(
(2.1)
Дослідження операцій
a
 bk 1  
a
b

, x 2k  k 1
.
x2k 1  k 1 k 1
2
2
16
(
2.2)
.
Обчислюємо f ( x2k 1 ) , f x2k  і знаходимо локалізований
відрізок
ak ,bk 
аналогічно до попереднього. Довжина цього
відрізка становитиме
bk  ak 
b  a 
2
k
(
  і ak , bk   X   
2.3)
Якщо кількість обчислень функції не обмежена, то процес
поділу продовжуємо доти, доки не буде виконана умова
bk  ak   , де    – задана точність. У цьому разі справджується
умова
ba
2k
    і для досягнення цієї оцінки виконано
2k  2 log 2 (b  a  ) / (  ) 
обчислень
функції
f (x) .
За
наближення до розв’язку x k можна взяти точку x 2k 1 , якщо
f ( x2k 1 )  f ( x2k ) , або точку x2k , якщо
f ( x2k 1 )  f ( x2k ) . За
такого вибору наближення до x* буде допущена похибка
 ( x k , x* )  max{bk  x k , x k  ak } 
(b  a  ) / 2k
7. Числові методи умовної мінімізації
17
----------------------------------------------------------------------------------------------------------
Якщо не домагатися, щоб наближення для f* обчислювати
безпосередньо в точці, яка є наближенням для x* , то можна
прийняти x k 
a k  bk
, тоді :
2
b  ak b  a   
( x k , x* )  k


2
2
2k 1
Звичайно, можна було б обчислити
f ( x k ) і прийняти
f ( x k )  f* .
Приклад 2.3. Знайти розв’язок задачі
(
f ( x)  x 2  2 x  5 
 min
[ 0.3]
2.4)
методом поділу відрізка навпіл з точністю ε=0.5
З аналітичного вигляду функції випливає, що
f (x)
є
унімодальною на заданому відрізку, а розв’язок поставленої задачі
має вигляд x*  1,
f ( x* )  4.
Для застосування методу покладемо   0,2 .
Ітерація 1; k  1, a1  0, b1  3 . Знайдемо точки
за формулою 2.2 при k=1
a b 
x1  1 1
 1.4,
2
Обчислимо f ( x1) та f ( x2 ) :
a b 
x2  1 1
 1,6.
2
x1 та x 2
Дослідження операцій
f ( x1) = 1,42  2  1,4  5  4,16,
18
f ( x2 )  1,6 2  2  1,6  5  4,36 .
Через те, що f ( x1)  f ( x2 ) , то a 2  a1  0, b2  x2  1.6 .
Ocкільки b2  a 2  1.6   , то продовжуємо обчислення.
Ітерація 2: k  2,
a2  0, b2  1,6 . Знайдемо точки x3 та x 4
за формулою 2.2 при k=2
a b 
x3  2 2
 0.7,
2
a b 
x4  2 2
 0,9.
2
Обчислимо f ( x3 ) та f ( x4 ) :
2
f ( x3 ) = 0,7  2  0,7  5  4,09,
f ( x4 )  0,92  2  0,9  5  4,01.
Оскільки
4,09>4,01,
то
a3  0,7; b3  1,6 . При цьому
b3  a3  0.9   і обчислення продовжуємо. Результати наступних
обчислень подано у табл. 2.1.
Після чотирьох ітерацій ми отримаємо локалізуючий відрізок
[a5 , b5 ]  [0,875, 1,25] .
При
цьому
b5  a5  1,25  0,875 
*
 0,375  . Отриманий нами наближений розв’язок є x  1,075,
*
f ( x )  4,005 . Гарантована похибка отриманого розв’язку не
перевищує величини
*
x*  x  max{1,25  1,075, 1,075  0,875}  0,2 .
7. Числові методи умовної мінімізації
19
----------------------------------------------------------------------------------------------------------
В окремих
випадках за наближений розв’язок можна
b  a5 1,25  0,875
вибрати величину ~
x*  5

 1,0125 . При цьому
2
2
додатково необхідно обчислити значення функції:
f (1,0125)  1,01252  2 1,0125  5  1,0252  2,025  5  4,0002 .
Таблиця 2.1
bk  a k
ak
bk
x 2 k 1
x 2k
0
3
1,4
1,6
4,16
4,36
3
1,6
0,7
0,9
4,09
4,01
1,6
0,7
3
1,6
1,05
1,25
4,0025
4,06
0,9
0,7
4
1,25
0,875
1,075
4,0121
4,005
0,55
K
0
1
2
f ( x2k 1 )
f ( x2k )
Якщо врахувати, що на практиці трапляються випадки, коли
обчислення
f (x)
трудомістке
або
пов’язане
з
дорогим
експериментом, то доцільно за заданої кількості обчислень
отримати результат з найліпшою точністю. Із зазначеного вище за
допомогою 2k обчислень функції можна визначити точку мінімуму
унімодальної функції з точністю  
(b  a  )
2k
чи є кращі методи? Відповідь позитивна.
. Виникає запитання,
Дослідження операцій
20
Примітка. Розглянутий нами метод у літературі іноді
називають методом дихотомії. Назву метод поділу відрізка
навпіл використовують для іншого алгоритму.
Нехай f ( x)  C1a, b і унімодальна. Розглянемо задачу
f ( x)  min .
xa1 ,b1 
На
першому
кроці
вибираємо
точку
a b
x1  1 1
2
й
обчислюємо значення похідної f ( x1 ) . У випадку f ( x1 )  0 точка
x1
є
розв’язком.
Якщо
f ( x1 )  0 ,
то
визначаємо
новий
локалізований відрізок [a2 , b2 ]  [a1, x1 ] , а у випадку f ( x1 )  0 –
[a2 , b2 ]  [ x1, b1 ] . Процес продовжуємо доти, доки не виконається
умова bn  an   , або f ( xk )  0 . У першому випадку за розв’язок
приймаємо точку xn  (an  bn ) / 2, у другому – точку xk . На
практиці умову зупинки алгоритму можна змінити.
2.3. Метод золотого поділу відрізка
Означення 2.5. Золотим поділом відрізка на дві неоднакові
частини називають поділ, за якого відношення довжини всього
відрізка до довжини довшої його частини дорівнює відношенню
довжини довшої частини відрізка до довжини його коротшої
частини.
У випадку відрізка одиничної довжини
1 /    /( 1   ),
7. Числові методи умовної мінімізації
21
----------------------------------------------------------------------------------------------------------
звідси  2  1   і 1,2  (1  5 ) / 2 .
Отже, довший відрізок має довжину

5 1
,
2
а коротший
1  1   
3 5
.
2
У випадку довільного відрізка a , b точками золотого поділу
є
x1  a 
3 5
5 1
(b  a ) , x2  a 
(b  a )
2
2
(
2.5)
Виявляється, що точки x1 , x2 – це точки золотого поділу для
відрізків a, x2  і x1 , b. відповідно Використовуючи цю властивість
точок золотого поділу, можна запропонувати для розв’язування
задачі (1.1) метод золотого поділу відрізка. Алгоритм цього методу
такий.
Приймемо a1  a , b1  b . Виберемо точки
x1  a1 
5 1
3 5
(b1  a1 ) .
(b1  a1 ) ; x2  a1  b1  x1  a1 
2
2
Обчислимо значення f ( x1 ), f ( x2 ) . Якщо f ( x1)  f ( x2 ) , то
приймемо
a2  a1 , b2  x2 , x 2  x1 ,
в
іншому
Дослідження операцій
випадку ( f ( x1 )  f ( x 2 ))
a2  x1 , b2  b1 , x 2  x2 .
22
Побудований
відрізок a2 ,b2  є локалізованим
a2 ,b2   X*   ,
x 2  int a2 , b2 
,
b2  a 2  x 2  a1  b  x1 
5 1
b  a 
2
і відомо значення f ( x 2 ) . Нехай уже визначено точки x1 ,..., xk 1 ,
локалізований відрізок ak 1 ,bk 1  , обчислено відповідні значення
функції f ( x1 ),..., f ( xk 1 ) . У цьому випадку
 5 1 

ak 1 ,bk 1   X*   , bk 1  ak 1  (b  a)

2


k 2
,
відома точка x k 1 , яка виконує золотий поділ відрізка ak 1 ,bk 1  , і
обчислено
f ( x k 1 ) 
значення
min
i 1,..., k 1
мінімізаційної
функції
в
f ( xi ) . За іншу точку вибираємо

цій
точці:
другу точку

золотого поділу відрізка a k 1, bk 1 , тобто точку xk  ak  bk  x k .
У цій точці обчислюємо f xk  і визначаємо локалізований
відрізок ak ,bk  , а саме (вважатимемо, що x k 1  xk ) у випадку
f ( x k 1 )  f ( xk )
приймемо
ak  ak 1 , bk  xk ,
x k  x k 1 , а у
випадку f ( xk )  f ( x k 1 ) – ak  x k 1 , bk  bk 1 , x k  xk (випадок
7. Числові методи умовної мінімізації
23
----------------------------------------------------------------------------------------------------------
x k 1  xk розглядається аналогічно). Новий відрізок
ak ,bk 
є
локалізований
 5 1 

bk  ak  

2


ak , bk   X *  ,
k 1
(b  a) .
Точка x k – це точка золотого поділу відрізка ak ,bk  і в цій
точці обчислено значення функції
f ( x k )  min f ( xi ) . Якщо
i 1, k
кількість обчислень функції f (x) не обмежена, то цей процес
можна
продовжити
доти,
доки
не
виконається
нерівність
bk  ak   , де  – задана точність обчислень. Якщо кількість
обчислень функції задана і дорівнює n , то після отримання
локалізованого відрізка
an ,bn 
обчислення припиняємо і за
розв’язок задачі другого типу беремо x n ,
наближення до f*  min f ( x) , а точка
xa ,b 
f ( xn ) ;
f ( xn )
–
x n – наближення до
множини X* з похибкою
( x n , X * )  max( x n  an , bn  x n ) 
1
( 5  1)(bn  an ) 
2
n
 5 1 
 (b  a)  An
 

2


Приклад 2.4. Знайти розв’язок задачі (2.4) методом золотого
поділу відрізка.
Дослідження операцій
24
У даному випадку
a1  0, b1  3 ,  
3  5 3  2.236

 0,382; 1    0,618 .
2
2
І ітерація: k=1 і за формулою (2.5 ) обчислюємо x1 та x 2 і
значення функції у цих точках:
x1  a1    (b1  a1 )  0  0,382  3  1,146;
x2  b1  ( x1  a1 )  3  1.146  1,854;
f ( x1 )  1,146 2  2  1,146  5  1,314  2,292  5  4,022 ,
f ( x2 )  1,854 2  2  1,854  5  3,438  3,708  5  4,730 .
Оскільки 4,73>4,022 то новий локалізуючий відрізок буде
[a2 ; b2 ]  [ 0; 1,854]
значення
з внутрішньою точкою
функції
уже
обчислено.
У
x2  1,146 в якій
даному
випадку
b2  a2  1,854   . Обчислення продовжуємо.
ІІ
ітерація:
k=2,
обчислюємо
точку
x3  b2  ( x2  a2 )  1,854  (1,146  0)  0,708 і
f ( x3 )  0,708 2  2  0,708  5  0,503  1,416  5  4,087
.
Оскільки
4.087>4.022, то новим локалізуючим відрізком
буде [a3 , b3 ]  [0,708; 1,854]
в якій
із внутрішньою точкою x 3  1,146
значення функції відоме
f ( x 3 )  4,022 .
Оскільки
7. Числові методи умовної мінімізації
25
----------------------------------------------------------------------------------------------------------
b3  a3  1,146   ,
то
обчислення
продовжуємо.
Результати
наступних ітерацій записано у табл. 2.2.
Після четвертої ітерації отримаємо локалізуючий відрізок
a5 ; b5   0,708;1,146 і точку

x5  0,978 в якій f ( x5 )  4,0005 .
У даному випадку b5  a5  0,438  . Отже, як і у прикладі 2.3
покладаємо x*  0.987  x* ,
f ( x* )  4.0005. Гарантована похибка
рівна
max{1,146  0,978; 0,978  0,708}  0,270 .
Якщо врахувати оцінку An і аналогічну оцінку в методі поділу відрізка навпіл
Таблиця 2.2
k ak
bk
xk
x k 1
f ( xk )
1 0
3
1146
1854
4,022
4,730
1,146
2 0
1,854 0,708
1,146
4,087
4,022
1,146
3 0,708 1,854 1,146
1,416
4,022
4,173
1,146
4 0,708 1,416 0,978
1,146
4,0005
4,022
0,978

n

n
( x n , X * )  2 2 (b  a  )  2 2 (b  a)  Bn ,
f ( xk 1x)k 1
Дослідження операцій
26
то отримаємо
An / Bn  (2 2 /( 5  1)) n  (0,87...) n .
Отже, навіть для малих n метод золотого поділу ефективніший, у сенсі кількості обчислень. ніж метод поділу відрізка
навпів. Недоліком методу золотого поділу в запропонованому
вигляді є його нестійкість. Розглянемо числову реалізацію методу.
Обов’язково число
наближеного
5 буде задано наближено, а це зумовить до
обчислення
точок
x1  a 
3 5
(b  a ) ,
2
x2  a  b  x1 . Розглянемо як ця похибка впливатиме на результат
наступних кроків. Уведемо позначення  n  bn  an , тоді маємо
різницеве рівняння
 n2   n   n1 , n  3,4 ,
(
2.6)
з початковими умовами
1  b1  a1 ,  2  b2  a2 .
Розв’язок
(2.6)
шукатимемо
у
вигляді
 n  n ,
для
визначення  маємо характеристичне рівняння
(
2    1
2.7)
7. Числові методи умовної мінімізації
27
----------------------------------------------------------------------------------------------------------
Лінійно незалежними частинними розв’язками рівняння (2.6)
будуть 1n ,  2 n n  1,2 ,... , де 1 
5 1
5 1
, 2  
– корені
2
2
рівняння (2.7). Довільний розв’язок рівняння (2.6) можна записати
у вигляді:
 n  C11n  C 2  2 n , n  1,2 ,… .
(
2.8)
Сталі C1 , C2 можна визначити з початкових умов:
C11  C 2  2  1  b1  a1  b  a ,
C112  C2 2 2   2  b2  a2  (b  a)
5 1
2
(
2.9)
У разі точного розв’язування системи (2.9):
C1 
2(b  a)
, C2  0,
( 5  1)
тоді  n  1n 1 (b  a) . Однак на практиці замість  2 у
системі (2.9) беремо наближене значення  2   2   і замість
(2.8) з точними значеннями C1 , C 2  0 отримаємо
 n  C11n  C 2  2 n  C11n   2  2 n ,
де
C1  C1  1 ,
C 2  2 .
Оскільки 2  1,6  1 , то похибка становитиме
Дослідження операцій
28
 n   n  11n   2 2 n   2 2 n
і зі збільшенням n зростатиме доволі швидко. Отже, уже для
малих n точки an , bn , x n відрізнятимуться від теоретичних, які
можна отримати лише внаслідок точних обчислень. Практичні
підрахунки також підтвердили нестійкість методу. Цей недолік
можна легко усунути. Нехай маємо локалізований відрізок ak ,bk  і
внутрішню точку x k із обчисленим значенням f ( x k ) . Знаходимо
точки золотого поділу відрізка a k , bk 
xk 1  ak 
3 5
(bk  ak ),
2
xk 1  ak 
5 1
(bk  ak )
2
Точку, яка є далі від точки x k , вибираємо за xk 1 . В іншому
алгоритм незмінний. За такої модифікації метод втрачає симетричність і красу в обчисленні, однак зберігає стійкість і повністю відповідає теоретичним висновкам. Метод золотого поділу належить
до симетричних методів. Використовуючи цю ідею, можна будувати й інші симетричні методи, але як і в методі золотого поділу, їх
потрібно досліджувати на стійкість.
2.4. Оптимальні методи пошуку екстремуму
Після ознайомлення з методами поділу відрізка навпіл і
золотого поділу можемо вирішувати питання про побудову опти-
7. Числові методи умовної мінімізації
29
----------------------------------------------------------------------------------------------------------
мальних методів, тобто таких, які дають змогу отримати результат
із заданою (гарантованою) точністю за мінімальних обчислювальних затрат. На етапі вибору алгоритму відома інформація про мінімізаційну функцію, тобто f ( x)  F , де F – деякий клас функцій.
Обчислювач попередньо досліджує функцію, визначає наявність
важливих властивостей функції: унімодальність, опуклість, обмеженість тощо, а іноді дає кількісні оцінки. Далі потрібно обмежитись певним класом алгоритмів А, з якого вибиратимемо оптимальний. Нехай ( f , ) – похибка розв’язку розглядуваної задачі
мінімізації для функції f ( x)  F методом   A . Розв’язуючи тим
самим методом задачу мінімізації для різних функцій із класу F ,
матимемо різні похибки. Для одних функцій така похибка може
дорівнювати нулю, а для інших – бути значною. У разі оцінки методу треба враховувати його гарантовану похибку.
Означення 2.6. Величину
()  sup ( f , )
називають
f
гарантованою похибкою методу   A на класі функцій F . Метод
1 кращим від методу  2 на класі функції F , якщо (1 )  ( 2 ).
Означення 2.7. Метод p*   називають оптимальним на
класі F , якщо ( p* )  inf ( p)  * , а величина * – найкраща
p
гарантована похибка методу з A на класі функцій F . Якщо для
деякого методу p   виконується нерівність ( p )  *   , то
метод p назвемо  -оптимальним на класі F .
Дослідження операцій
Розглянемо клас унімодальних функцій
F (x) .
30
В опис
кожного методу   A входить правило вибору точок x1 , x 2 ,..., x n ,
що належать a ,b , обчислення f ( x1 ),..., f ( xn ) для мінімізаційної
функції
f ( x)  F ,
виділення
з
цих
точок
xn ,
для
якої
f ( x n )  min f ( xi ) , і визначення локалізованого відрізка, тобто
i
визначення ближчих до x n точок ліворуч і праворуч. Застосувавши
вибраний метод    до конкретної функції f ( x)  F , отримаємо
локалізований відрізок an ,bn  , точку x n  an ,bn  з обчисленим
значенням
f ( xn )  min f ( xi ) , у цьому разі f ( x)  f ( x n ) для всіх
1 i  n
x  a ,b \ an ,bn  і an ,bn   X*   . За f* вибираємо f ( x n ) , за x –
- x n , або
an  bn
, тоді
2
( x n , x* )  inf x n  x  bn  an  ( f , ) .
x X 
Величина
( f , )
є фактично гарантованою похибкою
розв’язку задачі мінімізації функції f ( x)  F методом   A . Для
визначення кращого методу потрібно уточнити правило вибору
точок x1 ,..., xn . Залежно від вибору точок x1 ,..., xn розрізняють два
типи методів, а саме:
1) пасивні методи;
2) послідовні методи.
7. Числові методи умовної мінімізації
31
----------------------------------------------------------------------------------------------------------
У випадку пасивних методів усі точки x1 , x2 ,..., xn задають в
апріорі і в процесі обчислень не змінюють. У випадку послідовного
пошуку точки x1 ,..., xn вибирають послідовно, певними порціями і
під час вибору наступної порції точок результати попередніх обчислень враховують (див. методи золотого поділу та поділу відрізка
навпіл). Звичайно, пасивний метод можна вважати частинним
випадком методу послідовного, коли в першій порції вибирають всі
n точок.
Нехай F – клас унімодальних функцій і A - множина пасивних методів:
def
  {x1,..., xn : x0  a  x1  x2  ...  xn  b  xn 1}.
Після
обчислення
значень
f ( xi ) ,
i  1, n
визначаємо
локалізований відрізок an ,bn  з внутрішньою точкою x n , тоді
f ( x n )  min f ( xi ) . У цьому випадку:
i
( f , )  max ( xi 1  xi 1),
i 1, n
Теорема 2.1.
f  F ,   A.
При n  2k  1 існує безліч оптимальних
пасивних алгоритмів, а при
n  2k
оптимального пасивного
алгоритму не існує, існує лише  - оптимальний алгоритм.
У випадку
n  2k  1
Точки x2i 1 , i  1,k
приймаємо x 2i  a 
ba
i , i  1, k  1 .
k
виберемо так, щоб виконувались умови
Дослідження операцій
x2i 2  x2i 1  x2i та x2i 1  x2i 1 
ку () 
32
ba
, i  1,k  1 . У цьому випадk
ba
. Покажемо, що кращого алгоритму побудувати не
k
можна. Доведемо
це від протилежного. Нехай такий алгоритм
побудовано, у цьому разі
max( xi 1  xi 1 ) 
ba
.
k
Тоді
x 2i  x 2i 1 
ba
; i  1, k ;
k
k
 ( x 2i  x 2(i 1) ) 
i 1
ba
k
k
або b  a  b  a , що суперечить зробленому припущенню. 
Розглянемо випадок
n  2k
, тоді
 -оптимальним буде
алгоритм
  {x2i  a 
ba
i,
k 1
У цьому випадку * 
x2i 1  x2i  , i  1,2,..., k}.
(
2.10)
ba
 inf () .
k 1
Доведення знову виконаємо від протилежного. Нехай існує
такий алгоритм, для якого
max ( xi 1  xi 1 ) 
i 1, n
k
тоді  ( x2i  x2i  2 ) 
i 1
ba
,
k 1
ba
k.
k 1
7. Числові методи умовної мінімізації
33
----------------------------------------------------------------------------------------------------------
або x2k  a  k
ba
,
k 1
що суперечить зробленому припущенню, оскільки
x2k 1  x2k 1  b  x2k  x2k  x2k 1 
ba
 . 
k 1
Приклад 2.5. Знайти розв’язок задачі (2.4 ) з використанням
пасивних оптимальних методів у випадку n=4 і n=5 точок в яких
обчислюватимемо значення функції.
У випадку n=4=2k покладемо ε = 0.1 і вибираємо h=(ba)/(k+1)=3/3=1.
Тоді:
x 2  0  1  1, x 4  0  2  1  2,
x1  x2    1  0.1  0,9
x3  x4  0,1  1,9 .
Значення функції у даних точках будуть:
f (0,9)  4,01, f (1)  4; f (1,9)  4,81; f (2)  5.
Оскільки f (1)  min{ f ( xi )}  4 , то покладаємо x*  1 ,
i
а
локалізуючий відрізок становитиме [0,9; 1,9]. Легко бачити, що
довжина локалізуючого відрізка у випадку довільної іншої функції
не буде перевищувати 1.1=1+ε.
У випадку n=5=2k+1 покладаємо h=3/(k+1)=1, точки x 2 , x 4
вибираємо аналогічно попередньому випадку а інші три точки
Дослідження операцій
визначаємо
з
x1   1 , x3  1   3 ,
умови
i  (0,1) i 1  3  5 .
Остання
умова
дає
x5  2   5 ,
змогу
34
де
отримати
локалізуючі відрізки довжиною не більше одиниці. Для простоти
покладемо 1  3  5  0.5 . Тоді шукані три точки будуть рівні
відповідно 0,5; 1,5; 2,5. Значення функції у вибраних п’яти точках
будуть:
f (0,5)  4,25; f (1)  4; f (1,5)  4,25; f (2)  5; f (2,5)  6,25.
.
Оскільки f (1)  min{ f ( xi )}  4 , то покладаємо x*  1 ,
i
а
локалізуючий відрізок буде [0,5; 1,5].
Теорема
2.2.
Серед
послідовних
алгоритмів
немає
оптимального,  -оптимальним є алгоритм Фібоначчі.
Доведення цієї теореми
можна знайти в [7]. Коротко
розглянемо власне алгоритм.
Означення 2.8. Числа Fi називають числами Фібоначчі,
якщо виконується умова Fi 1  Fi  Fi 1 , i  1,2,..., F1  F0  1 .
У разі
використання методу Фібоначчі потрібно апріорі
знати число n  кількість точок, у яких обчислюємо значення
функції
f (x).
При заданому n на першому кроці для відрізка
a1 ,b1  вибираємо
F
x1  a1  n  2 (b1  a1 ) ,
Fn
F
x2  a1  n 1 (b1  a1 )
Fn
7. Числові методи умовної мінімізації
35
----------------------------------------------------------------------------------------------------------
у цьому разі x2  a1  b1  x1 , тобто метод симетричний.
Аналогічно, як у методі золотого поділу, вибираємо локалізований
відрізок a2 ,b2 , точку x 2  (a2,b2 ) , тоді
F
b2  a2  n 1 (b1  a1 )  x2  a1  b  x1.
Fn
На кожному наступному кроці точку, в якій обчислюємо
функцію f ( x ) , вибираємо симетрично щодо середини відрізка
xk 1  ak  bk  x k . Взаємне розміщення точок xi можна пояснити
з табл. 2.3, де r1 , r2 – відстань нової внутрішньої
точки до
ближчого і дальшого кінців локалізованого відрізка.
Як бачимо з табл. 2.3, після ( n  1 )-го кроку точка x n1 є
серединою відрізка an1 ,bn1  . Точку xn виберемо на відстані 
від середини відрізка [a n , bn ], x n  x n 1  
і аналогічно до
попереднього знаходимо локалізований відрізок [ an ,bn ]
і
ba
внутрішню точку x n . Довжина [an , bn ] не більша
 . У
Fn
цьому разі приймемо f  f ( xn ), x  xn . Якщо в точці xn не
обов’язково мати значення функції f (x) , то приймаємо
x 
a n  bn
.
2
Дослідження операцій
36
Таблиця 2.3
Кількість
виконаних
Довжина відрізка
r1
r2
2
Fn 3
(b  a )
Fn
Fn  2
(b  a )
Fn
Fn 1
(b  a )
Fn
3
Fn  4
(b  a )
Fn
Fn 3
(b  a )
Fn
Fn  2
(b  a )
Fn
Локалізації
кроків
k
…
…
…
Fn  k 1
(b  a)
Fn
Fn  k
(b  a )
Fn
Fn  k 1
(b  a)
Fn
…
…
…
n 1
1
(b  a )
Fn
1
(b  a )
Fn
2
(b  a )
Fn
n

1
(b  a )
Fn
ba
ba
або

Fn
Fn
Приклад 2.6. Знайти розв’язок задачі 2.4 методом Фібоначчі
при n=4.
У нашому випадку
x1  0 
Fn  2
2
(bn  an )  (3  0)  1,2;
Fn
5
7. Числові методи умовної мінімізації
37
----------------------------------------------------------------------------------------------------------
x2  0 
F0  F1  1;
Fn 1
3
(bn  an )  (3  0)  1,8;
Fn
5
F2  2;
F3  3;
F4  5; f (1,2)  4,04; f (1,8)  4,64.
Отже, новий локалізований відрізок буде [0;1,8] i
x 2  1,2
Наступні наближення подано у табл. 2.4
Таблиця 2.4
k
ak
bk
xk
x k 1
f ( xk )
f ( xk 1)
x k 1
1
0
3
1,2
1,8
4,04
4,64
1,2
2
0
1,8
0,6
1,2
4,16
4,04
1,2
3
0,6
1,8
1,2
1,2
4,04
4,04
1,2
4
0,6
1,2
1,1
1,2
4,01
4,04
1,1
Отримано локалізований відрізок [0,6; 1,2]
і внутрішню
точку x4  1,1 , яка є наближенням до розв’язку задачі, а значення
функції у цій точці рівне f ( x4 )  4,04.
Як і метод золотого поділу, метод Фібоначчі нестійкий,
Тому на k -му кроці, маючи локалізований відрізок a k , bk  , точку
x k , за наступну точку xk 1 вибираємо ту із двох точок
F
xk  ak  n  k 1 (bk  ak ) ,
Fn  k 1
xk  ak 
Fn  k
(bk  ak ) ,
Fn  k 1
Дослідження операцій
38
яка розташована далі від точки x k . Інші обчислення аналогічні до
методу золотого поділу. Крім нестійкості, цей метод має ще один
недолік. Він суттєво залежить від апріорного значення
n.
Враховуючи строгу залежність методу від n і ту властивість, що
при великих n локалізовані відрізки an ,bn  за методом золотого
поділу і
a"n ,b"n 
за методом Фібоначчі мало відрізняються
bn  an
 1,1708... , на практиці частіше застосовують метод золоb" n a" n
того поділу.
Зазначимо, що запропоновані методи можна використовувати для мінімізації функцій, які не є унімодальними. Однак у такому випадку не можна гарантувати, що знайдений розв’язок буде
наближенням до глобального мінімуму. Це може бути локальний
мінімум.
2.5. Метод парабол
Нехай
задано
локалізований
відрізок
a1 ,b1  ,
точку
c1  (a1, b1 ) , і виконуються умови:
  f (a1 )  f (c1 )  0,   f (b1 )  f (c1 )  0,     0
(2.10)
Трійку чисел, для яких виконуються умови (2.10), називають
опуклою. Через точки (a1, f (a1 )) , (c1, f (c1 )) , (b1, f (b1 )) проведемо
параболу (квадратний тричлен, графік якого перетинає перелічені
точки). Рівняння параболи можна записати у такому вигляді:
7. Числові методи умовної мінімізації
39
----------------------------------------------------------------------------------------------------------
 
  ( x  c1 )( x  b1 )

F ( x)  


( x  c1 )  f (c1 )
 b1  c1 c1  a1 
b

a
b

c
1
1
1
1


Легко бачити, що коефіцієнт при x 2 додатний. Отже, функція досягає свого мінімуму в точці
s1  c1 
1 (b1  c1 ) 2   (c1  a1 ) 2 
2 (b1  c1 )  (c1  a1 )
(
2.11)
З (2.11) отримаємо оцінку
a1  c1
b c
 s1  1 1 .
2
2
Цю точку виберемо за точку наступного обчислення функції
f (x) . Якщо s1  c1 , тоді за точку наступного обчислення
можна
взяти
довільну
точку,
яка
належить
f (x)
проміжку
 a1  c1 b1  c1  . Припустимо, що такою вибрано точку
(a1  c1 ) / 2 .
 2 , 2 


Отже, наступне обчислення функції виконуємо в точці
 s1 , s1  c1 ,

t1   c1  a1
 2 , s1  c1 .
За значеннями функції f (x) у точках a1 , t1 , c1 , b1 визначимо
новий локалізований відрізок a2 ,b2  із внутрішньою точкою c2 , у
якій обчислено значення функції f (x) . У цьому випадку c2  c1 ,
або
c2  t1 .
Далі процес продовжують для відрізка
a2 ,b2 
Дослідження операцій
40
аналогічно, як на попередньому кроці. Алгоритм повторюють доти,
доки не буде виконана умова зупинки, наприклад, (bn  an )   .
Приклад 2.7. Знайти розв’язок задачі:
x4  2x2  3 
 min .
1;2
У нашому випадку для
a1  1, b1  2, c1  0,
маємо f {1}  0, f (0)  3, f (2)  21,   3,   24,
А це означає, що вибрана трійка точок є опуклою. Парабола,
яка проходить через задані точки, матиме вигляд:
F ( x)  (
24 3 ( x  0)( x  2) 24
 )
 ( x  0)  3  5 x 2  2 x  3
2 1
3
2
При цьому:
s1  0,222;
f (0,222)  2,9184.
Новий локалізуючий відрізок визначено [-0,222; 2]. Тепер
можна застосувати повторно метод парабол при цьому покладаємо
a2  0,222; b2  2; c2  0
розглянутих вище методів
або
використати
один
із
7. Числові методи умовної мінімізації
41
----------------------------------------------------------------------------------------------------------
2.6. Числові методи мінімізації багатоекстремальних
функцій
Як
зазначено
вище,
розглянуті
методи
можна
використовувати для відшукання мінімуму унімодальних функцій.
У випадку багатоекстремальних функцій можемо знайти локальний
мінімум (не має жодної гарантії, що знайдений розв’язок є точкою
глобального
мінімуму).
Розглянемо
клас
функцій
F,
які
задовольняють на проміжку a ,b умову Ліпшіца зі сталою L .
Сформулюємо задачу: знайти f*  min f ( x) з точністю  ,
[ a ,b ]
тобто для x n повинна виконуватися умова:
f ( x n )  f*   ,
(
2.12)
однак відстань від точки x n до множини X* до уваги не беремо.
Для розв’язування такої задачі можна розглянути декілька методів.
2.6.1. Метод простого перебирання. Нехай задано   0 .
Виберемо крок h 
2
і послідовність точок
L
h
x1  a  , ..., xi 1  xi  h  x1  ih, ...., xn 1  x1  (n  2)h,
2
xn  min{ x1  (n  1)h, b}
Дослідження операцій
Точка xn повинна задовольняти умову xn 1  b 
42
h
 xn . У
2
кожній із заданих точок обчислюємо f ( xi ) , а за x n вибираємо
точку, для якої виконується умова
f ( x n )  min { f ( xi )} . Задане
i 1, n
значення функції задовольняє умову (2.12), тобто розв’язує
сформульовану
задачу.
Розглянемо
проміжок
h
h

 i   xi  , xi   , i  1, n . На цьому проміжку виконується оцінка
2
2

f ( x)  f ( xi )  L
h
h
 f ( x n )  L  f ( x n )   x   i .
2
2
n
Оскільки   i покриває весь проміжок a ,b , то ця оцінка
i 1
правильна для всіх x  a ,b, а також для точки мінімуму (якої ми
не обчислили). Отже, f ( x* )  f ( x n )   . Звідси випливає (2.12).
2.6.2. Метод послідовного перебирання. Метод простого
перебирання потребує обчислення значень функцій у достатньо
великій кількості точок, водночас не враховує інформації в уже
обчислених точках, що робить його неефективним. Цей недолік
частково усуває метод послідовного перебирання. Точки xi вибираємо так:
x1  a 
h
f ( xi )  Fi
, xi 1  xi  h 
, i  1,n  1 ;
L
2
xn  min{ xn 1  h  ( f ( xn 1 )  Fn 1 ) / L, b} ,
7. Числові методи умовної мінімізації
43
----------------------------------------------------------------------------------------------------------
де
Fi  min f ( x j ) ,
j 1,i
n вибираємо з умови
xn 1  bn 
f ( xn 1 )  Fn 1
h
.
 xn 1  h 
2
L
Легко бачити, що для
h f ( xi )  Fi 

x   xi , xi  
, i  1, n  1
2
L


виконуються оцінки:
h f ( xi )  Fi


f ( x)  f xi   L xi  
 xi  
2
L


h
 Fi  L  Fn    f ( x n )  ,
2
аналогічна оцінка виконується для
(
2.13)
h 

x   xi  , xi  , i  1, n
2 

та
x  x n ,b . Оскільки проміжки
h  
h f ( xi )  Fi 

 , i  1, n  1 та x n ,b
 xi  2 , xi    xi , xi  2 
L

 

покривають весь відрізок a ,b , то нерівність (2.13) виконується
також для точки x  x* . Отже,
f ( x* )  f*  f ( x n )   .
Дослідження операцій
44
Звідси випливає умова (2.12). Методи перебирання іноді
називають методами покриттів.
Приклад 2.8. Розв’язати методом послідовного перебирання
з точністю   0,2 задачу

 x 2  2 x  5 ïðè x  (,2]
f ( x)  
 min
x[0, 4]

ïðè x  [2, )
7  x
Легко бачити, що на проміжку [0:4] константа Ліпшиця L=2.
h
Оскільки
2
 0,2 , то
L
x1  0,1;
f (0,1)  4,81.
Наступні обчислення подано у табл. 2.5
Отже
нами
x*  3,928
x*  4,0;
отримано
f ( x* )  3,072 .
наближений
Розв’язком
задачі
розв’язок
є
точка
f ( x* )  3.
Таблиця 2.5
k
xk
f ( xk )
Fk
к
xk
f ( xk )
Fk
1
0.1
4,81
4,81
9
1,88
4,774
4,01
2
0,3
4,49
4,49
10
2,46
4,54
4,01
3
0,5
4,25
4,25
11
2,925
4,074
4,01
7. Числові методи умовної мінімізації
45
----------------------------------------------------------------------------------------------------------
4
0,7
4,09
4,09
12
3,128
3,872
3,872
5
0,9
4,01
4,01
13
3,328
3,672
3,672
6
1,1
4,01
4,01
14
3,528
3,472
3,472
7
1,3
4,09
4,01
15
3,728
3,272
3,272
8
1,54
4,29
4,01
16
3,928
3,072
3,072
2.6.3. Метод ламаних. Нехай f ( x)  QL  f  класу функцій,
які задовольняють умову Ліпшіца зі сталою L . Виберемо на
проміжку a ,b деяку точку y і проведемо ламану лінію
q ( x, y )  f ( y )  L x  y .
(2.14)
Легко з’ясувати, що графік цієї лінії лежить не вище від
графіка функції f (x) і має з нею хоча б одну спільну точку
 y , f  y  (можливий спільний відрізок).
f ( x)  q( x, y)  f ( x)  f ( y)  L x  y  L x  y  f ( x)  f ( y)  0
Використовуючи
цю
властивість,
алгоритм відшукання мінімуму функції
можна
побудувати
f x  . Нехай задана
функція f ( x)  QL ( f ) на проміжку a ,b , виберемо деяку точку x0
і побудуємо ламану
Дослідження операцій
46
q( x, x0 )  f ( x0 )  L x  x0  0 ( x) .
Тепер визначимо точку
x1 з умови
0 ( x1 )  min 0 ( x) .
a,b
Припустимо, що уже побудували ламану  k x  і визначили точку
xk 1 із умови
k ( xk 1 )  min k ( x) .
a,b
Маючи точку xk 1 , будуємо ламану
q( x, xk 1 )  f ( xk 1 )  L x  xk 1
і визначаємо ламану
 k 1 ( x)  max k ( x), q( x, xk 1 ) .
Точку xk  2 визначаємо з умови
k 1 ( xk  2 )  min k 1 ( x) .
[ a ,b ]
Процес можна припинити, якщо k ( xk 1 )  f ( xk 1 )   , тоді
значення f знайдено з точністю  : f ( xk 1 )  f   , хоча відхилення від точного розв’язку  ( x k 1 , x* ) нам не відоме.
2.7. Пошук початкового локалізованого відрізка
Запропоновані вище методи використовують лише тоді, коли
відомий локалізований відрізок a ,b , у цьому випадку x  a ,b .
Постає запитання, як знайти цей відрізок? Нехай f (x) – унімодаль-
7. Числові методи умовної мінімізації
47
----------------------------------------------------------------------------------------------------------
на функція на R . Треба знайти проміжок a ,b , якому належить
точка x* . Для розв’язування цієї задачі є низка методів. Розглянемо
алгоритм, запропонований Девісом, Свенна, Кемпі (ДСК). У разі
одновимірного пошуку за ДСК збільшуємо крок доти, доки не
перейдемо точку мінімуму. Виберемо точку x0 і крок h0  0 та
обчислимо
значення
функцій
f ( x0 ) ,
f ( x0  h0 ) .
Нехай
f ( x0 )  f ( x0  h0 ) , якщо f ( x0 )  f ( x0  h0 ) , то беремо h0  0 ; ве-
личина h0 є достатньо малою, щоб виконувалася одна з таких
умов:
f ( x0  h0 )  f ( x0 ) або f ( x0  h0 )  f ( x0 ) .
Зауваження. Якщо виконуються умови
f ( x0  h0 )  f ( x0 ) , f ( x0  h0 )  f ( x0 ) і
h0   ,
то можна вважати x0 розв’язком задачі з заданою точністю .
Отже, нехай f ( x0 )  f ( x0  h0 ) , тоді приймемо x1  x0  h0 ,
h1  2h0 і обчислимо f ( x2 ) , де x2  x1  h1 . Якщо f ( x1 )  f ( x2 ) , то
приймаємо x2  x1  h1 і h2  2h1 і т.д. Нехай після k кроків
одержано
f ( xk )  f ( xk  hk )
( xk  xk 1  hk 1, hk  2hk 1  2k 1 h1 ) .
Дослідження операцій
48
Введемо такі позначення: x k 1  x k  hk  x m , xk  xm 1 ,
xk 1  xm  2 .
Зменшимо
xm1  xm  hk 1
та
hk 1  hk / 2
крок
f ( xm 1 ) .
З
і
обчислимо
чотирьох
точок
xm2  xm1  xm1  xm вилучаємо xm або xm2 і залишаємо три
точки, які утворюють локалізований відрізок a, b  із внутрішньою
точкою xm , для якої f ( x m )  min f ( xi ). У цьому випадку
i
x m  a  b  x m  x і a ,b   X *   .
Через точки (a, f (a)) , ( x m , f ( x m )) , (b, f (b)) для визначення
x проведемо параболу, у цьому випадку
x*  x  x m 
x f (a)  f (b)
.
2 f (a)  2 f ( x m )  f (b)


Цим завершуємо перший етап методу ДCK. За бажанням цю
процедуру можна продовжити, за початкову точку взяти x та
зменшити h0 . Можна використати запропоновані раніше методи,
вибравши за початковий відрізок уже отриманий відрізок за методом ДСК.
Приклад 2.8. Визначити локалізований відрізок для функції
(2.4) за умови, що x0  2, x0  0.1 .
І крок . Перейдемо у точку x1  x 0  x 0  2.1 і обчислимо
f ( x0 )  5, f ( x1 )  5.21 . Оскільки
напрям
руху,
тобто
вибрати
5.21>5, то потрібно змінити
x0  0,1 .
При
цьому
7. Числові методи умовної мінімізації
49
----------------------------------------------------------------------------------------------------------
x1  x0  x0  1,9; f ( x1 )  4,81 і далі працюємо з зазначеним
кроком. Результати обчислень за алгоритмом ДСК подано у табл.
2.6.
f ( x4 )  f ( x3 ) ,
Оскільки
x4  0.5  x3  0,4 ,
знаходимо
то
наступну
покладаємо
точку
x5  0,5  0,4  0,9 і значення функції у даній точці f ( x5 )  4,01.
Таблиця 2.6
k
x k
f ( xk )
xk
0
-0,1
2
1
-0,2
2
x k 1
f ( xk 1)
5
1,9
4,81
1,9
4,81
1,7
4,41
-0,4
1,7
4,41
1,3
4,09
3
-0,8
1,3
4,09
0,5
4,25
4
-0,4
0,5
4,25
0,9
4,01
За значенням функції у точках x 2 , x3 , x 4 , x5 знаходимо
локалізуючий відрізок [0,5; 1,3], точку x*  0,9 можна вибрати за
наближений розв'язок. При такому виборі наближеного розв’язку
ми гарантуємо похибку не більше max{1,3  0,9; 0,9  0,5}  0,4.
Для визначення розв’язку з меншою гарантованою похибкою можна поступити по різному.
І. Покладемо
повторимо.
x0  0,9; x0  0,02  0,5 і алгоритм ДСК
Дослідження операцій
50
ІІ. Маючи локалізований відрізок використаємо один із
розглянутих вище методів (метод золотого поділу відрізка,
алгоритм Фібоначчі, метод дихотомії і інші методи).
Запитання для самоперевірки
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Дайте означення унімодальної функції.
Зробіть постановку одновимірної оптимізаційної задачі.
Опишіть метод ділення відрізка навпіл.
Дайте означення золотого поділу відрізка.
Сформулюйте метод золотого поділу.
Дайте означення опуклої трійки точок.
Опишіть метод парабол.
Опишіть оптимальний метод пасивного пошуку.
Опишіть  -оптимальний метод пасивного пошуку.
Опишіть метод Фібоначчі.
Опишіть метод ламаних.
Дайте визначення локалізуючого відрізка.
Опишіть метод ДСК.
Опишіть метод простого перебирання.
Опишіть метод послідовного перебирання.
Опишіть недолік методів золотого поділу та Фібоначчі,
спричинений заокругленням в процесі обчислень.
 Завдання для самостійної роботи
Розв’язати методом поділу відрізка навпіл з точністю
bn  an   одновимірні задачі оптимізації:
2.1. f ( x)  x 2  5 x  3 x( x  1)  min
[ 2 ,8 ]
  0,5 .
7. Числові методи умовної мінімізації
51
----------------------------------------------------------------------------------------------------------
 2 x  1 ïðè
x 1
 x  4 x ïðè
x 1
2.2. f ( x)  
2
 min
[ 0 , 3]
  0,5
2.3 Розв’язати методом золотого поділу відрізка задачі 2,1; 2,2.
2.4 Використовуючи оптимальні методи пасивного пошуку
розв’язати задачі 2,1; 2,2 при n=5, 6.
2.5 Знайти локалізуючий відрізок методом ДСК для задачі 2,1
( x0  7 ) і задачі 2,2 ( x0  2,5 ) при x0  0,2 .
2.6 Розв’язати методом Фібоначчі задачі 2,1; 2,2. при n=5.
2.7 Розв’язати послідовним методом перебирання задачі2,1; 2,2
при   0,5 .
2.8 Використовуючи метод парабол знайти розв’язок задачі
f ( x)  x 4  4 x 2  4 x  2  min .
[ 3,1]
2.9 Розв’язати задачу 2.8 методом Фібоначчі та методом золотого
поділу при n=12 і порівняти результати.
2.10 Знайти розв’язок задачі
2 x 3  15 x 2  24 x  5  min
x  0;5
2.11 Знайти розв’язок задачі
2

x  5x  4
f ( x)   2
x  2 x  10


x2
x2
 min
[ 1, 4 ]
2.12 Знайти методом золотого поділу розв’язок задачі
f ( x)  x  5  5  min
[ 0 ,10 ]
Дослідження операцій
84
3. МІНІМІЗАЦІЯ ФУНКЦІЙ БАГАТЬОХ ЗМІННИХ
 План викладу матеріалу:
1. Опуклі множини.
2. Опуклі функції.
3. Віддільність множин і опорні гіперплощини.
 Ключові терміни розділу
 Опуклі множини
 Сильно опуклі множини
 Конус
 Афінні множини
 Сильно опуклі функції
 Теорема Каратеодорі
 Замикання множини
 Опуклі функції
Лінійна комбінація точок
 Строго опуклі функції
 Нерівність Йенсена
 Субдиференціал функції
 Локальний мінімум
 Глобальний мінімум
 Множина Лебега
 Проекція точки
 Опорна гіперплощина
 Віддільність множин
 Теорема Фаркаша
 Віддільність точки і множини
 Теорема Жордана
 Сильна віддільність множин
Перш ніж аналізувати безпосередньо задачі математичного
програмування, розглянемо частковий випадок – задачі опуклого
програмування.
3.1. Опуклі множини
Означення 3.1. Множину X називають опуклою, якщо для будьяких двох точок x , y  X , x  x  (1  ) y  y  ( x  y )  X при
всіх 0    1.
Мовою геометрії це означає таке: якщо будь-які дві точки
належать множині X , то і весь відрізок, який сполучає ці точки,
належить множині X .
7. Числові методи умовної мінімізації
85
----------------------------------------------------------------------------------------------------------
Прикладами опуклої множини є точка, куля, пряма, гіперплощина, півпростір тощо. Порожню множину також вважають опуклою. Названі опуклі множини запишемо так: точка – X  {x 0 },
куля радіусом r з центром у точці x 0
n
0

S ( x0 , r )  
x : x  R , x  x  r  ;


пряма, яка проходить через точки x 0 , x1
M  {x : x  R n , x  ax 0  (1  ) x1  x1  a ( x 0  x1 ),   R} ;
гіперплощина –
H  {x : x  R n , (c, x)  } ,
або
H  x : x  R n , (c, x  x0 )  0 ,
де c  (c1,..., cn )  0 , c  R n ,   R ;
півпростір –
H   {x : x  R n , (c, x)  ,   R},
H   {x : x  R n , (c, x)  ,   R} .
Означення 3.2. Множину X називають сильно опуклою, якщо для
будь-яких точок x1 , x 2  X точка
x
x1  x 2
 yX ,
2
2
де y   x1  x 2 ,   0 достатньо мале число.
k
Теорема 3.1. Переріз декількох опуклих множин X   X i є
i 1
опуклою множиною.
Дослідження операцій
86
 Нехай x1 і x 2  X ,   [0,1] . Оскільки X i опуклі, то за визначенням
перерізу для x1 , x 2  X i , i  1,m маємо x  x1  (1  ) x 2  X i для
всіх i  1,m , а, отже, x  X .
Теорема 3.2. Нехай X i - опуклі множини, i  R , i  1,m , тоді
множину
m
m
i 1
i 1
X    i X i  {x : x    i x i , x i  X i , i  1, m}
називають лінійною комбінацією X i , i  1,m і вона опукла.
Важливим класом опуклих множин є опуклі конуси та афінні
множини.
Означення 3.3. Множину X  R n називають:
1) конусом, якщо x  X при всіх x  X ,   0 , тобто X ра–
зом з точкою x містить промінь з початком у нулі, який проходить
через точку x;
2) опуклим конусом, якщо Х одночасно є конусом і опуклою
множиною.
Означення 3.4..
Множину Х називають афінною, якщо
1
2
x  (1  ) x  X при всіх x1 , x 2  X ,   R , тобто X разом з
точками x1 , x 2 містить також пряму, яка проходить через ці точки.
Афінні множини є зсувами лінійних підпросторів або
множиною розв’язків систем скінченної кількості лінійних рівнянь,
або перерізом скінченної кількості гіперплощин.
Теорема 3.3. Нехай X – афінна множина в R n . Тоді при довільному x 0  X множина L  X  x 0 є лінійним підпростором, причому L не залежить від вибору x 0  X . Множину X можна записати у вигляді:
X  {x  R n : Ax  b}  {x  R n : (ai , x)  bi , i  1, m}
(3.1)
7. Числові методи умовної мінімізації
87
----------------------------------------------------------------------------------------------------------
де
A
матриця розмірності
mn
із рядками
ai ,
i  1,m ,
b  (b1,...bm )  R m .
У нашому випадку L – афінна множина і 0  L . Тоді для
довільних x1, x 2  L , x  0,5 x1  0,5 x 2  L ,
x1  x1  (1  )0  L
і
2 x  L ;тобто x1  x2  L , отже, L - лінійна множина. Нехай
1
0
1
L1  X  x1 , де x  X . Візьмемо x  L , оскільки x  x  L , то
x  x1  x 0  L і x  L  x 0  x1  X  x1  L1 , L  L1 . Аналогічно
доводимо L1  L .
Відомо, що довільний лінійний простір можна записати як
розв’язок
системи
лінійних
однорідних
рівнянь.
Нехай
0
L  {x  R n : Ax  0} , тоді при b  Ax отримаємо (3.1). 
Означення 3.5. Нехай x1 ,..., x m – точки з R n . Лінійну комбінацію
m
  i x i називають:
i 1
m
1) опуклою, якщо  i  0 , i  1, m,  i  1 ;
i 1
2) невід’ємною, якщо  i  0 , i  1,m ;
m
3) афінною, якщо   i  1 .
i 1
Теорема 3.4. Опукла множина (опуклий конус, афінна множина)
містить усі можливі опуклі (невід’ємні, афінні) комбінації своїх
точок.
Розглянемо лише випадок опуклої множини, оскільки решта
два твердження випливають із означення опуклого конуса та
Дослідження операцій
88
теореми про афінну множину. Отже, треба показати, що для
m
довільного m  1,2... із умов x   i xi ; xi  X ,  i  0 , i  1,m ,
i 1
m
 i  1 випливає x  X .
i 1
Для доведення використаємо метод математичної індукції.
При m  2 твердження теореми випливає з означення опуклості
множини. Нехай виконується це твердження для деякого k  2 ,
тоді для m  k  1 маємо (0   k 1  1) , за припущенням
i
xi  X ,
i 1 1   k 1
k
x 
x  (1   k 1 ) x   k 1x k 1  X
отже,
k 1
 i xi  X . 
i 1
Означення 3.6. Нехай X довільна множина в R n . Переріз усіх
опуклих множин (опуклих конусів, афінних множин) з R n , які
містять X , називають її опуклою (конічною, афінною) оболонкою і
позначають conv X (cone X , aff X ) .
Для довільного X , conv X – непорожня множина, X –
опукла множина тоді і тільки тоді, якщо conv X  X .
Означення 3.7. Лінійний підпростір, паралельний до афінної оболонки множини X , називають паралельним X і позначають LinX .
Отже, LinX  affX  x 0 , де x 0  X .
Лема 3.1. Якщо:
1) x1 , x 2  X , то x1  x 2  LinX ;
7. Числові методи умовної мінімізації
89
----------------------------------------------------------------------------------------------------------
2) x  X , h1 ,h 2  LinX , 1 , 2  R , то x  1h1   2h 2  affX ;
3) 0  X , то LinX  affX .
Теорема 3.5. Опукла (конічна, афінна) оболонка довільної множини X збігається з множиною всіляких опуклих (невід’ємних, афінних) комбінацій точок з X.
Розглянемо лише випадок опуклої оболонки. Нехай Z –
множина всіляких опуклих комбінацій точок з X . Покажемо, що
виконується рівність convX   . Нехай x , y  Z ,   0,1. За
означенням Z можемо записати
m
m
i 1
i 1
i
x   i x i , де x  X , i  0, i  1,m ,  i  1 ,
k
k
i 1
i 1
y   i y i , де y i  X , i  0 , i  1,k ,  i  1 .
k
m
i 1
i 1
Розглянемо точку z  x  (1  ) y   (1  )i y i   i xi .
Отже, z – лінійна комбінація точок з множини X , оскільки
коефіцієнти невід’ємні і в сумі дорівнюють одиниці
m
k
i 1
i 1
(   i  (1   )   i    1    1 ), то z – опукла комбінація з X ,
тобто z  Z і Z опукла множина, причому X  Z . Крім того,
оскільки X  Z і будь-яка опукла множина, що містить X , містить і Z , в силу попередньої теореми, то convX  Z , звідси
випливає convX  Z .
Можна також довільну точку з convX записати у вигляді
опуклої комбінації не більше ніж n  1 точки з X . Спершу розглянемо допоміжну теорему, якy самостійно використовуватимемо
надалі.
Теорема 3.6. Якщо x – невід’ємна комбінація точок x1 ,..., x m , які
не дорівнюють нулю одночасно, то x можна записати у вигляді
невід’ємної комбінації лінійно незалежної підсистеми цих точок.
Дослідження операцій
90
m
За умови x    i x i при деяких  i  0 i  1, m . Вважатимемо,
i 1
що всі
 i  0, i  1, m. Якщо точки x i лінійно залежні, то
m
виконується умова  i x i  0 і числа 1 ,...,  m не всі одночасно
i 1
дорівнюють нулю. Серед цих чисел є додатні (в іншому випадку у
всіх  i міняємо знаки). Вибравши    s  s  min  i i ,
 i 0
можемо записати
m
m
m
i 1
i 1
i 1
x   i xi    i xi   ( i   i ) xi 
m

i 1, i  s
 i xi ,
де  i  i  i  0
Отже, у зображенні точки x використано не більше ніж
m  1 точку; якщо вони незалежні, то задачу розв’язано. У
протилежному випадку процедуру вилучення точок продовжуємо.
У гіршому варіанті залишиться лише одна точка. Вона, як
ненульова, становитиме тривіальну систему лінійно незалежних
точок. 
Якщо врахувати, що в просторі R n може бути не більше ніж
n лінійно незалежних векторів, то звідси випливає такий наслідок.
Наслідок 3.1. Нехай X – довільна множина в R n . Тоді будь-яку
точку з cone X можна записати у вигляді невід’ємної комбінації не
більше ніж n точок з X .
Теорема 3.7 (Теорема Каратеодорі). Нехай X – довільна множина в R n . Тоді будь-яку точку з conv X можна записати у вигляді
опуклої комбінації не більше ніж n  1 точки з X .
У просторі R n 1 розглянемо множину
сукупність точок вигляду (x,1) , де x  X , тоді:
m
x   i xi ,
i 1
m
  X ,1,
x i  X ,  i  0 , i  1, m ,   i  1
i 1
тобто
7. Числові методи умовної мінімізації
91
----------------------------------------------------------------------------------------------------------
еквівалентне тому, що  x,1  coneA тобто
m
( x,1)    i ( x i ,1);
i 1
m
x i  X ,  i  0 , i  1,m ,   i  1 .
i 1
Тепер треба застосувати записаний вище наслідок. 
Означення 3.8. Замиканням множини X називають множину, яка є
об’єднанням множини X і всіх її межових точок і позначають X .
Для довільної точки y і довільної множини X  R n виконується одна і тільки одна з трьох можливостей:
1) існує  окіл точки y , усі точки якого належать X , а точка
внутрішня;
y  int X ; множину X , для якої int X  X , назиy
вають відкритою;
2) існує  окіл точки y , який не містить жодної точки множини X , точка y – зовнішня щодо X ;
3) будь-який окіл точки y містить точки з X і з R n \ X , точка
y – межова точка множини X . Сукупність таких точок позначимо
G0  X  .
Означення 3.9. Точку x  G0  X  , де X - опукла множина, називають кутовою, якщо її не можна записати у вигляді
1
2
1 2
x  x1  (1  ) x 2 , де x , x  X , x  x , 0    1 .
Геометрично x є кутовою точкою множини X , якщо не існує
відрізка, кінці якого лежать у X , а x є внутрішньою точкою цього
відрізка.
Теорема 3.8. Якщо X - опукла множина, то її замикання X та int X
також опуклі множини.
Доведення цієї теореми див. у [12].
3.2. Опуклі функції
Означення 3.10. Функцію f (x) , якy визначенo на опуклій множині
X , називають опуклою на цій множині, якщо
Дослідження операцій
f (x  (1  ) y )  f ( x)  (1  ) f ( y )
92
(3.2)
для всіх x , y  X і   0,1 . Якщо в (3.2) x  y і рівність виконується лише для   0 та 1, то функцію f  x  називають строго опу–
клою на множині X .
Прикладами опуклих функцій є лінійна функція f ( x)  (c, x) ,
норма f ( x)  x та ін.
Означення 3.11. Функцію f (x) , якy визначено на опуклій мно–
жині X  R n , називають сильно опуклою на X зі сталою   0 ,
якщо
f (x  (1  ) y)  f ( x)  (1  ) f ( y)  (1  ) x  y
2
для всіх x , y  X і   0,1 .
Простішим прикладом сильно опуклої функції на R n є функція f  ( x, x) . Справді, нехай x , y  X , тоді для x  x  (1  ) y
маємо
x
2
 (x  (1   ) y, x  (1   ) y )   ( x, x)  (1   )( y, y ) 
  (1   )( x  y, x  y )   x
2
 (1   ) y
2
2
  (1   ) x  y .
(3.3)
Отже,   1 .
Означення 3.12. Функцію f (x) називають увігнутою (строго,
сильно ввігнутою) на опуклій множині Х, якщо - f (x) є опукла
(строго, сильно опукла) на Х.
Надалі розглядатимемо власне опуклі функції.
Теорема 3.9 (Нерівність Йенсена). Нехай f (x) – опукла функція на
опуклій множині Х. Тоді виконується нерівність
m
m
i 1
i 1
f (  i xi )   i f ( xi )
де
(3.4)
7. Числові методи умовної мінімізації
93
---------------------------------------------------------------------------------------------------------m
m  1, x i  X , i  0 , i  1,m ,  i  1 .
i 1
. Доведення проведемо методом математичної індукції за m .
Якщо m  2 , то (3.4) випливає з означення опуклої функції. Нехай
формула (3.4) справджується для m  k  2 . Доведемо її для
m  k  1 . Виберемо
k 1
k 1
i 1
i 1
x    i x i ; (0   k 1  1) , i  0 ,   i  1 ,
i
xi  X ,
i 1 1   k 1
k
тоді x  
за припущенням і з використанням опуклості та індукції
отримаємо
i
f ( xi ) 
i 1 1   k 1
k
f x   1   k 1  f ( x)   k 1 f ( x k 1 )  1   k 1  
k 1

 k 1 f ( x k 1 )    i f ( x i )
i 1
Нерівність Йенсена дає змогу отримати низку відомих
результатів. Розглянемо лише один з них. Нехай f ( x)   ln x –
функція, опукла на int R . Для довільних
m  1,2...;
x i  0, i  0 , i  1,m ,
m
 i  1
i 1
маємо за (3.4)
 
m
i 
m

m
 ln   i xi      i ln xi   ln  xi  .
i 1
 i 1

 i 1

m
m
i

1
маємо нерівність між
m
i 1
i 1
середнім арифметичним і середнім геометричним
i
Отже,  i x   x
i
і для i 
Дослідження операцій
94
m
1 m i
 x  m  xi 
m i 1
i 1
Теорема 3.10. Нехай X – опукла множина, функція f (x) визначена й опукла на X . Тоді будь-яка точка локального мінімуму f  x 
одночасно є точкою глобального мінімуму на X , причому множина
X *  {x : x  X , f ( x)  f*  min f ( x)} – опукла.
Якщо f  x  - строго опукла, то X* містить не більше однієї точки.
 Нехай x* – точка локального мінімуму функції f  x  . Це
означає, що в  -околі цієї точки 0x* ,   x : x  x*   ,
f  x*   f  x  для всіх x  0x* ,    X . Візьмемо будь-яку точку
x  X і число   0 достатньо мале таке, що виконується
нерівність  x  x*   , тоді точка x*  ( x  x* )  0( x* , )  X , і з
урахуванням опуклості маємо
f ( x* )  f ( x*  ( x  x* ))  f ( x)  (1  ) f ( x* )  f ( x* )  ( f ( x)  f ( x* ))
або ( f ( x)  f ( x* ))  0 . Звідси отримуємо f ( x)  f ( x* )  0 для
довільного x  X .
Якщо x , y  X* , то
f ( x)  f ( y )  f ( x* )  f* ,
( x, y  X * )
і
f*  f (x  (1  ) y )  f ( x)  (1  ) f ( y )  f*
(3.5)
Отже, x  (1  ) y  X * для   0,1. Опуклість X* доведена.
Якщо f (x) строго опукла, то умова (3.5) виконується у випадку
  (0,1) лише для x  y . Отже, строго опукла функція може
досягати мінімуму лише в одній точці. 
Розглянемо ще деякі властивості опуклих функцій.
Теорема 3.11. Нехай X – опукла множина, і функція f ( x)  C1  X  .
Тоді для того щоб f (x) була опуклою, необхідно і достатньо виконання нерівності
7. Числові методи умовної мінімізації
95
----------------------------------------------------------------------------------------------------------
f ( x)  f ( y )  ( f ( y ), x  y ) , x , y  X
(3.6)
. Н е о б х і д н і с т ь. Нехай f (x) – опукла на X, тоді
f ( y  ( x  y))  f ( y)  ( f ( x)  f ( y));   0,1;
x, y  X .
Застосувавши формулу скінченних приростів, одержимо
( f ( y  ( x  y )), x  y )   f ( x)  f ( y ); 0    1.
Поділимо дану нерівність на   0 і спрямуємо  до нуля, тоді
отримаємо (3.6).
Д о с т а т н і с т ь. Нехай виконується (3.6). Виберемо
довільні точки x , y  X і x*  x  (1  ) y. Тоді, використавши
нерівність (3.6) можемо записати
f ( x)  f ( x* )  ( f ( x* ), x  x* ),
f ( y )  f ( x* )  ( f ( x* ), y  x* ).
Помножимо першу нерівність на  , другу – на
додамо. Тоді
1 
і
f ( x)  (1  ) f ( y )  f ( x* )  ( f ( x* ), x  (1  ) y  x* )  0 ,
а це означає, що f(x) – опукла функція. Геометричний сенс
нерівності (3.6) полягає y тому, що графік функції лежить не
нижче дотичної гіперплощини до цього графіка в довільній точці
x  X .
Теорема 3.12 (Необхідні і достатні умови оптимальності). Нехай
X – опукла множина, f  x   C1  X  і X *  x  X : f ( x)  min f ( x) .
X
Тоді в будь-якій точці x*  X* необхідно виконується умова
( f ( x* ), x  x* )  0 , x  X ,
а у випадку x*  int X (3.7) заміняється рівністю f ( x* )  0 .
(3.7)
Дослідження операцій
96
Якщо f (x) опукла на X, то умова (3.7) – достатня для того,
щоб x*  X* .
Н е о б х і д н і с т ь. Нехай x*  X* , тоді для довільних x  X і
  0,1 маємо
0  f ( x*  ( x  x* ))  f ( x* )  ( f ( x* ), x  x* )  0() ,
або ( f ( x* ), x  x* )  0() /   0 . При   0 отримуємо умову (3.7).
Якщо x*  int X , то для довільного h  R n знайдеться таке  0  0 ,
що
x1  x*  h  X і x 2  x*  h  X
як тільки    0 , а це означає, що ( f ( x* ), h)  0 , ( f ( x* ),h)  0 ,
що можливо лише при f ( x* )  0 .
Д о с т а т н і с т ь. Нехай f ( x)  C1  X  , опукла на X , і для
деякої точки x* виконується умова (3.7), тоді з нерівності (3.6)
f ( x)  f ( x* )  ( f ( x* ), x  x* )  0 .
Отже, f ( x)  f ( x* )
x  X
,
тобто x*  X* .
Розглянемо деякі диференціальні критерії опуклих функцій.
Теорема 3.13. Нехай f ( x)  C1  X  на опуклій множині X  R n .
Функція f (x) сильно опукла зі сталою   0 на X тоді і тільки
тоді, коли
f ( x)  f ( y )  ( f ( y ), x  y )   x  y
2
x , y  X .
Доводять теорему аналогічно до теореми 3.11. Геометричний
сенс цієї теореми полягає у тому, що графік функції f (x) лежить
вище від графіка гіперплощини і має з нею лише одну спільну
точку ( y, f ( y )) . 
7. Числові методи умовної мінімізації
97
----------------------------------------------------------------------------------------------------------
Теорема 3.14. Нехай f ( x)  C1 ( x) на опуклій множині X  R n .
Функція f (x) сильно опукла зі сталою   0 на X тоді і тільки
тоді, коли
2
( f ( x)  f ( y ), x  y )  2 x  y , x , y  X
(3.8)
(у випадку   0 йдеться про опуклу функцію).
. Н е о б х і д н і с т ь. Нехай f (x) сильно опукла на X .
Використаємо попередню теорему і запишемо:
2
f ( x)  f ( y )  ( f ( y ), x  y )   x  y ,
f ( y )  f ( x)  ( f ( x), y  x)   x  y
2
для всіх x , y  X . Додавши ці нерівності, отримаємо (3.8).
Д о с т а т н і с т ь. Нехай виконується (3.8), тоді:
1
f ( x)  f ( y)  ( f ( y), x  y)   ( f (( y  ( x  y)), x  y)d  ( f ( y), x  y) 
0
1
11
  ( f ( y  ( x  y ))  f ( y ), x  y )d   ( f ( y  ( x  y ))  f ( y ), ( x  y ))d 
0
0
1
  2  x  y  d   x  y . 
2
2
0
У цьому ланцюжку перетворень використано формулу
Ньютона - Лейбніца і нерівність (3.8) для   0,1 .
Теорема 3.15. Нехай f ( x)  C 2  X  на опуклій множині X  R n ,
причому int X   . Функція f  x  сильно опукла зі сталою   0
на X тоді і тільки тоді, якщо
( f ( x)h, h)  2 h
2
, x  X , h  R n .
(3.9)
Дослідження операцій
98
При   0 ця умова означає, що в будь-якій точці x  X
матриця Гессе функції f (x) невід’ємно визначена. У разі   0
умова (3.9) сильніша, ніж просто додатна визначеність цієї
матриці. Зазначимо, що в нашому випадку  не залежить від
y  X . Доведення цієї теореми можна відшукати в [12]. 
Наслідок 3.2. Нехай A – симетрична матриця розмірності n  n ,
1
b  R n . Квадратична функція f ( x)  ( Ax, x)  (b, x) опукла (силь–
2
но опукла) на R n тоді і тільки тоді, коли A невід’ємно (додатно)
визначена.
У цьому випадку f x   A. Якщо A додатно визначена, то
число m  min ( Ah, h) додатне, тоді виконується (3.9) при m   .
h 1
Зазначимо, що з додатної визначеності матриці f (x) не випливає
сильна опуклість функції f (x) Наприклад, f ( x)  e x не є сильно
опуклою на R , водночас є сильно опуклою на множині X    , ,
де    – довільне число. Вимога   0 є суттєвою для сильної
опуклості функції. Опукла функція на деякій опуклій множині мо–
же бути недиференційовна, градієнт не існує. У цьому випадку мо–
жна використовувати поняття субградієнта та субдиференціала, які
заміняють у багатьох питаннях поняття градієнта і зводяться до
нього, якщо функція диференційовна.
Означення 3.13. Нехай функція f (x) визначена на множині
X  R n . Вектор c  c( y )  R n
є субградієнтом функції f (x) у
точці y  X, якщо
f ( x)  f ( y )  (c( y ), x  y ) ,
x  X
(3.10)
Множину всіх субградієнтів функції f (x) у точці y називають
субдиференціалом цієї функції в точці y і позначають через f ( y ) .
7. Числові методи умовної мінімізації
99
----------------------------------------------------------------------------------------------------------
Нерівність (3.10) має простий геометричний зміст і означає,
що графік функції f (x) , x  X  лежить не нижче від графіка лінійної функції f ( y )  (c( y ), x  y ), ( x  X ), причому в точці x  y
два графіки збігаються. Для гладких функцій градієнт є субградієнтом. Розглянемо функцію f ( x)  x , x  R тоді
 1, x  0;

f   1,1, x  0;
1,
x  0.

Субдиференціал відіграє важливу роль у разі дослідження
задач опуклого програмування і побудови числових методів
розв’язування таких задач. Нижче розглянемо, як впливають на
опуклість деякі операції над функціями.
Теорема 3.16. Якщо функції
множині X , то функція
f i ( x), i  1, m опуклі на опуклій
m
f ( x)   i fi ( x)
(3.11)
i 1
опукла на цій множині при довільних i  0 , i  1,m .
Теорема 3.17. Нехай fi ( x), i  1, m опуклі функції на опуклій
множині X , тоді f ( x)  sup fi ( x) , x  X опукла на X .
i
Наслідок 3.3. Нехай функція g (x) опукла на опуклій множині X .
Тоді функція g  ( x)  maxg ( x),0 опукла на X .
Теорема 3.18. Нехай (t ), t  R опукла і не спадає на [a, b]  R,
n
g (x) опукла на опуклій множині X  R , причому
g ( x )  [ a, b]
для всіх x  X . Тоді функція f ( x)  ( g ( x)) опукла на X .
 Візьмемо x , y  X ;   0,1 , тоді
f (x  (1  ) y)  ( g (x  (1  ) y))  (g ( x)  (1  ) g ( y)) 
 ( g ( x))  (1  )( g ( y ))  f ( x)  (1  ) f ( y ) .
Дослідження операцій
100
Наслідок 3.4. Якщо функція g (x) опукла і невід’ємна на опуклій
множині X , то функція f ( x)  g ( x) p опукла на X при всіх p  1 .
Теорема 3.19. Нехай X – опукла множина, функція f (x) опукла на
X . Тоді множина  c   x : x  X , f  x   c опукла при довільному
c.
Зазначимо, що множину  (c) прийнято називати множиною
Лебега.
Теорема 3.20. Нехай X 0 – опукла множина, функції g i ( x), i  1, m
опуклі на X 0 , а g i ( x)  (ai , x)  bi , i  m  1,..., s –лінійні, тоді
множина
X  x : x  X 0 ,
gi ( x)  0, i  1, m,
gi ( x)  0, i  m  1, s – опукла.
Теорема 3.21. Нехай f (x) – опукла функція на опуклій множині
X  R n . Тоді f (x) неперервна в довільній точці x*  int X .
Доведення сформульованих теорем можна знайти в [7,15].
Теорема 3.22. Нехай f (x) - неперервна, сильно опукла зі сталою
  0 функція на замкнутій, опуклій множині X . Тоді при
довільному  множина
X   x  X : f ( x)  ,   R
є обмежена.
Зафіксуємо довільну точку
x0  X 
(якщо
X    , то
твердження теореми тривіальне). Нехай U  U {x 0 ,1} – куля
одиничного радіуса з центром у x 0 . З огляду на неперервність
f (x) і замкнутість X , існує стала  така, що
f (x)   x  X  U
Покажемо, що
(3.12)
7. Числові методи умовної мінімізації
101
----------------------------------------------------------------------------------------------------------
x  x0  1 

x  X 

(3.13)
а це означатиме обмеженість множини X  . Якщо x  X   U , то
x  x 0  1 , тобто нерівність (3.13) виконується. Нехай x  X  \ U .
Приймемо
  1 / x  x0 ,
x  x  (1  ) x 0 ,
тоді
0   1
і
x  X U .
Послідовно враховуючи нерівність (3.12), сильну
опуклість функції f  x  , умови f ( x 0 )  , f ( x)   і визначення
 , одержимо:
  f ( x)  f ( x)  (1  ) f ( x 0 )  (1  ) x  x 0
    (1   ) x  x 0
2
2

    x  x 0  1 .


Звідси отримуємо (3.13). 
Наслідок 3.5. При виконанні умов теореми 3.22 точка мінімуму
функції f (x) на множині X існує і єдина.
Це випливає з теореми Вейєрштраcса і мінімуму строго
опуклих функцій.
3.3. Віддільність множин і опорні гіперплощини
Поняття опорної гіперплощини і віддільність множин, які не
перетинаються, відіграють важливу роль у теорії оптимізації. Для
розгляду цих питань нам потрібне поняття проекції точки на
множину.
Означення 3.15. Проекцією точки x  R n на множину X називають найближчу до x точку x з множини X , для якої виконується умова
x  x  inf y  x .
yX
Дослідження операцій
102
Проекцію точки x на множину X позначатимемо X ( x)  x .
Оскільки ( x, X )  inf x  y – відстань від точки x до множини
y X
X , то з означення 3.15 випливає :
( x, X )  x  X ( x)  x  y ,
Якщо x  X , то
y  X ,
x  R n .
X ( x)  x і ( x, X )  0 . Проекція точки
x  R n на множину X
не завжди існує. Наприклад,
n
X  {x  R ; x  1}. . Якщо X – замкнута множина, то будь-яка
точ–ка x  R n має проекцію на X . Проекція точки x  R n на
множи–ну X може визначатися неоднозначно (рис. 3.1). Для
опуклих множин такої ситуації немає.
x
x
x
x
Рис. 3.1.
Теорема 3.23. Нехай X  R n опукла замкнута множина , тоді:
1) будь-яка точка a  R n має єдину проекцію на цю
множину;
2) для того, щоб точка x була проекцією точки a на X ,
необхідно і достатньо виконання нерівності
( x  a, x  x)  0 , x  X ;
(3.14)
7. Числові методи умовної мінімізації
103
----------------------------------------------------------------------------------------------------------
3) якщо X – афінна множина, то замість (3.14) виконується
умова
( x  a, x  x)  0 , x  X ;
(3.15)
Розглянемо довільну точку ~
x  a і мноx  X , число r  ~
жину X  x  X : x  a  r. Ця множина не порожня, замкнута й
обмежена. За теоремою Вейєрштрасса точка мінімуму неперервної
функції g x   a  x 2 на X~ існує. З визначення g (x) зрозуміло, що
ця точка буде точкою мінімуму функції g (x) на множині X. Отже,
~
x  X (a) існує. За теоремою 3.12 для того щоб у точці x
досягався
мінімум,
необхідно
і
достатньо,
щоби
( g ( x), x  x)  2( x  a, x  x)  0 для всіх x  X , що рівносильно
(3.14). Якщо X – афінна множина, то X  {x  R n , x  b} , і для цієї
множини нерівність (3.14) також виконується. Однак афінна
множина має таку властивість: якщо x , y0  X , то 2 y0  x  X .
Прийнявши y0  x , отримаємо 2 x  x  X при довільному x  X .
Підставимо в (3.14) замість x точку 2 x  x , тоді
( x  a,2 x  x  x)  ( x  a, x  x)  0 x  X .
Порівнявши з (3.14), отримаємо рівність (3.15). 
Наведемо деякі приклади, коли проекцію точки можна
записати явно.
Приклад 3.1. Нехай X  {x  R n : x  x 0  r} – куля радіусом r з
центром
0
у
точці
x0 .
0
0
x  x  r(x  x ) / x  x
Проекцією
точки
x X
є
точка
.
Приклад 3.2. Нехай X  {x  R n : (c, x)  , c  R n , c  0,   R} .
Проекцію на гіперплощині шукаємо у вигляді x  x  c; c -
Дослідження операцій
X,
визначаємо

x  X , ( x, c)  ( x  c, c)   , звідси   (   ( x, c)) / c
вектор-нормаль
до
2
з
і
104
умови
2
x  x  (   ( x, c))c / c .
Якщо виконуються умови теореми 3.23, то, використавши
умову (3.14), можемо записати
( x  a, y  x  a  a )  ( x  a, y  a )  ( x  a, x  a ) 
 ( x  a, y  a )  x  a
2
 0,
тобто виконується нерівність ( x  a )
( x  a, y  a )  x  a
2
(3.16)
 0.
Із (3.14) та (3.16) бачимо, що кут між векторами x  a , x  x
не тупий (скалярний добуток невід’ємний), а між векторами x  a і
y  a “із запасом” гострий (скалярний добуток строго додатний).
Ще раз нагадаємо визначення гіперплощини.
Означення 3.16. Сукупність точок H  {x : ( p, x)  } , де p  0 ,
p  R n ,   R утворюють гіперплощину Н у просторі R n . Вектор p
називають нормаллю до гіперплощини Н.
Гіперплощина H задає два замкнуті півпростори
H   {x : ( p, x)  } , H   {x : ( p, x)  }
і два відкриті півпростори
H   {x : ( p, x)  } , H   {x : ( p, x)  } .
Гіперплощину
Н
можна
задавати
в
іншому
вигляді
0
H  {x : ( p, x  x )  0} , де x  H . Аналогічно можна задати і
півпростори.
0
Означення 3.17. Нехай X 1 , X 2 – непорожні множини із R n .
Говорять, що гіперплощина H  {x : ( p, x)  }
7. Числові методи умовної мінімізації
105
----------------------------------------------------------------------------------------------------------
1) відділяє X 1 , X 2 , якщо ( p, x)   x  X 1
x  X 2 ;
і ( p, x )  
2) відділення називають власним, якщо справджується умова
1) і ( p, x1 )  ( p, x2 ) для деяких xi  X i , i  1,2;
3) відділяє строго X 1 , X 2 ,
( p, x)   x  X 2 ;
якщо ( p, x)  
x  X 1 і
4) відділяє сильно X 1 , X 2 , якщо існує   0 таке, що
( p, x)     x  X 1 і ( p, x)   x  X 2 .
Приклади віддільності множин проілюстровано на рис. 3.2.
X2
X
X
1
X
1
X
2
2
X
1
X
2
H
a
H
б
H
в
X2
X1
X1
H
г
H
д
Рис. 3.2. Різні види віддільності опуклих множин:
а - сильна; б – власна; в - строга ; г, д – невласна
Сформулюємо теорему про віддільність множини X і точки
yX .
Теорема 3.24. Нехай X  R n – замкнута опукла множина і y  X .
Тоді існують такий вектор p  0 , p  R n і скаляр   R , що
( p, y )   і ( p, x)   для всіх x  X .
В нашому випадку існує єдина точка x , яка є проекцією y ,
x  PX ( y ) , і виконується умова
( x  x, y  x)  0 x  X
Оскільки з (3.17)
(3.17)
Дослідження операцій
106
 ( x, y  x)  ( x, y  x) x  X ,
то можемо записати
yx
2
(3.18)
 ( y  x, y  x )  ( y , y  x )  ( x, y  x ) 
 ( y , y  x )  ( x, y  x )  ( y  x, y  x )
Прийнявши p  y  x  0 , маємо ( p, y )  ( p, x)  p
2
x  X
При   sup( p, x) отримаємо твердження теореми. 
На підставі результатів цієї теореми можна сформулювати
теорему Фаркаша, яку широко використовують з метою виведення
умов оптимальності для задач математичного програмування.
Теорема 3.25 (Теорема Фаркаша). Нехай A - матриця розмірності
m  n, c  R n . Тоді розв’язок має тільки одна з таких систем:
система 1: Ax  0;
система 2 : AT y  c,
n
(c, x)  0; x  R ;
y  0 , y  Rm .
Нехай система 2 має розв’язок, тобто існує вектор y  0 такий,
що AT y  c . Нехай Ax  0 , тоді (c, x)  ( AT y, x)  ( y, Ax)  0 . Отже,
система 1 не має розв’язку.
Припустимо, що система 2 не має розв’язку. Розглянемо
замкнуту опуклу множину Z  {x : x  AT y, y  0}. За припущенням
. Тоді, з огляду на теорему 3.24, існують вектор p  R n , p  0
і число   R такі, що ( p, c)  , ( p, x)   x  Z . Оскільки,
cZ
, то   0 , ( p, c)  0 , і   ( p, AT y )  ( y, Ap) y  0 .
Компоненти вектора y  0 можуть бути як завгодно великими,
тому з останньої нерівності отримуємо Ap  0. Отже, p – розв’язок
системи 1. 
0 Z
.
7. Числові методи умовної мінімізації
107
----------------------------------------------------------------------------------------------------------
Наслідок 3.6. Нехай А - матриця порядку m  n , c  R n . Тоді має
розв’язок одна і тільки одна з таких двох систем:
система 1: Ax  0 , x  0, (c, x)  0 , x  R n ;
система 2: AT y  c , y  0 , y  R m .
Наслідок 3.6 випливає


з теореми 3.25,
якщо прийняти
~ T  AT , I , де І – одинична матриця розмірності n  n . У цьому
A
випадку наші системи можна переписати у вигляді
 A
  x  0 ,
  1
x  Rn ;
(c, x )  0 ,
[ AT , I ] y  c ,
y0,
y  R n  m ,що відповідає теоремі Фаркаша.
Наслідок 3.7. Нехай А – матриця порядку m  n , В - матриця
порядку l  n , c  R n , тоді має розв’язок одна з таких систем:
система 1: Ax  0 , Bx  0 , (c, x)  0 , x  R n ;
система 2: AT y  BT z  c , y  0 , y  R m , z  R l .
A 


~
Введемо матрицю A   B  , тоді наші системи можна перепи–
 B


сати у такому вигляді:
~
система 1: A x  0, (c, x)  0 , x  R n ;
система 2: AT y  B T z1  B T z 2  c , y  0 ; y  R m , z i  0 ,
z i  R l , і=1,2,
а це відповідає теоремі Фаркаша.
Означення
3.18.
Нехай
X  ,
X  Rn
і
x  G0 ( X ).
Гіперплощину H  {x : ( p, x  x)  0} називають опорною до X у
точці x , якщо або X  H  , тобто ( p, x  x)  0
X  H  , тобто ( p, x  x)  0 x  X .
x  X
, або
Дослідження операцій
108
Якщо X  H , то H називають власне опорною гіперплощиною до X у точці x .
Це означення можна змінити, а саме:
Означення 3.18’. Гіперплощина H  {x : ( p, x  x)  0} є опорною
до
X
у
точці
x,
якщо
( p, x)  inf{( p, x), x  X } ,
або
( p, x)  sup{( p, x), x  X } .
Приклади опорних гіперплощин зображено на рис. 3.3.
X
X
X
H2
X
H3
a
H1
H1
H
H2
б
в
г
РРис.3.3. Приклади опорних гіперплощин:
а – єдина опорна гіперплощина; б,г – безліч опорних
гіперплощин; в – невласна опорна гіперплощина
Теорема 3.26. Нехай X  R n - непорожня опукла множина і
x  G0 ( X ) . Тоді існує гіперплощина, опорна до X у точці x , тобто
існує такий ненульовий вектор р, що ( p, x  x)  0 для всіх x  X .
Оскільки x  G0 ( X ) , то існує послідовність yk  X для всіх k і
теоремою 3.24 для кожного
yk  x . За
yk існує вектор
pk  R n , pk  0 такий, що ( pk , yk )  ( pk , x)  x  X . У цьому
разі можна вибрати pk так, що pk  1. Оскільки { pk } обмежена,
то можна вибрати збіжну підпослідовність { pk i }I  до деякого р.
Для цієї послідовності виконуються умови ( pk , yki )  ( pki , x) при
i
довільному x  X . Зафіксуємо довільну точку x і перейдемо до
границі при k   , k  I  , x  X . Тоді ( p, x  x)  0 .
7. Числові методи умовної мінімізації
109
----------------------------------------------------------------------------------------------------------
Наслідок 3.8. Нехай X  R n – непорожня опукла
Тоді знайдеться ненульовий вектор
x X.
множина і
такий,
p
що ( p, x  x)  0 для всіх x  X .
У процесі доведення розглядаємо два випадки:
x  G0  X  .
x X ,
Вище розглянуто віддільність точки і множини. Нижче
покажемо, що дві опуклі множини, які не перетинаються, можуть
бути розділені гіперплощиною.
Теорема 3.27. Нехай X 1 і X 2 – не порожні опуклі множини в R n
такі, що X 1  X 2   . Тоді існує гіперплощина Н, яка відділяє
X 1 , X 2 , тобто існує такий вектор p  0 , p  R n , що
inf{( p, x); x  X 1}  sup{( p, x); x  X 2 } .
Розглянемо опуклу множину
X  X 1  X 2  {x  x1  x2 : x1  X 1 ,
x2  X 2 } .
Оскільки X 1  X 2   , то 0  X , тоді знайдеться вектор
p  0 такий, що ( p, x)  0 x  X , а це означає ( p, x1 )  ( p, x2 ) для
всіх x1  X 1 , x2  X 2 .
Наслідок 3.9. Якщо
X1  X 2  
– опуклі множини
з
R , int X 2   , X1  int X 2   , тоді існує такий вектор p  0 , що
n
inf(( p, x),
x  X1 )  sup(( p, x),
x  X2) .
Доведення випливає з теореми 3.27, якщо X 2 замінити на
int X 2 і врахувати
sup{( p, x), x  X 2 }  sup{( p, x), x  int X 2 }.
Теорема 3.28 (Теорема Жордана). Нехай А - матриця розмірності
m  n , тоді з двох систем:
x  Rn ;
система 1:
Ax  0 ,
система 2:
AT p  0, p  0 , p  R m , p  0 ,
має розв’язок лише одна.
Дослідження операцій
110
Нехай система 1 має розв’язок x . Тоді A x  0 . Припустимо, що
існує розв’язок p системи 2. Тоді
p  0,
p  0 , і виконується
нерівність ( p, A x)  0 , тобто ( x, AT p)  0 . Однак AТ p  0 і ми
отримали суперечність.
Припустимо, що система 1 не має розв’язку. Розглянемо дві
множини X1  {z : z  Ax, x  R n } , X 2  {z : z  0} . У нашому
випадку X 1  X 2   . Тоді знайдеться гіперплощина, яка розділяє
ці множини. Існує ненульовий вектор p такий, що ( p, Ax)  ( p, z )
для довільного x  R n і z  X 2 . Оскільки координати вектора z
можуть бути які завгодно великі по модулю від’ємні числа, то
p  0 . Прийнявши z  0  X 2 , отримаємо ( p, Ax)  0 для всіх
x  R n . Виберемо x   AT p , тоді ( p, A( AT p))  ( AT p, AT p)  0 ,
отже AT p  0 .
Теорема 3.29 (Сильна віддільність). Нехай X 1 , X 2 – замкнуті
опуклі множини, і X 1 обмежена. Якщо X 1  X 2   , то існує
такий вектор p  0 і скаляр >0, що
inf{( p, x), x  X1}    sup{( p, x), x  X 2 } .
Нехай X  X 1  X 2 . Тоді X опукла множина і 0  X . Покажемо,
що Х замкнута. Нехай {xk }, ( xk  X ) збігається до x . За
означенням Х кожний елемент послідовності можна записати у
вигляді xk  yk  zk , де yk  X 1 , zk  X 2. Оскільки X 1 компакт,
то існує підпослідовність { yk i }k , яка збігається до y  X 1 . Оскільки
y k i  z k i  x , y k i  y , то zk i  z , причому z  X 2 з огляду на
замкнутість. Звідси випливає, що x  y  z , y  X 1 , z  X 2 , тобто
x  X . Отож X замкнута множина. Тоді знайдеться такий ненульовий вектор р і число , що ( p, x)   x  X і ( p,0)   . Отже 
>0. З означення X отримаємо ( p, x1 )    ( p, x2 ) для довільних
x1  X 1 , x2  X 2 .
7. Числові методи умовної мінімізації
111
----------------------------------------------------------------------------------------------------------
Запитання для самоперевірки
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
Дайте визначення опуклої та сильно опуклої множин.
Дайте визначення конуса та опуклого конуса.
Дайте визначення афінної множини.
Дайте визначення опуклої, невід’ємної та афінної комбінацій.
Дайте визначення опуклої, конічної та афінної оболонок.
Сформулюйте теорему Каратеодорі.
Дайте визначення опуклої, строго опуклої та сильно опуклої
функції.
Доведіть нерівність Йенсена.
Наведіть приклад застосування нерівності Йенсена.
Властивість точки локального мінімуму для опуклих функцій.
Сформулюйте необхідні і достатні умови оптимальності.
Дайте визначення субдиференціала та субградієнта функції.
За яких умов множина Лебега обмежена.
Дайте визначення проекції точки на множину.
Як визначити проекцію точки на окремі множини (куля,
гіперплощина і т.д.).
Дайте визначення гіперплощини.
Наведіть приклади віддільності множин.
Сформулюйте теорему про віддільність точки та множини.
Доведіть теорему Фаркаша.
Сформулюйте наслідки з теореми Фаркаша.
Дайте визначення опорної гіперплощини.
Сформулюйте і доведіть теорему про віддільність множин.
Теорема про існування опорної гіперплощини.
Сформулюйте і доведіть теорему Жордана.
Сформулюйте і доведіть теорему про сильну віддільність
множин.
Дослідження операцій
112
 Завдання для самостійної роботи
1. Знайти проекцію точки (1,1) на множину
 ( x, y )  R

x2  y2  1 .
2
2. Використовуючи властивість опуклих функцій, дослідити на
опуклість:
1. а) функцію Розенброка
f ( x, y )  100( y  x 2 ) 2  (1  x) 2 ,
2. б) f ( x, y )  x 2  xy  4 y 2  e x
2
 y2
3. в) f ( x, y )  x 2  4 xy  4 y 2  e x
2
,
 y2
f ( x, y )  5 x 2  3 xy  4 y 2  e x
4. г)
2
,
 y2
,
3. Перевірити виконання необхідних умов локального мінімуму в
точці М(1,1) для задачі мінімізації функції Розенброка 2а) за
умови
x2  y2  2 .
4. Довести опуклість функцій:
а) y  e x
2
б) y  cos x
xR;
 3
x [ , ] .
2 2
1
 Ax, x   (b, x)  c де A матриця розмірності
2
n  n x, b  R n , c  R . Довести що f (x) строго опукла тоді
5. Нехай f ( x) 
і тільки тоді, якщо A додатньо визначена.
6. Нехай X 1 , X 2 опуклі множини. Довести, що X  X 1  X 2
може бути не опуклою множиною.
7. Довести опуклість множин:

б) X  x  R

(a, x)  0, 0  a  R 
а) X  x  R n (a, x)  0, 0  a  R n .
n
n
7. Числові методи умовної мінімізації
113
----------------------------------------------------------------------------------------------------------
4. УМОВИ ОПТИМАЛЬНОСТІ
План викладу матеріалу:
1. Загальні положення.
2. Необхідні і достатні умови екстремуму у випадку обмежень
нерівностей.
3. Необхідні і достатні умови екстремуму у випадку задач зі
змішаними обмеженнями.
 Ключові терміни розділу:
 Точка екстремумy
 Конус можливих напрямів
 Необхідні умови опти–
 Умови регулярності
 Активні обмеження
Необхідні умови оптималь-
мальності Ф. Джона
 Напрям спадання значення
функції
 Множники Лагранжа
ності Куна-Таккера
Умови доповнюючої нежорсткості
 Стаціонарні точки
4.1. Загальні положення
Розглянемо задачу
f ( x)  min ,
x  X  R n , де f : R n  R .
(4.1)
У вступі ми вже розглядали умови оптимальності для задач
(4.1) без обмежень, коли X  R n . В практичних застосуваннях такі
задачі трапляються зрідка, однак умови оптимальності для задач з
обмеженнями є логічним узагальненням аналогічних умов для
задач безумовної оптимізації. Необхідні і достатні умови існування
екстремуму для задач безумовної оптимізації сформульовані в
теоремах 1.3–1.5. Якщо функція f (x) проста, то, викоритовуючи
результати цих теорем, можна легко розв’язати задачу (4.1).
Приклад 4.1. Розглянемо задачу
f ( x)  ( x 2  1)3  min x  R .
Знайдемо критичні точки
Дослідження операцій
114
f ( x)  0 , 6 x( x 2  1) 2  0 , x1  0, x2  1, x3  1 .
Тепер перевіримо умови оптимальності другого порядку
f ( x)  24 x 2 ( x 2  1)  6( x 2  1) 2 ,
при цьому
f (0)  6  0, f (1)  f (1)  0 .
У всіх трьох точках f ( x)  0 , тобто невід’ємно визначена і необхідні умови виконуються. Однак достатні умови виконуються лише
в точці x  0, яка і є точкою мінімуму. В цьому легко переконатися
побудовою графіка функції f (x) , що на рис.4.1.
q1(x)=0
-1
1
-1
Рис. 4.1 Ескіз графіка
Точки x  1 , x  1 є точками перегину. Перейдемо тепер до задач
з обмеженнями, а саме X  R n і X  R n .
Означення 4.1. Нехай X   , X  R n і x  X . Конусом можливих
напрямів
у
точці
називають
множину
x
n
D0  {d  R , d  0, x  d  X ,   (0, ) для деякого достатньо
малого   0} . Довільний вектор з D0 називають можливим напрямом.
Легко бачити, що при виконанні умови ( f ( x), d )  0 , d є
напрямом спадання функції f (x) , мале переміщення з точки x
вздовж напряму d зумовлює зменшення f (x) , тобто для достатньо
малого   0 виконується умова
f ( x  d )  f ( x) ,   (0, )
(4.2)
7. Числові методи умовної мінімізації
115
----------------------------------------------------------------------------------------------------------
Теорема 4.1. Нехай функція f (x) диференційовна в точці x і
( f ( x), d )  0, для деякого вектора d  0 , тоді існує таке >0, що
f ( x  d )  f ( x ) для всіх   (0, ) , тобто d є напрямом спадання
f (x) з точки x .
Наслідок 4.1. Якщо f ( x)  C1  X  і має в точці x  int X локальний
мінімум, то f ( x)  0 .
Теорема 4.2.
Нехай X   , X  R n ,
функція
f (x)
диференційовна в деякій точці x . Якщо x є точкою локального
мінімуму, то F0  D0   , де F0  {d : ( f ( x), d )  0} .
У цій теоремі F0 є множиною напрямів з x , вздовж яких
функція f (x) спадає.
Доведення проведемо від протилежного. Нехай існує
d  F0  D0 . Тоді за теоремою 4.1 існує 1  0 таке, що
f ( x  d )  f ( x) ,   (0, 1 )
(4.3)
а з означення 4.1 існує  2  0 таке, що
x  d  X ,   (0,  2 )
(4.4)
Співвідношення (4.3), (4.4) суперечать тому, що x точка локального мінімуму f (x) . Отже, D0  F0   .
4.2. Необхідні та достатні умови екстремуму у випадку
обмежень нерівностей
На практиці область X часто задають у вигляді
X  {x : x  X 0 , qi ( x)  0, i  1, m},
(4.5)
де qi ( x) : R n  R , i  1,m , X  R n – непорожня множина. В цьому
випадку задачу (4.1) можна записати так
f ( x)  min , x  X
де X подано за (4.5).
(4.6)
Дослідження операцій
116
Теорема 4.3. Нехай x  X з (4.5), X o – непорожня, відкрита множина, функції f (x), і qi (x) при i  I  {i : qi ( x)  0, i  1, m}, диференційовні в точці x , а функції qi (x) при i  I неперервні в x .
Якщо x – точка локального мінімуму, то F0  G0   , де
F0  {d : ( f ( x), d )  0} , G0  {d : (qi ( x), d )  0 i  I } .
Нехай d  G0 , оскільки x  X 0 і X 0 відкрита множина, то існує
1  0 таке, що
x  d  X 0 ,   (0, 1 )
(4.7)
Оскільки, qi ( x)  0 для i  I і неперервні в околі x , то існує
 2  0 таке, що
qi ( x  d )  0 ,   (0,  2 ) , i  I .
(4.8)
Якщо врахувати, що d  G0 , то знайдеться таке  3  0 , при якому
qi ( x  d )  qi ( x)  0 ,   (0, 3 ) , i  I
(4.9)
Отже, існує таке   min{1,  2 , 3} , що умови (4.7) – (4.9)
виконуються при   (0, ), отож вектор d належить конусу допустимих напрямів з точки x , тобто G0  D0 . Оскільки x – точка локального мінімуму задачі (4.6), то за теоремою 4.2 маємо
D0  F0   , а це означає, що F0  G0   .
Примітка. Множину I  {i : qi ( x)  0, i  1, m}
множиною активних обмежень у точці x .
Приклад 4.2. Розглянемо задачу
( x1  3) 2  ( x2  2) 2  min ,
називатимемо
X  {x  R 2 : x12  x2 2  5  0, x1  x2  3  0,
 x1  0,  x2  0}
(4.10)
7. Числові методи умовної мінімізації
117
----------------------------------------------------------------------------------------------------------
Розглянемо точку x   ,  У цій точці активним є лише одне
9 6
 5 5
обмеження q2 ( x)  x1  x2  3 . При цьому f (x) і q2 ( x) набувають,
T
 12 8 
відповідно, значення f  ( x)    ,  ; q2 ( x)  (1,1)T .
 5 5
На рис. 4.2 зображено множини F0 і G0 . Оскільки F0  G0   , то
точка x не є точкою локального мінімуму.
F0
x2
q'
[9/5 ,6/5]
f' G0
x1
q1(x)=0
Рис. 4.2
Розглянемо тепер точку x*  (2,1). Перші два обмеження активні і
градієнти в точці x* дорівнюють
f ( x* )  ( 2,2)T ,
q1 ( x* )  (4,2)T ,
q2 ( x* )  (1,1)T
Дослідження операцій
118
Множини F0 і G0 зображено на рис. 4.3, при цьому F0  G0   .
Отже, умови нашої теореми виконуються, хоча не можна гарантувати, що x* є розв’язком сформульованої задачі.
F0
x2
q'1
q'2
G0
[2 ,1]
f'
x1
q1(x)=0
Рис. 4.3
Необхідні умови дають змогу визначити лише критичні точки,
тобто точки, які можуть бути розв’язком цієї задачі. Ефективність
сформульованої теореми суттєво залежить від того, в якій формі
наведено обмеження.
Приклад 4.3. Розглянемо задачу
( x1  1) 2  ( x2  1) 2  min ,
X  {x  R 2 : ( x1  x2  1)3  0,  x1  0,  x2  0}
(4.11)
У цьому випадку область Х еквівалентна області X 1
X1  {x  R 2 : x1  x2  1  0,  x1  0,  x2  0}. .
Легко бачити, що умова G0  F0   виконується в першому випадку для всіх точок відрізка x1  x2  1  0, в другому випадку ли1 1
ше в точці x*   ,  , яка є розв’язком задачі (4.11).
2 2
7. Числові методи умовної мінімізації
119
----------------------------------------------------------------------------------------------------------
Отже, ми навели приклад, коли необхідні умови виконуються
і в неоптимальних точках. Такий випадок матимемо і тоді, коли
f ( x)  0. Оскільки F0  {d : ( f ( x), d )  0}   , то
F0  G0   .
Аналогічно виконуються умови оптимальності і для точок x , в
яких qi ( x)  0 для деякого i  I .
Розглянемо тепер задачі з обмеженнями – рівностями
f ( x)  min , x  X ,
(4.12)
X  {x : x  X 0 , qi ( x)  0, i  1, s}.
Обмеження
типу
qi ( x)  0
еквівалентні двом обмеженням
qi ( x)  0,  qi ( x)  0. Тоді для довільних допустимих точок x  X
всі обмеження активні. Отож не існує вектора d  0, для якого виконується обмеження (qi ( x), d )  0, (qi ( x), d )  0 . Тобто G0   і
G0  F0   . Необхідні умови виконуються для всіх допустимих
точок і фактично жодної користі не дають.
Вище розглянуто необхідні умови в геометричній формі.
Тепер переформулюємо ці умови в термінах градієнтів функцій
f (x) та qi (x) , i  1,m .
Теорема 4.4 (Умови Ф. Джона). Нехай X 0   відкрита множина з
R n , точка x є точкою локального мінімуму для задачі (4.6), функ-
ції f (x) , qi (x) для i  I  {i : qi ( x)  0, i  1, m} диференційовні в точці x , а функції qi (x) для i  I неперервні в x , тоді існують такі
числа 0 ,i , i  I , для яких
 0 f ( x)    i qi ( x)  0
(4.13)
iI
( 0 ,  )  0, ( 0 ,  )  0
де  - вектор, компонентами якого є числа i i  I .
Якщо функції qi (x) при i  I , крім того, диференційовні в
точці x , то умови (4.13) можна записати у вигляді:
Дослідження операцій
m
 0 f ( x)    i qi ( x)  0
120
(4.13’)
i 1
i gi ( x)  0 , i  1,m ,
( 0 ,  )  0 , ( 0 ,  )  0 ,
де  – вектор з компонентами 1,...,m .
Оскільки x – локальний мінімум задачі (4.6), то згідно з теоремою 4.3, не існує такого вектора d , для якого виконується умова
( f ( x), d )  0, (qi ( x), d )  0 i  I . Побудуємо матрицю A , рядками якої є компоненти векторів f (x) та qi (x) для i  I . Умови
оптимальності еквівалентні тому, що система нерівностей d  0
несумісна. За теоремою Жордана існує вектор p  0, p  0 для
якого T p  0. Прийнявши 0 та i , i  I такими, що дорівнюють
відповідним компонентам вектора p , отримаємо умову (4.13) .
Форму необхідних умов типу (4.13) легко одержати, прийнявши
i  0 для i  I . 
Числа i в умовах (4.13) , (4.13) називають множниками
Лагранжа, а рівність  i qi ( x)  0 , i  1,m – умовою доповнюючої
нежорсткості.
Приклад 4.4. Розглянемо задачу
( x1  3) 2  ( x2  2) 2  min
X  {x  R 2 : x12  x22  5  0, x1  2 x2  4  0,  x1  0,  x2  0} .
Допустиму область зображену на рис. 4.4 (заштриховано)
7. Числові методи умовної мінімізації
121
---------------------------------------------------------------------------------------------------------x2
.
q1(x)=0
(3,2)
(2,1)
q2(x)=0
q4=0
x1
q3=0
Рис. 4.4
Перевіримо виконання умов (4.13) в оптимальній точці
x  (2,1).
У
заданій
точці
I  {1,2} .
Отож
3  4  0 ,
Для
q1 ( x)  (4,2)T ,
q2 ( x)  (1,2)T .
f ( x)  (2,2)T ,
( 0 , )  ( 0 , 1,  2 ,0,0) повинні виконуватись умови
вектора
  2
 4
1   0 
  1    2      .
  2
 2
 2  0
0 
1
2
3
3
Прийнявши 0  3 , отримаємо 1  1, 2  2 . Отже, умова (4.13)
виконується.
Розглянемо іншу точку, наприклад, ~
x  (0,0) . Для цього
випадку I  {3,4} і
    0 , f ( ~
x )  ( 6,4)T , q ( ~
x )  (0,1)T .
x )  (1,0)T , q ( ~
Розв’язком цієї системи є числа
1
2
3
1  0 , 2  0 .
4
Для визначення параметрів i маємо систему
  6
  1
 0   0
0    3    4      ,
  4
0 
  1  0 
розв’язком якої є 3  60 , 4  40.. Можливі два варіанти:
а) 0  0, тоді 3  0, 4  0 і умова
( 0 , )  0 не
виконується;
б) 0  0, тоді 3  4  0 і умова ( 0 , )  0 не виконується.
Дослідження операцій
122
Умови Ф.Джона не виконуються, точка не є точкою
мінімуму.
Приклад 4.5. Розглянемо задачу, запропоновану Куном і Таккером 1951 р.:
 x1  min, x  X ,
X  {x  R 2 : x2  (1  x1 )3  0,  x2  0} .
Допустиму область зображена на рис. 4.5.
x2
q1(x)=0
(2,1)
q'1
q2=0
x1
f'
q'2
Рис. 4.5
Оптимальною є точка x  (1,0) . У цій точці для визначення
i маємо систему
  1
 0
 0   0
  1    2      ,
0 
1 
  1  0 
0 
розв’язком якої є 0  0, 1  2    0 . Отже, в точці x  (1,0)
необхідні умови оптимальності (4.13) виконуються.
Як бачимо, у прикладі 4.4 0  0 , вектори qi (x) лінійно незалежні, а в прикладі 4.5 0  0 , вектори qi (x) лінійно залежні. У
випадку, коли 0  0 , в умовах (4.13) не використано інформації
про функцію мети. Умови (4.13) просто фіксують, що вектори
7. Числові методи умовної мінімізації
123
----------------------------------------------------------------------------------------------------------
qi (x) лінійно залежні, тобто існує лінійна комбінація градієнтів
тих обмежень, які активні.
У такому випадку умови (4.13) неефективні для відшукання
оптимальних точок. Постає питання, коли можна гарантувати, що
0  0 . Відповідь на це питання у 1951 р. дали Кун і Таккер. Обмеження повинні задовольняти певні додаткові умови. Ці умови названо умовами регулярності.
Теорема 4.5 (Необхідні умови Куна-Таккера). Нехай X 0  R n
непорожня відкрита множина . Якщо x – точка локального мінімуму задачі (4.6) , функції f ( x), qi ( x) для i  I диференційовні ,
а qi (x) для i  I неперервні в точці x , вектори qi (x) для i  I лінійно незалежні, то існують такі числа i для i  I , що
f ( x)    i qi ( x)  0 , i  0 , i  I .
(4.14)
iI
У випадку, коли функції qi (x) при i  I диференційовні в
точці x , умови (4.14) можна переписати у вигляді
m
f ( x)    i qi ( x)  0 ,
i 1
(4.14’)
 i qi ( x)  0 , i  0 , i  1,m .
 За теоремою 4.4 існують числа ~0 ,~i для
iI
, які не всі дорів-
нюють нулю, і такі, що
~
~
 0 f ( x)   i qi ( x)  0 ,
iI
~ ~
~ ~
( 0 ,  )  0 , ( 0 ,  )  0 ,
~
~ - вектор, компоненти якого є i для i  I . Оскільки qi (x) для
~
~
лінійно незалежні, то 0  0, в іншому випадку ( 0  0) всі
~ ~
~
компоненти i  0 , що суперечить умові ( 0 ,  )  0 . Прийнявши
iI
Дослідження операцій
124
~
i
 i  ~ , отримаємо умови (4.14). Умови (4.14) одержимо анало0
гічно, як у теоремі 4.4 при i  0 для i  I . 
Як і в умовах Джона, числа i називають множниками Лагранжа, а умови  i qi ( x)  0 -умовами доповнювальної нежорсткості.
Якщо повернутися до прикладів 4.4, 4.5, то легко бачити, що у
прикладі 4.4
умови Куна-Таккера
виконуються при
,
а
у
прикладі
4.5
вони
не
виконуються,
оскільки
  (1 / 3, 2 / 3, 0, 0)
q1 ( x) і q2 ( x) лінійно залежні.
Розглянемо геометричну інтерпретацію умов Куна-Таккера.
Довільний вектор, записаний у вигляді   i qi (x) , де i  0 ,
iI
належить конусу, натягнутому на вектори градієнтів відповідних
функцій у точці x . З умов (4.14) випливає, що
 f ( x)    i qi ( x), i  0 .
iI
Отже, вектор - f (x) належить цьому конусу натягнутому на вектори qi' ( x), i  I .
Розглянемо задачу
f ( x)  ( x1  x10 ) 2  ( x2  x20 ) 2  min .
X
На рис. 4.6 область Х заштриховано, точка ( x10 , x20 )  X , лінії рівня
зображено дугами.
7. Числові методи умовної мінімізації
.
125
---------------------------------------------------------------------------------------------------------(x 10, x20)
-f''(x1)
x2
q'1
q'2
x1
q2'
-f '(x2)
g1=0
x2
q3'
g2=0
q3=0
x1
.
Рис 4.6
Розглянемо дві точки x1 , x 2 . Легко бачити, що в точці x1 , яка
є точкою мінімуму, вектор - f ( x1 ) належить конусу, натягнутому
на вектори q1 ( x1 ), q2 ( x1 ) . У випадку точки x 2 , яка не є точкою
мінімуму, цього не простежується. Аналогічну картину маємо і на
попередніх рисунках.
Теорема 4.6 (Достатні умови Куна-Таккера). Нехай x - довільна
допустима точка задачі (4.6). Множина X 0 – непорожня відкрита в
R n , функції f (x) та qi (x) для i  I опуклі і диференційовні в
точці x , int X   . Якщо в x виконуються умови Куна-Таккера, то
x – точка глобального мінімуму задачі (4.6).
Нехай x – довільна допустима точка задачі (4.6). Тоді
для i  I . Звідси отримаємо, що qi не зростає
qi ( x)  qi ( x)
унаслідок руху з точки x у напрямі x  x , а це означає, що
повинна виконуватись нерівність (qi ( x), x  x)  0. Звідси для i  0
iI
Дослідження операцій
  i (qi ( x), x  x)  0
126
(4.15)
iI
Тепер з урахуванням умов (4.14) отримаємо
( f ( x), x  x)   i (qi ( x), x  x)  0
iI
Тобто
( f ( x), x  x)    i (qi ( x), x  x)  0
iI
З опуклості f (x) одержимо f ( x)  f ( x) .
4.3 Необхідні та достатні умови екстремуму у випадку задач зі
змішаними обмеженнями.
Перейдемо до задачі зі змішаними обмеженнями, а саме
f ( x)  min, x  X
X  {x : x  X 0 , qi ( x)  0, i  1, m, qi ( x)  0, i  m  1, s
(4.16)

Узагальненням теореми 4.3 на клас задач (4.16) є така
теорема.
Теорема 4.7. Нехай X 0   – відкрита множина з R n , x –точка
локального мінімуму задачі (4.16), функції qi (x) для
i  I  {i : qi ( x)  0, i  1, m} неперервні, функції f ( x), qi ( x) для i  I
диференційовні, а qi (x) i  m  1,s неперервно диференційовні в
точці x . Якщо вектори qi (x) , i  m  1,s лінійно незалежні, то
F0  G0  H 0   ,
де
F0  {d : ( f ( x), d )  0} , G0  {d : (d , qi ( x))  0, i  I } ,
H 0  {d : (qi ( x), d )  0, i  m  1, s} .
Доведення теореми можна знайти в [3].
Теорема 4.8 (Необхідні умови Ф. Джона). Нехай X 0   –відкрита
множина з R n , x – допустима точка для задачі (4.16), в якій функ-
7. Числові методи умовної мінімізації
127
----------------------------------------------------------------------------------------------------------
ції qi (x) для i  I неперервні, f (x) та qi (x) для i  I диференційовні, а qi (x) i  m  1,s неперервно диференційовні. Якщо x –
точка локального мінімуму для задачі (4.16), то існують числа
0 ,i для i  I та i для i  m  1,s такі, що
 0 f ( x)    i qi ( x) 
iI
 0  0,
s
  i qi ( x)  0,
(4.17)
i  m 1
i  0 i  I ,
0 , i i  I , i  m  1, s
не всі дорівнюють нулю.
У випадку, коли функції qi (x) ,для i  I також
диференційовні в точці x , умови (4.17) можна переписати у
вигляді
s
 0 f ( x)    i qi ( x)  0,
i 1
s
i qi ( x)  0 , i  1,m , i  0 , i  0,m ,  2i  0.
(4.17)
i 0
. Якщо gi ( x), i  m  1, s лінійно залежні, то існують числа i ,
i  m  1, s , які не всі дорівнюють нулю і такі, що
s
  i qi ( x)  0 .
i  m 1
Прийнявши i  0 , i  0,m , отримаємо першу частину твердження.
Нехай тепер вектори qi (x ) , i  m  1,s лінійно незалежні. Побудуємо матрицю A1 , рядками якої є вектор-функції f (x) та qi (x)
i  I , та матрицю A2 , рядками якої є qi (x) , i  m  1, s . З теореми
4.7 випливає несумісність системи
A1d  0 , A2d  0 .
Розглянемо дві множини
S1  {( z1, z2 ) : z1  A1d , z2  A2d } ,
Дослідження операцій
128
S 2  {( z1, z2 ) : z1  0, z2  0} .
Легко бачити, що S1   , S2   - опуклі множини і S1  S2   .
Отже, існує відокремлювальна гіперплощина, тобто вектор
p  ( p1, p2 )  0 такий , що
( p1, A1d )  ( p2 , A2d )  ( p1, z1)  ( p2 , z2 )
(4.18)
для всіх d  R n , ( z1, z2 )  S 2 . Оскільки
z2  0 , а z1  0, довільний вектор, компоненти якого можуть бути як завгодно великі за абсолютним значенням і від’ємні, то p1  0. Отже ,
n
( p1, A1d )  ( p2 , A2 d )  ( A1T p1  A2T p2 , d )  0 для d  R .
Приймемо
d  ( A1T p1  A2T p2 ) ,
тоді правильна оцінка
 ( A1T p1  A2T p2 , A1T p1  A2T p2 )  0 ,
aбо A1T p1  A2T p2  0 .
Позначимо компоненти вектора pi , відповідно, через i ,
i  I , а компоненти вектора p2 через i , i  m  1, s . Тоді отримаємо
першу частину твердження теореми 4.8 у випадку незалежних
векторів qi (x) , i  m  1,s . Другу частину твердження теореми
отримаємо, якщо приймемо i  0 , i  I .
Приклад 4.6. Розглянемо задачу
x12  x22  min ,
X
X  {x  R 2 : x12  x2 2  5  0,  x1  0,  x2  0, x1  2 x2  4  0} .
У записаній задачі маємо тільки одне обмеження-рівність.
Множиною допустимих точок є відрізок прямої лінії
x1  2 x2  4  0 між точками А(0,2) та В(2,1) (див. рис. 4.7).
7. Числові методи умовної мінімізації
129
----------------------------------------------------------------------------------------------------------
x2
.
q2=0
A
q1=0
B
q4=0
q3=0
x1
Рис. 4.7
4
Розглянемо точку x   , 8  і перевіримо виконання умов
 5 5
(4.17) у цій точці. У нашому випадку активних обмеженьнерівностей немає: I   , отже,   (0,0,0,  4 ) , 4 – відповідає
обмеженню рівності,
T
 8 16 
f ( x)   ,  ; q4 ( x)  (1,2)T .
5 5 
Для визначення 0 і 4 маємо систему рівнянь
8 / 5 
1 
  4    0 .
0 
16 / 5 
 2
Одним із розв’язків цієї системи є 0  5 , 4  8 . Умови
(4.17) виконуються.
Приклад 4.7. Розглянемо задачу
f x   ( x1  3) 2  ( x2  2) 2  min , x  X ,
X  {x  R 2 : x12  x2 2  5  0;  x1  0,  x2  0, x1  x2  3  0} .
Аналогічну задачу розглянуто в прикладі 4.2, лише одна
нерівність замінена рівністю. Оптимальною в нашому випадку є
точка x  (2,1) , I  {1} . Умови (4.17) набудуть вигляду:
  2
 4
1  0 
0    1     4      ,
  2
 2
1  0 
Дослідження операцій
130
які виконуються при 1  0; 4  20 , наприклад, 0  1, 1  0,
4  2; ( 2   3  0) .
Приклад 4.8. Розглянемо задачу
f ( x)   x1  min , x  X ,
X  {x  R 2 : x2  (1  x1 )3  0,  x2  (1  x1 )3  0}.
На рис. 4.8 бачимо X  {(1,0)} , тобто існує лише одна допустима точка x  (1,0) , в якій
f ( x)  ( 1,0)T ; q1 ( x )  (0,1)T q2 ( x)  (0,1)T
і умови (4.17) набувають вигляду
  1
 0
 0   0
0    1    4     
0 
1 
  1  0 
x2
q'2(x)
q2=0
f '(x)
x1
q'1(x)
Рис. 4.8.
q1=0
Звідси отримаємо 0  0 , 1  2    0 ,  - довільне число. Умови (4.17) виконуються. Отже, в умовах Джона множник 0
не обов’язково додатний, він може дорівнювати нулю, що робить
умови Джона неефективними для знаходження точок x  X ,
7. Числові методи умовної мінімізації
131
----------------------------------------------------------------------------------------------------------
підозрілих на екстремум. З деякими додатковими обмеженнями на
qi (x) можна стверджувати, що 0 буде більшим від нуля.
Теорема 4.9 (Необхідні умови Куна-Таккера). Нехай X 0  R n –
відкрита множина, x – деяка допустима точка задачі (4.16), в якій
функції qi (x) для i  I неперервні, f (x) , qi (x) при i  I диференційовні, qi (x) i  m  1,s неперервно диференційовні, вектори
qi (x) i  I та i  m  1, s лінійно незалежні. Якщо x є точкою локального мінімуму, то знайдуться такі числа i для i  I та
i  m  1, s , що
s
  i qi ( x)  0 , i  0 , i  I .
f ( x)    i qi ( x) 
iI
i  m 1
(4.19)
У випадку, коли qi (x) для i  I також диференційовні в точці x ,
то умови (4.19) можна переписати у такому вигляді:
s
f ( x)    i qi ( x)  0
i 1
(4.19’)
 i qi ( x)  0 , i  1, m ,  i  0 , i  1,m .
~ ~
За теоремою 4.8, існують числа  0 , i для i  I та i  m  1,s , які
не всі дорівнюють нулю, і такі, що виконуються умови (4.17)
~
~
 0 f ( x)   i qi ( x) 
iI
s ~
 i qi ( x)  0;
i  m 1
(4.20)
~0  0 , ~i  0 для i  I , та ~i не всі дорівнюють нулю.
~
При 0  0 з урахуванням незалежності векторів отримаємо,
~
що всі i  0, а це неможливо за теоремою 4.8. Отже, в умовах
~
~i і з (4.20) отримаємо
нашої теореми   0. Приймемо
i  ~
0
(4.19). Якщо прийняти i  0 для i  I , то отримаємо другу частину твердження,
0
Дослідження операцій
132
Легко бачити, що для задач з прикладів 4.6 та 4.7 умова
4.19 виконується, а для задачі з прикладу 4.8 – не виконується,
оскільки градієнти для обмежень рівностей лінійно залежні.
Теорема 4.10 (Достатні умови Куна-Таккера). Нехай X 0   ,
X 0  R n – відкрита множина, x – деяка допустима точка для задачі
(4.16), в якій виконуються умови Куна-Таккера, тобто існують числа  i  0 для i  I , та  i , для i  m  1,s такі, що
f ( x)    i qi ( x) 
iI
s
  i qi ( x)  0,
i  m 1
а також f (x) та qi (x) для i  I опуклі, qi (x) , i  m  1,s - лінійні,
int X  . Тоді x є точкою глобального мінімуму.
Нехай x  X – довільна допустима точка задачі (4.16). Тоді
qi (x  (1  ) x)  qi ( x) для   (0,1) , i  I , тобто вздовж напряму
x  x , з точки x функція qi (x) не зростає
(qi ( x), x  x)  0 , i  I .
З лінійності функції qi (x) для
(4.21)
i  m  1, s отримуємо
(qi ( x), x  x)  0 для i  m  1, s .
(4.22)
Помножимо (4.21) на  i  0 , i  I , а (4.22) - на довільне  i і додамо.
Тоді
 i (qi ( x), x  x) 
iI
s
 i (qi ( x), x  x)  0
(4.23)
i  m 1
Використавши (4.19) та (4.23), одержимо
s
( f ( x), x  x)   i (qi ( x), x  x)   i (qi ( x), x  x)  0
iI
і
i  m 1
7. Числові методи умовної мінімізації
133
----------------------------------------------------------------------------------------------------------
( f ( x), x  x)    i (qi ( x), x  x) 
iI
s
 i (qi ( x), x  x)  0.
i  m 1
Оскільки f (x) опукла, то
f ( x)  f ( x).
Перепишемо умови 4.19 у векторному вигляді
f ( x)  qa T ( x) a  qb T ( x) b  0
( a , qa ( x))  0 , a  0, x  X ,
(4.24)
де a – вектор з компонентами i i  1,m; b – вектор з компонентами  m 1,,  s ; qa (x) – матриця розмірності m  n , стовпцями якої є градієнти qi (x) i  1,m; qb (x) – матриця розмірності
( s  m)  n , рядками якої є градієнти qi (x) для i  m  1, s . Умови
Куна-Таккера (4.24) дають змогу обчислити значення невідомих
компонент критичної точки x та вектора  , який відповідає цій
точці в умовах Куна-Таккера. Справді, маємо n  s невідомих xi ,
i  1,n ; i , i  1, s і маємо n  s рівнянь для їх обчислення, n рівнянь – це перша рівність з (4.24), m рівнянь - це друга рівність з
m
(4.24)   i qi ( x)  0
i 1
(оскільки  i  0 , qi ( x)  0 , то друга рівність з
(4.24) еквівалентна m рівностям  i qi ( x)  0 , i  1,m ) та s  m рівнянь отримуємо з умови x  X , а саме qi ( x)  0 , i  m  1,s . Зазначимо, що умови Куна-Таккера дають змогу визначити критичні
точки, але їхнє використання пов’язано з лінійною незалежністю
відповідних градієнтів, набір яких змінюється у разі переходу від
однієї точки до іншої не тільки якісно, а й кількісно, що робить
використання цих умов не завжди ефективним.
Запитання для самоперевірки
Дослідження операцій
134
1.Умови оптимальності для задачі f ( x)  min .
Rn
2. Дайте означення конуса можливих напрямів.
3. Яким умовам задовольняють множини F0 , i G0 у точці мініму–
му (довести).
4. Необхідні умови мінімуму у геометричній формі для задач з
обмеженнями нерівностями.
5. Умови Ф. Джона у випадку обмежень нерівностей.
6. Необхідні умови Куна-Таккера у випадку обмежень-нерівностей
7 Достатні умови Куна-Таккера у випадку обмежень-нерівностей.
8. Геометрична інтерпретація умов Куна-Таккера.
9. Необхідні умови Ф. Джона у випадку загальних обмежень .
10 Необхідні умови Куна-Таккера у випадку загальних обмежень .
11Достатні умови Куна-Таккера у випадку загальних обмежень.
Завдання для самостійної роботи
1.Перевірити за теоремою Куна-Таккера виконання необхідних
умов локального мінімуму для задачі
f ( x, y )  ( x1  1) 2  ( x 2  4) 2  min,
X
2
2
2
X  {x  R ; 2 x  y  5, x  y  9, x  0, y  0}
у точках
а) ( ( x, y )  (2 
2
5
, 1
4
5
)
б) ( x, y )  (2,1) .
2 . Перевірити виконання необхідних умов локального мінімуму в
точці М(1,1) для задачі мінімізації функції Розенброка
f ( x, y)  100( y  x 2 ) 2  (1  x) 2
за умови
x2  y2  4
x y 2
3. Користуючись теоремою Куна–Таккера розв’яжіть задачі
7. Числові методи умовної мінімізації
135
----------------------------------------------------------------------------------------------------------
а) f ( x, y, z )  4 x 2  4 xy  2 y 2  4 zy  4 z 2  ( z  2) 2  min
X
X  {x  R 3 x  2 y  z  10; x  0, y  0, z  0}
б) f ( x, y, z )  x 2  4 xy  3 y 2  8 zy  2 z 2  ( z  2) 2  min
X
X  {x  R 3 x  2 z  10; x 2  y 2  z 2  16, x  0,
y  0, z  0}
.
7. Числові методи умовної мінімізації
107
----------------------------------------------------------------------------------------------------------
5. СІДЛОВІ ТОЧКИ ФУНКЦІЇ ЛАГРАНЖА.
ДВОЇСТІСТЬ
План викладу матеріалу:
1. Загальні положення.
2. Необхідні і достатні умови сідлової точки функції
Лагранжа.
3. Умови регулярності та сідлові точки.
4. Двоїсті задачі математичного програмування.
5. Зв’язок
між
двоїстими
задачами
математичного
програмування
6. Двоїсті задачі у лінійному програмуванні.
 Ключові терміни розділу
 Множники Лагранжа
 Двоїста задача
 Сідлова точка.
 Умови регулярності
. Канонічна задача лінійного

програмування
Основна
(стаціонарна)
задача) лінійного програмування
 Двоїста задача лінійного  Загальна задача лінійного
програмування
програмування
5.1. Загальні положення
Розглянемо необхідні та достатні умови оптимальності
для задачі математичного програмування типу
f ( x)  min, x  X ,
(
5.1)
Дослідження операцій
108
X  {x : x  X 0 ; qi ( x)  0, i  1, m; qi ( x)  0, i  m  1, s} .
Якщо X 0 – деяка опукла множина з R n , f ( x), qi ( x), i  1, m
опуклі, а qi (x) , i  m  1,s – лінійні функції, то задачу (5.1) назива–
ють задачею опуклого програмування. Важливе місце в теорії
опуклого програмування займає теорема про сідлову точку функції
Лагранжа, яка відома в літературі як теорема Куна-Таккера (аме–
риканські вчені, які перші сформулювали і довели деякі варіанти
цієї теореми). Теорема визначає необхідні та достатні умови нале–
жності тієї ж або іншої точки до множини X* , де
X *  {x : x  X , f ( x)  min f ( x)  f*}
(
X
5.2)
Введемо для задачі (5.1) регулярну функцію Лагранжа
(
s
L( x,  )  f ( x)    i qi ( x)
i 1
5.3)
де   (1,,  s )  0  {  R s : i  0, i  1, m} , яку надалі
нази-ватимемо функцією Лагранжа.
Означення 5.1. Точку ( x* , * )  X 0   0 називають сідловою
точ-кою функції Лагранжа (5.3), якщо
(
L( x* , )  L( x* , * )  L( x, * )
5.4)
Для визначення сідлової точки можна дати й інше формулювання.
7. Числові методи умовної мінімізації
109
----------------------------------------------------------------------------------------------------------
5.2. Необхідні та достатні умови існування сідлової точки
Лема 5.1. Для того щоби пара ( x* , * )  X 0  0 була
сідловою точкою функції Лагранжа (5.3), необхідно і достатньо,
щоб виконувались такі умови:
(
L( x* , * )  L( x, * ) , x  X 0 ,
5.5)
*i qi ( x* )  0 , i  1,s , x*  X .
(
5.6)
Легко бачити, що права нерівність (5.4) збігається з (5.5), тому потрібно розглядати лише ліву частину нерівності (5.4).
Н е о б х і д н і с т ь. Нехай пара ( x* , * )  X 0  0
є
сідловою точкою функції Лагранжа, тобто виконується (5.4).
Перепишемо ліву нерівність (5.4) у вигляді
s
s
i 1
i 1
  i qi ( x* )   *i qi ( x* ) ,
або
(
s
 (*i   i )qi ( x* )  0 ,    0
i 1
5.7)
Дослідження операцій
110
Виберемо  i0  *i0  1 для деякого довільного 1  i0  m та
i  *i для i  i0 , i  1, s . Легко бачити, що з (5.7) маємо -
qi0 ( x* )  0 , або
qi0 ( x* )  0
для
1  i0  m. Тепер виберемо
 i0  *i0  qi0 ( x* ) для довільного m  1  i0  s , a решту i  *i ,
i  i0 , i  1,s . Тоді з (5.7)  qi2 ( x* )  0 , або qi0 ( x* )  0.
0
Отже,
x*  X . Приймемо i0  0 для деякого довільного 1  i0  m, решту
i  *i для i  i0 , i  1,s . З (5.7) отримаємо *i0 qi0 ( x* )  0. Якщо
зважити, що *i0  0 і qi0 ( x* )  0 ( x*  X ) , то маємо *i0 qi0 ( x* )  0 .
Отже, *i qi ( x* )  0 , і= 1,m .
Оскільки для
i  m  1,s рівність
qi ( x* )  0 виконується із-за x*  X , то *i qi ( x* )  0 для i  m  1,s .
Отож умову (5.6) доведено.
Д о с т а т н і с т ь.
Нехай виконуються умови (5.6).
Покажемо, що виконується ліва нерівність з (5.4). З умови x*  X
отримуємо qi ( x* )  0 для i  1,m та qi ( x* )  0 для i  m  1,s .
Отже,
(*i  i )qi ( x* )  0 i  1, s ,   0 .
(
5.8)
Справді,
(*i  i )qi ( x* )  *i qi ( x* )  i qi ( x* )  i qi ( x* )  0
7. Числові методи умовної мінімізації
111
----------------------------------------------------------------------------------------------------------
.
Додавши всі нерівності (5.8), отримаємо
s
s
i 1
i 1
 *i qi ( x* )    i qi ( x* ) ,
або
s
s
i 1
i 1
f ( x* )   *i qi ( x* )  f ( x* )    i qi ( x* ) ,
тобто маємо ліву нерівність з (5.4). 
Виявляється, що сідлова точка ( x* , * ) і розв’язок задачі (5.1)
взаємопов’язані.
Теорема 5.1. Нехай ( x* , * )  X 0  0 – сідлова точка функції
Лагранжа для задачі (5.1). Тоді x*  X* ,
f*  L( x* , * )  f ( x* ) ,
тобто x* є розв’язком задачі (5.1).
З умови (5.6) маємо x*  X , тоді
s
f ( x* )  f ( x* )   *i qi ( x* )  L( x* , * ) ,
i 1
водночас L( x*,* )
 L( x, * ) x  X 0 , що можна переписати
у вигляді
(
s
f ( x* )  f ( x)   *i qi ( x) x  X 0 .
i 1
5.9)
Дослідження операцій
Оскільки X  X 0 ,
то нерівність (5.9) виконується для
x  X . Враховуючи умови qi ( x)  0 для i  1,m , qi ( x)  0 для
i  m  1,s , та умову *i  0 для i  1,m , маємо з (5.9)
f ( x* )  f ( x) .
Примітка. Лема 5.1 і теорема 5.1 доведені без будь-яких
обмежень на функції f ( x), qi ( x) , i  1, s та на множину X 0 щодо
опуклості.
Звичайно, виникає питання, чи для будь-якої задачі (5.1)
функція Лагранжа має сідлову точку? Відповідь негативна.
Приклад 5.1. Розглянемо задачу
f ( x)   x  min, x  X
X  {x [0, a]; q( x)  x 2  0} , де 0  a   .
Тут X 0  [0, a] – опукла множина, f ( x), q ( x) – опуклі функції
на X 0 , X  {0}, X*  {0} , f*  0  f (0) ; а функція Лагранжа має
вигляд
L( x, )   x  x 2 , 0  x  a ,   0 .
Ця функція не має сідлової точки, оскільки для достатньо
малого числа x ( a  x  0) , умова
L( x* , * )  L( x, * ) , (0   x  * x 2 ) , x  X 0
112
7. Числові методи умовної мінімізації
113
----------------------------------------------------------------------------------------------------------
не виконується. Отже, навіть опуклість не гарантує наявності
сідлової точки. Для існування сідлової точки обмеження повинні
задовольняти додаткові умови.
5.3. Умови регулярності та сідлові точки
Розглядатимемо обмеження типу нерівностей
X  {x : x  X 0 , qi ( x)  0, i  1, m} .
(
5.10)
Додатковими умовами при яких існує сідлова точка є умови
регулярності області Х. Ми вже розглядали такі умови вище, однак
у певному сенсі вони неефективні для практичної реалізації. Далі
розглянемо дещо інший варіант умов регулярності.
Означення 5.2. Множина (5.10) є регулярною, якщо існує
точка x  X така, що
qi ( x)  0 i  1,m .
(
5.11)
Якщо X 0 – опукла множина, функції qi (x) , i  1,m опуклі на
X 0 , то замість (5.11) можна використати умови, що для кожного
i  1,m існує точка x i  X така, що qi ( xi )  0 . Справді, виберемо
точку x у вигляді
m
m
i 1
i 1
x    i x i , де i  0,   i  1 ,
тоді x  X 0 і
Дослідження операцій
m
m
i 1
i 1
114
qk ( x)  qk (   i x i )    i qk ( xi )  0, k  1, m.
Отже, умови (5.11) у цьому випадку також виконуються. Ці
умови іноді називають умовами Слейтера.
Теорема 5.2. Нехай множина X 0 – опукла, функції f (x) ,
qi (x) , i  1,m опуклі на X 0 , множина X – регулярна, X*   –
множина точок мінімуму функції f (x) на X . Тоді для кожної
точки x*  X* необхідно існують множники Лагранжа *  0
такі, що пара ( x* , * ) утворює сідлову точку функції Лагранжа на
множині X 0  0 .
В просторі Rm1 введемо множини
A  {a  (a0 , a1,..., am )  R m1 : a0  f ( x), ai  qi ( x), i  1, m, x  X 0},
B  {b  (b0 , b1,..., bm )  R m 1 : b0  f* , bi  0, i  1, m}.
Легко бачити, що A  B   . Справді, нехай a  A , тоді
знайдеться така точка x  X 0 , що a0  f ( x) , ai  qi (x) , і= 1,m . У
цьому разі можливі варіанти:
а) x  X , тоді a0  f ( x* )  f*  b0 , отже, a  B;
б)
x  X 0 \ X , тоді існує індекс 1  i0  m , для якого
qi0 ( x)  0 , отож ai0  qi0 ( x)  0  bi0 і знову a  B .
7. Числові методи умовної мінімізації
115
----------------------------------------------------------------------------------------------------------
Множини A і B опуклі. Покажемо, що A – опукла множи–
на. Нехай a ,c  A , тоді існують точки x та y  X 0 , для яких вико–
нуються умови
a0  f ( x), ai  qi ( x) , c0  f ( y), ci  qi ( y) , i  1,m .
Візьмемо
точку
a  a  (1  )c
і
приймемо
x  x  (1  ) y ,   (0,1) . З опуклості f (x) та qi (x),
i  1,m
випливає
f ( x )  f ( x)  (1  ) f ( y)  a0  (1  )c0  a 0 ,
qi ( x )  qi ( x)  (1  )qi ( y)  ai  (1  )ci  ai i  1,m .
Отримані оцінки свідчать, що a  A . Аналогічно доводять
опуклість множини B . Отже, існує гіперплощина ( p, a)   , де
p  R m 1 , p  0 , яка розділяє множини A і B , а це означає, що
m
m
i 0
i 0
( p, b)   pi bi    ( p, a )   pi ai a  A , b  B .
(
5.12)
Перейдемо до визначення вектора p . Приймемо
y  ( f*,0,...,0)  A  B ,
тоді
p0 f*    p0 f* і   p0 f* ,
а (5.12) можна переписати у вигляді
Дослідження операцій
m
m
i 1
i 1
p0b0   pi bi  p0 f*  p0 a0   pi ai , a  A , b B .
116
(
5.13)
Виберемо точку b  ( f*  1,0,...,0)  B , тоді з лівого боку
нерівності (5.13) маємо - p0  0 , отже,
p0  0.
Для точки
b  ( f*,0,...,0,1,0,...,0) з лівої нерівності (5.13) отримаємо pi  0 ,
i  1,m . Отже, p  0 . Тепер для довільної точки x*  X*  X візь-
мемо a  b  ( f*,0,...,0, qi ( x* ),0,...,0)  A  B . Використавши (5.12),
отримаємо
pi qi ( x* )  0  pi qi ( x* ) ,
що
еквівалентно
рівності
pi qi ( x* )  0. Отож умови (5.6) доведені. Покажемо, що p0  0 .
Виберемо точку a  ( f ( x), q1( x),..., qm ( x)) ( a  A) , тоді з (5.13)
m
p0 f*  p0 f ( x)   pi qi ( x) .
i1
Нехай
p0  0 , тоді
m
 pi qi ( x)  0. Якщо врахувати, що
i 1
m
pi  0 ,  pi  0 , qi ( x)  0 , то отримаємо суперечність 0  0 . Отже,
i 1
p0  0 .
Приймемо
* i 
pi
,
p0
тоді
з
(5.13)
a  ( f ( x), q1( x),..., qm ( x))  A маємо
m
f ( x* )  f ( x)   i qi ( x)  L( x, * ), x  X 0 .
i 1
для
точки
7. Числові методи умовної мінімізації
117
----------------------------------------------------------------------------------------------------------
З іншого боку, f ( x* )  L( x* , * ) при довільному x*  X* .
Звідси випливає, що умови (5.5) виконані. 
Практично теореми 5.1 і 5.2 дають необхідні і достатні умови
оптимальності для задачі (5.1).
Лема 5.2. Нехай (5.1) є задачею опуклого програмування,
f (x) ,
qi ( x)  C1 X o  ,
( x* , * )  X 0   0
була
i  1,m ,
тоді
сідловою
для
точкою
того
функції
щоб
точка
Лагранжа,
необхідно і достатньо, щоб
s
( Lx ( x* , * ), x  x* )  ( f ( x )   *i qi ( x ) , x  x* )  0, x  X 0
i 1
(5.5')
i qi ( x* )  0, i  1, s, x*  X .
(
5. 6  )
За зробленими припущеннями функція Лагранжа опукла і
дифе–ренційовна за x  X 0 при кожному   0 . Тому умова
(5. 5 ) еквівалентна умові (5.5). 
Теорема 5.3. Нехай X 0  R n – опукла множина, функції
f ( x), qi ( x), i  1, m опуклі на X 0 , qi ( x)  (ai , x)  bi , i  m  1, s –
лінійні, множина X* точок мінімуму функції f(x) на множині
X  {x : x  X 0 , qi ( x)  0, i  1, m; qi ( x)  (ai , x)  bi  0, i  m  1, p;
qi ( x)  (ai , x)  bi  0, i  p  1, s}.
непорожня, виконується узагальнена умова регулярності, тобто
Дослідження операцій
існує точка x  ri X 0  X така, що qi ( x)  0, i  1, m . Тоді для
кожної точки x  X  необхідно існують множники Лагранжа
  (1,..., s )   0  {  R s , i  0, i  1, p}
такі, що пара ( x ,  )
утворює сідлову точку функції
Лагранжа на множині X 0   0 .
Означення 5.3. Точку y  X називають відносно внутрішньою точкою Х, якщо існує -окіл O( y, )  {x  R n : x  y  }
точки у такий, що переріз O( y, )  affX повністю належить Х.
Множину всіх відносно внутрішніх точок множини Х позначають
через ri Х.
Зазначимо, що узагальнені умови регулярності можна
записати і в іншому вигляді.
Теорема 5.4. Нехай функція f x  опукла на опуклій множині
X0 ,
де
X 0  {x  R n : (di , x)  li , i  1, p; (di , x)  li , i  p  1, q} –
багато–гранна множина, di  R n , li  R , f ( x)  C1 X 0  . Множина
X визначена згідно з формулою
X  {x : x  X 0 , qi ( x)  (ai , x)  bi  0, i  1, m,
qi ( x)  (ai , x)  bi  0, i  m  1, s},
X   .
118
7. Числові методи умовної мінімізації
119
----------------------------------------------------------------------------------------------------------
Тоді для кожної точки x  X  необхідно існують множники
Лагранжа    0  {  R s , i  0, i  1, m} такі, що пара ( x, )
утворює сідлову точку функції Лагранжа на множині X 0  0 .
Доведення теорем 5.3, 5.4 можна знайти в [7].
5.4 Двоїсті задачі математичного програмування
Розглянемо двоїсті задачі до задачі (5.1). За допомогою
функції Лагранжа задачу математичного програмування (5.1)
можна переписати в іншому вигляді. Введемо функцію
( x)  sup L( x,  ),
 0
x X0
(
5.14)
s
де L( x,  )  f ( x)    i qi ( x) – функція Лагранжа,
i 1
  0  {  R s , i  0, i  1, m} .
s
Зауважимо, що при x  X маємо   i qi ( x)  0 для   0 ,
i 1
причому рівність нулю отримуємо, наприклад, при   0  0 .
Якщо x  X , тобто x  X 0 \ X , то обов’язково виконується хоча б
одна з умов: i0 , 1  i0  m таке, що qi0 ( x)  0 , або i0 ,
m  1  i0  s таке, що qi0 ( x)  0 . Отож можемо записати
 f ( x) x  X
( x)  
x  X 0 \ X .

Дослідження операцій
120
Отже,
inf ( x)  inf f ( x)  f
X0
X
і задачу (5.1) запишемо так:
( x)  inf,
x  X0
(5
.15)
Якщо припустити, що f  ,
X    , то виконується
умова
inf ( x)  f* ,
X   {x : x  X 0 , ( x)  f} .
X0
Отож множини розв’язків для задач (5.15) і (5.1) збігаються.
Поряд з функцією (5.14) розглянемо функцію
( x)  inf L( x, ),
X0
  0
(5
.16)
і запишемо задачу
()  sup,   0
(5
.17)
яку називатимемо двоїстою до задачі (5.15), а змінні  –
двоїстими
sup ()   ,
0
  {  0 , ()  }.
Виявляється, що задачі (5.15) і (5.17) взаємопов’язані. Завжди
виконується умова
7. Числові методи умовної мінімізації
121
----------------------------------------------------------------------------------------------------------
()    f  ( x)
(5
x  X 0   0
.18)
Із визначення   можна записати
()  inf L( x, )  L( x, ) , x  X 0 ,   0 ,
X0
тому
  sup ()  sup L( x, )  ( x),
0
0
x  X 0.
Перейдемо до нижньої границі по x  X 0 і отримаємо
  f , що підтверджує нерівність (5.18).
5.5. Зв’язок між розв’язками прямої та двоїстої задач
З’ясуємо, за яких умов  *  f* і обидві задачі (5.15), (5.17)
мають розв’язок, тобто
X   ,   ,
f    .
(
5.19)
Умови (5.19) взаємопов’язані з сідловою точкою функції
Лагранжа. Відповідь на сформульоване питання дає така теорема.
Теорема 5.5. Для того щоб виконувалось (5.19), необхідно і
достаньо, щоб функція Лагранжа L( x, ) мала сідлову точку на
X 0  0 . Множина сідлових точок функції L( x, ) на X 0  0
збігається з X*  * .
Дослідження операцій
Н е о б х і д н і с т ь. Нехай виконується (5.19). Візьмемо
довільні точки x  X  ,    . Тоді:
  ( )  inf L( x,  )  L( x ,  )  sup L( x , )  f ( x )  f .
0
X0
Якщо прийняти, що   f , то всі знаки  нашої нерівності замінимо знаками рівності. Отже,
inf L( x,  )  L( x ,  )  sup Lx ,   ,
0
X0
або
Lx ,    L( x ,  )  L( x,  ),
що є умовою сідлової точки. Отже, X    – множина
сідлових точок L( x, ) на X 0  0 .
Д о с т а т н і с т ь. Нехай ( x ,  )  X 0   0 – сідлова точка. З
умови
Lx ,    L( x ,  )
   0
Отримаємо
( x )  sup L( x , )  L( x ,  ) ,
0
а з умови L( x ,  )  L( x,  ) – ( )  inf L( x,  )  L( x, ) .
X0
Використавши умови (5.18), можемо записати
L( x ,  )  ( )    f  ( x )  L( x* ,  ) .
122
7. Числові методи умовної мінімізації
123
----------------------------------------------------------------------------------------------------------
Знову
всі
знаки

заміняємо
на
рівність,
тобто
( )    f  f ( x ) , а це означає, що виконується (5.19), і
*  * , x*  X* . Отож множина сідлових точок функції L( x, ) на
X 0  0 належить множині X    .
Наслідок 5.1. Наведені нижче твердження рівносильні:
1) ( x ,  )  X 0   0 – сідлова точка функції L( x, ) на
X 0  0 ;
2) виконується умова (5.19);
3) існують точки x  X 0 ,    0 такі, що
( x )   ( ) ;
4)
справджується рівність
max inf L( x,  )  min sup L( x, ) .
0
X0
X 0 0
Зазначимо, що рівність   f може виконуватись і у
випадку, коли одна з множин X  або * порожня.
Приклад 5.2. Розглянемо задачу
f ( x)   x  min
X  {x  R, x  0, x 2  0}.
У цьому випадку
X  {0},
X   {0}, f  0
Лагранжа
L( x, )   x  x 2 , ( x  0,   0),
і функція
Дослідження операцій
не має сідлової точки, хоча
()  inf L( x, )   1
x 0
4
при   0 та  (0)  
і
sup ()    0  f .
 0
Однак *   .
Поряд з цим можливий випадок, коли без сідлової точки
виконується строга нерівність  *  f* , хоча
X   ,   .
Приклад 5. 3. Розглянемо задачу
f ( x)  e x  min , X  {x : x  R,
xe x  0}.
X
Маємо X  {0},
X   {0},
f  f (0)  1.
Крім того,

0,
0

x
 ()  inf L( x, )  inf e (1  x)   ,
0
xR
xR

1
 1 
, 0
e
1, x  0,
( x)  sup L( x, )  
, x  0,
0
Звідси
 0  R.
124
7. Числові методи умовної мінімізації
125
----------------------------------------------------------------------------------------------------------
  sup ()  0  (0);   {0} ,
f  inf f ( x)  1  f (0),
X   {0},
тобто 0    f  1. Одночасно функція Лагранжа не має
сідлової точки. Умова L( x* , * )  L( x, * ) не виконується. Справді,
L( x, )  e x (1  x) , *  x*  0 і умова L( x* , * )  L( x, * ) (1  e  x )
для x  0 не виконується.
Зазначимо таке: двоїста задача (5.17) рівнозначна задачі опуклого програмування незалежно від вигляду прямої задачі. Функція
L( x, ) лінійна за , і функція   ( )  sup ( L( x,  )) опукла на
X0
опуклій множині  0 . Враховуючи це, в окремих випадках доцільно спочатку дослідити двоїсту задачу, а потім повернутися до
прямої. Особливо ефективний цей підхід до задач лінійного
програмування. У цьому випадку двоїсту задачу можна записати в
явному вигляді.
5.6. Двоїсті задачі у лінійному програмуванні
На практиці трапляються різні записи задачі лінійного
програмування.
5.6.1.Канонічна задача лінійного програмування
(c, x)  inf,
x  X  {x : x  R n , x  0, Ax  b  0} ,
(5.20)
Дослідження операцій
де A - матриця розмірності m  n,
126
b  Rs , c  Rn . У
нашому випадку
X 0  {x  R n , x  0}  Rn ,
0  R m .
Для задачі (5.20) функція Лагранжа має вигляд
L( x, )  (c, x)  (, Ax  b)  (c  AT , x)  (, b) .
Тоді
 (b, ), якщо c  AT   0,

( x)  inf L( x, )  
X0
i0 , (c  AT )i0  0,   0 .

 ,
Тепер можемо записати двоїсту задачу для задачі (5.20), яка
матиме вигляд
(b, )  inf
((b, )  sup),
(5.21)
    {  R s , c  AT   0}
Задача (5.21) також є задачею лінійного програмування.
Двоїста задача до задачі (5.21) буде прямою задачею (5.20).
Справді,
запишемо
множину

в
іншому
вигляді
  {  R s ,  c  AT   0}, тоді
L1(, x)  (b, )  ( x,c  AT )  (b  Ax, )  (c, x)   L( x, ) ,
тут   0  R s , x  X 0  {x  R n , x  0} . У цьому випадку

 (c, x), b  Ax  0,
1( x)  inf L1(, x)  
i0 (b  Ax)i0  0; x  X 0 .
0

 ,
7. Числові методи умовної мінімізації
127
----------------------------------------------------------------------------------------------------------
Отже, отримали задачу
1( x)  sup ,
xX
(  1 ( x)  inf ),
X
або
(c, x)  inf , x  X  x  X 0 , b  Ax  0,
що збігається з задачею (5.20).
5.6.2. Основна задача лінійного програмування
(c, x)  inf,
x  X  {x  R n , x  0,
(5
Ax  b  0 }
.22)
іноді цю задачу називають стандартною. У цьому випадку A
– матриця розмірності m n , b  R m , c  R n ,
X 0  {x  R n , x  0}  Rn , 0  {  R m ,   0}  Rm .
Функція Лагранжа має вигляд
L( x, )  (c, x)  (, Ax  b)  (c  AT , x)  b,   ,
і звідси
 (b, ),
c  AT   0

()  inf L( x, )  
T
X0
 , i0 , (c  A )i0  0,    0 .
Двоїста задача до задачі (5.22) має вигляд
(b, )  inf,
    {  R m : c  AT   0,   0}
(
Дослідження операцій
128
5.23)
Задача (5.23) є задачею лінійного програмування і легко
показати, що двоїста задача до неї буде вихідною задачею (5.22).
5.6.3. Загальна задача лінійного програмування
(c, x)  inf,
(
n
x  X  {x  R : x j  0, j  I ; Ax  b  0; Ax  b  0},
5.24)
де I – деяка підмножина індексів з множини {1,2,..., n}, A, A
– матриці, відповідно, порядку m n , s  n , b R m , b  R s , c  R n .
Запишемо множники Лагранжа у вигляді
  (, ) , де   R m ,   R s .
Отже,
   0  {  (, )  R m  R s ,   0} .
Функція Лагранжа має вигляд
L( x, )  (c, x)  (, Ax  b)  (, Ax  b) 
T
 (c  AT   A , x)  (, b)  (, b),
Звідси
x  X 0 ,   0 .
7. Числові методи умовної мінімізації
129
----------------------------------------------------------------------------------------------------------
(b, )  (b ,  ), (c  А  А  ) i  0, i  I ,

c  А  А i  0, i  I ,
 ()  inf L( x, )  
X0
 , у рештi випадків.

Тепер двоїсту задачу до (5.24) можна записати так:
(b, )  (b, )  inf,
  (, )    {  (, )  R m  R s ,   0;
T
T
(
(c  AT   A )i  0, i  I ; (c  AT   A )i  0, i  I }.
5.25)
Отже, ми знову отримали задачу лінійного програмування,
двоїста до якої збігається з вихідною.
Якщо
f  
задача
лінійного
програмування
має
розв’язок
X    , то, згідно з теоремою 5.4, функція Лагранжа
для цієї задачі має сідлову точку. Звідси і з урахуванням зв’язку
між прямою і двоїстою задачею випливають теореми, які мають
важливе значення в теорії лінійного програмування.
Теорема 5.6. У випадку розгляду прямої (5.24) і двоїстої
(5.25) задач лінійного програмування можуть виникнути такі взаємно виключні ситуації:
1) Пряма задача має допустимий розв’язок і її функція мети
необмежена в допустимій області. Множина допустимих розв’язків
двоїстої задачі порожня.
Дослідження операцій
130
2) Двоїста задача має допустимий розв’язок і її функція мети
необмежена в допустимій області. Множина допустимих розв’язків
прямої задачі порожня.
3) Дві задачі мають допустимий розв’язок. У цьому випадку
обидві задачі мають оптимальний розв’язок x , і
( x , c)  (b,  )  (b ,  ) .
4) Допустимі області обох задач – порожні множини.
Нехай вектори x і  такі, що задовольняють допустимі
множини для задач (5.24) і (5.25), тоді
inf{( c, x), x  X }  sup{(b, )  (b ,  ),   (,  )  }
(
5.26)
Якщо значення функції мети прямої задачі необмежене, то з
(5.26) випливає, що двоїста задача не має допустимих розв’язків.
Аналогічно з (5.26) випливає твердження 2). Тепер перейдемо до
твердження 3). Нехай пряма і двоїста задачі (5.24), (5.25) мають допустимий розв’язок. Використавши нерівність (5.26), отримуємо,
що значення inf{( c, x), x  X } скінченне, тоді пряма задача має
розв’язок, який позначимо через x . Згідно з теоремою 5.4 існує
пара ( x ,  ) , яка утворює сідлову точку функції Лагранжa для задачі (5.4). Тепер запишемо функцію Лагранжа для двоїстої задачі
(5.25):
7. Числові методи умовної мінімізації
131
----------------------------------------------------------------------------------------------------------
L1(, x)  (b, )  (b,)  ( x, c  AT   A T  ),
   0  {  (,  )  R m  R s ,   0},
x  X 0  {x  R n , xi  0, i  I }.
Роль множників Лагранжа для цієї функції відіграють вели–
чини x  ( x1,..., xn ) . Як бачимо, функції Лагранжа для задач (5.24) –
(5.25) відрізняються лише знаком, справді
L1(, x)  (b, )  (b, )  (c, x)  ( Ax, )  ( Ax, ) 
 (c, x)  (b  Ax, )  (b  Ax, )  L( x, ).
За теоремою 5.1 двоїста задача (5.25) має розв’язок

  ( ,  ) , якщо функція L1(, x) на  0  X 0 має сідлову точку
( , x )   0  X 0 , тобто
L1( , x)  L1( , x )  L1(, x ),
(
x  X 0 ,   0
5.27)
Оскільки ( x ,  ) є сідловою точкою функції Лагранжа для
прямої задачі і Lx,   L1, x , то умова (5.27) виконується, а це

означає, що   ( ,  ) – розв’язок задачі (5.25) і

(c, x )  (b,  ).  (b,  )
В останньому випадку допустимі множини
порожні.
X
і

Дослідження операцій
132
Користуючись результатами попередніх теорем, сформулюємо необхідні і достатні умови існування розв’язку задачі (5.24).
Теорема 5.7. Для того щоб точка x  X була розв’язком
задачі (5.24), необхідно і достатньо існування такої точки

  ( ,  )  , для якої

(c, x )  (b,  )  (b,  ).
(
5.28)
Теорема 5.8. Для того щоб точка x  Rn була розв’язком
задачі
(5.24),
необхідно
і
достатньо
існування
точки

  ( ,  )  R m  R s такої, що
xi  0, i  I ,
Ax  b,
Ax  b;
T 
  0, (c  AT   A  )i  0, i  I ;
T 
(c  AT   A  )i  0, i  I ;
T 
i ( Ax  b)i  0, i  1, m, xi (c  AT   A  )i  0, i  1, n.
Теореми 5.7, 5.8 є фактично формулюванням теорем 5.1, 5.4,
5.5 безпосередньо для задачі (5.24). Розглянуті вище теореми суттєво використовують для розробки числових методів розв’язування
задач лінійного програмування.
7. Числові методи умовної мінімізації
133
----------------------------------------------------------------------------------------------------------
Запитання для самоперевірки
1. Дайте означеннясідлової точки функції Лагранжа.
2. Необхідні ідостатні умови існування сідлової точки
(доведіть лему).
3. Взаємозв’язок між сідловою точкою і розв’язком задачі.
4. Наведіть приклад для якого у точці розв’язку не існує
сідлової точки.
5. Дайте означення регулярної множини.
6. Сформулюйте і доведіть теорему про існування сідлової
точки у точці розв'язку.
7.
Запишіть
задачу
математичного
програмування
з
використанням функції Лагранжа.
8. Двоїста задача для задачі математичного програмування.
9. При яких умовах мають місце X *   ,    ,
f *  * .
10. Наведіть приклад коли f *   * а *   .
11. Наведіть приклад виконання умов  *  f * .
12.
Двоїста
задача
до
канонічної
задачі
лінійного
програмування.
13.
Двоїста
задача
до
основної
задачі
лінійного
задача
до
загальної
задачі
лінійного
програмування.
14.
Двоїста
програмування.
Дослідження операцій
15. Які випадки можливі при розв'язуванні прямої і двоїстої
задач лінійного програмування
 Завдання для самостійної роботи
1. Записати двоїсті задачі до поданих задач:
а) x1  2 x2  x3  max
 x1  4 x2  2 x3  10,
 x  x  2 x  12,
 1 2
3

 2 x1  x2  2 x3  7,
 x1  0, x2  0, x3  0.
б) 4 x1  2 x2  3x3  max
 2 x1  4 x2  2 x3  5,
 3 x  5 x  2 x  7,
 1
2
3

 2 x1  x2  2 x3  4,
 x1  0, x2  0, x3  0.
в) x1  2 x2  3x3  max
 3x1  4 x2  4 x3  1,
 5 x  6 x  2 x  2,
 1
2
3

 7 x1  8 x2  2 x3  3,

x2  0.
г) 4 x1  2 x2  3x3  max
134
7. Числові методи умовної мінімізації
----------------------------------------------------------------------------------------------------------
3x1  4 x2  4 x3  1,
 5 x  6 x  2 x  2,
 1
2
3

 7 x1  4 x2  2 x3  3,
 x1  0, x3  0
д) 3x1  11x2  5x3  x4  min
 3 x1  x2  2 x3  x4  2,

3 x1  3 x2  5 x3  3 x4  7,
 x  0, j  1,..., 3.
 j
135
7. Числові методи умовної мінімізації
135
----------------------------------------------------------------------------------------------------------
6.ЧИСЛОВІ МЕТОДИ БЕЗУМОВНОЇ МІНІМІЗАЦІЇ
План викладу матеріалу:
1.
2.
3.
4.
5.
6.
7.
8.
9.
Загальні положення.
Градієнтний метод.
Метод Ньютона.
Метод Ньютона з регулюванням кроку.
Рекурсивний аналог методу Ньютона.
Метод Стеффенсена.
Квазіньютонівські методи.
Методи спряжених напрямів.
Методи нульового порядку
 Ключові терміни розділу
Алгоритми нульового, перш– Методи
ого, другого порядків
граді-
єнтів
Напрям і довжина кроку мінi– Взаємо
мізації
спряжених
спряжена система
.
векторів
Швидкість збіжності лінійна,Метод циклічного покоорди–
надлінійна, квадратична
натного спуску
Вектор спадання функції
Метод Хука і Джівсa
Методи типу яру
Метод Розенброка
Квазіньютонівська умова
Процедура Грамма-Шмідта
6.1. Загальні положення
Розглянемо задачу безумовної мінімізації
.
Дослідження операцій
f ( x)  inf ,
136
(
x  Rn .
6.1)
Будь-який числовий метод розв’язування задачі оптимізації
ґрунтується на точному або наближеному обчисленні певних
характеристик (значення функції мети, значення похідних тощо).
На основі отриманої інформації будуємо наближення до розв’язку
задачі. Це може бути значення x* , множина значень X * або
значення функції мети f*  min f ( x) . Для кожної конкретної задачі
X
питання про характеристики функції, які потрібно брати до уваги
під час розв’язування задачі, залежать від властивості функції, а
також наявності можливостей зі збереження і обробки інформації.
Наприклад, якщо ємність пам’яті ЕОМ мала, то у процесі
розв’язування
задач
високої
розмірності
не
доцільно
використовувати алгоритми, в яких є похідні другого порядку, для
недиференційованих функцій не можна застосовувати методи, які
потребують обчислення градієнта і т. д.
Алгоритми, які використовують лише інформацію про
значення
мінімізаційної
функції,
називають
алгоритмами
нульового порядку.
Алгоритми першого та другого порядків використовують
інформацію, відповідно, про значення перших і других похідних.
Розглянемо лише алгоритми нульового, першого та другого
порядків або їхні модифікації. Для мінімізації функції багатьох
7. Числові методи умовної мінімізації
137
----------------------------------------------------------------------------------------------------------
змінних користуватимемося
послідовними алгоритмами, коли
вибір наступного наближення залежить від попередніх результатів.
У цьому випадку застосовуватимемо алгоритми вигляду
xk 1  xk  k hk ,де  k  R , hk  R n , k  0,1,....
(
6.2)
Конкретний алгоритм визначається заданням початкового
наближення x0 , правилом вибору напряму hk і чисел k залежно
від інформації, яку отримали на підставі попередніх обчислень, а
також правилом умов зупинки. Вектор hk визначає напрям k  1 –
го кроку методу мінімізації, а коефіцієнт k - довжину цього кроку.
Серед методів мінімізації можна умовно виділити скінченні і
нескінченні. Скінченними методами є такі, які гарантують
знаходження розв’язку задачі за скінченну кількість операцій
(кроків, ітерацій). У цьому випадку вважаємо, що обчислення
проводимо точно.
Важливою
характеристикою
нескінченних
методів
є
швидкість збіжності. Вважатимемо, що метод (6.2) збігається, якщо
( xk , x* )  0 ,
k 
де
x*
є
розв’язком
задачі
(6.1).
Якщо
f ( xk )  f ( x* ) , то іноді також говорять, що метод (6.2) збігається
за функцією. У випадку, коли точка x* не єдина, то під збіжністю
послідовності
розуміють
{xk }
X *  {x*  Rn : f ( x* )  min f ( x)} ,
X
збіжність
( xk , X * )  0 .
k 
до
множини
Ефективність
Дослідження операцій
138
методів можна в певному сенсі охарактеризувати за допомогою
поняття швидкості збіжності.
Означення 6.1. Послідовність {xk } збігається до x* лінійно
(з лінійною швидкістю, зі швидкістю геометричної прогресії), якщо
існують такі константи q  (0,1) і k0 >0, що
xk 1  x*  q xk  x* при k  k0 .
(
6.3)
Означення 6.2. Послідовність {xk }
збігається до
x*
надлінійно (із надлінійною швидкістю), якщо
xk 1  x*  qk 1 xk  x* , qk   0 .
k 
(
6.4)
Означення 6.3. Послідовність {xk } збігається до x* із
квадратичною збіжністю, якщо існують такі константи C  0 і
k0  0 , що
xk 1  x*  C xk  x*
2
(
при k  k0 .
6.5)
Іноді,
зберігаючи
таку саму термінологію, нерівності
(6.3)−(6.5) можна записати так
xk 1  x*  C1q k 1 , 0  q  1, C1   ;
(6.3')
xk 1  x*  C2 qk 1 ...q1 , qk  0, C2  
(6.4')
k 
7. Числові методи умовної мінімізації
139
----------------------------------------------------------------------------------------------------------
(6.5')
k
xk 1  x*  C3q2 1 , 0  q  1, C3  
Для характеристики збіжності послідовності f ( xk ) до f ( x* )
використовують
аналогічну
термінологію.
З’ясування
факту
збіжності й оцінки швидкості збіжності дають суттєву інформацію
про вибраний метод мінімізації. Це може стосуватися області
застосування методу, вимог до початкового наближення тощо.
Водночас
реальний
обчислювальний
процес
повинен
бути
скінченним, отож для такого методу повинна існувати додаткова
умова - зупинки алгоритму (критерій зупинки). Найчастіше на
практиці використовують такі критерії зупинки:
xk 1  xk  1
(
6.6)
f ( xk 1)  f ( xk )  2
(
f ( xk 1)  3 ,
6.7)
(
6.8)
де  і  0 , i  1,2 ,3 – достатньо малі числа.
До початку обчислень вибирають одну з умов (6.6) – (6.8), дві
або навіть усі три, якщо це можливо. Поряд з умовами (6.6) – (6.8),
які
використовують
застосовувати
поняття
аналогічні
відносної похибки:
абсолютної
критерії,
які
похибки,
враховують
можна
поняття
Дослідження операцій
xk 1  xk  11  xk 1 
140
(6.9)
(6.10)
f ( xk 1)  f ( xk )  2 1  f ( xk 1) 
(6.11)
f ( xk 1)  3 1  f ( xk 1) ,
де i  0 i  1,2,3 – достатньо малі числа.
Зазначимо, що виконання критеріїв (6.6) – (6.8) чи (6.9) –
(6.11) або інших, подібних до них, загалом не гарантує досягнення
необхідної точності розв’язку.
У випадку використання ітераційних методів важливим є
також питання вибору напряму hk . Багато методів мінімізації
належать
hk
до
методів
спуску,
на
кожному
кроці
напрям
вибирають з числа напрямів спадання мінімізаційної функції.
Означення 6.4. Вектор h задає напрям спадання функції f
у точці х, якщо f ( x  h)  f ( x) при всіх   (0, ) , де  достатньо
мале число. Множину напрямів спадання
f (x)
у точці
х
позначимо через U ( x, f ) .
Лема 6.1. Нехай функція
f (x) диференційовна в точці
x  R n . Якщо вектор h задовольняє умову
( f ( x), h)  0 ,
то h U ( x, f ) . Якщо h U ( x, f ), то
(6.12)
7. Числові методи умовної мінімізації
141
----------------------------------------------------------------------------------------------------------
( f ( x), h)  0 .
(6.13)
 Нехай виконується (6.12), тоді:
() 

f ( x  h)  f ( x)  ( f ( x), h)  ()   ( f ( x), h) 
0
 

при всіх достатньо малих  , тобто h U ( x, f ) .
Нехай h U ( x, f ) і ( f ( x), h)  0 . Міркуючи, як описано
вище, бачимо, що h утворює гострий кут з вектором f (x) , а це
напрям зростання. Отже, ми прийшли до протиріччя і виконується
(6.13). 
Простішим прикладом методу спуску є градієнтний метод, у
якому hk   f ( xk ). Розглянемо тепер питання вибору параметра
k  0.
1. Одним з найпростіших варіантів щодо ідеї, а не реалізації
вибору k є умова
f ( xk   k hk )  min f ( xk  hk ),
 0
(6.14)
тобто k  arg min f ( xk  hk ) .
 0
Використання умови (6.14) потребує на кожному кроці
одновимірної мінімізації, що значно збільшує обсяг обчислень і дає
змогу відшукати загалом лише наближений розв’язок основної
задачі. В простіших випадках величину k з умови (6. 14)
вдається знайти у явному вигляді.
Дослідження операцій
Приклад 6.1. Нехай
f ( x) 
1
( Ax, x)  (b, x) , де
2
142
A
–
симетрична, додатно визначена матриця. Тоді:
f ( xk  hk )  f ( xk )  ( f ( xk ), hk ) 
2
( Ahk , hk )
2
(6.15)
Як бачимо, f ( xk  hk ) досягає мінімуму при
k  
( Ax k  b, hk )
( f ( xk ), hk )

 0.
( Ahk , hk )
( Ahk , hk )
Оскільки при точному визначенні k з умови (6.14) значення
xk 1 отримуємо, зазвичай, наближено, то на практиці обмежуються
обчисленням величини k наближено. Наприклад, k можна
вибрати з умови

f k *  f k ( k )  f k *  k , k  0,  k    
(6.16)
k 0
або
f k *  f k ( k )  (1   k ) f k (0)   k f k *
де
f k *  inf f k ()  inf f ( xk  hk ).


(6.17)
7. Числові методи умовної мінімізації
143
----------------------------------------------------------------------------------------------------------
Величини  k ,k із (6.16), (6.17) характеризують похибку
виконання умови (6.14). Чим ближче  k , до 0, а k до 1, тим
точніше виконується умова (6.14).
Для пошуку k можна використовувати умову монотонного
спадання функції f (x) , яку називають неточним, або наближеним
лінійним пошуком
f ( xk  k hk )  f ( xk ) .
2. Можна вибрати k з умови
f ( xk  k hk )  f ( xk )  k ( f ( xk ), hk )
(6.18)
де   (0,1) , hk U ( xk , f ) . Нерівність (6.18) часто використовують
для обґрунтування збіжності багатьох методів мінімізації. З (6.18)
випливає
f ( xk 1)  f ( xk )
і відповідний метод мінімізації є
методом спуску.
Крім того можна використовувати умови ГольдштейнаАрмійо, Вольфа та інші.
Лема 6.2. Нехай f ( x)  C1,1( R n ) – диференційовна і перша
похідна задовольняє умову Ліпшиця
f ( x)  f ( y)  M x  y ,
x , y  R n , M  0 . Тоді для довільних xk  R n ,   0,1 і hk , що
задовольняє умову ( f ( xk ), hk )  0, умова (6.18) виконується при
Дослідження операцій
0  k  
(1  )( f ( xk ), hk )
M hk
144
(6.19)
2
З формули Лагранжа при деякому   (0,1) маємо
f ( xk  k hk )  f ( xk )  ( f ( xk  k hk ), k hk )  k ( f ( xk ), hk )  k ( f ( xk 
 k hk )  f ( xk ), hk )  k ( f ( xk ), hk )  Mk k hk hk  k ( f ( xk ), hk ) 
 Mk 2 hk
2
 k (( f ( xk ), hk )  (1  )( f ( xk ), hk ))  k ( f ( xk ), hk ).

Лема 6.3. Якщо функція f  C 2 ( R n ) i f ( x) задовольняє
умову ( f ( x)h, h)  D h
2
x, h  R n ,   D  0, тоді для довільних
xk  R n ,   (0,1) і hk U ( xk , f ) умова (6.18) виконується при
0  k  
2(1  )( f ( xk ), hk )
D hk
(6.20)
2
 З формули Тейлора маємо
1
f ( xk   k hk )  f ( xk )  ( f ( xk ),  k hk )  ( f ( xk   k hk ) k hk ,  k hk ) 
2
 2
2
  k ( f ( xk ), hk )  k D hk   k ( f ( xk ), hk )  (1  ) k ( f ( xk ), hk ) 
2
 k ( f ( xk ), hk ).
У випадку, коли hk   f ( xk ),
0  k   
1 
M
(6. 19')
7. Числові методи умовної мінімізації
145
----------------------------------------------------------------------------------------------------------
~
0  k  
2(1  )
D
(6.20')

На жаль, константи M і D часто невідомі й останні дві леми
дають малий практичний ефект.
3. На практиці k > 0 часто вибирають з умови забезпечення
монотонності f ( xk 1)  f ( xk ) .У цьому випадку задають k   і
перевіряють
монотонність.
Якщо
умова
монотонності
не
виконується, то  дроблять доти, доки ця умова не виконається.
Час
від
часу
доцільно

збільшувати
зі
збереженням
монотонності.
4. Можливе апріорне задання величини k з умови
k  0 ,


k 0
k 0
k  0,1,  k   ,  k2   .
Наприклад,  k  C (k  1)  , де
1
   1, С =const. Такий
2
вибір простий для реалізації, але не гарантує монотонності f ( xk ).
На інтуїтивному рівні умова збіжності ряду повинна забезпечити
збіжність методу, а розбіжність – досягнення точки x* навіть у
випадку поганого вибору початкового наближення. Розглянуті
нами способи вибору довжини кроку не вичерпують усіх можливих
варіантів. Дослідимо окремі методи детальніше.
6.2. Градієнтний метод
Дослідження операцій
У градієнтному методі вибираємо
146
hk   f ( xk ) . Отже,
послідовність xk  визначають з формули
(6.21)
xk 1  xk  k f ( xk ) ,  k  0 , k  0,1,...
Використовуючи нерівність
 f ( x) h  ( f ( x), h)  f ( x) h
(6.22)
і враховуючи, що ліва рівність виконується у випадку
hk   f ( xk ) ,
ми
стверджуємо,
що
f ( xk )
є
напрямом
найшвидшого спадання функції f (x) у точці xk . Для вибору  k
можемо використовувати різні варіанти, у випадку (6.14) матимемо
метод найшвидшого спуску. Розглянемо метод (6.21) з вибором  k
за схемою (6.18). Якщо виконуються умови лем 6.2, 6.3, можна
проілюструвати, що існують такі числа   0, ~  0 , що
виконуються умови
k   і k  ~ .
У
випадку,
коли
мінімізаційна
функція
не
опукла,
градієнтний метод може забезпечити лише збіжність до множини
стаціонарних точок.
Теорема 6.1. Нехай f ( x)  C1( R n ) і обмежена знизу на R n , а
градієнт задовольняє умову Ліпшиця. При довільній початковій
точці х0  Rn для методу (6.21), (6.18) маємо lim f ( xk )  0 .
k 
 З виразу (6.18)
7. Числові методи умовної мінімізації
147
----------------------------------------------------------------------------------------------------------
f ( xk 1)  f ( xk )  k f ( xk )
2
(6.23)
 0,
тобто послідовність { f ( xk )} не зростає. Оскільки f (x) обмежена
знизу, то послідовність { f ( xk )} збігається і f ( xk )  f ( xk 1)  0.
k 
З формули (6.23) випливає
f ( xk )
2

f ( xk )  f ( xk 1 ) f ( xk )  f ( xk 1 )

 0. 
k

k 
Отже, гранична точка x* є стаціонарною. У випадку, коли
f (x) опукла функція, виконується наступна теорема.
Теорема 6.2. Нехай f ( x)  C 2 ( R n ) , сильно опукла на R n і
f (x) задовольняє умову
2
2
d h  ( f ( x)h, h)  D h , 0  d  D; h  R n .
(6.24)
Тоді для довільної початкової точки x0  R n послідовність
{xk } визначена формулами (6.21), (6.18), збігається до точки
мінімуму функції f (x) зі швидкістю геометричної прогресії
f ( xk )  f ( x* )  q k ( f ( x0 )  f ( x* ))
(6.25)
xk  x*  C ( q ) k ,
(6.26)
де q  (0,1), C  0 – стала.
Враховуючи умову теореми, стверджуємо, що точка x*
існує і єдина, а f ( x* )  0 . Отже, можемо записати
Дослідження операцій
f ( x)  f ( x* ) 
148
1
( f ( x  ( x  x* ))( x  x* ), x  x* ).
2
Використавши (6.24), отримаємо
d
D
2
2
x  x*  f ( x)  f ( x* ) 
x  x* .
2
2
(6.27)
З іншого боку,
f ( x* )  f ( x)  ( f ( x), x*  x) 
  f ( x) x*  x 
d
2
x*  x 
2
(6.28)
d
2
x  x* .
2
Застосувавши ліву нерівність з (6.27) і (6.28), маємо
d
d
2
2
x  x*  f ( x) x  x*  x  x* ,
2
2
Або x  x* 
f ( x)
.
d
Права нерівність з (6.27) дає
x  x*
2

2
( f ( x)  f ( x* )).
D
Тепер з (6.28)
f ( x)
f ( x)  f ( x* ) 
d
2
2
f ( x)
d
d
2
 x  x* 
 ( f ( x)  f ( x* )),
2
d
D
звідси
f ( x)
d
2
d

 1  ( f ( x)  f ( x* )) .
 D
7. Числові методи умовної мінімізації
149
----------------------------------------------------------------------------------------------------------
Використавши таку оцінку, з (6.23) отримаємо
f ( xk 1)  f ( x* )  f ( xk )  f ( x* )  k f ( xk )
2
 f ( xk )  f ( x* ) 

d
d 


 k d 1  ( f ( xk )  f ( x* ))  1  k d 1   ( f ( xk )  f ( x* )) 
 D
 D 

 q( f ( xk )  f ( x* )),
d

де q  1  k d 1   . Якщо xk 1  x* , то бачимо, що q  0 , крім
 D
того, очевидно, q  1. Отже, з цієї нерівності випливає (6.25).
Нерівність (6.26) випливає безпосередньо з (6.27) і (6.25), коли
C
2
d
f ( x0 )  f ( x* ) . 
Можна довести, що мінімальне значення q отримаємо при
  1 2 . Якщо k в (6.21) вибирати з умови мінімуму функції
вздовж напряму антиградієнта, тобто в методі найшвидшого
спуску, то послідовність
xk збігається також зі швидкістю
геометричної прогресії, причому q1 
Dd
. В обох алгоритмах
Dd
значення знаменника прогресії буде порівняно малим, якщо d і D
мало відрізняються одне від іншого. На жаль, на практиці
трапляються випадки, коли
d
 1 тоді q і q1 близькі до 1 і
D
збіжність методів доволі повільна. Розглянемо декілька прикладів.
Дослідження операцій
150
Приклад 6.2 Знайти розв’язок задачі
f ( x1 , x 2 )  ( x1  20) 2  ( x1  2x 2 ) 2  min
5
з точністю x k  x *  10 методом найшвидшого спуску,
починаючи з точки x0  (0,0).
У нашому випадку
f ( x)  (2( x1  20)  2( x1  2x 2 ),  4( x1  2x 2 ))Т
Ітерація 1
f ( x0 )  400, f ( x0 )  (40, 0) Т .
Тоді:
x1  (0,0) Т   0 (40, 0) Т  (40 0 , 0) Т
і розв’язуємо нову задачу
f1 ( )  f (40 , 0)  (40  20) 2  (40 ) 2  min


f1 ( )  80(40  20)  3200  0,  0  0.25 .
Тоді x1  (10, 0)Т
Результати наступних обчислень записано у таблиці 6.3.
Неважко
x*  (20, 0),
переконатись,
що
точний
розв’язок
і значення функції мети f ( x* )  0
задачі
є
7. Числові методи умовної мінімізації
151
----------------------------------------------------------------------------------------------------------
Таблиця 6.3
x 1k
x k2
f ( x1k , xk2 )
f ( x1k , xk2 )

0,0000000
0
0,0000000 400,0000000 -40,000000; 0,0000000
0,250
9,9999999
1
0,0000000 200,0000000 -0,0000002;-39,999999
0,125
10,0000000
2
5,0000000 100,0000005 -20,000000;-0,0000000
0,250
15,0000000
3
5,0000000 50,0000003
-0,0000001;-20,000000
0,125
15,0000000
4
7,5000000 25,0000003
-10,000000; 0,0000000
0,250
19,9975586 9,9987793 0,0000060
-0,0048828;0,0000000
0,250
2
19,9987793
9,9987793 0,0000030
0,00000000;– 0,004883
0,125
2
19,9999237
9,9999619 0,0000000
-0,0001526; 0,0000000
0,250
19,9999619 9,9999619 0,0000000
0,00000000; -0,000153
0,125
.
...
6
7
3
6
3
7
Приклад 6.3.
Знайти розв’язок задачі
f ( x1 , x 2 )  (2x1  x 2 ) 2  3( x 2  2) 4  min
Дослідження операцій
з точністю
152
x k  x k 1  10 5 методом найшвидшого спуску.
Обчислення здійснюємо аналогічно попередньому. Результати
обчислень записано у таблиці 6.4.
Приклад 6.4.
Знайти розв’язок задачі
f ( x1 , x 2 )  100( x 2  2x1 ) 2  (1  x1 ) 2  min
з точністю
x k  x k 1  10 5 методом найшвидшого спуску.
Результати обчислень записано у таблиці 6.5.
Таблиця 6.4
k
f ( x1k , xk2 )
f ( x1k , xk2 )

x 1k
x k2
0
0,0000000
0,0000000
48,000000
0,0000000;-96,000000
0,0144413
1
0,0000000
1,3863665
2,3473729
-5,5454661;-0,0000021
0,1250000
2
0,6931835
1,3863668
0,4253600
0,0000011;-2,7727321
0,0943652
3
0,6931834
1,6480161
0,1145085
-1,0465969;-0,0000004
0,1250000
40
0,9645132
1,9290264
0,0000761
0,0000000;-0,0042902
0,4594840
41
0,9645132
1,9309976
0,0000719
-0,007885; 0,0000000
0,1250000
758
0,9925287
1,9850574
0,0000001
0,0000000;-0,0000400
0,4980012
759
0,9925287
1,9850774
0,0000001
-0,0000798; 0,0000000
0,1250000
7. Числові методи умовної мінімізації
153
----------------------------------------------------------------------------------------------------------
Таблиця 6.5
k
x k2
f ( x1k , xk2 )
f ( x1k , xk2 )
x 1k

0
0,0000000
0,0000000
1,0000000
-2,000000; 0,000000
0,00125
1
0,0024938
0,0000000
0,9975062
0,000001;-0,997507
0,00500
2
0,0024938
0,0049875
0,9950187
-1,995007;-0,000003
0,00125
3
0,0049813
0,0049875
0,9925374
0,000000;-0,995019
0,00500
9
0,0124068
0,0198756
0,9777787
0,000001;-0,987594
0,00500
10
0,0124068
0,0248135
0,9753404
-1,975180;-0,000003
0,00125
731
0,5990226
1,1960404
0,1611848
0,000001;-0,400978
0,00500
732
0,5990226
1,1980453
0,1607828
-0,801949;-0,000003
0,00125
4421
0,9959964
1,9919727
0,0000161
0,000000;-0,004004
0,00500
4422
0,9959964
1,9919927
0,0000160
-0,008007; 0,000000
0,00125
Як бачимо, при розв’язуванні трьох задач з однаковою
умовою зупинки ми отримали різну кількість ітерацій, причому із
суттєвою різницею. Для вияснення цієї ситуації визначимо
значення величин d, D. У прикладі 6.2 отримали:
 4  4
 .
f (x)  
 4 8 
Дослідження операцій
154
Для визначення d, D маємо нерівність
d h  ( f ( x)h, h)  D h
Легко
бачити,
що
h  R 2 .
у
даному
випадку
d  6  20 , D  6  20 . Отже,
q
Dd
5

 0.745 .
Dd
3
У прикладі 6.4:
 802  400
 .
f (x)  
  400 200 
Тоді із умови
d h  ( f ( x)h, h)  D h
отримаємо d  0,4, D  1001 ,6 . Отже q 
h  R 2
Dd
 0.9992.
Dd
 8 4




4
2

36
(
x

2
)


У прикладі 6.3 маємо f ( x)  
2
2
і у
точці розв’язку d = 0, що суттєво впливає на збіжність методу.
Залежність швидкості збіжності від величин d, D легко
пояснити геометрично. З рис. 6.1 і 6.2 бачимо, що чим ближче лінії
рівня
f ( x)  const
найшвидшого
до кола, тим краща
спуску
(d D
близьке
до
збіжність методу
1).
Однак
метод
найшвидшого спуску, а також інші варіанти градієнтного методу
повільно збігаються у тих випадках, коли поверхні рівня функції
f (x) витягнуті, тобто функції мають так звану властивість яру.
7. Числові методи умовної мінімізації
155
----------------------------------------------------------------------------------------------------------
Для таких функцій незначна зміна деяких змінних приводить до
значної зміни значення функції.
x0
x2
x1
Рис. 6.1
u0
u1
Рис. 6.2
Такі змінні відповідають схилу яру, а для інших змінних, які
задають напрям дна яру – функція змінюється повільно, що можна
побачити з рис. 6.3. Якщо точка xk є на схилі яру, то напрям
спадання ( f ( xk )) буде майже перпендикулярним до дна яру, і в
Дослідження операцій
156
результаті обчислень послідовності точок {xk } , відшукані за
градієнтним методом, будуть то на одному, то на іншому схилі яру.
Якщо схили яру достатньо круті, то збіжність методу буде дуже
повільною. Поліпшити збіжність методу можна за допомогою
евристичного засобу, який іноді називають методом яру.
Рис. 6.3
Опишемо цей метод. Виберемо дві точки
x0 ,
x1
і,
використовуючи один з варіантів градієнтного методу, визначимо
нові точки y0 , y1 . Потім приймаємо
x2  y1  ( y1  y0 )h  sign( f ( y1)  f ( y0 )) / y1  y0 ,
де h  0 - додатна змінна, яка є кроком методу. З точки x2
проведемо спуск одним із відомих градієнтних методів до дна яру і
7. Числові методи умовної мінімізації
157
----------------------------------------------------------------------------------------------------------
визначимо точку y2 і т. д. Якщо відомі точки y0 , y1 ,, yk , k  2 , то
з точки
xk 1  yk  ( yk  yk 1) yk  yk 1
1
h  sign ( f ( yk )  f ( yk 1))
виконаємо спуск за допомогою відомого варіанта градієнтного
методу і відшукаємо наступну точку yk 1 на дні яру. Зазначимо,
що спуск з точки xk в точку yk може відбуватися за декілька
кроків. Величину кроку h підбирають самостійно з урахуванням
інформації про мінімізаційну функцію. Ефективність методу може
суттєво поліпшитися, якщо крок h вибрати змінним, що даватиме
змогу:
по-перше, прямолінійні ділянки яру проходити швидше;
по-друге, на крутих ділянках крок методу суттєво зменшити,
що зменшить імовірність викидання наступного наближення з яру;
по-третє, домогтися якомога найменшого відхилення точок
xk від дна яру і зменшити обсяг обчислень для відшукання точки
yk . На практиці hk вибирають з умови
hk 1  hk c cos k  cos k 1 , k  2,3,...
де k - кут між векторами xk  yk 1 , yk  yk 1
cos k  ( xk  yk 1, yk  yk 1) xk  yk 1 yk  yk 1
1,
де c  1 – параметр методу. Величина cosk  cosk 1 пов’язана з
кривиною яру і має властивість зазначати величину зміни кривини.
Дослідження операцій
158
У процесі переходу з ділянок яру, що мають велику кривину, на
прямолінійні ділянки
cos k  cos k 1  0
і
hk 1  hk
крок
збільшується. І навпаки, при переході з ділянки яру, що має меншу
кривину, на ділянку з більшою кривиною cosk  cosk 1  0
крок
і
hk 1  hk зменшується. Параметр c  1 регулює чутливість
методу до зміни кривини яру. Вираз для кроку методу зручніше
записувати так:
hk 1  hk ccos k  cos k 1  hk 1ccos k  cos k 2  ...  h2ccos k  cos1
.
Отже,
hk 1  Accosk , A  h2 c  cos1  const  0, k  2,3, .
Інший спосіб прискорення швидкості збіжності полягає у
виборі відповідної заміни
поверхні рівня функції
x  q()  (q1(),..., qn ())
так, щоб
f (q())  G () були близькі до куль.
Градієнтний метод є основою і для інших доволі корисних у
практичному застосуванні методів.
Суттєвим недоліком градієнтних методів є їхня чутливість до
похибки обчислень. Це досить відчутно в околі розв’язку, де норма
градієнта мала. Тому градієнтний метод у початковій стадії працює
краще, ніж на кінцевому етапі.
7. Числові методи умовної мінімізації
159
----------------------------------------------------------------------------------------------------------
Аналогом градієнтного методу для мінімізації опуклих
негладких функцій є так званий субградієнтний метод, у якому
послідовність точок x1 , x2 ,... визначається за правилом
xk 1  xk  k hk , де hk  f ( xk ),
k  0,1,
(6.29)
У цьому випадку субградієнт hk вибирають з множини
f ( xk ) довільно. Як свідчать теоретичні оцінки та практика
обчислень, субградієнтний метод збігається досить повільно і не є
ефективним способом мінімізації складних негладких функцій.
Крім того, у випадку його використання, можуть виникнути
труднощі з обчисленням субградієнта.
6.3. Метод Ньютона
До найефективніших методів розв’язування задач мінімізації
(6.1) належить метод Ньютона і його модифікації. Цей метод є
мето-дом другого порядку, тобто передбачає обчислення других
похідних мінімізуючої функції f (x) на R n . У його модифікаціях
матриця других похідних апроксимується, отож використовують
інформацію
про
значення
градієнтів
функції
f (x) .
Такі
модифікації є методами першого порядку.
Припустимо, що f ( x)  C 2 ( R n ) і опукла. Нехай відоме деяке
наближення xk до розв’язку задачі мінімізації, тоді функцію f (x)
в цій точці можна записати у вигляді
Дослідження операцій
160
1
2
f ( x)  f ( xk )  ( f ( xk ), x  xk )  ( f ( xk )( x  xk ), x  xk )  o x  xk .


2
Візьмемо квадратичну частину цього приросту
1
f k ( x)  ( f ( xk ), x  xk )  ( f ( xk )( x  xk ), x  xk )
2
(6.30)
і визначимо xk 1 як розв’язок задачі f k ( x)  min . Зрозуміло, що
n
R
f k( x)  f ( xk ) .Оскільки f (x) опукла, такою буде і функція f k (x) .
Тому необхідні і достатні умови мінімуму мають вигляд
f ( xk )  f ( xk )( x  xk )  0 ,
звідки отримаємо:
xk 1  xk  ( f ( xk )) 1 f ( xk ), k  0,1...
(6.31)
Формула (6.31) визначає метод Ньютона мінімізації функції
f (x) і він збігається з методом Ньютона для розв’язування
системи рівнянь f ( x)  0 .
Теорема 6.3.
Нехай
f ( x)  C 2 ( R n )
сильно опукла
з
константою   0 і f (x) задовольняє умову Ліпшиця
f ( x)  f ( y )  M x  y , x, y  R n , де   M  0,
початкова точка x0 вибрана так, що
q  (0,1).
f ( x0 )  8q 2 M , де
7. Числові методи умовної мінімізації
161
----------------------------------------------------------------------------------------------------------
Тоді послідовність {xk } , визначена за (6.31), збігається до
точки x* і виконується оцінка:
(6.32)
k
xk  x*  4q 2 M
Оскільки f (x) сильно опукла, то точка x* існує і єдина,
крім того виконується умова:
2
( f ( x)h, h)  2 h , де x ,h  Rn .
Матриця
f (x) додатно визначена, тому невироджена і
метод (6.31) коректно визначений. Оскільки виконується нерівність
2
( f ( x)  f ( x* ), x  x* )  2 x  x* ,
то можемо записати
xk  x*
2

1
f ( xk ) xk  x* ,
2
тобто
xk  x* 
1
f ( xk ) .
2
Враховуючи співвідношення
f xk 1   f xk 1   f xk   f xk xk 1  xk ,
отримаємо
Дослідження операцій
162
1
f ( xk 1)   ( f ( xk  ( xk 1  xk ))  f ( xk )) d 
0
 ( xk 1  xk ) 
M
M
2
xk 1  xk 
2
2
 f ( xk )1
2
(6.33)
2
 f ( xk ) .
Оцінимо величину
 f ( xk )1 .
2
Оскільки ( f ( x)h, h)  2 h ,
то при-йнявши h   f ( xk )1 y , отримуємо:
 f ( x)1 y
2



1
1
y,  f ( x)1 y 
y  f ( x)1 y
2
2
Отже,
 f ( x)
1
 max
 f ( x)1 y
y 1
y

1
.
2
Враховуючи цю оцінку, з (6.33) запишемо
f ( xk 1 ) 
M
8
2
f ( xk )
2
при k  0,1,... .
Тепер
f ( xk ) 
де q 
M
82
M
f ( xk 1 )
82
2
 M 
  2 
 8 
2 k 1
f ( x0 )
2k
f ( x0 ) і легко отримати оцінку (6.32). 

8 2 2 k
q ,
M
7. Числові методи умовної мінімізації
163
----------------------------------------------------------------------------------------------------------
Отже, збіжність методу доведена для доброго початкового
наближення.
Приклад 6.5. Розглянемо застосування методу Ньютона до
розв’язування задачі
f ( x)  ( x 2  ( x1 ) 2 ) 2  2(1  x1 ) 2  min .
За початкове наближення виберемо точку x0  (0.0) Т , тоді
  4 x1 ( x 2  ( x1 ) 2  4(1  x1 ) 
;
f ( x)  


2
1 2
2( x  ( x ) )


  4 x 2  12( x1 ) 2  4
f ( x)  
 4 x1

Ітерація
  4
f ( x0 )   ,
 0 
1.
У
4
f ( x0 )  
0
 4 x1 
.
2 
нашому
випадку
0
.
2 
Тепер розв’язуємо систему рівнянь
f ( x0 )x0  f ( x0 ) ,
розв’язки
якої є x01  1,
запишемо
так:
f ( x1 )  1 .
x02  0 . Наступне наближення
 0    1 1 
x1  x0  x0          , при цьому
 0  0   0
Дослідження операцій
Ітерація
 4 
f ( x1 )   ,
  2
2.
У
164
даному
випадку
1   0  1
x 2  x1  1         ,
 0    1 1
0
f ( x 2 )    .
0
 16  4 
 .
f ( x1 )  
 4 2 
Система рівнянь матиме вигляд:
1611  421  4
 411  221  2
,
розв’язками якої є 11  0, 21  1 .
Тоді:
Задачу розв’язано.
На жаль, така ситуація не завжди виникає, проте при виборі
”доброго” (близького до розв’язку) початкового наближення
кількість ітерацій для отримання розв’язку незнана.
Зазначимо, що умови, які гарантують збіжність, важко
переві–рити. Складність у визначенні початкового наближення є
одним з не–доліків методу Ньютона. Іншим недоліком методу є, у
випадку великої розмірності, трудомісткість кожної ітерації.
Враховуючи ці зауваження, запропоновано низку модифікацій
методу Ньютона, які зберігають позитивні характеристики методу
(високу швидкість збіжності) і зменшують трудомісткість та
послаблюють вимоги до вибору початкового наближення.
6.4. Метод Ньютона з регулюванням кроку
Метод вигляду
7. Числові методи умовної мінімізації
165
----------------------------------------------------------------------------------------------------------
xk 1  xk  k hk , де  k  (0,1], hk  ( f ( xk )) 1 f ( xk )
(6.34)
називають методом Ньютона з регулюванням кроку. При k  1
він збігається з методом Ньютона. Величину k вибирають одним
із наведених способів уздовж заданого напряму hk , при цьому
k  1 . Можна довести, що
сильноопуклих функцій
варіант методу (6.34) у випадку
f ( x)  C 2 ( R n ) збігається з довільного
початкового наближення і збіжність буде локально надлінійна або
квадратична (в околі розв’язку k набуває значення 1) залежно від
властивості функції
f (x) . Таким шляхом можемо уникнути
поганого початкового наближення.
Справді, використовуючи алгоритм (6.34) з вибором  k , за
схемою
f ( xk k hk )  f ( xk )  k ( f ( xk ), hk )
(6.35)
легко довести таке: якщо виконуються умови теореми 6.3, то
існують такі значення k  0 , для яких метод (6.34) є методом
спуску і локально в околі точки
Ньютона:
x*
переходить у метод
Дослідження операцій
166
2
f ( xk   k hk )  f ( xk )  ( f ( xk ),  k hk )  k ( f ( xk   k  k hk )hk , hk ) 
2
2
2
2 
  k ( f ( xk ), hk )  k f ( xk   k  k hk )  f ( xk ) hk  k ( f ( xk )hk , hk ) 
2
2


   
  k  ( f ( xk ), hk )1  k   k f ( xk   k  k hk )  f ( xk ) hk 2  
2  2



 k ( f ( xk ), hk ).
 1
Вважатимемо, що    0,  . Зрозуміло, що існує таке значення
 2
k  0 , для якого умова (6.35) виконується. Якщо xk близьке до
розв’язку, тоді
f ( xk  k  k hk )  f ( xk )  0
k 
і для деякого номера N 0 при k  N 0 матимемо, що умова (6.35)
виконується для k =1. Отже, переходимо до методу Ньютона.
Трудомісткість методу можна зменшити, якщо використати
рекурсивний аналог Однак такий варіант не завжди ефективний.
Кращі перспективи зменшити кількість обчислень маємо тоді, коли
будуємо апроксимацію матриці  f ( x)1 на основі інформації про
значення градієнтів f ( xk ) , f ( xk 1) .
6.5. Рекурсивний аналог методу Ньютона
Як бачимо, метод Ньютона з регулюванням кроку вирішує
лише проблему з вибором початкового наближення, однак не
вирішує проблему трудомісткості. Для того, щоб зберегти високу
7. Числові методи умовної мінімізації
167
----------------------------------------------------------------------------------------------------------
швидкість збіжності і послабити
трудомісткість алгоритму,
використовують рекурсивний аналог методу Ньютона, а сааме
zki 1  zki  f ( xk ) 1 f ( zki ),
(6.36)
xk 1  zkp , zk0  xk , i  0,1, ..., p  1, k  0,1,....
В даному алгоритмі значення матриці других похідних
f ( xk ) залишається незмінним протягом
р проміжних
кроків.
Алгоритм (6.36) можна переписати у вигляді:
x k 1

 x k   f ( x  k 

 p
 p

1

)  f  x k , k  0 ,1... ,


де a  ціла частина числа а .
Теорема 6.4. Нехай:
1. Функція
x  D, y  R
my
де
2
 
f x   C 2 R n
n
сильно
опукла
виконуються
і
для
умови
 ( f " ( x) y, y )  M y ,
2
0  m  M ; m, M –
2

D   x : x  x* 
f ' ( x0 )
m


.

2. x , y  D , f " x  задовольняє умову Ліпшиця
f ( x)  f ( y)  L x  y , äå L  .
const,
Дослідження операцій
3.
Початкове
наближення
x0
вибрано
таким,
виконується умова   C x0  x*  1, де C 
168
що
2L
.
m
Тоді послідовність x k породжена рекурсивним процесом
(6.36), коректно визначена та збігається до
x* і справедлива
оцінка

1
xk  x*    p 
2

 p 1k 1
x0  x* .
 Існування та єдиність розв’язку випливає із властивостей
сильно–опуклих функцій [7]. Із сильної опуклості функції випливає
оцінка
f " ( x ) 1 
1
.
m
xk  D
і
Нехай
x k  x*  x0  x*
(що
проілюстровано нижче). Тоді має місце оцінка


z1k  x*  zk0  x*   f " ( xk )1 f ' ( zk0 )  f ' ( x* ) 


  f ( xk )1 f " ( xk )  f " ( x*  ( zk0  x* ) ( zk0  x* ).
Використовуючи умови теореми, отримаємо:
буде
7. Числові методи умовної мінімізації
169
----------------------------------------------------------------------------------------------------------
1
L 0
L x k  x* z k0  x* 
z k  x*
m
m
 z k0  x* .
z 1k  x* 
2

C 0
z k  x*
2
2
Аналогічно:
zk2  x*  z1k  x*   f " ( xk ) ( f ' ( z1k )  f ' ( x* )) 
1
  f " ( xk )
1
 f "( x )(z
k

1
k

 x* )  f ( xk  ( z1k  x* ) ( z1k  x* )) . 
3
2L 0
C2 0
zk  x* z1k  x* 
zk  x* .
m
2
Нехай
zki  x* 
Ci 0
zk  x*
2
i 1
Тоді, використавши метод математичної індукції, маємо
zki 1  x* 
i2
L
C i 1 0
2 zk0  x* zki  x* 
zk  x*
i  2, p  1.
m
2
Отже,
zkp  x* 
p 1
Cp 0
zk  x*
2
Або
xk 1  x* 
p 1
Cp
xk  x*
.
2

Дослідження операцій
170
При k  0 маємо:
p 1 C x0  x* P
Cp 0
 x* 
z0  x*

x0  x* 
2
2
z0p
x1  x* 
  
 p 


 2
p
x0  x*
Аналогічно для k=1:
z1p
x2  x* 
p 1 C p
Cp
 x* 
x1  x*

2
2
p 1  
Cp



x0  x*
p 
2
2


  
 p 


 2
p ( p 1)
  
 p 


 2
p

   
  p  x0  x*
 2 






p 1

p  p ( p 1)
x0  x* 
( p 1) 2 1
x0  x* .
Використовуючи метод математичної індукції, отримаємо:

( p 1) k 1 1
p

1



C
C   
xk  x* 
x  x*

x0  x*

2 k 1
2   p 2 

p

p
C
x  x*
2 0
p
p 1

  
p 
 2
( p 1) k  p 1
  
 p 


 2





p 1

( p 1) k 1
x0  x*
Теорему доведено. 
Тепер можна перейти до визначення оптимальної глибини
рекурсії у сенсі обчислювальних затрат на отримання результату.
7. Числові методи умовної мінімізації
171
----------------------------------------------------------------------------------------------------------
Позначимо через Q1 обчислювальні затрати,
які йдуть на
визначення z 1k і через Q2 обчислювальні витрати, які йдуть на
обчислення z ki , i  1. Очевидно, Q1  Q2 . На кожній блочній
ітерації методу маємо Q1  ( p  1 )Q2 обчислювальних затрат.
Для визначення оптимальної глибини нам необхідно знайти
розв’язок задачі
k (Q1  ( p  1)Q2 )  min
  


p 
 2
( p 1) k 1
Поряд
з
1
f ( x0 )   .
m
алгоритмом
(6.36)
можна
використовувати
алгоритми із змінною глибиною рекурсії.
6.6. Метод Стеффенсена
У тих випадках, коли обчислення матриці f " ( x ) вимагає
значних обчислювальних затрат, постає питання щодо можливості
побудови методу, який за швидкістю і трудомісткістю не гірший,
ніж метод Ньютона. Одним із таких методів є метод Стеффенсена.
У
даному
випадку
похідна
Гессе
заміняється
різницевим
відношенням перших похідних.
У методі Стеффенсена, якщо відоме наближення x k , то
наступні наближення визначають за формулами;
Дослідження операцій
xk 1  xk  ( f ' ( xk , xk  k f ' ( xk )) 1 f '{xk }, k  0,1,2,...
172
(6.37)
 k - числовий параметр f ' ( x, y ) - поділена різниця, яка
апроксимує f " { x ) . Елементи матриці
f ' ( x, y ) визначаються за
формулами
 f i ( x1,..., x j , y j 1,..., y n )  f i ( x1,..., x j 1, y j ,..., y n )
x
 x
,xj  y j
j
j

x y
f i , j ( x, y )  
2
  f
( x1,..., x j 1, y j ,..., y n ) , x j  y j .

 xi x j
Теорема 6.5. Нехай


2
4
S0   x  R n : x  x0  R  max   ,  f ' ( x0 )  k  ,




1. Функція f ( x)  C 2 ( S 0 ) ,
2.  x  y
2
 ( f ' ( x)  f ' ( y ), x  y ),
x, y  S0 ,   0
3. f ' ( x, y)  f ' ( y, z)  K ( x  y  y  z ) x, y, z  S0.
Початкове наближення x0 вибирають таким, що
2
2
q  K     f ( x0 )  1


(6.38)
7. Числові методи умовної мінімізації
173
----------------------------------------------------------------------------------------------------------
Тоді послідовність x n визначена за (6.37)
збігається до
х*, що є розв’язком задачі (6.1) причому справедлива оцінка
xk  x* 
1 2 k 1
q
f ( x0 )

k  1,2, ...
(6.39)
 З умови 2 випливає сильна опуклість функції f ( x ) , а це
означає, що існує і єдина точка x* , що є розв’язком задачі (6.1).
Нехай для деякого k  0 знайдені точки x k і справедливі
умови
x k  S 0 , f ( x k )  q 2
k
1
f ' ( x0 )  f ' ( x0 ) .
(6.40)
Тоді, використовуючи умову 2 можемо записати:
 x k  x0
2
 2 f ' ( x0 ) x k  x0
або
x k  x0 
2

f ' ( x0 ) .
~
xk  xk  k f ' ( xk ) .
Нехай
Тоді,
зважаючи
на
отримаємо:
~
xk  x0  xk  x0  k f ' ( xk ) 

2

2
f ' ( x0 )   f ' ( xk )      f ' ( x0 )  R.



Отже, ~
xk  S 0 . Враховуючи умову (6.39), отримаємо:
(6.40),
Дослідження операцій
xk  ~
xk   f ' ( xk ) 
174


.

2
K


2K  2   
 

Тепер можна записати:

f ' ( xk , ~xk )  f " ( xk )  f ' ( xk , ~xk )  f ( xk , xk )  K ( xk  ~xk )  ,
2
Використовуючи викладене вище, можемо записати
.
f ' ( xk , xk ),   ( f " ( xk ), )  (( f ( xk , ~
xk )  f " ( xk )), ) 
2
    ( / 2) 
2
(6.41)
2
 ( / 2)  ,   R n .
А це означає, що матриця f ' ( xk , xk ) невироджена і алгоритм
(6.37) коректно визначений. Використовуючи умову (6.41), легко
про–ілюструвати, що
2
f ' ( xk , ~
xk ) 

(6.42)
Для цього необхідно у (6.41) покласти
  f ' x k , ~x k 1 z ,
тоді:

2
або
f ' ( xk , ~
x k )1 z
2


 z , f ' ( xk , ~
xk )1 z  z f ' ( xk , ~
xk )1 z
7. Числові методи умовної мінімізації
175
----------------------------------------------------------------------------------------------------------
2
f ' ( xk , ~
xk ) 1 z  z , z  R n ,

і звідси випливає (6.42).
Тепер можемо записати:
x k 1  x0  x k 1  xk  xk  x0 

2

f ' ( xk ) 
2

f ' ( x0 ) 
4

f ' ( x0 )  R
тобто xk 1  S 0 .
Із означення поділених різниць
f ' ( x, y)(x  y)  f ' ( x)  f ' ( y),
x, y  Rn
можемо записати:
f ' ( xk 1 )  f ' ( x k )  f ' ( xk 1 , x k )( xk 1  x k ) 
 f ' ( xk , ~xk )  f ' ( xk 1 , xk ) f ' ( xk , ~xk ) 1 f ' ( xk )
За припущення індукції (6.40) ми отримаємо:
f ' ( xk 1 )  K  xk 1  xk  xk  ~
xk
2
 K  f ' ( xk )   f ' ( xk )


f ' ( xk ) 
2
2
2
2
 f ' ( xk )  K     f ' ( xk ) 






k
2
2
 K      q 2 1 f ' ( x0 )


використавши умову
2
2
  q 2 k 1 1 f ' ( x )

0

Дослідження операцій
 xk  x*
2
176
  f ' ( x k )  f ' ( x* ), x k  x*   f ' ( x k ) x k  x*
отримаємо:
f ' ( xk )
xk  x* 

.
Звідси випливає оцінка (6.39) .
Особливо ефективний метод (6.37) буде тоді, коли  k
вибираємо з умови
k  arg min f xk  k f ' ( xk ) ,

У
даному
випадку
маємо
квадратичну
збіжність
зі
знаменником q1  q , де   1 є знаменником збіжності для
градієнтного методу
xk 1  xk   k f ' ( xk ), k  0,1,....
у випадку  k  arg min f ( x k  f ( x k ).

Поряд із методом (6.37) можна використати безпосередньо
різницевий метод Ньютона, а саме:
xk 1  xk   f ' ( xk , ~
xk )1 f ' ( xk ), k  0,1,....
де
 i, j 1,n ,
f ' ( x, ~
x )  ai, j
7. Числові методи умовної мінімізації
177
----------------------------------------------------------------------------------------------------------




f ~
f ~
x1,..., ~
x j , x j 1,..., xk 
x1,..., ~
x j 1, x j ,..., xk
xi
xi
aij 
, i, j  1, n
~
xj  xj
.
6.7. Квазіньютонівські методи
Для
зменшення
обчислювальних
затрат
можна
використову–вати алгоритми, у яких проведено апроксимацію
матриці Гессе. До таких алгоритмів зачислено квазіньютонівські
методи.
Нехай функція f ( x)  C 2 ( R n ) . Розглянемо метод
xk 1  xk  k hk , де hk  H k f ( xk ).
(6.43)
Матрицю H k вибиратимемо так, щоб вона в деякому сенсі
апроксимувала матрицю  f ( xk )1. Зазначимо, що
f ( xk )  f ( xk 1)  f ( xk 1)( xk  xk 1)  o xk  xk 1 .
Якщо f ( xk 1) невироджена, то з точністю до членів вищого
порядку малості порівняно з xk  xk 1 матимемо
 f ( xk 1)1( f ( xk 1)  f ( xk ))  xk 1  xk .
Якщо f ( x) 
(6.44)
1
( Ax, x)  (b, x) , де A – симетрична, додатно
2
визначена матриця b  R n , то наближена рівність (6.44) перетворюється у точну
Дослідження операцій
( f ( xk 1)) 1 yk  xk ,
178
де
yk  f ( xk 1)  f ( xk ), xk  xk 1  xk .
На підставі цього матрицю H k вибиратимемо з умови
H k 1yk  xk .
Цю
умову
(6.45)
називають
квазіньютонівською.
Її
використовують для побудови багатьох методів апроксимації
( f ( x)) 1 . Відповідні методи мінімізації, для яких використовують
співвідношення (6.45), також називають квазіньютонівськими.
Нехай на k -й ітерації маємо деяке наближення H k для матриці
( f ( xk )) 1 , на наступному кроці наближення H k 1 для матриці
( f ( xk 1)) 1 визначатимемо за формулою:
H k 1  H k  H k .
У цьому випадку матрицю H k обиратимемо так, щоб виконувалася умова (6.45). З цією метою перепишемо її у вигляді
Hk yk  xk  Hk yk .
Ми маємо систему n рівнянь з n 2 невідомими. Цю рівність
задовольняє матриця рангу 1, задана формулою
H k 
1
(x  H y ) z
zk , yk  k k k k
де zk - довільний вектор такий, що ( zk , yk )  0.
(6.45)’
7. Числові методи умовної мінімізації
179
----------------------------------------------------------------------------------------------------------
Під добутком векторів u ,v розуміємо u  vT матрицю вигляду
 u1v1 ... u1vn 


 u2v1 ... u2vn 
uv  
 .




 u v ... u v 
n n
 n 1
З (6.45’), прийнявши, наприклад,
zk  xk  H k yk при (xk  H k yk , yk )  0
отримаємо для обчислення H k 1 формулу:
H k 1  H k 
(xk  H k yk )( xk  H k yk )
(xk  H k yk , yk )
(6.46)
Можна використовувати й інші формули, наприклад,
H k 1  H k 
xk  xk
H (yk  yk ) H k
 k
,
(xk , yk )
( H k yk , yk )
(6.47)
що дає метод Девідона- Флетчера-Пауелла [3], або
 ( H y , yk )  xk  xk

H k 1  H k  1  k k

(xk , yk )  (xk , yk )

(xk  yk ) H k H k (yk  xk )


,
(xk , yk )
(xk , yk )
(6.48)
Легко показати, що матриці H k визначені за формулами
(6.46)-(6.48) задовольняють умови (6.45). Справді, у випадку (6.46)
маємо:
Дослідження операцій
H k 1yk  ( H k 
 H k yk 
180
(xk  H k yk )( xk  H k yk )
)yk 
(xk  H k yk , yk )
(xk  H k yk )( xk  H k yk )
yk 
(xk  H k yk , yk )
(xk  H k yk )( xk  H k yk , yk )

(xk  H k yk , yk )
 H k yk  xk  H k yk  xk .
 H k yk 
Аналогічно, у випадку (6.47) отримаємо
H k 1yk  ( H k 
xk  xk
H ( yk  yk ) H k
 k
)yk 
(xk , yk )
( H k yk , yk )
 H k yk 
xk  xk
H (yk  yk ) H k
yk  k
yk 
(xk , yk )
( H k yk , yk )
 H k yk 
xk  xk
H (yk  yk ) H k
yk  k
yk 
(xk , yk )
( H k yk , yk )
 H k yk  xk  H k yk  xk .
Легко також показати виконання умови (6.45) для випадку
(6.48).
Цілий
клас
формул
запропонував Бройден, а саме:
для
обчислення
матриці
H k 1
7. Числові методи умовної мінімізації
181
----------------------------------------------------------------------------------------------------------
H k 1 (k )  H k 
де vk 
k 
xk  xk
H (yk  yk ) H k
 k
 k (yk , H k yk )(vk , vk ),
(xk , yk )
( H k yk , yk )
x k
H k yk
1  k

,  k   k ( k ) 
,
( xk , yk ) ( yk , H k yk )
1  k ( k  k  1)
(  x k , H k x k )
(yk , H k yk )
, k 
,  k  R.
(xk , yk )
(  x k , y k )
Найбільш вживані значення для k такі:
1) k 
(yk , xk )
– отримуємо метод SR-1;
(yk , xk )  (xk , H k xk )
2) k =1 – отримуємо метод Девідона-Флетчера-Пауелла
(DFP);
3) k  0 – отримуємо метод BFGS.
Запропоновано низку інших формул вибору матриці H k .
Використовуючи формули (6.43), ми повинні задати H 0 . За H 0
можна вибрати довільну додатно визначену симетричну матрицю.
На практиці часто вибирають
H 0  I . Довжину кроку в
квазіньютонівських методах вибирають з умови
f ( xk  k hk )  min f ( xk  hk )
 0
(6.49)
Іноді розглядають інші способи вибору k , наприклад,
k  1 як у класичному методі Ньютона, або  k ж обирають у
процесі дроблення кроку. Виявляється, що для квадратичної
функції, методи (6.43), (6.46) – (6.49) при довільному початковому
Дослідження операцій
182
наближенні x0  R n гене рують ту саму послідовність x1 , x2 ,...,xk ,
причому
H n   f ( xn )1, xn  x*   A1b  arg min f ( x) .
n
xR
Тобто квазіньютонівські методи дають змогу відшукати
мінімум квадратичної функції за п кроків. Для неквадратичних
функцій ця умова не виконується. Однак можна довести, що з
відповідними припущенями
H k  ( f ( xk )) 1  0 .
k 
У цьому випадку швидкість збіжності надлінійна.
Приклад 6.6. Розв'язати задачу
( x1  2) 2  2( x 2  1) 2  min
з використанням алгоритму (6.43), (6.46) при початковому
наближенні
1 0 
 .
x0  (0, 0) Т і Н 0  
0
1


 2( x1  2) 
.

Визначимо f ( x)  
 4( x 2  1) 


  4
 , тоді
  4
Ітерація 1. У нашому випадку f ( x0 )  
7. Числові методи умовної мінімізації
183
----------------------------------------------------------------------------------------------------------
 0
  4   4 0 
.
x1  x0   0 f ( x0 )      0    
 0
  4   4 0 
Для визначення  0 маємо задачу
f1 ( )  (4  2) 2  2(4  1) 2  min
У даному випадку

f1 ( )  8(4  2)  16(4  1)  0
і0  1 .
3
 3 3 .
Отже, x1  4 , 4
Ітерація 2. У даному випадку
4


3

;
f ( x1 ) 
 4 


 3 
4
4
8 
 

 4  
3
3     3 
x0   ; y0  


.
4
 4    4   16 
 


 
3
3 
3
 x  H y x  H y 
0
0 0
0
0 0
H 0  


(

x

H

y
),

y
0
0 0
0

16 1 3 


3 
1
  9  3 9    14 14 .
3

 224
9 


14
14 

9
Ò
3 
13
 14  14 
Тоді: H1  H 0  H 0  
і
5 
 3
14 
 14
Дослідження операцій
184
13
 3   4 3   4 3   32 21

14
x2  x1   14
.
 4    4
3
5


 
 16 
21 
 14 14  3   3
Аналогічно, як на першій ітерації, визначаємо  1  7
16
.
 4  32  7  2
 3
21 16   
Остаточно маємо: x2  
   .
 4  16  7  1 
21 16 
 3
Задачу розв’язано.
Квазіньютонівські методи називають також методами
змінної метрики. Це пов’язано з тим, що будь-яка симетрична
додатно
визначена
(u, v)k  ( H k u, v)
і
матриця
Hk
відповідну
з
задає
скалярний
ним
метрику.
добуток
Оскільки
лінійна частина приросту f ( xk  xk )  f ( xk ) має вигляд
( f ( xk ), xk )  ( H k H k 1 f ( xk ), xk )  ( H k 1 f ( xk ), xk ) k ,
то вектор H k1 f ( xk ) можна розглядати як градієнт функції
f (x) в точці xk у просторі зі скалярним добутком (.,.)k . Отже,
метод (6.43) є узагальненням градієнтного методу на випадок
простору зі змінною метрикою.
Квазіньютонівські методи є ефективними для розв’язування
задач безумовної мінімізації. Вони мають надлінійну збіжність, не
потребують обчислення другої похідної та оберненої матриці, або
розв’язування
системи
лінійних
рівнянь.
Однак
7. Числові методи умовної мінімізації
185
----------------------------------------------------------------------------------------------------------
квазіньютонівським методам потрібна велика оперативна пам’ять
для зберігання і побудови матриць H k . Такого недоліку не мають
методи спряжених напрямів.
6.8. Метод спряжених напрямів
Побудова методу спряжених напрямів зумовлена ідеєю
відшукати розв’язок задачі мінімізації квадратичної функції за
скінченну кількість ітерацій. У методах спряжених напрямів треба
знайти такі напрями h0 ,h1 ,...,hn 1 , що послідовність не більше n
одновимірних мінімізацій уздовж цих напрямів приводить до
відшукання мінімуму квадратичної функції
1
f ( x)  ( Ax, x)  (b, x)  min, x  R n .
2
(6.50)
Тобто, f ( xn )  min f ( x) при будь-якому x 0  R n ,
xR n
де xk 1  xk  k hk
(6.51)
f ( xk   k hk )  min f ( xk  hk ) k  0,1,...
R
Такі властивості має система взаємно спряжених щодо
матриці А напрямів.
Означення 6.5. Нехай A – симетрична, додатно визначена
матриця розмірності n  n . Вектори h  0 i h  0 називаються
спряженими щодо матриці A , якщо вони задовольняють умову
( Ah, h)  0 .
Вектори
h0 ,h1 ,...,hk 1
називаються
взаємно
Дослідження операцій
186
спряженими (щодо матриці А), якщо всі вони не дорівнюють нулю
і ( Ahi , h j )  0, i  j, 0  i, j  k.
Лема 6.4. Нехай вектори h0 ,h1 ,...,hk 1 взаємно спряжені
щодо A , тоді вони лінійно незалежні.
 Припустимо, що лема неправильна, тобто при деякому i
hi    j h j . Тоді ( Ahi , hi )    j ( Ah j , hi )  0, що можливо тільки
j i
j i
при hi  0, оскільки A додатно визначена. 
Розглянемо задачу (6.50) і застосуємо метод (6.51). Якщо
вектори hi , i  0,1,...,n  1 взаємно спряжені, то метод (6.51)
називають методом спряжених напрямів.
Теорема 6.4. Якщо вектори hk в методі (6.51) взаємно
спряжені k  0,m  1, то для функції f ( x) 
1
( Ax, x)  (b, x)
2
f ( xm )  min f ( x), xm  X m ,
xX m
де
X m  x0  lin{h0 ,..., hm1} .
lin{...}
–
лінійний
підпростір,
натягнутий на зазначені вектори.
Враховуючи (6.51) і
отримаємо
k 1
(6.50) і умову xk  x0  i hi ,
i 0
7. Числові методи умовної мінімізації
187
----------------------------------------------------------------------------------------------------------
1
( A( xk   k hk ), xk  k hk )  (b, xk   k hk )  f ( xk ) 
2
k 1
1
  k ( Axk  b, hk )   k 2 ( Ahk , hk ))  f ( xk )   k ( Ax0   i Ahi  b, hk ) 
2
i 0
f ( xk   k hk ) 
1
1
  k 2 ( Ahk , hk )  f ( xk )   k ( Ax0  b, hk )   k 2 ( Ahk , hk ).
2
2
Звідси:
1
 k ( Ax0  b, hk )   k 2 ( Ahk , hk )  f ( xk   k hk )  f ( xk ).
2
Тепер можна записати:
m 1
m 1
m 1
m 1
 

 1 


f  x0    k hk    A x0    k hk , x0    k hk    b, x0    k hk  
k 0
k 0
k 0
k 0

 2 


 
m 1
1

 f ( x0 )     k ( Ax0  b, hk )   k 2 ( Ahk , hk )  
2

k 0 
m 1
 f ( x0 )   [ f ( xk   k hk )  f ( xk )] .
k 0
Отже,
m 1
m 1


min f ( x)  min f  x 0    k hk   f ( x0 )   min [ f ( xk   k hk )  f ( xk )] 
i
i
k 0
k  0  k R


m 1
m 1


 f ( x0 )   [ f ( xk   k hk )  f ( xk )]  f  x0    k hk   f ( xm ).
k o
k 0


Наслідок 6.1. Якщо вектори hk , k = 0,n  1 , в методі (6.51) взаємно
спряжені то для функції f (x) , заданої формулою (6.50) і довільної
точки x0  R n , f ( xn )  min f ( x).
xR n
Дослідження операцій
188
Отже, метод (6.51) дає змогу відшукати точку мінімуму
квадратичної функції (6.50) не більше, ніж через п кроків.
Твердження безпосередньо випливає з теореми, оскільки xn  R n ,
вектори hi , i  0,n  1 лінійно незалежні. Для побудови конкретних
алгоритмів мінімізації треба задати способи побудови взаємно
спряжених напрямів.
Метод спряжених градієнтів. Спочатку опишемо алгоритм
спряжених градієнтів. Розглянемо, як і раніше, квадратичну задачу
(6.50), де A – симетрична, додатно визначена матриця, b  R n . Ми
маємо f ( x)  Ax  b , f ( x)  A , отже, f (x) сильно
досягає мінімального значення на R n в точці
опукла
і
x*   A1b.
Візьмемо довільну точку x0 і виберемо напрям h0   f ( x0 ) . Якщо
f ( x0 )  0,
то задача розв’язана, x0 є розв’язок, інакше x1
обчислюємо за формулою
x1  x0  0h0 , 0  0
(6.52)
і f0 (0 )  min f0 (), де f 0 ()  f ( x0  h0 ).

Оскільки f 0 () сильно опукла, 0 існує і визначається
2
однозначно, при цьому 0  0 , f 0 (0)  ( f ( x0 ), h0 )   f ( x0 )  0,
то
0  f0 (0 )  ( f ( x0  0h0 ), h0 )  ( f ( x1), h0 )  ( f ( x1), f ( x0 )).
7. Числові методи умовної мінімізації
189
----------------------------------------------------------------------------------------------------------
Вважатимемо f ( x1)  0 , інакше x1  x* , і задача (6.50) розв’язана.
Оскільки
h0  0 ,
то
Ah0  0
і
множина
1  {x  R n : ( Ah0 , x  x1)  0} є гіперплощиною розмірності n  1 ,
яка проходить через точку x1. Шукана точка x*
належить Г 1 .
Справді,
( Ah0 , x*  x1)  ( Ah0 , A1b  x1)  (h0 ,b  Ax1)  (h0 , f ( x1))  0.
Надалі точку х2 шукатимемо в множині 1. Виберемо напрям
h1 , який паралельний до 1 у вигляді
h1   f ( x1 )  1h0 , 1  const.
(6.53)
Умова паралельності дає змогу вибрати 1 :
( Ah0 , h1)  ( Ah0 , f ( x1)  1h0 )  0,
тобто 1  ( Ah0 , f ( x1)) / ( Ah0 , h0 ).
Оскільки f ( x1)  0, то h1  0 . Якщо б h1 = 0, то f ' ( x1)  1h0
і згідно з (6.53),
суперечить умові f ' ( x1)  0 . З умови h1  0
випливає, що Ah1  0 . Приймемо x2  x1  1h1 , 1  0 , де 1
визначатиметься з умови f1(1)  min f1( x1  h1) .
 0
Використавши рівність (6.53), отримаємо:
Дослідження операцій
190
2
f1' (0)  ( f ' ( x1), h1)  ( f ' ( x1), f ' ( x1)  1h0 )   f ' ( x1)  0,
отже, 1  0 і
f1' (1)  0  ( f ' ( x1  1h1), h1)  ( f ' ( x2 ), h1).
Зазначимо, що
f ' ( x1)  f ' ( x2 )  Ax1  b  Ax2  b  1Ah1 ,
і з урахуванням (6.53)
( f ' ( x2 ), f ' ( x0 ))  ( f ' ( x2 ), h0 )  ( f ' ( x1)  1Ah1, h0 )  0.
Звідси випливає:
( f ( x2 ), f ( x1))  ( f ( x2 ),h1 1 h0 )  0 .
Отже, перші дві ітерації методу спряжених градієнтів для
задачі (6.50) описані й виконуються умови:
( f ( x1), h0 )  ( f ( x1), f ( x0 ))  ( Ah0 , h1)  ( f ( x2 ), h1) 
 ( f ( x2 ), h0 )  ( f ( x2 ), f ( x1))  ( f ( x2 ), f ( x0 ))  0.
(6.54)
Окрім того, нагадаємо, що Ah0 , Ah1 лінійно незалежні.
Зробимо індуктивне припущення. Нехай при деякому k  2
знайдені точки x0 , x1 , xk , xi 1  xi  i hi (i  0,1,..., k  1),
де hi   f ( xi )  i hi 1  0, i  ( f xi , Ahi 1) /( Ahi 1, hi 1),
а величини i  0 визначені з умови
уже
7. Числові методи умовної мінімізації
191
----------------------------------------------------------------------------------------------------------
fi (i )  min fi (), fi ()  f ( xi  hi ), i  0, k  1,
 0
виконуються також умови
( Ahi , h j )  0, i  j, 0  i, j  k  1,
(
6.55)
( f ( xi ), h j )  0, 0  j  i  k ,
(6.56)
( f ( xi ), f ( x j ))  0, i  j, 0  i, j  k .
(6.57)
Окрім того, нехай f ( xi )  0, i  0,1,..., k , і система векторів
( Ah0 ,..., Ahk 1)
лінійно
незалежна
(у
випадку
f ( xi )  0
покладаємо xi  x* - задача розв’язана). Тоді множина
k  {x  R n : ( Ahi , x  xi 1)  0, i  0,1,..., k  1}
є гіперплощиною – афінною множиною розмірності n  k . Легко
показати, що xk і x* належать k . Справді, використавши (6.56),
отримаємо:
( Ahi , xk  xi 1 )  (hi , Axk  Axi 1 )  (hi , f ( xk )  f ( xi 1 ))  0,
для всіх i  0,1,,k  1 , тобто xk  k . Аналогічно покажемо, що
x*  k
( Ahi , x*  xi 1 )  ( Ahi , A1b  xi 1 )  (hi ,b  Axi 1 ) 
 (hi , f ( xi 1 ))  0, i  k .
Дослідження операцій
192
Продовжимо пошук x* у множині k . Спершу знайдемо
напрям hk , паралельний до k . З цією метою виберемо:
hk   f ( xk )  k hk 1.
(6.58)
У нашому випадку виконується рівність
f ( xi )  f ( xi 1)  Axi  Axi 1  i Ahi i  0,1,..., k  1.
(6.59)
З (6.55), (6.58) і (6.59) отримаємо:
( Ahi , hk )  ( Ahi , f ( xk )  k hk 1 )  ( Ahi , f ( xk ))  k ( Ahi , hk 1 ) 
 ( f ( xi )  f ( xi 1 ), f ( xk ))i1  0
для всіх i  0,1,..., k  2 при довільному k . Отож залишається k
обирати так, щоб виконувалась умова
( Ahk 1, hk )  0.
Для
визначення k маємо
( Ahk 1, f ( xk )  k hk 1)  ( Ahk 1, f ( xk )  k ( Ahk 1, hk 1))  0,
Отже,
k 
( Ahk 1, f ( xk ))
.
( Ahk 1, hk 1 )
(6.60)
Зазначимо, що hk  0, оскільки в протилежному випадку
f ( xk )  k hk 1
і
тоді
f ( xk )
2
 k ( f ( xk ), hk 1)  0,
суперечить припущенню. Отже, тепер маємо
( Ahi , h j )  0, i  j, 0  i, j  k .
що
7. Числові методи умовної мінімізації
193
----------------------------------------------------------------------------------------------------------
Тоді xk 1  xk  k hk  k  0 і k визначається з умови
f k (k )  min f k (), f k ()  f ( xk  hk ).
 0
Як і раніше, легко показати, що k > 0 і ( f ( xk 1), hk )  0 . У
цьому випадку
0  ( Axk 1  b, hk )  ( Axk   k Ahk  b, hk ) 
 ( f ( xk ), hk )   k ( Ahk , hk ).
Оскільки hk  0 , то ( Ahk , hk )  0 і
2
k  
f ( xk )
( f ( xk ), hk ) ( f ( xk ), f ( xk )  k hk 1)


.
( Ahk , hk )
( Ahk , hk )
( Ahk , hk )
Далі маємо
( f ( xk 1), hi )  ( f ( xk )  k Ahk , hi )  0, i  0,1,..., k  1.
Зібравши всі нерівності, можемо записати:
( f ( xi ), h j )  0, 0  j  i  k  1
Враховуючи (6.61) і припущення індукції, маємо
( f ( xk 1), f ( xi ))  ( f ( xk 1),hi  i hi 1)  0, i  1, k ,
( f ( xk 1), f ( x0 ))  ( f ( xk 1), h0 )  0.
Отже, виконується умова
( f ( xi ), f ( x j ))  0, i  j , 0  i, j  k  1.
(6.61)
Дослідження операцій
Усі етапи індукції ми перевірили і побудували
194
k 1
наближення xk 1 . Якщо f ( xk 1)  0, то xk 1  x* , а у випадку
f ( xk 1)  0
процес
можна
продовжити.
Використовуючи
результати попередньої теореми, бачимо, що розв’язок задачі, за
умови точних обчислень, можна отримати за скінченну, не більше
n , кількість кроків. Знайдеться такий номер k  n ,що f ( xk )  0.
Тоді xk  x*  розв’язок задачі. Отже, метод спряжених градієнтів
для розв’язування задачі
f ( x) 
1
( Ax, x)  (b, x)  min
2
Rn
можна записати у вигляді
xk 1  xk  k hk , f ( xk  k hk )  min f (xk  hk ),
 0
hk   f ( xk )  k hk 1, h0   f ( x0 ),
k 
( f ( xk ), Ahk 1 )
,
( Ahk 1, hk 1 )
k  0,1,2,...
Приклад 6.7 Розв’язати задачу
( x1  2) 2  2( x 2  1) 2  min
методом спряжених градієнтів.
Як і у прикладі 6.6 виберемо початкове наближення
x0  (0, 0) Т , h0   f ( x0 ) .
(6.62)
7. Числові методи умовної мінімізації
195
----------------------------------------------------------------------------------------------------------
Ітерація 1 Обчислення проводимо аналогічно, як у прикладі
6.6, тоді
4 
 0
  4
1   4 
x1  x0   0 f ( x0 )      0         3 
3   4  4 
 0
  4
 3
 4 
 3
 , тоді
 4 
 3 
Ітерація 2 У даному випадку f ( x1 )  
 4  4 
 3


h1   f ( x1 )  h0  
 і
  4  4 
 3


  4 
 1 0   4   3  
  0 2    4 ,  4  


  
 3  1
1  
 .
9
 1 0   4   4  
 







,
 0 2  4  4
    

 4  41 
 3

Тоді h1  

  4  41 
 3

Для визначення
 4  16  
1 16 

9 
  , x 2   3
.
9   9
4  8  
9 
 3
 розв’яжемо таку задачу
f  ( x2 )  ( 2  16  ) 2  ( 1  8  ) 2  min
3
9
3
9
Дослідження операцій
196
З рівняння f  ( x2 )  0 отримаємо   3 . Отож
8
 4  16  3 
 3
9 8   2 
x2  
    . Задачу розв’язано
 4  8  3  1 
9 8 
 3
Чи можна застосувати метод спряжених градієнтів для
розв’язування задач вигляду
x  Rn ,
f ( x)  inf,
де f ( x)  C1( R n ) і f (x) не є квадратичною функцією? Для цього
передусім треба перетворити формулу (6.62), а саме: замість (6.62)
можна використовувати такі формули:
k  
k  
k 
( f ( xk ), f ( xk )  f ( xk 1 ))
f ( xk 1 )
f ( xk )
2
,
(6.63)
2
f ( xk 1 )
2
,
( f ( xk )hk 1, f ( xk ))
.
( f ( xk )hk 1, hk 1 )
(6.64)
(6.65)
Для квадратичної функції усі три формули (6.63)–(6.65)
дають те саме значення k . Якщо ж f (x) не квадратична функція,
то ці формули даватимуть загалом різні значення  k , а методи
(6.51), (6.58), (6.63)–(6.65) у цьому випадку перестануть бути
скінченими. Отримані вектори h0 ,h1 ,...,hk 1 не є взаємно спряжені,
7. Числові методи умовної мінімізації
197
----------------------------------------------------------------------------------------------------------
крім
того
параметр
k
доводиться
визначати
методом
одновимірної мінімізації або одним із варіантів мінімізації функцій
однієї змінної, які розглянуті вище. Якщо зважити, що обчислення
виконуємо набли–жено, то навіть у випадку квадратичних функцій
вектори h0 ,h1 ,...,h k 1 не є взаємно спряженими, отож для загальної
функції f (x) в методі спряжених градієнтів вводять процедуру
“оновлення” процесу. Окремі з коефіцієнтів  k приймають такими,
що дорівнюють нулю. У цьому випадку hk   f ( xk ) , наприклад,
для k  n, 2n, 3n,... . Така модифі–кація дає змогу зменшити вплив
похибок розв’язування одновимірних задач мінімізації. В цьому
варіанті метод спряжених градієнтів набу–ває вигляду:
xk 1  xk   k hk , f ( xk   k hk )  min f ( xk  hk ),
 0
k  0,1,2,...
h0   f ( x0 ), hk   f ( xk )  k hk 1,
 ( f ( xk ), f ( xk )  f ( xk 1 ))
,

2
k  
f ( xk 1 )

0
k {n,2n,3n,...},
(6.66)
k {n,2n,3n,...}.
Можна показати, що у випадку застосування методу (6.66)
для мінімізації обмеженої знизу функції, градієнт якої задовольняє
умову Ліпшиця, для довільної точки x0  R n маємо f ( xk )  0.
k 
Для сильно опуклої гладкої функції, яка задовольняє деякі
Дослідження операцій
198
додаткові обмеження, послідовність {xk } визначена за (6.66)
збігається до точки мінімуму x* із надлінійною швидкістю,
причому виконуються оцінки
xk  pn  x*  C xk  x*
2p
, де C   .
Зазначимо, що з практичного погляду методи спряжених напрямів доволі ефективні. Сьогодні таких методів та їхніх варіантів
чимало. Однак не можна вважати, що методи спряжених напрямів
дають змогу вирішувати проблему мінімізації функції багатьох
змінних.
Ще раз зазначимо, що перш ніж вибрати метод розв’язування
задачі мінімізації, необхідно врахувати характеристичні дані
функції, наявність технічних можливостей і вимоги до кінцевого
результату.
Примітка.
Розглядаючи
визначення
ефективності
квазіньютонівських методів і методів спряжених напрямів, ми
зазначали, про що йдеться і в літературі, що вони дають розв’язок
квадратичної задачі через скінченну кількість кроків. Класичний
метод Ньютона дає цей самий розв’язок за одну ітерацію, хоча
більш трудомістку, ніж окремі ітерації перелічених методів.
Загальна кількість обчислень при мінімізації квадратичної функції
загалом, у класичному методі буде меншою, ніж у згаданих
варіантах. Тому факт скінченної кількості кроків не повинен
відігравати головної ролі при визначенні ефектив–ності окремих
7. Числові методи умовної мінімізації
199
----------------------------------------------------------------------------------------------------------
модифікацій методу Ньютона. Як свідчить практика, ефективність
квазіньютонівських методів і методів спряжених напрямів є доволі
високою. Ці методи на практиці використовують частіше, ніж
класичний метод Ньютона. На нашу думку, переваги цих методів
треба шукати в іншому, тоншому дослідженні.
6.9. Методи нульового порядку
На практиці виникають ситуації, коли застосувати методи,
які
використовують
похідні,
неможливо
або
недоцільно.
Наприклад: значення функції мети обчислюють зі значними
похибками, інформація про її властивості недостатня, немає
потреби в забезпеченні високої точності розв’язку задачі тощо.
Такі задачі доцільно розв’язувати за методами нульового порядку,
які здебільшого евристичні. Ці методи прості в реалізації. Крім
того, у деяких випадках вони дають змогу отримати задовільний
розв’язок задачі (у випадку неопуклих функцій йдеться про
локальний розв’язок).
6.9.1. Метод циклічного покоординатного спуску. В цьому
методі за напрям пошуку використовують координатні орти
e1 ,e2 ,,en , де e j - вектор розмірності n , усі компоненти якого, за
винятком j , дорівнюють нулю, j - та компонента дорівнює 1. Під
час шукання мінімуму в напрямі e j змінюється тільки змінна x j ,
решта змінних є сталою.
Дослідження операцій
200
Метод циклічного покоординатного спуску складається з
послідовності циклів і реалізується так. На k -му циклі задана
точка xk і система напрямів ei , i  1,n  орт. На початку циклу
приймаємо біжуче значення точки t1  xk і виконуємо почергово
мінімізацію функції
f (x) у
напрямі
f (x) у напрямах e1 ,e2 ,,en Мінімізація
ei
полягає
в
обчисленні
значення
f (ti  i ei )  min f (ti  ei ) і визначенні ti 1  ti  i ei .

Якщо i  n , то замінюємо i
на i  1 і продовжуємо
обчислення; при i  n приймаємо xk 1  tn 1 і, якщо виконується
умова xk 1  xk   , припиняємо обчислення, а xk 1 приймаємо за
розв’язок задачі, або ж виконуємо новий k  1 -й цикл.
Якщо функція f (x) :
1) диференційовна;
2) мінімум f (x) уздовж будь-якого напряму ei єдиний;
3) значення xk з послідовності {xk } , яку генерує процес,
містяться в компактній множині простору R n , то {xk }
збігається до розв’язку задачі.
Приклад 6.8 Знайти розв’язок задачі
(2 x1  x 2 ) 2  3( x 2  2) 2  min
методом
x k  x k 1  10 2 .
покоординатного
спуску
з
точністю
7. Числові методи умовної мінімізації
201
----------------------------------------------------------------------------------------------------------
Ортогональними напрямами слугуватимуть
1 
 0
0
d 2    . Виберемо початкову точку x0   
1 
0
орти d1   ,
 0
 0
t1   ,
 0
тоді
координатні
f ( x0 )  12 .
Проведемо
мінімізацію
вздовж
напряму d1 .
f (t1   1d1 )  min f (t1  d1 )
f (t1  1d1 )  f ( ,0)  2   12  12    0 ..
2
t 2  t1  0,0 .
Т
Отже
Тоді
t 3  t 2   2 d 2  0,   ,
Т
f (t 3 )  min f (0,  )  min(2  3(  2) 2  min( 42  12  12)
. Розв’язком задачі є   1,5 . Отже t3  0;1,5Ò  x1,
f ( x1)  3,0 .
Наступні результати обчислень подано у таблиці 6.7.
Таблиця 6.7
xkk,
f ( xk )
і
di
ti
i
0,0 1
0,0
1
(1,0)
(0,0; 0,0)
0,0
(0,0; 0,0)
2
(0,1)
(0,0; 0,0)
1,5
(0,0; 1,5)
1
(1,0)
(0.0; 1.5)
0,75
(0,75; 1,50)
2
(0,1)
(0.75: 1,5)
3
(0,75; 1.875)
12
0,0 2
1,5
3
0,75;3
0,390625
1,875
1
2
(1,0)
(0,1)
(0,75; 1.875)
(0,9375; 1,875)
3
3
t i 1
8
(0,9375; 1,875)
16
(0,9375; 1,9688)
32
Дослідження операцій
0,9375
4
1,9688
0,01162
1
2
(1,0)
(0,1)
(0,9375; 1,9688)
(0,9844;1,96575)
3
3
202
(0,9894; 1,9688)
64
128
(0,98438;
1,9922)
0,9894;
1,9922
5
1
(1,0)
0,00036
2
(0,1)
(0,9844;1,9922)
(0,9961;1,9922)
3
3
256
512
(0,9961;1,9922)
(0,9961;1,9981)
У випадку, коли f (x) недиференційовна, то гранична точка
послідовності {xk } може і не бути розв’язком задачі. Як
проілюстровано на рис. 6.5, пошук вздовж довільної осі не
приводить до покращення функції мети й обчислювальний процес
припиняється. Таких трудно–щів здебільшого можна уникнути,
використовуючи процес мінімуму вздовж напряму x2  x1 , що
видно з рис. 6.6. Пошук уздовж
напряму xk 1  xk
часто
використовують у процедурах циклічного покоординатного спуску,
навіть якщо функція мети диференційовна. Така модифікація
методу циклічного покоординатного спуску часто прискорює
збіжність, передусім, якщо послідовність точок утворює зигзагоподібну траєкторію
вздовж дна яру. Такий крок, звичайно,
називають прискорювальним.
7. Числові методи умовної мінімізації
203
----------------------------------------------------------------------------------------------------------
o
x
o
x2
x
x2
x1
x1
Рис. 6.5. Зупинка в точці
Рис.
x2
6.6.
Пошук
продовжується
x2  x1
6.9.2. Метод Хука і Джівса. Хук і Джівс запропонували
вздовж напряму
метод, який не містить одновимірної мінімізації. Ми спершу
розглянемо неперервний варіант методу, коли використано
мінімізацію
вздовж
координатних
напрямів
e1 ,e2 ,,en
і
допоміжного напряму. Нехай задано початкову точку x1 і напрями
e1 ,e2 ,,en .
Виконаємо
повний
цикл
методу
циклічного
покоординатного спуску, починаючи з точки y1  x1 , у результаті
отримаємо точку x2 . Якщо
x2  x1   ,  - точність розв’язку),
то припиняємо обчислення і x2 приймаємо за розв’язок, або ж
визначаємо новий напрям спуску d  x2  x1 .
Знаходимо   arg min f ( x2  d ) і приймаємо y2  x2   d .

Наступний крок починаємо з точки y2 . Виконуємо повний цикл за
методом циклічного покоординатного спуску, отримуємо точку x3 ,
перевіряємо умову зупинки. Якщо ця умова не виконується, то
Дослідження операцій
обчислюємо
204
  arg min f ( x3  d ) , ( d  x3  x2 ) і приймаємо

y3  x3   d . Потім процес повторюємо.
Якщо функція f (x) диференційовна, мінімум f (x) уздовж
довільного напряму єдиний і   {x : f ( x)  f ( x1)} – компакт, то
послідовність {xk } , отримана за розглянутим методом, збігається.
Початково в методі Хука і Джівса не використовувалася
одновимірна мінімізація. Одномірний пошук замінювала проста
схема, яка охоплювала обчислення функцій. Алгоритм був таким.
На початковому етапі задаємо   0 – прискорювальний
множник, x1  y11 – початкове наближення, початковий крок    ,
покладаємо k  j  1 .
Приклад 6.9. Знайти розв’язок задачі
(2 x1  x 2 ) 2  3( x 2  2) 2  min
2
методом Хука-Джівса з точністю x k  x k 1  10 .
Як і вище виберемо
 0
1 
 0
x1   , d1   , d 2   
 0
 0
1 
Виконавши повний цикл за методом покоординатного спуску
 0
отримаємо x 2    . Оскільки
1,5 
напрям
x 2  x1  10 2 то визначаємо
7. Числові методи умовної мінімізації
205
----------------------------------------------------------------------------------------------------------
 0
d  x 2  x1   
1,5 
і
точку
 0
 0 
 0 
y 2         (1   ) 
1,5 
1.5 
1.5 
де   arg min f ( y2 ) . Провівши відповідні математичні викладки

0
отримаємо   0 . Отже, y2  x2    .
1,5 
Тепер
проводимо
покоординатного
переходимо
до
спуску.
знову
Ми
обчислення
повний
отримаємо
y3 .
 0,75 
 і, відповідно,
d  x3  x2  
 0,375
умови
  arg min f ( y 3 )

У
цикл
методу
 0,750

x3  
1,875 
даному
і
випадку
 0,75(1  ) 
 . Із
y3  
1,875  0,375
отримаємо
  13 . Відповідно
 0,75(1  1 )  1,0

3   
y3  
    , що є розв’язком задачі.
1,875  1 0,375   2,0 
3


Початково в методі Хука і Джівса не використовували
одновимірну мінімізацію. Одномірний пошук замінювала проста
схема, яка охоплювала обчислення функцій. Алгоритм був таким.
Дослідження операцій
206
На початковому етапі задаємо   0 – прискорювальний
множник, x1  y11 – початкове наближення, початковий крок
   , покладаємо k  j  1 .
Основний цикл.
Нехай обчислено xk , ykj , 1  j  n.
умова
f ( ykj  e j )  f ( ykj ) ,
ykj 1  ykj  e j .
В
то
іншому
крок
Якщо виконується
вдалий,
випадку,
за
і
приймаємо
умови,
що
f ( ykj  e j )  f ( ykj ) , крок невдалий і розглядаємо протилежний
напрям. Якщо ж виконується умова f ( ykj  e j )  f ( ykj ), то спроба
вдала і приймаємо ykj 1  ykj  e j . Або ж приймаємо ykj 1  ykj .
Як тільки отримали ykj 1 ( j  n) , приймаємо j  j  1 і обчислення
ykj повторюємо. Як тільки j  n та f ( ykn 1)  f ( xk ) приймаємо
xk 1  ykn 1 ,
y1k 1  xk 1  ( xk 1  xk ) ,
j  1 , замінюємо k
на
k  1 , і повторюємо основний цикл. Якщо виконується умова
f ( ykn 1)  f ( xk ) , i    , то обчислення припиняємо і xk буде
розв’язком задачі. Якщо ж f ( ykn 1)  f ( xk ) , a    , то замінюємо
 на /2, k на k  1 , приймаємо y1k 1  xk 1  xk , і переходимо на
початок основного циклу. Метод можна модифікувати так, що у
7. Числові методи умовної мінімізації
207
----------------------------------------------------------------------------------------------------------
різних напрямах будуть використовуватимуть різні кроки i. Таку
модифікацію можна використовувати з метою масштабування.
6.9.3. Метод Розенброка. В початковому варіанті методу, як
і в методі
Хука і Джівса, не використовували одновимірну
мінімізацію за напрямами. Наведемо неперервний варіант методу з
застосуванням такої одновимірної мінімізації. В методі Розенброка
на кожній ітерації (циклі) виконуємо ітераційний процес уздовж n
лінійно незалежних і ортогональних напрямів. Якщо отримана нова
точка в кінці циклу, а результату розв’язку задачі ще немає, то
будуємо нову множину ортогональних векторів. Розглянемо процес
побудови нових n лінійно незалежних ортогональних векторів
d 1 ,d 2 , ...,d n . Нехай вектори d1 ,d 2 ,...,d n ортонормовані, тобто
(di , d j )  0, i  j, (di , di )  1 .
Нехай,
виконуючи
мінімізацію
вздовж напрямів d1 ,...,dn , ми з точки xk перейшли в нову точку
xk 1 , де xk 1  xk 
n
 d ,
j 1
j
j
 j - довжина кроку в напрямі d j ,
j 1


 j  arg min f  xk    i d i  d j , j  1,2,..., n.

i 1


Новий набір напрямів d 1 ,d 2 , ...,d n будуємо за допомогою
процедури Грама-Шмідта [3], а саме:
d i ÿêùî  ³  0,

ai   n
   j d j ÿêùî  ³  0,
 j 1
Дослідження операцій
a1 ïðè i  1

i 1
bi  
ai   (ai , d j )d j ïðè ³  2,
j 1

208
(6.67)
d i  bi / bi .
Лема 6.5. Нехай вектори d1 ,d 2 ,...,d n лінійно незалежні і
взаємно ортогональні. Тоді напрями
(6.67)
d 1 ,d 2 ,...,d n визначені за
також лінійно незалежні і взаємно ортогональні для
довільної множини 1 ,...,n . Крім того, якщо i  0 , то di  di
Доведення леми наведено в [3].
Практично, використовуючи лему 6.5, достатньо обчислити
лише ті di , для яких i  0 . Наведемо тепер алгоритм Розенброка,
який використoвує одновимірну мінімізацію за напрямами. На
початковому кроці вибираємо
координатні орти. Приймемо
x1  y11 ,
напрями
j 1
k  1,
d1 ,...,dn –
і переходимо до
основного етапу.
Основний етап.
Нехай
уже
визначено
xk ,
ykj .
Шукаємо
 j  arg min f ( ykj  d j ) і обчислюємо ykj 1  ykj   j d j . Якщо

j  n , то замінюємо j на j  1 і повторюємо обчислення ykj . В
іншому
випадку,
( j  n)
приймаємо
xk 1  ykn 1
і,
якщо
7. Числові методи умовної мінімізації
209
----------------------------------------------------------------------------------------------------------
виконується умова
xk 1  xk  
(
- точність обчислень),
припиняємо обчислення, xk 1 є розв’язком задачі.
Якщо умова зупинки алгоритму не виконується, то потрібно
замінити k на k  1 , прийняти j  1 , y1k 1  xk 1 , побудувати
новий набір напрямів згідно з (6.67), які знову позначити через
d1 ,,d n і перейти до повторного (k  1) виконання основного
етапу. Можна показати, що послідовність {xk } , отримана за
методом Розенброка з використанням одновимірної мінімізації,
збігається до стаціонарної точки, якщо:
1) мінімум функції f (x) у довільному напрямі в R n єдиний ;
2) послідовність точок,
яку
генерує метод Розенброка,
міститься в компактній множині простору R n .
Розглянемо тепер алгоритм з дискретним кроком, який
запропонував Розенброк. У цьому випадку вздовж напряму
виконуються дискретні кроки, довжина яких змінюється залежно
від значення функції в обчислених точках. На початковому етапі
вибираємо   0 для зупинки алгоритму, коефіцієнт розтягнення
  1 і коефіцієнт стискання   (1,0) , напрями d1 ,,d n , які є
координатними ортами, вели–чини
1 ,,n  0
– початкові
довжини кроку вздовж кожного з напрямів, а також точку x1 .
Приймаємо
y11  x1 , k  j  1,
переходимо до основного етапу.
j  j
для всіх
____
j  1,n
і
Дослідження операцій
210
Основний етап.
Крок 1. Припустимо, що xk і ykj
f ( ykj   j d j )  f ( ykj ) ,
то крок в
вже обчислено. Якщо
j -му напрямі успішний.
Приймемо ykj 1  ykj   j d j і замінимо  j на  j . У випадку,
коли
f ( ykj   j d j )  f ( ykj ) ,
то
крок
невдалий,
приймемо
ykj 1  ykj і  j замінимо на  j . Якщо j  n , то замінюємо j на
j  1 і повторюємо крок 1. У випадку j  n переходимо на крок 2.
z1k  ykn 1 , j  1 і повторюємо
Крок 2. Приймаємо знову
повністю крок 1 із заміною zkj  ykj . Якщо f ( zkn 1)  f ( xk ) , то
принаймні один вдалий спуск був на першому або другому кроці.
Крок 3. Приймаємо xk 1  zkn 1 і, якщо xk 1  xk   , та
i   , i  1,n , то припиняємо обчислення, xk 1 – наближений
розв’язок задачі. В іншому випадку обчислюємо 1 ,...,  n , зі
співвідношення xk 1  xk 
n
 d ,
i 1
i
i
будуємо нові напрями згідно з
(6.67), позначаємо їх через d1 ,...,d n , приймаємо  j   j для всіх
j , y1k 1  xk 1 , замінюємо k на k  1 і переходимо до кроку 1.
У випадку, коли f ( zk n 1)  f ( xk ) , тобто не було жодного
вдалого спуску в напрямах і  j   для всіх j , то xk можна
7. Числові методи умовної мінімізації
211
----------------------------------------------------------------------------------------------------------
вважати розв’язком задачі. Якщо ж ця умова не виконується, то
приймаємо y1k 1  z k n1 і переходимо до кроку 1. Отже, в цьому
алгоритмі дискретні кроки вибираються вздовж n незалежних
напрямів. Якщо спроба виявилася невдалою, то це зумовлює до
зсуву в оберненому напрямі вздовж j -го вектора на наступній
реалізації кроку 1. Зазначимо, що крок 1 повторюється доти, доки
невдача буде під час спуску в кожному з напрямів пошуку й умова
 i   виконується хоча б для одного i .
Примітка. З наведеного бачимо, що кількість методів або
їхніх модифікацій розв’язування задач безумовної мінімізації
фактично необмежена. Під час розв’язування конкретної задачі
важливу
роль
відіграє
вміння
вибрати
метод,
який
буде
найоптимальнішим для отримання бажаного результату. Для
досягнення мети треба враховувати властивості мінімізаційної
функції, можливості техніки, вимоги до кінцевого результату тощо.
Запитання для самоперевірки
1. Дайте визначення алгоритму нульового, першого, другого
порядку
2. Дайте визначення швидкості збіжності для алгоритму.
3. Що таке напрям спадання функції.
4. Правило визначення кроку методу.
5. Градієнтний метод.
Дослідження операцій
212
6. Метод Ньютона.
7. Недоліки і переваги градієнтного методу і методу Ньютона
8. Евристичний метод типу яру.
9. Метод Ньютона з регульюванням кроку.
10. Квазіньютонівська умова.
11. Ідея побудови квазіньютонівських методів, метод
Бройдена.
12. Дайте визначення спряжених векторів.
13. Ідея побудови спряжених напрямів.
14. Метод циклічного покоординатного спуску.
15. Метод Хука і Джівса.
16. Метод Розенброка.
17. Рекурсивний аналог методу Ньютона.
18. Метод Стеффенсена.
 Завдання для самостійної роботи
Задачі нелінійного програмування та їхні розв’язки
Задача I.
f ( x)  ( x2  x12 ) 2  (1  x1) 2  min
x*  (1 1),
f ( x* )  0 ,
початкове наближення x0  (1 2) .
7. Числові методи умовної мінімізації
213
----------------------------------------------------------------------------------------------------------
Задача 2.
f ( x)  ( x1  10 x2 ) 2  5( x3  x4 ) 2  ( x2  2 x3 ) 4  10( x1  x4 ) 4  min
x*  (0 0 0 0), f ( x* )  0 ,
початкове наближення
I : x0  (3  1 0 1); II : x0  (1 1 1 1) .
Задача 3.


2
f ( x)  ( x1x2 )2 (1  x1) 2 1  x1  x2 (1  x1)5  min
x*  {(1, дов. знач.); (0, дов. знач.); (дов. знач.,0)},
f ( x* )  0
початкове наближення x0  (1,2 1) .
Задача 4.
f ( x)  ( x12  x2  11)2  ( x1  x22  7) 2  min
х*  {(3,58443  1,84813); (3 2)}, f ( x* )  0
початкове наближення х0  1 1 .
Задача 5.
f ( x)  ( x12  12 x2  1)2  (49 x12  49 x22  84 x1  2324x2  681)2  min
локальний мінімум x*  (0.28581 0.27936), f ( x* )  5.9225;
x*  (21,026653  336,7660090),
початкове наближення x0  (1 1) .
f ( x* )  0
Дослідження операцій
ІІ.
Знайти
розв’язок
задач
6-10
214
одним
квазіньютонівських методів:
Задача 6.
2
2

 x1  x2  
2
2
f x   100 x3  
   1  x1   1  x2   min
 2  

x*  1 1 1, f x*   0
початкове наближення x0   1,2 2 0 .
Задача 7.
f ( x)  ( x1  2) 2  ( x2  1) 2 
0.04 h 2 ( x)

 min ,
g ( x)
0.2
x2
де g ( x)   1  x22  1, h( x)  x1  2 x2  1,
4
x*  (1,7954 1,3779),
f ( x* )  0,16904 – локальний мінімум
початкове наближення х0  (2 2) .
Задача 8.
x12  x22  x32ai2
7
f ( x)  10 
4
i 1
1  x42ai
bi
 bi
 min ,
де величини аі , bi задано в таблиці
із
7. Числові методи умовної мінімізації
215
----------------------------------------------------------------------------------------------------------
i
ai
bi
i
ai
bi
1
0,0
7,391
5
0,00209
22,20
2
0,000428
11,18
6
0,00348
24,02
3
0,00100
16,44
7
0,00525
31,32
4
0,00161
16,20
x*  (2,714
140,4 1707
f ( x* )  318,572 ,
31,51),
початкове наближення х0  (2,7
90 1500 10) .
Задача 9.


2

2 

f ( x)  100 x3  10( x1, x2 )  ( x12  x22 )1 / 2  1    x32  min
 

( x1, x2 ) 
1
arctg
2
x2 1
 (1  signx1 )
x1 4
x*  (1 0 0), f ( x* )  0;
початкове наближення x0  (1 0 0) .
Задача 10.
f ( x)  u12  u22  u32 ,
де
ui  ci  x1 (1  x2i ), c1  1,5, c2  2,25, c3  2,625,
x*  (3 0,5),
f ( x* )  0.
початкове наближення х0  (2 0,2) .
Дослідження операцій
216
ІІІ. Знайти розв’язок задач 11-13 методом спряжених
напрямів.
Задача 11.
f ( x)  x1  2 x22  e x1  x2  min
2
2
x*  (0 0), f ( x* )  1 ,
початкове наближення x0  (1 0) .
Задача 12.
f ( x)  ( x1  x2  x3 ) 2  ( x1  x2  x3 ) 2  ( x1  x2  x3 ) 2  min
x*  (0 0 0),
f ( x* )  0 ,
початкове наближення x0  (0,5 1 0,5) .
Задача 13.
f ( x)  4 x12  4 x22  4 x1x2  12 x2
x*  (1 2) ,
f ( x* )  12
початкове наближення х0  (2  1).
7. Числові методи умовної мінімізації
217
----------------------------------------------------------------------------------------------------------
7. ЧИСЛОВІ МЕТОДИ УМОВНОЇ МІНІМІЗАЦІЇ
План викладу матеріалу:
1. Метод проекції градієнта.
2. Метод умовного градієнта.
3. Методи розв’язування задач квадратичного програмування.
4. Метод лінеаризації.
5. Метод модифікованих функцій Лагранжа.
6. Метод штрафних функцій.
 Ключові терміни розділу:
Методи умовної мінімізації  Умова Слейтера.
Методи лінійної
 Квадратична апроксимація
апроксимації функції мети
функції
Умовний антиградієнт
 Модифіковані функції
функції
Лагранжа
 Функція Лагранжа
 Штрафні функції
7.1. Метод проекції градієнта
Розглянемо задачу
f ( x)  min, x  X ,
(
7.1)
де X – замкнута опукла множина в R n , f (x) – диференційовна
функція на X . Метод проекції градієнта є модифікацією методу
Дослідження операцій
218
градієнтів для безумовних задач мінімізації, розглянутого вище, на
випадок задач умовної мінімізації. Як і раніше проекцію точки у на
множину X позначимо через PX (y).
Лема 7.1. Нехай X – замкнута, опукла множина в R n , тоді
для будь-яких точок a1 ,a2  R n справджується нерівність
PX (a1)  PX (a2 )  a1  a2
(
7.2)
тобто оператор проектування має властивість нерозтягнення
відстані.
 З огляду властивості проекції точки, можемо записати:
( Px (a1)  a1, Px (a2 )  Px (a1))  0,
( Px (a2 )  a2 , Px (a1)  Px (a2 ))  0,
Додавши ці нерівності, отримаємо
( Px (a1)  a1  Px (a2 )  a2 , Px (a2 )  Px (a1))  0,
а з огляду на нерівність Коші-Буняковського маємо
2
Px (a1)  Px (a2 )  Px (a2 )  Px (a1) a2  a1 ,
і звідси випливає оцінка (7.2).
Лема 7.2. Нехай множина X – опукла і замкнута, функція f
–опукла на X і диференційовна в точці x*  X . Точка х * є
розв’язком задачі (7.1) тоді і тільки тоді, якщо
7. Числові методи умовної мінімізації
219
----------------------------------------------------------------------------------------------------------
x*  Px ( x*  f ( x* ))
(
7.3)
при довільному  > 0.
Згідно з властивостями проекції точки рівність (7.3)
еквівалентна умові
( x*  ( x*  f ( x* )), x  x* )  0, x  X ,
тобто виконується умова
( f ( x* ), x  x* )  0 , x  X ,
а це необхідна і достатня умова мінімуму в точці x* для опуклої
функції.
Метод проекції градієнта записують так:
xk 1  Px ( xk  k f ( xk )), k  0,1,...
(
7.4)
Коефіцієнт
k 
0 можна вибрати за тими самими
правилами, що вже розглянуті у випадку методу градієнтів.
Теорема 7.1. Нехай множина X опукла і замкнута, функція
f (x) диференційовна на X і сильно опукла зі сталою   0,
градієнт задовольняє умову Ліпшиця:
f ( x)  f ( y)  M x  y ,  x, y  X .
(
7.5)
Дослідження операцій
220
Тоді послідовність {xk } , отримана з (7.4), де x0 - довільна
точка з X , а  k    (0,4 / M 2 ), збігається до розв’язку x* задачі
(7.1) зі швидкістю геометричної прогресії:
xk 1  x*  q xk  x* ,
де q  1  4  2 M 2  0,1.
 Введемо відображення A : X  X вигляду
Ax  Px ( x  f ( x)).
Покажемо таке: якщо виконуються умови теореми, то
відображення A є стискуючим. Використавши лему 7.1, умову
(7.5) і властивість опуклих функцій,отримаємо
2
2
Ax  Ax  Px ( x  f ( x))  Px ( x  f ( x)) 
 ( x  x)  ( f ( x)  f ( x))
2

2
2
 x  x   2 f ( x)  f ( x)  2( f ( x) 
2
 f ( x), x  x)  (1   2 M 2  4)  x  x .
Звідси безпосередньо випливає, що 1  4   2 M 2  0 i
Ax  Ax  q x  x .
(
7.6)
скільки   4 / M 2 , то q  (0,1) і відображення
A –
стискуюче. У нашому випадку X є повною метричною множиною,
тоді для процесу (7.4) у вигляді xk 1  Axk маємо xk  x* при
7. Числові методи умовної мінімізації
221
----------------------------------------------------------------------------------------------------------
k   , де
x*  X
нерухома точка відображення
A , тобто
x*  Ax* . Отже, за лемою 7.2 точка x* є розв’язком задачі (7.1). Із
нерівності (7.6) випливає оцінка
xk 1  x*  Axk  Ax*  q xk  x* 
З використанням запропонованого методу нам на кожній
ітерації доводиться розв’язувати задачу вигляду
 x   x  a  min .
(
2
X
7.7)
В окремих випадках її можна розв’язати досить легко ( X куля, координатний паралелепіпед, поліедр, невід’ємний ортант та
ін). Якщо X задається за допомогою складніших систем рівнянь і
нерівностей, то метод проекції градієнтів неефективний, оскільки
задача (7.7) практично не є простішою, ніж задача (7.1). Дуже часто
використовують модифікації цього методу, коли проектування на
X замінюють проектуванням на лінійні багатовиди (поліедри), які
апроксимують X
в околі чергової точки. Зазначимо, що в
сформульованій теоремі використано константи
M ,  , які,
зазвичай, невідомі, що утруднює відшукання  . Тоді доцільно
застосувати
інші
способи
вибору
довжини
кроку.
Якщо
використовувати ідею процесу проектування, то інші методи
безумовної оптимізації можна застосувати до розв’язування задач
Дослідження операцій
222
умовної оптимізації, а саме – метод Ньютона, спряжених градієнтів
та ін.
Примітка. Хоча розглянутий метод (проекції градієнта) на
практиці використовують зрідка, однак його ідею доволі часто
застосовують для побудови інших методів розв’язування задач
умовної оптимізації, зокрема, досить ефективних.
7.2. Метод умовного градієнта
Іноді метод умовного градієнта називають методом лінійної
апроксимації (лінеаризації) функції мети. Розглянемо задачу:
f ( x)  min,
x X.
Метод умовного градієнта вкладається в загальну схему
методів спуску, його будують за рекурентною формулою
xk 1  xk  k hk , k  0,1,
де вектор hk є водночас вектором спадання функції
(7.8)
f (x) і
можливим напрямом стосовно X у точці xk  X , а число  k  0
вибране з умови
f ( xk 1)  f ( xk ), xk 1  X .
Для вибору hk на k -му кроці розв’язують задачу мінімізації
на X лінійної апроксимації функції f у точці х k , тобто:
f k ( x)  f ( xk )  ( f ( xk ), x  xk )  min, x  X ,
7. Числові методи умовної мінімізації
223
----------------------------------------------------------------------------------------------------------
що еквівалентно задачі
( f ( xk ), x  xk )  min,
x X.
(7.9)
Нехай
x k  arg min ( f ( xk ), x  xk ),
X
у цьому випадку k  ( f ( xk ), x k  xk )
– значення мінімуму.
Оскільки X – компакт, то існує x k , при цьому x k  X і k  0.
Отже, можливі два випадки k  0, k  0. Якщо k  0, то
( f ( xk ), x  xk )  k = 0, для всіх
x  X , тобто точка
xk
є
стаціонарною точкою задачі (7.1). Тоді виконання алгоритму
закінчується і треба провести додаткове дослідження щодо
оптимальності. (Якщо f (x) - опукла функція, то xk є розв’язком
(7.1)). Нехай тепер k < 0, тоді у формулі (7.8) приймаємо
hk  x k  xk , і цей вектор називають умовним антиградієнтом
функції f у точці xk . Зазначимо, що в цьому випадку вектор hk є
вектором спуску, оскільки
( f ( xk ), hk )  0.
Крім того, для
довільного   (0,1) xk  hk  xk  (1  ) xk  X , тобто вектор hk
є допустимим щодо X . Коефіцієнт  к вибирають з півінтервалу
(0,1] так, щоб виконувалася умова xk 1  X. Конкретне  k можна
вибрати за різними правилами, описаними вище. Ми розглянемо
варіант методу з вибором  k за правилом дроблення
Дослідження операцій
f ( xk  hk )  f ( xk )  k.
Лема 7.3. Нехай X
224
(7.10)
– опуклий компакт, функція
f –
диференційовна на X , а градієнт задовольняє умову Ліпшиця:
f ( x)  f ( y)  M x  y ,
x, y  X
Якщо k  0, то для довільного   (0,1) нерівність (7.10)
виконується при
0    min{( 1  )
k
M hk
2
, 1}.
(7.11)
Доведення цієї леми випливає із леми 6.2 та умови   (0,1]
У рамках умов леми 7.3 величину  k вибиратимемо у
такому вигляді:  k  ik , де   (0,1) . Наприклад,   1/ 2 ,
причому  k – максимальне число, для якого виконується умова
f ( xk 1)  f ( xk  k hk )  f ( xk )  k k
(7.12)
Тут можливі два випадки ik  0 , ( k  1 ), або ik  0 . Якщо
ik  0 , то число   ik 1  k /  ще не задовольняє умову (7.12) і
одночасно не виконується умова (7.11). Отже, виконується одна з
двох умов
7. Числові методи умовної мінімізації
225
----------------------------------------------------------------------------------------------------------
k = 1 або 1   k  (1  )
k
M hk
2
(7.13)
.
Тепер оцінимо властивості послідовності {xk } , отриманої за
формулою (7.8), де x0 – довільна точка з X , hk визначається за
формулою hk  x k  xk , а k задовольняє умови (7.12), (7.13).
Вважатимемо, що k  0 при всіх k =0,1,...
Теорема 7.2. Нехай
X
– опуклий компакт,
f
–
диференційовна функція на X , градієнт якої задовольняє умову
Ліпшиця. Тоді довільна гранична точка x* послідовності {xk } ,
отриманої за методом умовного градієнта, є стаціонарною точкою
задачі (7.1), тобто ( f ( x* ), x  x* )  0 для всіх x  X , якщо f (x) –
опукла на X , то х * – розв’язок задачі (7.1) і lim f ( xk )  f* , де
n
f*  min f ( x) – мінімальне значення f (x) на множині X . Крім
X
того, справджується оцінка
f ( xk )  f*  c / k ,
(7.14)
де c  0 - деяка стала.
Доведення теореми див. у [19].
Звичайно, застосування цього методу виправдане лише тоді,
коли задача (7.9) проста для розв’язування. У випадку, коли X куля або паралелепіпед, розв’язок задачі (7.9) легко записати у
явному вигляді, якщо ж X – поліедр, то задача (7.9) є задачею
Дослідження операцій
лінійного програмування. У випадку, якщо
X
226
має складну
структуру, то задача (7.9) практично такої самої складності, як і
початкова. Крім того, оцінка (7.14) точна саме у випадках, коли
застосування методу виправдано. Отже, швидкість збіжності
низька, і в такому варіанті застосування методу недоцільне. Однак
цей метод у найпростішому вигляді виражає ідею лінійної
апроксимації (лінеаризації) [17], яку з успіхом використовують для
побудови
інших
методів
лінеаризації
[7,12].
Ідея
лінійної
апроксимації також приводить до ідеї квадратичної апроксимації.
Так
можна
побудувати
метод,
коли
послідовність
{xk }
обчислюють за такими самими формулами, як і в методі умовного
градієнта, але x k є розв’язком задачі
(7.15)
1
( f ( x), x  x* )  ( f ( xk )( x  xk ), x  xk )  min, x  X
2
тобто як точка мінімуму на
функції f (x) у точці xk
X
квадратичної апроксимації
[12] . Коефіцієнт  k можна вибирати по-
різному. Фактично маємо модифікацію узагальненого методу
Ньютона на випадок умовних задач оптимізації. Він ефективний у
випадку, коли функція f (x) опукла, а множина X – поліедр. Тоді
задача (7.15) є задачею квадратичного програмування. Зазначимо,
що методи, які ґрунтуються на квадратичній апроксимації, часто
мають переваги навіть у випадку неопуклих функцій, але з
лінійними обмеженнями.
7. Числові методи умовної мінімізації
227
----------------------------------------------------------------------------------------------------------
7.3.
Методи
розв’язування
задач
квадратичного
програмування
Задачі квадратичного програмування часто трапляються на
практиці і, крім того, їх використовують як допоміжні для
розв’язування задач складнішого вигляду. Виявляється, що для
задач квадратичного програмування можна будувати скінченні
методи. Розглянемо задачу
1
f ( x)  (Cx, x)  (d , x)  min
2
X
(7.16)
X  {x  R n , (ai , x)  bi , i  1, m},
де C – додатно визначена симетрична матриця розмірності n  n ,
d , ai , i  1,m – задані вектори з R n , bi i  1,m – задані числа.
Введемо
позначення I x  {i : (ai , x)  bi , 1  i  m} – множина
номерів активних обмежень у точці x  X . Для побудови методу
розв’язування задачі (7.16) доводиться розв’язувати простіші задачі
квадратичного програмування вигляду
f ( x)  min
(ai , x)  bi , i  I
(7.17)
де I  {1,..., m} – підмножина така, що ця система рівнянь сумісна.
Для розв’язування задачі (7.17) використаємо методи, які дають
Дослідження операцій
228
розв’язок за скінченну кількість ітерацій. Якщо I  Ø, то (7.17)
можна розв’язувати, наприклад, методом спряжених градієнтів.
Якщо I  Ø, то задачу (7.17) можна звести до задачі безумовної
мінімізації квадратичної функції. Один з таких способів (двоїстий
метод) полягає у тому, що ми переходимо до двоїстої задачі, яка
має вигляд
1
( y )  ( y )  (C 1(d  yAI ), d  yAI )  ( y, b)  min .
2
Rn
Тут y –- вектор з координатами yi (i  I ); AI – матриця з
рядками ai (i  I ); b − вектор з координатами bi (i  I ) . Якщо
розв’язок y  ( y i ), i  I цієї
двоїстої задачі уже знайдено, то
розв’язок задачі (7.17) можна записати так [19]:
x  C 1(d  y AI )  C 1(d   yi ai ).
iI
У випадку, коли C  I –одинична матриця, запропонований
метод доволі ефективний.
Коротко розглянемо інший метод зведення задачі (7.17) до
безумовної мінімізації квадратичної опуклої функції (метод
проектування) [17]. Нехай  ( y ) – проекція точки y  R n на
допустиму множину задачі (7.17). Легко можна показати, що
функція F ( y )  f ( ( y )) є квадратичною та опуклою на R n .
Очевидно таке: якщо y* – точка мінімуму функції F на R n , то
7. Числові методи умовної мінімізації
229
----------------------------------------------------------------------------------------------------------
x*  y* – розв’язок задачі (7.17). Отже, задача зводиться до
мінімізації F на R n . Звичайно, тут є деякі проблеми, пов’язані з
обчисленням
проекції
( y) .
Однак
цей
метод
можна
застосовувати й у випадку, коли матриця С лише невід’ємно
визначена, тобто коли f просто опукла.
Тепер переходимо до розв’язування задачі (7.16).
Означення 7.1. Допустиму точку задачі (7.16) називають
особливою, якщо вона є розв’язком задачі вигляду (7.17) при
деякому I  {1,2,, m} (випадок I  Ø також враховується).
Теорема 7.3. Кількість особливих точок задачі (7.16)
скінченна, причому її розв’язок є особливою точкою.
Оскільки задача (7.17) має не більше одного розв’язку, а
кількість таких задач скінченна, то задача (7.16) має скінченну
кількість особливих точок. Нехай x* − розв’язок задачі (7.16). Тоді,
очевидно, x* − глобальний розв’язок задачі
f ( x)  min,
(ai , x)  bi , i  I ( x* ).
Тому x* буде також розв’язком задачі
f ( x)  min,
(ai , x)  bi , i  I ( x* )
Отже, х * – особлива точка задачі (7.16). 
Дослідження операцій
230
Як бачимо, для відшукання розв’язку задачі (7.16) нам
достатньо знайти всі особливі точки, обчислити значення функції
f (x) у цих точках і вибрати ту точку, для якої f (x)
мінімального значення. З метою відшукання
набуває
особливих точок
необхідно для кожної множини I  {1,..., m} знайти розв’язок x
задачі (7.17), а потім перевірити умову x  X . Однак цей варіант
неефективний. Як і в симплекс-методі, використовуватимемо
упорядкований перебір, що є основною ідеєю запропонованого
методу, який складається з двох рекурентних алгоритмів, які
повторюються. Перший алгоритм за заданою допустимою точкою
для задачі (7.16) знаходить особливу точку, в якій функція f (x)
набуває не більшого значення, ніж у допустимій точці. Другий
алгоритм визначає, чи є знайдена особлива точка розв’язком, якщо
ні, то відшукує точку x  X, в якій f набуває меншого значення.
Перший і другий алгоритми працюють послідовно один за одним, у
результаті чого будується послідовність особливих точок, на яких
функція
f
строго спадає. Обчислюватимемо лише частину
особливих точок, тобто частину зі скінченної кількості. Це означає,
що процес генерування таких точок припиниться, тобто трапиться
випадок, коли обчислена особлива точка є розв’язком задачі (7.16).
Принципову схему алгоритму сформульовано, потрібно описати
згадані два алгоритми.
Алгоритм переходу від заданої допустимої точки до
особливої точки з небільшим значенням функції мети. Нехай
7. Числові методи умовної мінімізації
231
----------------------------------------------------------------------------------------------------------
задана точка
x0  X . Знайти особливу точку
x , для якої
f ( x)  f ( x0 ). Побудуємо послідовність точок xk  X , k  1,2, і
xk  Rn ( k  0,1, ) за таким правилом. Якщо при заданому
k  0,1, точку xk  X знайдено, то x k визначають як розв’язок
задачі
f ( x)  min
(ai , x)  bi i  I ( xk ) .
(7.18)
Відшукати xk можна за скінченну кількість кроків згідно з
розглянутими методами. У цьому випадку:
f ( xk )  f ( xk )
(7.19)
оскільки xk – допустима точка задачі (7.18). Можливі два
випадки: x k  X або x k  X . Якщо x k  X , то x k особлива точка
(7.16). Нехай x k  X , тоді побудуємо точку
xk 1  xk  k ( xk  xk ),
(7.20)
k  max{  0 : xk  ( xk  xk )  X }  1.
(7.21)
де
Дослідження операцій
232
Причому існує явна формула, яка дає змогу обчислити цей
параметр за скінченну кількість операцій. З (7.19), (7.20),
враховуючи опуклість f (x) , випливає
f ( xk 1)  k f ( xk )  (1  k ) f ( xk )  f ( xk ).
(7.22)
Крім того,
I ( xk )  I ( xk 1),
Справді,
I ( xk )  I ( xk 1).
i  I ( xk ), (ai , xk )  bi  (ai , xk ),
для
тоді
(ai , xk 1)  bi , i  I ( xk 1 ), тобто I ( xk )  I ( xk 1 ).
Припустимо,
що
I ( xk )  I ( xk 1 ),
а
це
означає
(ai , xk   k ( x k  xk ))  bi для всіх i  I ( xk ). Тоді, очевидно, не
виконується умова (7.21) та існує число   0 таке, що
(ai , xk  ( k  )( x k  xk ))  bi
при всіх i  1,m , тобто ми одержали суперечливість. Отже, I ( xk 1 )
містить хоча б на один елемент більше, ніж I ( xk ). Звідси зрозуміло,
що настане момент, коли умова xk  X буде неможлива і трапиться
випадок xk  X , тобто на деякій k -тій ітерації буде отримана
особлива точка x  x k . У цьому випадку, з огляду на (7.19), (7.22),
маємо:
f ( x)  f ( xk )  ...  f ( x0 ).
7. Числові методи умовної мінімізації
233
----------------------------------------------------------------------------------------------------------
Алгоритм переходу від заданої особливої точки до допус–
тимої точки з меншим значенням функції мети. Нехай задана
особлива точка x  X ( x може бути довільною), отримана на
попередньому етапі. Треба переконатися, що x – розв’язок за–дачі,
або знайти допустиму точку x0  X , для якої f ( x0 )  f ( x) . Це
можна зробити, Виконавши один крок за методом умовного граді–
єнта. Ми дещо модифікуємо цю ітерацію і розглянемо задачу
( f ( x), h)  min,
(ai , h)  0, i  I ( x),  1  h j  1, j  1,..., n
(7.23)
(обмеження задачі (7.16), які виконуються як строгі в (7.23),
не враховуємо). Нехай h - розв’язок задачі (7.23), знайдений,
наприклад, за симплекс-методом, а   ( f ( x), h) - значення функції
мети. Оскільки h  0 - допустима точка задачі (7.23), то можливі
випадки   0 ,   0 . Якщо   0 то x – розв’язок задачі (7.16).


Справді, для довільного x  X ( x  x) приймемо h  x  x /  , де
n
   x j  x j  0, тоді h j  1 при всіх j  1,n . Крім того, для
j 1
довільного i  I (x) маємо
1
1
(ai , h)  (ai , x  x)  ((ai , x)  bi )  0.


Дослідження операцій
234
Отже, h - допустима точка задачі (7.23). З огляду на
властивість опуклих функцій і визначене  , маємо
f ( x)  f ( x)  ( f ( x), x  x)   ( f ( x), h)     0,
звідки x – розв’язок (7.16).
Нехай   0 , тоді h – напрям спадання функції f у точці x .
Для всіх достатньо малих  > 0
f ( x  h )  f ( x )
(7.24)
для всіх i  I (x) і   0
(ai , x  h)  bi  (ai , h)  bi ,
(7.25)
а для i  I (x) і достатньо малих  >0 справджується нерівність,
(ai , x  h)  bi , оскільки (ai , x)  bi . Конкретне число  > 0 можна
знайти за скінченну кількість кроків, наприклад, за правилом
дроблення   k , де   (0,1) k – найменше число, для якого
виконується (7.24), (7.25). Після того, як число  знайдено,
будуємо точку x0  x  h , у цьому випадку f ( x0 )  f ( x ) і x0  X .
Тепер розпочинаємо виконання першого алгоритму. Об’єднавши ці
два алгоритми, отримаємо метод, який дає змогу одержати
розв’язок задачі за скінченну кількість операцій. Зазначимо, що цей
метод працює, починаючи з точки x0  X . Щоб знайти таку точку
7. Числові методи умовної мінімізації
235
----------------------------------------------------------------------------------------------------------
або переконатися, що X  Ø, достатньо розв’язати таку задачу
лінійного програмування щодо х і u  (u1,..., um ) :
m
 ui  min,
i 1
(ai , x)  bi  ui , i  1, m,
ui  0, i  1,m.
Нехай x , u - розв’язок цієї задачі, причому він завжди існує.
Тоді очевидно:, якщо u  0 , то x  X , якщо u  0 , то X  Ø.
Можна зробити такі зауваження, що стосуються цього
методу.
По-перше, на практиці використовують економнішу схему.
Якщо розв’язок допоміжної задачі виходить за межі X , то
доводиться виконувати операцію “повернення”. Детально цей
варіант розглянуто в [17].
По-друге, у другому алгоритмі нема потреби обчислювати
точний розв’язок. Якщо виявиться, що вектор h задовольняє
систему
( f ( x), h)  0,
(ai , h)  0, i  I ( x),
то можна прийняти h  h і перейти до визначення x0 .
По-третє, запропонований метод суттєво спрощується для
задач спеціального квадратичного програмування;
Дослідження операцій
236
f ( x)  min ,
X  {x  R n , x  0}.
Можна розглянути й інші модифікації цього методу, які
поліпшують його ефективність під час розв’язування конкретних
задач.
7.4. Метод лінеаризації
Розглянемо
ефективних
основи
методів
методу
лінеаризації
розв’язування
задач
–
одного
з
математичного
програмування. Він є розвитком методу умовного градієнта,
водночас містить якісно нові моменти. У цьому методі до лінійної
частини
у
випадку
апроксимації
функції
мети
додають
квадратичний член, отож допоміжні задачі стають задачами
квадратичного програмування.
Розглянемо задачу математичного програмування:
f ( x)  min
X  {x  R n , qi ( x)  0, i  1, m},
(7.26)
де f ( x), q1 ( x),..., qm ( x) , – диференційовні, а q1 ( x),..., qm ( x) ,
крім того, опуклі функції. Вважатимемо, що допустима множина
задачі (8.26) непорожня ( X  Ø). Довільній точці x  R n поставимо
у відповідність таку задачу квадратичного програмування:
7. Числові методи умовної мінімізації
237
----------------------------------------------------------------------------------------------------------
( f ( x), h) 
1 2
h  min,
2
(qi ( x), h)  qi ( x)  0, i  1, m.
Її
сформульовано
на
базі
лінійних
(7.27)
частин
розкладу
відповідних функцій з додаванням до функції мети квадратичного
члена
1 2
h , а сталу f (x) відкинуто. З огляду на властивість
2
опуклих функцій, а також умову X  Ø, можемо записати:
(qi ( x), x  x)  qi ( x)  qi ( x)  0, i  1, m,
де x – довільна точка X . Отож вектор h  x  x задовольняє
обмеження задачі (7.27) і допустима множина задачі (7.27)
непорожня. Оскільки функція мети сильно опукла, то задача (7.27)
має розв’язок, причому єдиний. Позначимо цей розв’язок через
h(x) .
У методі лінеаризації послідовність наближень
{xk }
обчислюють за формулою
xk 1  xk   k hk ,
k  0,1,...,
(7.28)
де hk – розв’язок задачі (7.27) при x  xk , тобто hk  h( xk ) ;
параметр  k можна обирати одним з уже відомих способів.
Розглянемо випадок, коли  k    const. Послідовність
{xk } не обов’язково належить X , а послідовність { f ( xk )} спадає.
Дослідження операцій
238
Теорема 7.4. Нехай функції f , qi , i  1, m диференційовні
на R n , їхні градієнти задовольняють на R n умову Ліпшиця,
функції qi , i  1,m , крім того, опуклі на R n та існує точка x  R n
така, що qi ( x)  0 для всіх i  1,m (умова Слейтера). Нехай x0  X ,
причому множина
N 0  {x  R n : f ( x)  f ( x0 )}
обмежена. Тоді існує число   0 таке, що будь-яка гранична точка
x*
послідовності
{xk } ,
визначена за формулою (7.28), де
hk  h( xk ) ,  k    (0,  ] x0 - початкова точка, є стаціонарною для
задачі (7.26), тобто x*  X і
f ( x* )    i*qi ( x* )  0,
(7.29)
*i qi ( x* )  0,
(7.30)
m
i 1
i  1, m
Тут  i  0, i  1, m множники Лагранжа. Якщо у цьому
*
випадку функція f (x) опукла на R n , то x* - розв’язок задачі (7.26).
Зазначимо, що умова обмеженості N 0 забезпечується,
наприклад, умовою сильної опуклості функції f (x) або умовою
lim f ( x)  .
x 
7. Числові методи умовної мінімізації
239
----------------------------------------------------------------------------------------------------------
Перш ніж довести теорему, розглянемо додатково дві леми,
Крім того, зауважимо таке: оскільки h(x) – розв’язок задачі (7.27),
то існують множники Лагранжа 1 ( x)  0,...,  m ( x)  0 такі, що
m
f ( x)  h( x)    i ( x)qi ( x)  0,
i 1
 i ( x)(qi ( x), h( x))  qi ( x)  0 i  1, m.
(7.31)
Лема 7.4. У припущеннях теореми 7.4 множники Лагранжа
для сім’ї задач (7.27) рівномірно обмежені на N 0 , тобто
m
  i ( x)  C при всіх х  N 0 ,
(7.32)
i 1
де С > 0 – деяка стала.
Оскільки f (x) задовольняє умову Ліпшиця, то на компакті
N0
f ( x)  K для всіх x  N 0 . Отже, для довільних x  N 0 і
h  Rn
( f ( x), h) 
1 2
1 2
1
h   f ( x) h  h   K 2 ,
2
2
2
а це означає, що розв’язок задачі (7.27) при x  N 0 рівномірно
обмежений знизу. Якщо врахувати властивість сідлової точки, то
можемо записати ( h(x) - розв’язок задачі (7.27)).
Дослідження операцій

240
1 2
1
1 2
2
K  ( f ( x), h( x))  h( x)  ( f  ( x), h)  h 
2
2
2
(7.33)
m
   i ( x)[( g ( x), h)  qi ( x)]
i 1
при всіх h  R n . Для точки x з формулювання теореми 7.4 можна
знайти число   0 таке, що qi (x)    при всіх i  1,m. Приймемо
h  x  x , тоді з (7.33), враховуючи опуклість функцій, отримаємо:

m
m
(7.34)
2
1 2
1
K  ( f ( x), x  x)  x  x   i ( x)qi ( x)     i ( x)
2
2
i 1
i 1
при всіх x  N 0 . Тепер з (7.34), з огляду на рівномірну обмеженість
її лівої частини, маємо (7.32). 
Розглянемо функцію
( x, C )  f ( x)  Cq( x),
(7.35)
q (x) = max{0, q1 ( x),..., qm ( x )} .
(7.36)
де
Лема 7.5. Нехай виконується припущення теореми 7.4. При
будь-якому   (0,1) , приймемо

1  
  min 1,

 (1  C) M 
(7.37)
7. Числові методи умовної мінімізації
241
----------------------------------------------------------------------------------------------------------
де С – стала з (7.32), а M – стала Ліпшиця для градієнтів
 . Тоді для довільних x  N 0 і   (0,  ] справджується
f ,q1 ,...,qm
нерівність ( x  h, C )  ( x, C )   h 2 , де h  h(x) – розв’язок
задачі (7.27).
Нехай x  N 0 і
  (0,  ] .
Використовуючи формулу
Лагранжа, нерівність Коші-Буняковського й умову Ліпшиця для f 
при деякому   (0,1) , отримуємо
f ( x  h)  f ( x)  ( f ( x  h), h)  ( f ( x), h) 
(7.38)
 ( f ( x  h), h)  ( f ( x), h)  ( f ( x), h)   2 M h
2
У цьому випадку, врахувавши, (7.31), (7.32), (7.36), маємо:
m
( f ( x), h)     i ( x)(qi ( x), h)  h
i 1
2
m
   i ( x)qi ( x)  h
i 1
2
2
 Cq( x)  h .
Отже,
f ( x  h)  f ( x)  Cq( x)   h
2
 2M h
2
(7.39)
За аналогією з (7.38) для довільного і
2
qi ( x  h)  qi ( x)  (qi ( x), h)   2 M h ,
(qi ( x), h)  qi ( x),
оскільки вектор
h,
i  1, m,
як розв’язок задачі (7.27), задовольняє
обмеження задачі. Тому:
Дослідження операцій
242
(7.40)
2
qi ( x  h)  (1  )qi ( x)   2 M h ,
де враховано, що   1. З формул (7.35), (7.37), (7.39) і (7.40) n
умови   (0,  ] випливає
( x  h, C )  ( x, C )  (1  (1  C ) M ) h
2
2
 ( x, C )   h .

Тепер можемо безпосередньо довести теорему.
По-перше, покажемо, що твердження теореми задовольняє 
з (7.37). Справді, оскільки x0  X , то q( x0 )  0, отож з урахуванням
леми 7.5 для точки x1 маємо:
f ( x1)  ( x1, C )  ( x0 , C )   h0
2
 ( x0 , C )  f ( x0 ),
тобто x1  N 0 . Аналогічно, використовуючи метод математичної
індукції, отримуємо
( xk 1, C )  ( xk , C )   hk
2
, для всіх k =0,1,…
(7.41)
Отже, послідовність {( xk* , C )} монотонно незростаюча і,
крім того, обмежена, оскільки неперервна функція  ( x, C ) при
заданому C обмежена на компакті N 0 . Це означає, що ця
послідовність має межу.
Звідси і з (7.41)
lim hk  0.
k 
7. Числові методи умовної мінімізації
243
----------------------------------------------------------------------------------------------------------
Нехай тепер x* − довільна гранична точка послідовності
{xk }. Така точка існує, оскільки N 0 − компакт. За лемою 7.1
послідовність
{ i ( xk )}, i  1, m
обмежена. Крім того, можна
вважати, що
lim xk  x* , lim i ( xk )  i*  0, i  1, m.
k 
k 
Згідно з (7.31):
m
f ( xk )  hk    i ( xk )qi ( xk )  0,
i 1
 i ( xk )[( qi ( xk ), hk )  qi ( xk )]  0, i  1, m.
Крім того, вектор hk як розв’язок задачі (7.27) задовольняє
обмеження
(qi ( xk ), hk )  qi ( xk )  0, i  1, m.
Переходячи у виписаних співвідношеннях до границі,
бачимо, що твердження теореми виконуються, тобто правильними
є (7.29), (7.30) і x*  X .
В основному методі на кожній ітерації потрібно розв’язувати
задачу квадратичного програмування (7.27). З цією метою можна
використовувати розглянуті вище методи. З методами лінеаризації
і модифікаціями цього методу детальніше можна ознайомитися в
[19]. Метод лінеаризації без труднощів можна перенести на
загальну задачу математичного програмування вигляду
f ( x)  min
Дослідження операцій
244
X  {x  X 0 : qi ( x)  0, i  1  m, qi ( x)  0, i  m  1, s}.
У цьому випадку задачу (7.27) замінить задача
( f ( x), h) 
1 2
h  min,
2
(qi ( x), h)  qi ( x)  0, i  1, m,
(qi ( x), h)  qi ( x)  0, i  m  1, s, h  X 0  x.
В іншому метод не змінюється, причому його можна
модифікувати.
При
виконанні
відповідних
умов
збіжність
запропонованого алгоритму легко можна визначити.
7.5. Метод модифікованих функцій Лагранжа
Розглянемо задачу
f ( x)  min
X
x  X  {x  X 0 : qi ( x)  0, i  1, m, qi ( x)  0, i  m  1, s},
(7.42)
де f ( x), qi ( x), i  1, s – задані функції на множині X 0 . Нехай
f*   i X*  Ǿ.
За певних умов опуклості і регулярності в задачі (7.42) було
з’ясовано (у розділі 5), що для довільної точки x*  X* знайдуться
множники Лагранжа
*  (*1,..., *s ), *  0  {  R s , i  0, i  1, m}
такі, що точка ( x* , * ) є сідловою точкою функції Лагранжа
7. Числові методи умовної мінімізації
245
----------------------------------------------------------------------------------------------------------
L( x* , )  L( x* , * )  L( x, * ), x  X 0 ,    0 ,
(7.43)
де
s
L( x, )  f ( x)    i qi ( x),
i 1
x  X 0 ,   0
(7.44)
Було доведено і зворотнє твердження: якщо ( x* , * )  X 0   0
є сідловою точкою функції (7.44), то x*  X . Опираючись на ці
факти, можна запропонувати різні методи знаходження сідлової
точки функції Лагранжа, що еквівалентно відшуканню розв’язку
задачі (7.42). Наприклад,
xk 1  PX 0 ( xk   k Lx ( xk ,  k )),
(7.45)
k 1  P 0 (k   k L ( xk , k ))  P 0 (k   k q( xk )), k  0,1,..., (7.46)
де Lx ( x)  ( Lx1 ( x, ),..., Lxn ( x, )),
L ( x)  ( L1 ( x, ),..., L n ( x, ))  (q1x ,..., qn ( x))  q( x).
Запропонований алгоритм є проекцією градієнта за змінними
x та  (спадання за х, зростання за  ). Крок  k можна обирати
аналогічно, як це pоблять в інших методах. Зазначимо, що
проекцію
  Rs
P 0 ( )  (1,...,  s ) , де
на
0
обчислити
доволі
просто
Дослідження операцій
246
i  *i  max{i ,0}, i  1, m, i  i , i  m  1, s.
Замість (7.45) можна використовувати й інші методи,
наприклад, метод Ньютона. Якщо задачу мінімізації функції Lx , 
за x при сталому  розв’язати просто, то можна запропонувати,
наприклад, такий алгоритм:
L( xk 1,  k )  inf L( x,  k ),  k 1  P 0 ( k   k q( xk 1 )), k  0,1,...
xX
Зазначимо, що збіжність запропонованих алгоритмів не
завжди можна виявити. Це вдалось довести при доволі жорстких
обмеженнях на функції в задачі (7.42).
Розглянемо простий приклад опуклої задачі:
f ( x)  0, X  {x  R, q( x)  x  0}.
Тоді f*  0, x*  {0} , функція Лагранжа L( x, )  x на R  R
має
сідлову
точку
(0,0),
оскільки
L(0, )  0    0  L(0,0)  L( x,0)  0 .
Процес (7.45), (7.46) має вигляд
xk 1  xk   k  k ,
 k 1   k   k xk , k  0,1,...
Як бачимо,
xk 12   k 12  ( xk 2   k 2 )(1   k 2 )  xk 2   k 2 , k  0,1,...
7. Числові методи умовної мінімізації
247
----------------------------------------------------------------------------------------------------------
і для початкової точки ( x0 ,  0 )  0 з будь-яким вибором параметра
k
процес
розбігається.
Щоб
уникнути
таких
випадків,
використовують модифіковані функції Лагранжа, які мають ті самі
сідлові точки, проте кращі властивості. Існують різні підходи до
побудови таких функцій. Розглянемо один із них на прикладі задачі
f ( x)  inf, x  X  {x  X 0 : qi ( x)  0, i  1, m}
де
(7.47)
f ( x), qi ( x), i  1, m – задані функції з C1 ( X 0 ). Візьмемо
модифіковану функцію Лагранжа
M ( x,  )  f ( x ) 
де


2
1
1
2
(  Aq ( x))  
 ,
2A
2A
x  X 0 ,    0  {  R m ,   0}, A  0
(7.48)
– довільна фіксована

), ai  max{0, ai } , i  1, m, проекція
стала, a   PR m (a)  (a1 ,..., am
i
точки а на невід’ємний октант Rm  {a  R m : a  0}. Як бачимо,
функція M ( x, ) неперервно диференційовна за x і 
M
 M x ( x, )  f ( x)  (q( x))T (  Aq ( x))  ,
x
M
1
 M  ( x, )  [(  Aq ( x))   ], x  X 0 ;    0 ,

A
де q(x) – матриця розмірності m  n .
 q ( x)
q( x)   i
 x j
i  1, m,

j  1, n.

Дослідження операцій
248
Легко показати, що у випадку опуклої множини X 0 , опуклих
на X 0 функцій f (x) , qi (x) , i  1,m , буде опуклою функція M ( x, )
за x на множині X 0 при довільному фіксованому  . Крім того,
M ( x, ) буде ввігнутою вгору за  при сталому x .
Метод розв’язування задачі (7.47) реалізують так. Нехай
знайдено деякі наближення x0 , x1 ,..., xk ;  0 , 1,...,  k , ( x0 ,  0 ) задані
довільними, x k  X 0 ,  k   0 . Запишемо функцію
 k ( x) 
1
2
x  xk  M ( x,  k ),
2
x  X0,
де  >0 – деяке число, параметр методу. За ( k  1 )-ше
наближення приймаємо точку xk 1 таку, що
xk 1  X 0 ,  k ( xk 1 )  inf  k ( x)   2k / 2
q ( xk 1 )  q ( xk )   k ,
де  k  0,
lim
k 
(7.49)
 k  0. Для визначення xk 1 розв’язуємо задачу
 k ( x)  min , за допомогою будь-якого методу мінімізації. Якщо
X0
маємо ефективний метод відшукання xk 1 , для якого виконується
умова (7.49), то після визначення xk 1 точку k 1 знаходимо за
формулою
 k 1  ( k  Aq( xk 1 )) .
7. Числові методи умовної мінімізації
249
----------------------------------------------------------------------------------------------------------
Правила
обчислення
( k  1 )-го
наближення
визначені.
Потрібно ще задати умову зупинки алгоритму. Повне дослідження
методу описано в 7 . Можна розглядати й інші варіанти методу
модифікованих функцій Лагранжа [7].
7.6. Метод штрафних функцій
Метод штрафних функцій є одним з простих і найбільше
використовуваних
методів
розв’язування
задач
умовної
оптимізації. Нехай задана задача
f ( x)  min
X
(
7.50)
Основна ідея методу полягає у зведенні задачі (7.50) до
послідовності задач мінімізації
 k ( x)  inf, x  X 0 , k  0,1, 
(
7.51)
де  k (x) – допоміжна функція, а X  X 0 , причому X 0 вибирають
так, щоб задачу (7.51) при кожному k можна легко розв’язати і X 0
містить множину X . Функції  k (x) вибирають так, що зі
зростанням k
 k (x) мало відрізняється від функції
множині X і швидко зростає на множині X 0 \ X , а саме
 f ( x), x  X ,
lim  k ( x)  
k 
, x  X 0 \ X .
f (x) на
Дослідження операцій
250
Можна очікувати, що при великих k нижня межа  k (x) на
X 0 буде досягнута в точках, близьких до X , і розв’язок задачі
(7.51) наближатиметься до розв’язку задачі (7.50). Крім того, є
широкий вибір функцій  k (x) і множини X 0 , що дає підстави
використовувати простіші методи мінімізації.
Означення 7.2. Послідовність функцій {Pk ( x), k  0,1,...},
визначених і невід’ємних на
X 0 , називають штрафом, або
штрафною функцією множини X на X 0 , якщо
0, x  X ,
lim Pk ( x)  
k 
, x  X 0 \ X .
Отже, при великих k
доводиться “платити” штраф за
порушення умови x  X . Якщо ця умова виконується, то штрафна
функція є нескінченно малою. Виявляється, що для довільної
множини X  R n можна побудувати велику кількість штрафних
функцій. Наприклад, нехай { Ak } − додатна послідовність така, що
lim Ak   , тоді можна прийняти:
k 
Pk ( x)  Ak ( x, X ), x  R n  X 0 ,
k  0 ,1, ,
де ( x, X )  inf x  y – відстань від точки x до множини X
y X
(вважають, що множина X замкнута), або:
7. Числові методи умовної мінімізації
251
----------------------------------------------------------------------------------------------------------
0, x  X ,
Pk ( x)  
 Ak x  x , x  X , k  0,1,...,
де x – довільна точка з X .
Розглянемо тепер випадок, коли
X  {x  X 0 : qi ( x)  0, i  1, m, qi ( x)  0, i  m  1, s},
де X 0 задана множина в R n , при цьому x  X 0 . Функції f (x) ,
qi ( x), i  1, s визначені на X 0 . За штрафну функцію можна взяти
Pk ( x)  Ak P( x) .
s
Тут P( x)   qi ( x) p , x  X 0 ,
i 1
Ak  0 (k  0,1,...), lim Ak  , p  1 – фіксоване число,
k 
qi ( x)  max{0, qi ( x)} для i  1,m ,
qi ( x)  qi ( x) для і = m  1,s .
Показник
p
диференційовність
qi ( x), i  1, s,
p  r,
r
вибирають
функції
разів
з
умови,
щоб
 k (x) .
Якщо
функції
неперервно диференційовні,
зберегти
f (x) ,
то
при
 k ( x) буде r разів диференційовна.
Можна і в інших варіантах вибирати штрафні функції.
Наприклад
Дослідження операцій
s
Pk ( x)   Aki (qi ( x))
i 1
де pi  1, Aki  0,
pi
252
, x  X 0 , k  0,1,...,
lim Aki  , (i  1, s),
k i 
або
s
Pk ( x)   Aki i (qi ( x)), x  X 0 , k  0,1,... .
i 1
Тут i (q) – довільна функція, така що i (0)  0, i (q )  0
при q  0 i  1, s. i (q) можна обирати так, щоб штрафна функція
мала різні позитивні властивості. Штрафну функцію можна
обирати у вигляді
s


Pk ( x)  1   (qi ( x)) pi 
 i 1

Ak
 1, pi  1,
або
s
2
m

Pk ( x)  Ak 1  е Аk qi ( x)   e( Ak qi ( x)) , x  X 0 , де
i  m 1
 i 1

Ak  0 (k  0,1,...) lim Ak   та ін.
k 
Припустимо, що маємо послідовність задач
 k ( x)  f ( x)  Pk ( x),  min , x  X 0 , k  0,1,...
x
Нехай  *  inf  k ( x)   , k  0,1,.... Якщо нижня межа
k
X0
досягається, то умови
7. Числові методи умовної мінімізації
253
----------------------------------------------------------------------------------------------------------
 k ( xk )   k * , xk  X 0
(7.52)
визначають послідовність {xk } . Однак точно визначити xk з (7.52)
не завжди вдається, а для окремих k xk може взагалі не існувати.
Іноді це вимагає значних обчислювальних затрат, тому на практиці
xk визначають з умови
xk  X 0 ,  k ( xk )   k *   k ,
де
{ k }
–
 k  0, k  0,1,...,
деяка
задана
(7.53)
послідовність,
lim  k  0 .
k 
Зазначимо, що можливий випадок, коли xk  X . Фактично
метод штрафних функцій описано. Використовуючи його, треба
враховувати, що метод розв’язування задач (7.53) повинен бути
досить ефективним. Важливе значення також має вибір величини
 k і множини X 0 . При доволі малих  k задачі (7.53) трудомісткі, а
при порівняно великому  k метод штрафних функцій може не
збігатися.
Наприклад, знайдемо розв’язок задачі
f ( x)  e  x  inf,
x  X  {x  R, q( x)  xe  x  0},
де
X  {0}  X * , f*  1.
Розглянемо
штрафну
функцію
pk ( x)  kq 2 ( x)  kx 2e 2 x і приймемо  k ( x)  e  x  kx 2e 2 x , x  R.
Дослідження операцій
 k ( x)  0, k i x  R,
Оскільки
lim  k ( x)  0,
x 
254
то
 k   inf  k ( x)  0. За точку xk , яка задовольняє умову (7.53) при
R
 k  e  k  k 2e 2k  0
можна
взяти
xk  k
( k  1,2, ).
Тоді
отримуємо
lim f ( xk )  0  f*  1
k 
lim ( xk , x* )  .
k 
Отже, з’ясовано, що метод штрафних функцій розбігається,
тому вибір функцій Pk (x) і послідовності  k має важливе значення
для розв’язування задач умовної мінімізації. Детальніше метод
штрафних функцій описано в [7].
Ідею методу штрафних функцій можна використати для
розробки методів розв’язування задачі (7.51), які даватимуть змогу
побудувати таку мінімізаційну послідовність {xk }  X , кожний
член якої лежить зовні деякої забороненої підмножини   X .
Наприклад, такою множиною може бути межа області X або будьяка її частина. У цьому випадку можна розглядати метод бар’єрних
функцій 7.
7. Числові методи умовної мінімізації
255
----------------------------------------------------------------------------------------------------------
Запитання для самоперевірки
Властивість оператора проектування.
Необхідна і достатня умова для точки розв’язку.
Теорема про збіжність методу проекції градієнта.
Теорема про збіжність методу умовного градієнта.
Теорема про кількість особливих точок задачі
квадратичного програмування.
6. Алгоритм переходу до особливої точки.
7. Алгоритм переходу до допустимої точки з меншим
значенням функції мети.
8. Алгоритм методу лінеаризації (ідея побудови).
9. Теорема про стаціонарну точку при реалізації методу
лінеаризації.
10. Побудова алгоритму розв’язування задачі математичного
програмування на базі функції Лагранжа.
11. Побудова модифікованої функції Лагранжа і її
застосування.
12. Побудова штрафних функцій для задачі математичного
програмування.
13. Розв’язування задачі математичного програмування з
використанням штрафних функцій.
1.
2.
3.
4.
5.
Дослідження операцій
256
 Завдання для самостійної роботи
Знайти розв’язок задач 1-5 методом штрафних функцій з
використанням методу Ньютона
Задача I.

f x   x2  x12
2  1  x1 2  min ;
x12  x 22  3.
Задача II.
f x   x1  10x2 2  5x3  x4 2  x2  2 x3 4  10x1  x4 4  min
;
x12  x22  x4  3,
x3  x4  1.
Задача III.

f x   x1 x2 2 1  x1 2 1  x1  x2 1  x1 5
  min ;
2
x12  x 22  4,
x1  x 2  1.

2 
2
Задача IV. f x   x12  x2  11  x1  x22  7  min ;
x12  x22  13,
x1  x2 .  5.
Задача V.

2 
2
f x   x12  12 x2  1  49 x12  49 x22  84 x1  2324 x2  681  min
;
7. Числові методи умовної мінімізації
257
----------------------------------------------------------------------------------------------------------
x12  x22  1,
x1  x2  3.
Знайти розв’язок задач 6-10 з використанням
методу
штраф–них функцій і квазіньютонівських методів
Задача VІ.
2
2

 x  x2  
2
2
f  x   100 x3   1
   1  x1   1  x2   min ;
 2  

x12  x22  1,
x1  x2  3.
Задача VІІ.
f  x    x1  2 2   x2  12 
де
0.04 h 2  x 

 min ;
g x 
0.2
x2
g  x    1  x22  1, h  x   x1  2 x2  1,
4
x12  x22  x4  3,
x3  x4  1.
Задача VIII.
x12  x22  x32 ai2
7
f  x   10 
4
i 1
1  x42 ai
bi
 bi
 min ,
Дослідження операцій
258
ai x12  x 22  4
x1  bi x 2  1.
де величини аі , bi заданo в таблиці
i
ai
bi
i
ai
bi
1
0,0
7,391
5
0,00209
22,20
2
0,000428
11,18
6
0,00348
24,02
3
0,00100
16,44
7
0,00525
31,32
4
0,00161
16,20
Задача ІХ
f x   x1  2 x22  e x1  x2  min ;
2
2
x12  x22  x4  3,
x3  x4  1.
Задача Х.
f  x    x1  x2  x3 2   x1  x2  x3 2   x1  x2  x3 2  min
;
x1 x 2 x32  x 22  4 x12  2
258
БІБЛІОГРАФІЧНИЙ СПИСОК
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Акоф Р.Основы исследования операций /P. Акоф., М. Сасиени;
пер. с англ. – М.– Мир, 1971.
Ашманов С.А. Линейное программирование /С.А. Ашманов. –
М. : Наука, 1981.
Базара М. Нелинейное программирование. Теория и
алгоритмы / М. Базара, К. Шетти– М. : Мир, 1982.
Беллман Р. Процессы регулирования с адаптацией
/Р. Беллман– М. : Наука, 1964.
Бейко И.В. Методы и алгоритмы решения задач оптимизации
/ И.В. Бейко, Б.Н. Бублик, П.Н. Зинько– К. : Вища шк., 1983.
Бертсекас Д. Условная оптимизация и методы множителей
Лагранжа /Д. Бертсекас– М. : Радио и связь, 1987.
Васильев Ф.П. Численные методы решения экстремальных
задач /Васильев Ф.П.–М. : Наука, 1988.
Габасов Р. Методы оптимизации /Р. Габасов , Ф.М. Кириловa
– Минск: Изд-во БГУ, 1981..
Ермольев Ю.М., Ляшко И.И., Михалевич В.С., Тюптя В.И.
Математические методы исследования операций / Ю.М
Ермольев., И.И. Ляшко, В.С. Михалевич, В.И. Тюптя. – Киeв,
Выща школа, 1979.
Деннис Дж.Численные методы безусловной оптимизации и
решение нелинейных уравнений /Дж. Деннис., Р. Шнабель;
пер. с англ. – М:. Мир, 1988.
Зайченко Ю.П. Дослідження операцій /Ю.П Зайченко. К.
ВІПОЛ, 2000.
Карманов В.Г. Математическое программирование/В.Г.
Карманов. – М. : Наука, 1986.
Козицький В.А. Опуклі структури. Методи оптимізації та їхнє
застосування в економічному аналізі /В.А. Козицький. –Львів.
ЛНУ імені Івана Франка, 2008.
Мойсеев Н.И., Методы оптимизации/Н.И. Мойсеев, Ю.П
Иванилов., Е.М. Столяров –М. : Наука, 1978.
Бібліографічний список
259
----------------------------------------------------------------------------------------------------------
15. Полак Э. Численные методы оптимизации. Единый подход /Э.
Полак. – М. : Мир, 1974.
16. Пшеничный Б.Н. Метод линеаризации/Б.Н. Пшеничный. –М. :
Наука, 1983.
17. Пшеничный Б.Н. Численные методы в экстремальных задачах /
Б.Н Пшеничный, Ю.М. Данилин – М.: Наука, 1975.
18. Реклейтис Г. Оптимизация в технике /Г. Реклейтис., А.
Рейвиндра., К. Рэгсдел. – Т. 1,2. –М. : Мир, 1986.
19. Сухарев А.Г., Тимохов А.В., Федоров В.В. Курс методов
опмизации/ А.Г. Сухарев, А.В. Тимохов., В.В. Федоров. –М.:
Наука, 1986.
20. Химмельблау Д. Прикладное нелинейное программирование /
Д. Химмельблау. – М. : Мир, 1975.
21. Хедли Дж. Нелинейное и динамическое программирование/
Дж. Хедли. – М. : Мир, 1967..
22. Цегелик Г.Г. Лінійне програмування /Цегелик Г.Г. –Львів :
Світ, 1995.
23. Цегелик Г.Г. Чисельні методи /Цегелик Г.Г. – Львів : ЛНУ імені
Івана Франка,2004.
24. Численные методы условной оптимизации / Под ред. Ф. Ґилла,
У. Мюррея. – М : Мир, 1977.
25. Шор Н.З. Методы минимизации недифференциируемых
функций и их приложение/ Н.З. Шор. – К.: Наук. думка, 1979.
Download