- •1. Множество. Функция. Скалярные и векторные функции.
- •2. Поле, пространство. Виды пространств.
- •3. Критические точки. Стационарные точки. Лемма Ферма. Связь оптимизации и поиска корня.
- •Вопрос 6. Чем выпуклая функция упрощает задачу оптимизации?
- •Вопрос 7. Если функция имеет одинаковые минимальные значения в двух точках, можно ли говорить о двух глобальных минимумах?
- •Вопрос 8. Как критерии максимума связаны с критериями минимума?
- •4. Градиент. Матрица Гессе. Ряд Тейлора.
- •5. Квадратичная форма. Квадратичная функция. Связь знакоопределенности и собственных чисел матрицы.
- •6. Квадратичная форма. Квадратичная функция. Критерии минимума (максимума) квадратичной формы.
- •7. Условия Вульфа. Их геометрическая интерпретация. Правило Армихо.
- •8. Метод дихотомии. Запрограммировать, показать работу на функциях.
- •9. Метод трехточечного деления. Запрограммировать, показать работу на функциях.
- •10. Метод золотого сечения. Запрограммировать, показать работу на функциях.
- •11. Метод Фибоначчи. Запрограммировать, показать работу на функциях.
- •12. Метод Ньютона одномерный. Запрограммировать, показать работу на функциях.
- •13. Метод секущих. Запрограммировать, показать работу на функциях.
- •14. Метод Мюллера. Запрограммировать, показать работу на функциях.
- •15. Метод обратной параболической интерполяции. Запрограммировать, показать работу на функциях.
- •16. Запрограммировать метод градиентного спуска. Показать его работу на функциях.
- •17. Запрограммировать метод наискорейшего спуска. Показать его работу на функциях.
- •19. Запрограммировать метод Ньютона многомерный. Показать его работу на функциях.
- •20. Запрограммировать метод Левенберга-Марквардта. Показать его работу на функциях.
- •21. Запрограммировать метод Нестерова-Немировского. Показать его работу на функциях.
- •22. Запрограммировать метод Барзилая-Борвейна 1. Показать его работу на функциях.
- •23. Запрограммировать метод Барзилая-Борвейна 2. Показать его работу на функциях.
- •28. Запрограммировать метод Армихо. Показать его работу на функциях.
- •29. Запрограммировать метод dfp. Показать его работу на функциях.
- •30. Запрограммировать метод bfgs. Показать его работу на функциях.
- •31. Запрограммировать метод l- bfgs. Показать его работу на функциях.
- •32. Запрограммировать метод доверительных областей. Показать его работу на функциях.
7. Условия Вульфа. Их геометрическая интерпретация. Правило Армихо.
Вопрос 1. Что такое условия Вульфа и зачем они нужны в методах оптимизации? Ответ: Условия Вульфа – математические критерии для выбора длины шага αk\alpha_kαk в методах спуска. Они обеспечивают «достаточное уменьшение» функции и «достаточное уменьшение» производной, что позволяет использовать неточные методы линейного поиска вместо полного поиска минимума вдоль направления pkp_kpk.
Вопрос 2. В чем смысл первого условия Вульфа (правило Армихо)? Ответ: Первое условие гарантирует, что новый шаг αk\alpha_kαk уменьшает функцию достаточно по сравнению с линейной аппроксимацией. То есть функция уменьшается как минимум на c1αkφ′(0)c_1 \alpha_k \varphi'(0)c1αkφ′(0).
Вопрос 3. В чем смысл второго и третьего условий Вульфа (правила кривизны и сильного правила кривизны)? Ответ: Они проверяют, что производная функции вдоль направления поиска не слишком мала или не изменила знак. Второе условие гарантирует «достаточную кривизну», третье – ограничивает величину производной по модулю, чтобы шаг был устойчивым и сходимость обеспечена.
Вопрос 4. Почему в условиях Вульфа используют константы c1c_1c1 и c2c_2c2 с 0<c1<c2<10 < c_1 < c_2 < 10<c1<c2<1? Ответ: c1c_1c1 задает минимальное уменьшение функции (правило Армихо), c2c_2c2 задает ограничение на производную. Ограничение c1<c2c_1 < c_2c1<c2 обеспечивает совместимость условий: шаг достаточен для уменьшения функции, но не слишком мал.
Вопрос 5. Как линейный поиск с условиями Вульфа отличается от точного поиска минимума вдоль направления pkp_kpk? Ответ: Точный поиск требует нахождения глобального минимума φ(α)\varphi(\alpha)φ(α) на каждом шаге, что дорого. Линейный поиск по Вульфу выбирает любой шаг, удовлетворяющий условиям достаточности и кривизны, что быстрее и обеспечивает сходимость.
Вопрос 6. Что делает функция zoom(α_lo, α_hi) в алгоритме линейного поиска по Вульфу? Ответ: Она уточняет значение α∗\alpha^*α∗ внутри интервала [αlo,αhi][\alpha_{lo}, \alpha_{hi}][αlo,αhi] с помощью интерполяции, чтобы найти шаг, удовлетворяющий условиям Вульфа, если первоначальный шаг не подошел.
Вопрос 7. Для чего применяют квадратичную и кубическую интерполяцию при выборе αi\alpha_iαi? Ответ: Чтобы вычислить следующий шаг αi+1\alpha_{i+1}αi+1 на основе значений функции и производной в предыдущих точках, ускоряя сходимость линейного поиска и делая шаг более точным.
Вопрос 8. Почему нужно проверять знаменатели и подкоренные выражения при интерполяции α\alphaα? Ответ: Чтобы избежать деления на ноль или извлечения квадратного корня из отрицательного числа. Если это произойдет, выбирают запасной шаг α0\alpha_0α0 или предыдущий αi−1\alpha_{i-1}αi−1.
Вопрос 9. Как замена сильного условия кривизны на слабое скажется на работе метода оптимизации? Ответ: Слабое условие может позволять большие шаги и быстрее снижать функцию, но теряется гарантия сходимости к точке с ∇f(x)=0\nabla f(x) = 0∇f(x)=0. Сильное условие более консервативное, обеспечивает надежную сходимость.
Вопрос 10. Почему длина шага αk\alpha_kαk выбирается вдоль направления pkp_kpk, а не просто фиксированной? Ответ: Направление pkp_kpk учитывает градиент или приближение к нему (например, в методе Ньютона), чтобы шаг эффективно снижал функцию. Фиксированный шаг может быть слишком мал или слишком велик, вызывая медленную сходимость или расходимость.
