This repository contains seminars resources for the course "Optimization methods" for the 3-rd year students of Department of Control and Applied Mathematics, MIPT. Every seminar presents brief review of necessary part of theory covered in lectures and examples of standard tasks for considered topic. Also after every seminar students have home assignment which has to be submitted in LaTeX or Jupyter Notebook format before deadline.
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.
-
Introduction (ru, en). Demo of convex optimization power (ru, en)
-
Projection onto set, separation, support hyperplane (ru, en)
-
Feasible direction cone, tangent cone, sharp extremum (ru, en)
-
Conjugate functions (ru, en) + smoothing demo
The list of questions (ru) about topics in Fall term part of the course that students have to answer to pass the exam.
-
Numerical optimization methods: introduction, convergence speed, classes of methods, black box model, one-dimensional optimization (ru, en)
-
Unconstrained optimization problems
-
Linear programming
-
Constrained optimization problems
The list of questions (ru) about topics in Spring term part of the course that students have to answer to pass the exam.
- Least squares problem (ru, en)
- Nesterov's method and ODE (ru, en)
- Sequential quadratic programming
- Theory of optimal methods and lower complexity bounds
- Mirror descent
- Gradient descent and beyond
- Optimization methods on Riemanien manifolds
- Structured optimization with sparsity conditions
- Proximal methods (ru, en)
- Submodular optimization
- ...
-
Y.E. Nesterov. Introductory lectures on convex optimization: A basic course
-
Lecture notes on Modern Convex Optimization by A. Nemirovski
If you want to send pull-request, please read the following instruction