- •Метод гілок та меж для задачі комівояжера
- •35.Загальна задача нлп. Основні означення і класифікація задач.
- •36.Методи одновимірної оптимізації. Унімодальні функції та їх властивості.
- •37.Методи одновимірної оптимізації. Метод Фібоначчі
- •38.Методи одновимірної оптимізації. Метод золотого поділу.
- •39.Властивості опуклих функцій. Субградієнт та його геометричний зміст.
- •42.Теорема Куна-Таккера та її застосування.
38.Методи одновимірної оптимізації. Метод золотого поділу.
Нагадаємо спочатку, що означає − знайти точки золотого перетину відрізка. Нехай маємо проміжок [a,b]. Точкою золотого перетину відрізка [a,b] називають таку точку цього відрізка, яка ділить його у середньому пропорціональному відношенні, тобто так, що відношення довжини всього відрізка до його більшої частини рівне відношенню більшої частини до меншої. Зауважимо, що таких точок існує дві на [a,b]. Позначимо через r ту з них, для якої виконується умова r−a>b−r. Невідому довжину відрізка [a,r] позначимо через x, тоді довжина відрізка [r,b] буде рівна b−a−x і для визначення невідомої величини x отримаємо рівняння
Звідки
.
Оскільки x>0 і b−a>0, то підходить лише
один Корінь
Отже,
Інша точка золотого перетину відрізка
[a,b], яку ми позначимо через l , лежить на
відстані x від точки b, тобто
Не важко переконатись у тому, що точка
l здійснює золотий переріз відрізка
[a,r], а точка r у свою чергу є точкою
золотого перетину відрізка [a,b]. Розглянемо
тепер ітераційну схему алгоритму
золотого перетину. Нехай x* – точка
мінімуму функції f(x) на відрізку [a,b].
На початку обчислень покладають
На s-у кроцi визначають величини
Iтерацiї продовжують доти, поки не буде виконуватись нерівність
де ε > 0 — задане число, яке визначає похибку розв'язку задачі. На кожному кроцi МЗП, починаючи з 1-го, обчислюється лише одне значення функції f(x), тому що одна з точок золотого перерізу на попередньому кроцi здійснює золотий переріз проміжка на наступному кроцi.
За наближений розв'язок задачі приймають
При розв'язуванні
задачі максимiзацiї функції f(x) необхідно
замінити її на
функцію –f(x).
39.Властивості опуклих функцій. Субградієнт та його геометричний зміст.
Проте досить часто виникає практична потреба оптимізації негладких
функцій, наприклад, функцій такого виду
де
fi(x) — лінійні функції. Тому розглянемо
задачу безумовної мінімізації функції
f(x), x∈En,
за умови, що вона не є диференційовною.
При цьому бажано побудувати процедуру,
подібну до процедури градієнтного
методу
Оскільки для
функції f(x), яка не є диференційовною,
градієнт ∇
f (xs) в точці xs може не існувати, то
природно замінити його більш загальною
конструкцією — субградієнтом
Зокрема,
це можна завжди зробити, якщо на функцію
f(x) накласти умову опуклості. Дійсно,
якщо f(x) — опукла функція, то
множина
,
є опуклою. Тоді в довільній точці xs
гіперповерхні рівня f(x)=zs, яка є
границею множини Zs, існує опорна
гіперплощина, а вектор нормалі до неї,
що лежить у півпросторі, який не містить
множину Zs, являє собою субградієнт
Отже розглянемо задачу безумовної мінімізації опуклої функції f(x), x∈ En. Задамо субградієнтний метод (метод узагальнених градієнтів) процедурою
де
—
субградієнт функції f(x) в точці xs, ρ s —
крок зміщення з точки xs у напрямку
антисубградієнта −
γs
— нормуючий множник, x 0 — початкове
наближення до точки мінімуму функції
f(x).
Виникають питання
вибору кроку ρ s на кожній ітерації та
збіжності процедури .У порівнянні із
звичайним градієнтним методом принципи
вибору кроку ρ s повинні бути суттєво
іншими. Дійсно, у градієнтному методі
та дотична гіперплощина в точці xs до
гіперповерхні рівня f(x)=zs існують і
єдині, а рух по антиградієнту −∇
f (xs) з точки xs в точку
приводить при досить малих ρ s>0 до
менших значень цільової функції
f(x). Зокрема, в методі найшвидшого спуску
крок ρs вибирають за правилом
Якщо
ж f(x)∉C1,
то ∇
f (xs) може не існувати. В цьому випадку
замість дотичної гіперплощини до
гіперповерхні рівня f(x)=zs в точці xs
доцільно розглянути одну із нескінченої
сукупності опорних гіперплощин до
множини Zs, що проходять через точку xs,
та вектор нормалі до неї, який задає
антисубградієнт −∇$
f (xs). При цьому, очевидно, може так
трапитись, що вектор −∇$
f (xs) буде
спрямований зовні множини Zs (див. рис. 10.5). Тому рух у напрямку − f (xs) не приведе до зменшення значень цільової функції f(x) навіть при як завгодно малих значеннях кроку ρ s .
