Algorithms for Nonlinear Optimization

Course CS-236601,  Department of Computer Science , Technion

Spring Semester 2009,   Tuesdays 16:30 – 18::30,  room Taub 201

Lecturer:    Dr. Michael Zibulevsky

mzib@cs.technion.ac.il,    http://ie.technion.ac.il/~mcib/

 

Video lectures here



 

Announcements

 

 

 

13.05.2009

 

 

 

 

 

10.05.2009

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

06.05.2009

 

 

 

 

26.04.2009

 

 

22.04.2009

 

 

22.04.2009

 

 

 

22.04.2009

 

 

 

21.04.2009

 

 

 

21.04.2009

 

13.04.2009

 

 

 

 

12.04.2009

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

12.04.2009

 

 

 

 

 

23.03.2009

 

 

 

 

02.04.2009

 

 

 

 

15.03.2009

 

Homework 10 (by May 19, 2009):

 Make lecture notes of     opt16b_17.avi, and solve examples suggested there for home consideration

 

 

Homework 9  (in MATLAB)  on Constrained Optimization (by May 26, 2009)


1. Create 2D constrained optimization problem with two active  and one inactive inequality constraints,
such that the optimal solution x* is known. Use quadratic and linear functions as  the objective and the constraints.

2. Knowing the optimal solution x*,  solve KKT linear system and find the optimal Lagrange Multipliers

3. Derive the dual problem

4. Solve the original (primal) problem with the Augmented Lagrangian method using Newton method for inner optimization.

Create 4 semilogy subplots showing how the following quantities change with global Newton iterations (X-axis shows total count of Newton iterations   over all unconstrained inner optimizations):

  a) Gradient of the Augmented Lagrangian aggregate
  b) Maximal constraint violation
  c) Residual in the objective function |f(x) -f(x*)|
  d) Distance to the optimal point ||x -x*||  and to the optimal multipliers ||lambda – lambda*||
 
 5. Solve the dual problem with the Augmented Lagrangian method and verify that it's solution coincides with Lagrange multipliers provided by  pp 2 and 4
 
You can use interface similar to   Constrained GUI Code,  see also Constrained GUI tutorial
 
Good luck!

 

Homework 8 (by May 12, 2009):

 Make lecture notes of     opt15.avi and   opt16.avi, and solve examples suggested there for home consideration

 

 

 

Homework 7 (by May 5, 2009):

 Make lecture notes of     opt13.avi and   opt14.avi, and solve examples suggested there for home consideration

 

Now, due to Oded, we have Discussion Group http://groups.google.com/group/tech_opt_09?hl=en

 

Homework 6  - in MATLAB  (by May 5, 2009):

Implement Quasi-Newton BFGS with inexact line search in MATLAB, and test it with the same functions as you did before

With gradient descent and Newton.

By request of the students HW4 is also postponed to May 5.

 

Homework 5    (by April 26, 2009):

 Make lecture notes of     opt11.avi and   opt12.avi, and solve examples suggested there for home consideration

 

 

Some students have technical problems with GUI for unconstrained optimization.  You can just build your code with the interface similar to fminunc.m  , without GUI

 

 

The missed lecture from March 24   will be  accomplished on  Sunday, April 26, 16:30 ,   room, as usual,  TAUB-201

 

 

New Literature links added:  Linear Algebra and Scientific Computing video lectures from MIT

 

 

 

Homework 4 -  MATLAB exercise     (by April 26, 2009):

 

1-2. Implement Gradient Descent method and Newton method based on  Modified Cholesky Factorization.

Use Armijo inexact line search.

 

You can use the Unconstrained GUI Code (see Unconstrained GUI tutorial), or build your code with the interface similar to fminunc.m  from the MATLAB Optimization Toolbox.

 

3. Build an universal  Matlab function which tests user's  gradient/Hessian evaluation function via finite differences

 

4. Test your code with your own well- and  ill-conditioned quadratic  and non-quadratic problems

Show linear/quadratic convergence of function values/gradients on logarithmic scale

(use semilogy plot command; remember to subtract optimal function value before plotting  function convergence)

 
 
Remark:  One of the recommended non-quadratic problems - Rosenbrock function,

See also http://www.kyb.tuebingen.mpg.de/bs/people/carl/code/minimize/rosenbrock.m :

 

   f(x) = sum_{i=1:N-1} 100*(x(i+1) - x(i)^2)^2 + (1-x(i))^2 
 
where N is the dimension of x. The true minimum is 0 at x = (1 1 ... 1).

 

 

 

 

Homework 3    (by April 21, 2009):

 Make lecture notes of    opt09.avi  and   opt10.avi, and solve examples suggested there for home consideration

 

 

 

 

Homework 2: make lecture notes of  opt06_new_compress.avi,   opt07.avi (starting from 13 min 15 sec point),  and opt08.avi ,  and solve examples suggested there for home consideration (note that these lectures have almost no home examples). Be ready to present this work  at the next lecture on April 7, 2009

 

 

Homework 1:     a) make lecture notes of the lectures 1 – 5

                           b) solve examples suggested there for home consideration

 Be ready to present this work  at the next lecture on April 7, 2009

 

 

There will be no lecture on March 24, 2009.  Tentatively, it will be  accomplished on  Sunday, April 26, 16:30

 

 

 
 

Course Outline

Gradient/Hessian calculus in matrix form
Convex sets and functions
One-dimensional optimization methods:  Bisection, Golden Section, Quadratic/Cubic interpolation, Newton method
Unconstrained multidimensional optimization of smooth functions:  Gradient Descent, Newton Method, Conjugate  Gradients, Quasi-Newton, Truncated Newton,  SESOP (Sequential Subspace Optimization)
Optimization with constraints: Optimality conditions, Lagrange duality, Penalty/Barrier and Lagrange Multiplier algorithms.
Conic Programming, Conic duality, Semidefinite programming with penalty/barrier methods 

 

Course requirements:        Project (in MATLAB),   home exercises,    student presentations

Staff

 

Lecturer

 

Name

Michael Zibulevsky

 

Lecture

Tue, 16:30 – 18::30,  Taub 201

 

Reception hours

Tue,  15:00 -  16:00,  Taub 511

 

Telephone

829-3941

 

Literature

Basic References

  • Jorge Nocedal, Stephen J. Wright, "Numerical Optimization" (1999)
  • D. Bertsekas, "Nonlinear Programming", Second Edition (1999)
  • S. Boyd, L. Vandenberghe , "Convex Optimization" (Dec. 2003). Click here for 2 or 4 pages per printed page.
  • Old Tutorial book by my former assistant Dori Peleg:  Tutorial book (2005)

 

Additional References

 

 


 

GUI 

 

Useful Links                                      

                                      Yalmip 3

                                      Arkadi Nemirovski,  Lectures on modern optimization  

                                     Freemat   -  a free Matlab-like coding environment

  Numerical Recipes - Books Online

 

 

Comments:   

mzib@cs.technion.ac.il