Цель и задачи курса: познакомить студентов с основными подходами и методами решения вычислительно сложных (NP-сложных и NP-трудных) задач. В результате освоения материалов курса студенты смогут проводить обоснованный анализ различных подходов к решению конкретной задачи, выбирать наиболее подходящий метод решения и эффективно реализовывать выбранный метод в виде программы.


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


Курс включает в себя следующие разделы:

  1. Переборные методы решения (метод "грубой силы", метод ветвей и границ).

  2. Параметризованные алгоритмы.

  3. Приближённые алгоритмы с оценкой точности.

  4. Вероятностные и эвристические алгоритмы.