Перейти до змісту

Модуль 2

Нелінійна оптимізація, обмеження та стійкість рішень

Другий модуль переходить від функцій однієї змінної до багатовимірної оптимізації. Ви послідовно проходите похідні, градієнт, вибір кроку, Newton/BFGS, опуклість, KKT, квадратичне програмування, оцінювання параметрів, регуляризацію та багатокритеріальний вибір.

20лекцій
15лабораторних
200питань із поясненнями
15змістових блоків

Що ви опануєте

аналізувати функції через похідні, градієнт і кривизну;
реалізовувати та перевіряти чисельні методи пошуку мінімуму;
працювати з рівностями, нерівностями, Лагранжем і KKT;
оцінювати параметри, стабілізувати нестійкі моделі та робити багатокритеріальний вибір з фінальним аудитом.

Як проходити модуль

Рухайтеся за блоками зверху вниз. Спочатку прочитайте лекцію або кілька пов’язаних лекцій, потім пройдіть тест із 10 питань у кожній лекції. Після цього виконайте лабораторну, яка закріплює саме щойно вивчену теорію.

Почати модуль

Детальний маршрут

Блок 1. Функція однієї змінної та її екстремуми

Після блоку. Після блоку ви маєте вміти читати поведінку функції однієї змінної, використовувати похідну для пошуку кандидатів на екстремум і не забувати перевіряти межі допустимого інтервалу.

Блок 2. Чисельний пошук мінімуму на відрізку

Після блоку. Ви маєте розуміти, як працюють bounded-пошук, золотий переріз і Brent, навіщо потрібні інтервал і критерій зупинки та як порівнювати чисельні результати.

Блок 3. Кілька змінних і напрям зміни функції

Після блоку. Після блоку ви маєте вміти обчислювати часткові похідні, збирати градієнт і використовувати його для прогнозу зміни функції в обраному напрямі.

Блок 4. Градієнтний спуск

Після блоку. Ви маєте вміти виконати ітерації градієнтного спуску, відстежувати значення цілі та пояснювати, чому занадто малий або занадто великий крок погіршує роботу алгоритму.

Блок 5. Вибір довжини кроку

Після блоку. Після блоку ви маєте розуміти line search і правило Armijo, перевіряти прийнятність пробного кроку та будувати журнал прийнятих і відхилених спроб.

Блок 6. Кривизна і матриця Гессе

Після блоку. Ви маєте вміти побудувати Гессіан у стаціонарній точці, прочитати його власні значення та відрізнити локальний мінімум, максимум і сідлову точку.

Блок 7. Newton і квазіньютонівські методи

Після блоку. Після блоку ви маєте розуміти Newton-крок, роль локальної квадратичної моделі, ідею BFGS і практично порівнювати поведінку двох методів на одній задачі.

Блок 8. Опуклість і гарантії оптимізації

Після блоку. Ви маєте вміти пояснити геометричний зміст опуклості та перевірити квадратичну модель за Гессіаном і власними значеннями.

Блок 9. Допустимість та активні обмеження

Після блоку. Після блоку ви маєте вміти обчислювати запас обмеження, класифікувати обмеження як активне, неактивне або порушене та коректно застосовувати числовий tolerance.

Блок 10. Оптимум за рівнянням-обмеженням

Після блоку. Ви маєте вміти скласти функцію Лагранжа, отримати систему стаціонарності та інтерпретувати множник як чутливість оптимального значення до ресурсу.

Блок 11. Нерівності та умови KKT

Після блоку. Після блоку ви маєте вміти перевірити пряму допустимість, знаки множників, стаціонарність і комплементарність та скласти чисельний KKT-сертифікат.

Блок 12. Квадратичне програмування

Після блоку. Ви маєте вміти записати квадратичну ціль і лінійні обмеження, отримати розв’язок у CVXPY та незалежно перевірити його через обмеження, dual values і KKT-нев’язки.

Блок 13. Оцінювання параметрів за надлишковими даними

Після блоку. Після блоку ви маєте вміти побудувати дизайн-матрицю для методу найменших квадратів, оцінити параметри й перевірити якість через залишки.

Блок 14. Стабільність оцінювання та Ridge

Після блоку. Ви маєте вміти розпізнати нестійкість через майже залежні ознаки, застосувати Ridge-регуляризацію та кількісно порівняти точність і стабільність оцінок.

Блок 15. Кілька критеріїв і фінальний аудит

Після блоку. Після завершення модуля ви маєте вміти знаходити Парето-недоміновані рішення, обирати компроміс прозорим правилом і проводити повний чисельний аудит перед використанням результату.

Л29Багатокритеріальна оптимізація та Парето-компромісиЛекція. Тут одна ціль замінюється кількома критеріями, які можуть конфліктувати. Ви навчитеся знаходити доміновані рішення, будувати множину Парето та обґрунтовано вибирати компроміс через ваги або інший прозорий критерій. Л30Чисельна надійність та аудит оптимізаційного розв’язкуЛекція. Завершальна лекція збирає чисельний аудит оптимізаційного розв’язку в єдину процедуру. Ви навчитеся перевіряти статус, допуски, нев’язки, обмеження, цільову функцію та відтворюваність результату перед практичним використанням. ЛР22Як обрати між кількома добрими рішеннямиЛабораторна. Ви проаналізуєте набір альтернатив за трьома критеріями й відкинете доміновані рішення. Потім потрібно вибрати компроміс двома способами, порівняти результати та завершити роботу чисельним аудитом обраної альтернативи.

Практика в браузері

Для лабораторних використовується JupyterLite. Відкрийте notebook потрібної лабораторної, задайте свій STUDENT_X, виконайте роботу та запустіть точну самоперевірку.

Відкрити JupyterLite