/optimization_course

A course on Optimization Methods

Primary LanguageJupyter NotebookMIT LicenseMIT

Optimization Methods

This repository contains seminars resources for the course "Optimization methods" for the 3-rd year students of Department of Control and Applied Mathematics. Every seminar presents brief review of necessary part of theory covered in lectures and examples of standard tasks for considered topic.

The main tool in development of efficient optimization methods is numerical linear algebra. To refresh your knowledge, you can use the crash course (ru, en).

Almost all numerical tests in this repository are performed with liboptpy library, where you can find easy to use implementations of different optimization methods. Also we use CVXPY 1.0 for comparison purpose.

Fall term

Questions

The minimum list of questions (ru) on the topics in Fall term.

Spring term

  • Preliminary

    • Disciplined convex programming and autograd with PyTorch (ru Open In Colab, en)
    • Demo of convex optimization power (ru Open In Colab, en)
  • 2017-2019

  • 2020

  • 2021

  • 2022

Questions

The minimum list of questions (ru) on topics of Spring term.

Advanced and additional topics

  1. Nesterov's method and ODE (ru, en)
  2. Sequential quadratic programming
  3. Theory of optimal methods and lower complexity bounds
  4. Mirror descent
  5. Optimization methods on Riemanien manifolds
  6. Structured optimization with sparsity conditions
  7. Submodular optimization

References

Books, lecture notes and blogs

Related courses

Contributing

If you want to send pull-request, please read the following instruction