### Optimization Course

 Department of Computer Science, Technion Lecturer:    Dr. Michael Zibulevsky,  mzibul@gmail.comDiscussion Group:  Optimization and Deep Learning Technion 2021https://techwww.technion.ac.il/tech_ident/ FLIPPED CLASSROOM: Video-lecture based course CS-236330מבוא לאופטימיזציה 236330 Introduction to Optimization Computer Science,  3 academic pointsSpring semester 2020/2021, Zoom Lecture: Mon,  16:30 - 18:30, https://technion.zoom.us/j/184212013Zoom Tutorial:  Mon 13:30 - 14:30, Nadav:  Mon  18:30 - 19:30, Roy:      https://technion.zoom.us/j/93300284206YouTube video lectures: see below  Snapshots (slides) Assistants:     Roy Velich:          royve@campus.technion.ac.il    Nadav Salam      NadavHaMetargel@gmail.com    Michael Nagli     nagli@campus.technion.ac.il

We use a FLIPPED CLASSROOM approach:
Students
watch pre-recorded lectures and tutorials on YouTube,
and discuss them in the virtual class on Zoom.
There is a real possibility that the course will take place on the
Coursera base

Course requirements

•  7 homework exercises, partially in MATLAB or Python (30% of the grade)
in pairs or individually, up to the student's decision. Each student has to create
screen-recording videos with an oral explanation of the homework results.
•  Final exam (70% of the grade): The dates of the exam will appear a bit later

Announcements

Approximate split by weeks:

Introduction and Linear Algebra refresh  (watch at home before Class 1)

- Gradient and Hessian of Multivariate Function
- Convexity and optimality

Zoom Lecture 13, Conic Programming--2, 01.07.2020
Optionally: Conic Programming 2, Class 25 06 2019, especially starting from 42:55

Course Outline

The field of optimization is concerned with the study of maximization and minimization of mathematical functions of one or many variables. Very often the variables are subject to side conditions or constraints (so-called constrained optimization problems). By great utility in such diverse areas as applied science, engineering, economics, finance, medicine, and statistics, optimization holds an important place in the practical world and the scientific world. Indeed, as far back as the Eighteenth Century, the famous mathematician Leonhard Euler proclaimed that . . . nothing at all takes place in the Universe in which some rule of maximum or minimum does not appear.

Very often it is impossible to find an analytical solution to an unconstrained or constrained optimization problem, however, there are efficient numerical algorithms that approach solution iteratively. Optimization algorithms constitute the central part of our course. We will also learn how to check, whether an optimal solution has been achieved (optimality conditions for constrained and unconstrained problems) and duality theory (Lagrange multiplier representation).

In the final part of the course, we will learn a modern topic: Conic optimization, which includes Semidefinite Programming - optimization over the set of positive-semidefinite matrices. This field has great importance in modern science and engineering.

Lecture 1a, Introduction; Examples of unconstrained and constrained optimization problems:
Lecture 1b, Linear algebra refresh:
Lecture 2-3: Derivatives of multivariate functions: Gradient and Hessian
Lecture 4-5: Convex sets and functions
Lecture 6. Local and global minimum.  Sufficient and necessary unconstrained optimality conditions
Lecture 7 (in Hebrew).  Optimality conditions; iterative methods of one-dimensional optimization  (line search).
Lecture 8  Iterative methods of multivariate unconstrained optimization
Lecture 9 More on Newton method
Lecture 10 Method of Conjugate Gradients 1
Lecture 11 Method of Conjugate Gradients 2
Lecture 12 Sequential subspace optimization (SESOP) method and Quasi-Newton BFGS
Lecture 13. Summary of unconstrained optimization. Optimization with constraints
Lecture 14 Lagrange multipliers and penalty function method. Augmented Lagrangian
Lecture 15 Minimax theorem, game theory, and Lagrange duality

Lecture 16 Conic programming 1  (in particular, semidefinite programming)
Lecture 16b-17 Conic programming 2
Homework on analytical and numerical computation of gradient and Hessian
Penalty method for semidefinite programming and homework on linear matrix approximation

Literature

 Basic References Jorge Nocedal, Stephen J. Wright, "Numerical Optimization" (1999)D. Bertsekas, "Nonlinear Programming", Second Edition (1999)S. Boyd, L. Vandenberghe, "Convex Optimization". Old Tutorial book by my former assistant Dori Peleg:  Tutorial book (2005)   Additional References Gilbert Strang, Video-lectures on  Linear Algebra,   MIT,   https://www.youtube.com/playlist?list=PLE7DDD91010BC51F8    http://ocw.mit.edu/OcwWeb/Mathematics/18-06Spring-2005/CourseHome/index.htm ,         http://videolectures.net/gilbert_strang/Gilbert Strang, Video-lectures  on  Computational Methods in Science and Engineering I - Fall 2007 Dori Peleg,

 Matlab Code Status Tutorial Status Unconstrained GUI Code Available Unconstrained GUI tutorial Available Constrained GUI Code Available Constrained GUI tutorial Available

