convex optimization

(10 hours to learn)


Convex optimization refers to optimizing a convex function over a convex set. It is a very broad class of problems, encompassing widely used techniques such as linear programming, linear least squares, quadratic programming, and semidefinite programming. Convex optimization is important because for reasonable-sized problems, there are efficient algorithms for finding the global optimum.


This concept has the prerequisites:


  • Know the definition of a convex optimization problem
  • Be aware that all local optima to a convex optimization problem are globally optimal
  • Know and be able to apply the first-order optimality condition for the unconstrained case (i.e. the gradient being zero)

Core resources (read/watch one of the following)


Convex Optimization
A graduate-level textbook on convex optimization.
Authors: Stephen Boyd,Lieven Vandenberghe

See also