Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
непрмо_подготовка к экзую.docx
Скачиваний:
0
Добавлен:
24.01.2026
Размер:
6.31 Mб
Скачать

21. Запрограммировать метод Нестерова-Немировского. Показать его работу на функциях.

def NNsearch(f, df, x0, tol):

kmax = 1000

x_k = x0.copy()

coords = [x_k.copy()]

neval = 0

k = 0

deltaX = np.ones_like(x_k) * np.inf

while (norm(deltaX) >= tol) and (k < kmax):

g0 = df(x_k)

neval += 1

H0 = H(x_k, tol, df)

neval += 2 * len(x0)

v = np.linalg.solve(H0, g0)

lam = np.sqrt(abs((g0.T @ v).item()))

if lam <= 0.25:

alpha = 1.0

else:

alpha = 1.0 / (1.0 + lam)

dx = -alpha * v

x_new = x_k + dx

deltaX = x_new - x_k

x_k = x_new

coords.append(x_k.copy())

k += 1

xmin = x_k

fmin = f(xmin)

answer_ = [xmin, fmin, neval, coords]

return answer_

1. Зачем вводится демпфирование в методе Ньютона?

Ответ: Чтобы обеспечить сходимость метода вне области квадратичной сходимости Ньютона, когда полный ньютоновский шаг может приводить к расходимости.

2. В чём идея переменного демпфирующего параметра αₖ?

Ответ: Параметр αₖ позволяет автоматически уменьшать шаг вдали от минимума и использовать полный ньютоновский шаг (αₖ = 1) вблизи минимума.

3. Какой шаг используется в методе Нестерова–Немировского?

Ответ:

4. Что называется ньютоновским декрементом?

Ответ:

5. Какой смысл имеет ньютоновский декремент?

Ответ: Он характеризует расстояние до минимума в метрике Гессе и показывает, насколько надёжен ньютоновский шаг.

6. Как используется δₖ для выбора αₖ?

Ответ:

7. Какая формула для αₖ предложена Нестеровым и Немировским?

Ответ:

8. Почему при малом δₖ можно брать αₖ = 1?

Ответ: Потому что в этой области метод Ньютона гарантированно сходится квадратично и полный шаг является устойчивым.

9. Почему метод не требует линейного поиска?

Ответ: Потому что величина шага автоматически регулируется через ньютоновский декремент δₖ.

10. Что такое самосогласованные функции?

Ответ: Это класс функций, для которых третья производная ограничена через вторую, что гарантирует корректность оценки шага и глобальную сходимость метода.

11. В чём отличие метода Нестерова–Немировского от обычного демпфированного Ньютона?

Ответ: В методе Нестерова–Немировского демпфирование определяется аналитически через δₖ, а не с помощью внешнего линейного поиска.

12. Когда метод фактически превращается в обычный метод Ньютона?

Ответ: Когда δk≤1/4​, то есть внутри области квадратичной сходимости.

13. Почему метод считается устойчивым?

Ответ: Потому что он автоматически уменьшает шаг при больших значениях δₖ и не делает агрессивных шагов вдали от минимума.

14. Как интерпретируется поведение метода на функции Розенброка?

Ответ: Сначала используется демпфированный режим, затем — полный шаг Ньютона при приближении к минимуму.

15. Основное преимущество метода Нестерова–Немировского?

Ответ: Комбинация глобальной сходимости и квадратичной скорости без линейного поиска.

22. Запрограммировать метод Барзилая-Борвейна 1. Показать его работу на функциях.

23. Запрограммировать метод Барзилая-Борвейна 2. Показать его работу на функциях.

1. К какому классу методов относится метод Барзилая–Борвейна?

Ответ: К градиентным методам с квазиньютоновской интерпретацией шага.

2. Какой базовый итерационный процесс лежит в основе метода Барзилая–Борвейна?

Ответ:

3. Как интерпретируется шаг αₖ в методе Барзилая–Борвейна?

Ответ: Как скалярная аппроксимация обратной матрицы Гессе:

4. Что обозначают величины ∆x и ∆g?

Ответ:

5. Какое квазиньютоновское условие используется при выводе метода?

Ответ: Условие секущей:

6. Как выводится формула шага в методе Барзилая–Борвейна 1?

Ответ: Из минимизации нормы

что приводит к формуле

7. Как выводится формула шага в методе Барзилая–Борвейна 2?

Ответ: Из минимизации нормы

что приводит к формуле

8. В чём принципиальное различие между методами Барзилая–Борвейна 1 и 2?

Ответ: В разных способах аппроксимации секущего условия и, соответственно, в разных формулах для шага αₖ.

9. Требует ли метод Барзилая–Борвейна вычисления матрицы Гессе?

