Skip to content

rgctlln/optimization_lab2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Лабораторная работа №2 — Продвинутые методы

Основной язык/среда: Python 3, Jupyter Notebook, Google Colab
(Можно использовать Julia, Mojo, C++ и т.д.)

Работа выполняется индивидуально или в группе 2–4 человека.
По результатам необходимо подготовить отчёт с:

  • постановкой задачи,
  • описанием используемых методов,
  • реализацией (или ссылкой на неё),
  • результатами исследования: графики, таблицы, анализ,
  • сравнением методов, преимуществами и ограничениями.

Структура

Основное задание: реализация методов

  1. Метод Ньютона с выбором шага и одномерным поиском (любой метод).
  2. Методы из scipy.optimize: Newton-CG и один-два квазиньютоновских.

Используемые гиперпараметры должны быть вынесены в интерфейс метода.
Желательно предусмотреть ограничение числа итераций и другие предохранители.


Исследование

Объект

Функции со сложным поведением (можно из 1-й лабораторной).

Суть

Сравнение эффективности реализованных и библиотечных методов.
Критерии сравнения:

  • количество итераций;
  • число вычислений функции, градиента, гессиана;
  • достижение критерия остановки.

Допускаются ситуации, где продвинутые методы работают хуже.
Можно добавить метод Нелдера-Мида (scipy.optimize).


Дополнительные задания

1. Квазиньютоновский метод

  • Реализовать самостоятельно или разобрать стороннюю реализацию.
  • Проанализировать и доработать.
  • Интегрировать в проект и сравнить по эффективности.

2. Оптимизация гиперпараметров

  • Использовать optuna на функциях из 1-й и 2-й лабораторных.
  • Найти более удачные значения гиперпараметров.

Оформление отчёта

Описание методов

  • Указать: собственный/библиотечный метод.
  • Источник библиотеки, если используется.
  • Алгоритмические особенности: гиперпараметры и т.д.
  • Технические особенности: например, мемоизация.

Графики

  • Линии уровня и траектории методов.
  • 2D-графики (или 3D).

Результаты

Для каждого метода указать:

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

Критерии оценивания (по 5 баллов)

  1. Работоспособность и качество кода
  2. Полнота отчёта
  3. Знание теории
  4. Доп. задание 1
  5. Доп. задание 2

Максимум: 25 баллов

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published