Freemat   -  a free Matlab-like coding environment

Numerical Recipes - Books Online

====================================================================================

Contents of the video lectures

Lecture 1a, Introduction; Examples of unconstrained  and constrained optimization problems:

Linear regression
Function approximation with feed-forward neural network
Resource assignment with Linear Programming

Lecture 1b, Linear algebra refresh:

Linear and affine subspace;

Lp norm of a vector
Matrix norms
Inner product of matrices
Eigenvalue decomposition
Matrix polynomials and  functions
Positive (semi) definite matrices

Lecture 2-3: Derivatives of multivariate functions: Gradient and Hessian

Total differential and gradient
Level sets and directional derivatives
Hessian matrix
Second directional derivative
Example: Gradient and Hessian of linear and quadratic function
Taylor expansion of multivariate functions
Gradient of a function of a matrix
Example: Gradient of  a neural network

Lecture 4-5: Convex sets and functions

Definition of convex set and function.

Properties of convex sets
Properties of convex functions
Extended value functions
Epigraph
Convex combination and convex hull
Jensen inequality
Gradient inequality. Hessian of a convex function is positive (semi) definite

Lecture 6. Local and global minimum.  Sufficient and necessary unconstrained optimality conditions

Lecture 7 (in Hebrew).  Optimality conditions; iterative methods of one-dimensional optimization  (line search).

Optimality conditions

One-dimensional optimization, Bisection method
Golden section method
Cubic interpolation method

Note: First part of  Lecture 7 (optimality conditions) repeats in Hebrew  the second part of Lecture 6.

Lecture 8  Iterative methods of multivariate unconstrained optimization

General line search method
Choice of step size: Exact optimization, Backtracking,  Armijo stopping rule
Steepest descent (gradient descent)
Newton method

Lecture 9 More on Newton method

Newton method for nonlinear equations
Modified Newton method: enforcing descent direction
Solving symmetric system of equations via Cholesky factorization
Least-squares problem: Gauss-Newton and  LevenbergMarquardt methods

Lecture 10 Method of Conjugate Gradients 1

Motivation
Scalar product, definition  and examples
Gram-Schmidt orthogonalization
Q-conjugate (Q-orthogonal) directions
Minimization of a quadratic function using conjugate directions

Lecture 11 Method of Conjugate Gradients 2

Derivation of the method of Conjugate Gradients
Summary of CG method
Convergence rate of CG
Preconditioning
Truncated Newton method
Computational burden to compute function, gradient and Hessian-vector product is about the same

Lecture 12 Sequential subspace optimization (SESOP) method and Quasi-Newton BFGS

SESOP method
Fast optimization over subspace
Quasi-Newton methods
How to approximate Hessian
Approximation of inverse Hessian, Sherman-Morrison formula
Broyden family Quasi-Newton methods, DFP, BFGS
Initialization and convergence properties

Lecture 13. Summary of unconstrained optimization. Optimization with constraints

Summary of unconstrained optimization
Constrained optimization, optimality conditions
Karush - Kuhn - Tucker (KKT) first order optimality conditions
Penalty function method

Lecture 14 Lagrange multipliers and penalty function method. Augmented Lagrangian

Lagrange multipliers via penalty function method
Penalty for equality constraints
Barrier method
Augmented Lagrangian method (or method of multipliers)
Augmented Lagrangian for equality constraints
Optimal solution in one step, when multipliers are known

Lecture 15 Minimax theorem, game theory and Lagrange duality

Introduction
Minimax theorem
Game interpretation of Minimax
Minimax of Lagrangian;
Dual problem and  weak duality
Strong duality
Slayter condition for strong duality
Examples of dual problems:
Linear program

Lecture 16 Conic programming 1

Introduction
Examples of cones - R^n+, Lorenz cone, cone of positive semidefinite matrices
Semidefinite programming (SDP)
Dual cone , Dual conic problem, weak duality
Strong conic duality and complementarity slackness
Example: Dual SDP problem
Minimax problem
Chebyshev approximation

Lecture 16b-17 Conic programming 2

Continue with Chebyshev approximation, which starts at
Complex Chebyshev approximation
Conversion of different problems to SDP
Lemma of Schur complement
Minimize maximal eigenvalue of symmetric matrix
Linear matrix approximation
Expression of Linear program via SDP
Conic quadratic program via SDP
Barrier method for solution of conic programming problem
Examples of barriers
Matrix functions
Gradient of trace of matrix function
Gradient of the barrier log det A (x)