Ответ: Нет, используется только информация о градиентах.

10. Какие преимущества имеют методы Барзилая–Борвейна?

Ответ: В ряде задач обладают сверхлинейной сходимостью при сохранении низкой вычислительной сложности.

11. Обладают ли методы Барзилая–Борвейна глобальной сходимостью?

Ответ: Да, но не на всех задачах и не для всех начальных условий.

12. В чём заключается основной недостаток методов Барзилая–Борвейна?

Ответ: Возможна потеря сходимости и зацикливание траектории оптимизации.

13. Приведите пример функции, на которой метод Барзилая–Борвейна может зациклиться.

Ответ: Функция Розенброка при определённых начальных точках и высокой точности.

14. Что означает зацикливание метода Барзилая–Борвейна?

Ответ: Метод продолжает выполнять итерации, но не приближается к точке минимума.

15. Какова цель стабилизации метода Барзилая–Борвейна?

Ответ: Предотвращение зацикливания и улучшение сходимости.

16. Как определяется стабилизированный шаг αₖ^stab?

Ответ:

17. Как выбирается итоговый шаг в стабилизированном методе?

18. Как выглядит итерационная формула стабилизированного метода?

Ответ:

19. Какую роль играет параметр ∆ в стабилизированном методе?

Ответ: Ограничивает длину шага и предотвращает слишком большие перемещения.

20. Улучшает ли стабилизация поведение метода на функции Розенброка?

Ответ: Да, стабилизированный метод демонстрирует сходимость там, где нестабилизированный зацикливается.

21. Есть ли преимущество у одной версии метода Барзилая–Борвейна перед другой?

Ответ: Нет универсального преимущества; эффективность зависит от конкретной задачи.

22. Если метод Барзилая–Борвейна 1 зациклился, зациклится ли метод Барзилая–Борвейна 2?

Ответ: Не обязательно; разные формулы шага могут приводить к различному поведению.

Краткий вывод для экзамена

Ответ одной фразой: Методы Барзилая–Борвейна — это градиентные методы с адаптивным шагом, интерпретируемые как квазиньютоновские методы с диагональной аппроксимацией обратного гессиана.

24. Запрограммировать метод Флетчера-Ривса. Показать его работу на функциях.

25. Запрограммировать метод Хестенеса-Штифеля. Показать его работу на функциях.

26. Запрограммировать метод Дая-Юана. Показать его работу на функциях.

27. Запрограммировать метод Полака-Рибьера. Показать его работу на функциях.

def prsearch(f, df, x0, tol):

kmax = 1000

c1 = tol

c2 = 0.1

amax = 3

xk = x0.copy()

gk = df(xk)

neval = 1

pk = -gk

coords = [xk.copy()]

k = 0

while (norm(gk) >= tol) and (k < kmax):

alpha = wolfesearch(f, df, xk, pk, amax, c1, c2)

xk1 = xk + alpha * pk

gk1 = df(xk1)

neval += 1

#Полака-Рибьера

beta1 = np.dot((gk1 - gk).T, gk1)[0, 0] / np.dot(gk.T, gk)[0, 0]

#Дая-Юана

beta2 = - np.dot(gk1.T, gk1)[0, 0] / np.dot(pk.T, gk1 - gk)[0, 0]

#Хестенеса-Штифеля

beta3 = - np.dot(gk1.T, gk1 - gk)[0, 0] / np.dot(pk.T, gk1 - gk)[0, 0]

#Флетчера-Ривза

beta4 = np.dot(gk1.T, gk1)[0, 0] / np.dot(gk.T, gk)[0, 0]

pk = -gk1 + beta1 * pk

xk = xk1

gk = gk1

coords.append(xk.copy())

k += 1

xmin = xk

fmin = f(xmin)

answer_ = [xmin, fmin, neval, coords]

return answer_

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. Что такое число обусловленности матрицы?

Ответ:

26. Что показывает число обусловленности?

Ответ:

Насколько задача является овражной и как быстро будет сходиться метод.

27. Чему равно число обусловленности для сферической квадратичной функции?

Ответ:

28. Как ведёт себя число обусловленности для сильно овражных задач?

Ответ:

29. Как влияет большое число обусловленности на сходимость метода?

Ответ:

Метод сходится медленно и может проявлять численную нестабильность.

30. Как можно улучшить работу метода сопряжённых градиентов при плохой обусловленности?

Ответ:

Использовать предобуславливание.

Краткий вывод для экзамена

Ответ одной фразой:

Метод сопряжённых градиентов — это эффективный метод оптимизации, использующий взаимно сопряжённые направления и обладающий конечной сходимостью в квадратичном случае.