Continuous optimization
MATH-329
Media
Lecture 12c - What’s wrong with quadratic penalties?
10.02.2025, 12:14
Lecture 12d - Augmented Lagrangian methods
10.02.2025, 12:16
Lecture 12b - A basic theorem for penalty methods
10.02.2025, 12:12
Lecture 12a - Quadratic penalty methods
10.02.2025, 12:10
- Announcements (Forum)
- Lecture notes (last update: Dec. 17, 2025) (File)
- What to expect for the final exam of MATH 329 in Jan. 2026 (File)
- Textbook: Numerical Optimization by Nocedal and Wright (URL)
- MediaSpace channel (2024 video lectures) (URL)
- Video tutorials about Matlab, by Prof. Simone Deparis (URL)
- "Learn X with Y" page about Matlab (URL)
- Vectorize your code (it's a small part of the grade for homework) (URL)
- Partial list of other EPFL courses about optimization / using optimization (URL)
- Scripts to learn important Matlab features (Folder)
o Form groups of three on Moodle before lecture in week 2 if you have preferences, and we will propose random assignments to complete groups where needed.
o HW is done in groups, but I highly recommend that you all learn all aspects of the assignments.
o Expect 3 homework assignments.
o You get ~3-4 weeks for each. They are a lot of work: get to them early.
o First one distributed in week 2 (tbc).
First lecture: intro to the course, then most of Chapters 1 and 2 from the lecture notes. Except for applications and things that have to do with second-order derivatives (Hessians), consider that everything else in those chapters that we have not talked about yet is part of general background that you should be (or become) comfortable with (especially multivariate calculus and linear algebra).
- Form groups of 3 for homework assignments (Group choice)
- Exercises 1 (File)
- Solutions 1 (File)
- Operational Research: Methods and Applications (URL)
- Blackboard pictures (2024) (Folder)
- Exercises 2 (File)
- Solutions 2 (Folder)
- Matlab code for contour plots (File)
- Proof that "twice differentiable at a point" implies Hessian is symmetric (just in case you are curious) (File)
- Blackboard pictures (2024) (Folder)
- Exercises 4 (File)
- Solutions 4 (File)
- Blackboard pictures (2024) (Folder)
- Blackboard pictures (2025) (Folder)
- Code for multidimensional Rosenbrock (Folder)
- Exercises 5 (File)
- Solutions 5 (File)
- Blackboard pictures (2024) (Folder)
- Exercises 6 (File)
- Solutions 6 (File)
- Blackboard pictures (2024) (Folder)
- Blackboard pictures (2025) (Folder)
Break
28 October - 3 November
4 November - 10 November
- Exercises 8 (File)
- Solutions 8 (File)
- Blackboard pictures (2024) (Folder)
- Blackboard pictures (2025) (Folder)
11 November - 17 November
- Exercises 9 (File)
- Solutions 9 (File)
- Blackboard pictures (2024) (Folder)
- Blackboard pictures (2025) (Folder)
18 November - 24 November
- Exercises 10 (File)
- Solutions 10 (File)
- Blackboard pictures (2024) (Folder)
- Blackboard pictures (2025) (Folder)
25 November - 1 December
- Exercises 11 (File)
- Solutions 11 (File)
- Blackboard pictures (2024) (Folder)
- Blackboard pictures (2025) (Folder)
2 December - 9 December
So far, for constrained optimization, we have only discussed one algorithm: projected gradient descent. That is fine if the constraint set S is convex and easy-to-project-to, but that leaves a lot to be desired.
For a few weeks now, we have discussed the case where S is described by equality and inequality constraints (h(x) = 0 and g(x) <= 0). Can we design algorithms that would handle those?
The answer is yes, but it is a bit subtle. We will discuss two different methods: a first, fairly obvious one; then a second, more advanced one that tries to address the shortcomings of the obvious idea.
- Lecture 12a, Quadratic penalty methods, 27 minutes
- Lecture 12b, A basic theorem for penalty methods, 20 minutes
- Lecture 12c, What's wrong with quadratic penalties?, 21 minutes
- Lecture 12d, Augmented Lagrangian methods, 20 minutes
- Exercises 12 (File)
- Solutions 12 (File)
- Solutions 12 code (File)
- Blackboard pictures (2024) (Folder)
- Codes used during lecture (Folder)
9 December - 15 December
This week, we consider a few different optimization software packages for Matlab. The lecture is an interactive software demo, and the exercise session gives you a chance to explore that software.
If you want to try things out for yourself during lecture, it's useful if you install the following ahead of time:
CVX: http://cvxr.com/cvx/download/ : unzip then run cvx_setup
Manopt: https://www.manopt.org/downloads.html : unzip then run importmanopt
Example scripts are below.
- power plants (File)
- optim on circle (File)
- rosenbrock 2D (File)
- optim on disk (File)
- smallest ball (File)
- Lecture 13 (File)
16 December - 20 December
Basics of semidefinite programming, and illustration with Max-Cut.