Convex Optimization: Theory, Algorithms, and Applications

This course covers the fundamentals of convex optimization. We will talk about mathematical fundamentals, modeling (how to set up optimization problems for different applications), and algorithms.

Instructor: Justin Romberg

Download the syllabus

Go to Piazza

Course Notes

(Notes will be posted here shortly before lecture.)

Notes 1, introduction and examples (also: intro slides)

Convexity
Notes 2, convex sets
Notes 3, convex functions

Unconstrained Minimization
Notes 4, existence and uniqueness of unconstrained solutions, line search
Notes 5, gradient descent
Notes 6, accelerated gradient descent
Notes 7, Newton’s method
Notes 8, subgradients
Notes 9, proximal algorithms

Constrained Minimization
Notes 10, geometric constrained minimization
Notes 11, the KKT conditions; also optimal power allocation exercise
Notes 12, Lagrange duality
Notes 13, Fenchel duality
Notes 14, basic algorithms for constrained optimization
Notes 15, alternating primal dual methods

Further Topics
Notes 16, distributed optimization
Notes 17, decentralized optimization
Notes 18, convex relaxations
Notes 19, stochastic gradient descent
Notes 20, minimax strategies for matrix games