Homework on analytical and numerical computation of gradient and Hessian

Penalty method for semidefinite programming and homework on linear matrix approximation

==============================================================================================

Contents of the video lectures (time pointers included)

Lecture 1a, Introduction; Examples of unconstrained  and constrained optimization problems:

Linear regression   (slides 10:08, 11:56)
Function approximation with feed-forward neural network    12:15  (slides 16:15, 24:44, 27.21)
Resource assignment with Linear programming  27:40 (slides 33:02, 35:42)

Lecture 1b, Linear algebra refresh:

Linear and affine subspace;  0:0 (slides 05:39, 07:07

Lp norm of a vector 7:24 (slides 9:44 13:45
Matrix norms - 14:52 (slides 18:29)
Inner product of matrices - 19:30 (slides  22:40)
Eigenvalue decomposition -23:15 (slides 29:20, 31:47)
Matrix  polynomials and  functions  31:45 (35:12, 40:25)
Positive (semi) definite matrices - 41:17 (slides 45:41)

Lecture 2-3: Derivatives of multivariate functions: Gradient and Hessian

Total differential and gradient -  0:0 (slides 5:14, 13:16)
Level sets and directional derivatives - 13:17 (slides 23:07)
Hessian matrix - 23:20 (slides 28:50, 33:54)
Second directional derivative - 34:45  (slides 35:55)
Example: Gradient and Hessian of linear and quadratic function -39:04 (slides 39:04)
Taylor expansion of multivariate functions 46:30 (slides 52:56)
Gradient of a function of a matrix - 53:23 (slides 58:54)
Example: Gradient of  a neural network  58:56 (slides 1:09:43)

Homework - 1:09:45

Lecture 4-5: Convex sets and functions

Definition of convex set and function. Properties of convex sets - 0:0 (slides 03:05, 9:15, 9:53, 19:10)
Properties of convex functions - 19:10 (slides 20:52, 26:15)
Extended value functions - 26:41     (slides 31:22)
Epigraph - 31:31 (slides 34:34)
Convex combination and convex hull 34:38 (slides 37:18)
Jensen inequality 39:02 (slides 43:24)
Gradient inequality. Hessian of a convex function is positive (semi) definite 43:28  (slides 47:47)

Lecture 6. Local and global minimum.  Sufficient and necessary unconstrained optimality conditions

(slides 2:10, 7:54, 12:24, 17:34, 21:55)

Lecture 7 (in Hebrew).  Optimality conditions; iterative methods of one-dimensional optimization  (line search).

Optimality conditions - 0:0

One-dimensional optimization, Bisection method 13:13 (slides 23:13)
Golden section method 23:17 (slides 32:02)
Quadratic interpolation method 32:04 (slides 36:39, 43:22, 47:00)
Cubic interpolation method 47:04 (slides 51:07, 57:35)

Note: First part of  Lecture 7 (optimality conditions) repeats in Hebrew  the second part of Lecture 6.

Lecture 8  Iterative methods of multivariate unconstrained optimization

General line search method 0:0 (slides 05:40)
Choice of step size: Exact optimization, Backtracking,  Armijo stopping rule 5:53 (slides 17:05, 20:44)
Steepest descent (gradient descent) 20:55 (slides 36:07)
Newton method 36:22 (slides 45:18, 56:04)

End - 56:15 (after this time - garbage from  previous lecture)

Lecture 9 More on Newton method

Newton method for nonlinear equations 0:0 (slides 5:28, 8:24)
Modified Newton method: enforcing descent direction  8:26 (slides 15:54)
Solving symmetric system of equations via Cholesky factorization 15:58 (slides 22:35, 28:39)
Least-squares problem: Gauss-Newton and  LevenbergMarquardt methods 28:44 (slides 33:39, 43:02, 52:27, 54:18)

Lecture 10 Method of Conjugate Gradients 1

Motivation 0:0
Scalar product, definition 4:47 (slide on 8:53), and examples 8:56 (slides 13:00)
Gram-Schmidt orthogonalization 13:07 (slides 21:13)
Q-conjugate (Q-orthogonal) directions 21:18 (slides 26:24)
Minimization of a quadratic function using conjugate directions 26:30 (slides 36:14 or 38:13)
Expanding manifold property 38:10 (slides 48:53 and 50:58)

Lecture 11 Method of Conjugate Gradients 2

Derivation of the method of Conjugate Gradients 0:0 (slides 5:34, 12:11, 19:32)
Summary of CG method 19:33 (slides 27:06)
Convergence rate of CG 27:08 (slides 32:57)
Preconditioning  32:58 (slides 44:03)
Truncated Newton method 44:04 (slide 50:20)
Computational burden to compute function, gradient and Hessian-vector product is about the same 50:20 (slides 52:36, 57:14)

Lecture 12 Sequential subspace optimization (SESOP) method and Quasi-Newton BFGS

SESOP method 0:42  (slides 7:35)
Fast optimization over subspace  7:37 (slides 15:36)
Quasi-Newton methods 15:37  (slides 22:42)
How to approximate Hessian 22:43 (slide 32:24 )
Approximation of inverse Hessian, Sherman-Morrison formula 32:25 (slide 37:43)
Broyden family Quasi-Newton methods, DFP, BFGS  37:44  (slides  41:06, 44:10, 47:01 )
Initialization and convergence properties  47:02  (slide 53:26 )

Lecture 13. Summary of unconstrained optimization. Optimization with constraints

Summary of unconstrained optimization 0:0 (slide 4:59, one-dimensional methods)
Multivariate methods 05:03 (slides 13:47, 15:41)
Constrained optimization, optimality conditions 15:44 (slides 19:02, 26:32; 30:02)
Karush - Kuhn - Tucker (KKT) first order optimality conditions 30:06 (slide 35:03 )
Penalty function method 35:05 (slides 48:36, 54:44, 57:29)

Lecture 14 Lagrange multipliers and penalty function method. Augmented Lagrangian

Lagrange multipliers via penalty function method 0:0 (slides 5:54, 16:30 )
Penalty for equality constraints 16:36 (slides penalty 21:08; optimality conditions 24:39)
Barrier method 24:44 (slide 32:24)
Augmented Lagrangian method (or method of multipliers) 32:28 (slides 41:55, 48:40, 51:08)
Augmented Lagrangian for equality constraints 51:11 (slides 53:44)
Optimal solution in one step, when multipliers are known 53:55 (slides 01:02:13 )

Lecture 15 Minimax theorem, game theory and Lagrange duality

Introduction 0:0
Minimax theorem 1:19  (slides 6:16)
Game interpretation of minimax 6:20 (slides 12:07)
Saddle point theorem 12:12 (slides 19:03)
Minimax of Lagrangian;  weak duality  19:08 (slides 29:07)
Dual problem and  weak duality  29:19 (slides 30:39)
Strong duality 30:43 (slides 39:14, 43:03)
Slayter condition for strong duality 43:10 (slides 44:33)
Examples of dual problems:
Quadratic program 44:38 (slides 49:26)
Linear program 49:40 (slides 57:48)
Garbage 58:36 -- till end (01:02:24)

Lecture 16 Conic programming 1

Introduction 0:0 (slides 13:43)
Examples of cones - R^n+, Lorenz cone, cone of positive semidefinite matrices13:50 (slides 24:45)
Semidefinite programming (SDP) 24:49 (slides 28:40)
Dual cone 28:43 (slides 33:46, 39:33)
Dual conic problem, weak duality  39:37  (slides 47:26)
Strong conic duality and complementarity slackness  47:34  (slides 56:52)
Example: Dual SDP problem 57:02 (slides 1:05:45)
Minimax problem 1:05:52  (slides 1:13:17, 1:16:12)
Chebyshev approximation 1:16:14 (slides  in the next video, 2:10)

Lecture 16b-17 Conic programming 2

Continue with Chebyshev approximation, which starts at 1:16:14 of the previous video (slides  2:10)
Complex Chebyshev approximation 02:16 (slides 15:25, 18:40)
Conversion of different problems to SDP 18:51
Lemma of Schur complement  19:21 (slides 25:14)
Minimize maximal eigenvalue of symmetric matrix 25:18 (slides 31:33)
Linear matrix approximation 31:36 (slides 43:40)
Expression of Linear program via SDP 43:43 (slides 45:39)
Conic quadratic program via SDP 45:40 (slides 49:57)
Barrier method for solution of conic programming problem 50:06 (slides 57:26)
Examples of barriers 57:29  (slides 1:03:12)
Matrix functions 1:03:16 (slides 1:14:53, 1:17:05)
Gradient of trace of matrix function 1:17:09 (slides 1:25:24)
Gradient of log det A  1:25:28 (slides 1:28:28)
Gradient of log det barrier 1:28:31 (slides 1:31:30)

Homework on analytical and numerical computation of gradient and Hessian ( file opt_hw_Grad_Hess_compr.avi )

Slides 5:42 6:39 10:12 15:55

Penalty method for semidefinite programming and homework on linear matrix approximation
( file SDP_penalty_method_compress.avi)

slides 3:20 3:26 10:46 11:09 18:39

mzib@cs.technion.ac.il