What is Convex Optimization?

Convex optimization is a special class of mathematical optimization problems, which includes least-squares and linear programming problems.

There are many advantages to recognizing or formulating a problem as a convex optimization problem. First, the problem can be solved reliably and efficiently, using interior-point methods or other special methods for convex optimization. There are also theoretical or conceptual advantages of formulating a problem as a convex optimization problem.

Mathematical Optimization

An optimization problem has the form:

\begin{align} \label{dfn:optimization} &\text{minimize} &f_0(x) \\
&\text{subject to} &f_i(x) \le b_i, i = 1, \dots, m \end{align}

Here the vector \(x = (x_1, \dots, x_n)\) is the optimization variable of the problem, the function \(f_0 : \mathbb{R^n} \rightarrow \mathbb{R}\) is the objective function, \(f_i \mathbb{R^n} \rightarrow \mathbb{R}\) are the (inequality) constraint functions, and the constants \(b_1, \dots, b_m\) are the limits, or bounds, for the constraints.

We consider families or classes of optimization problems, characterized by particular forms of the objective and constraint functions. The optimization problem is a linear program if the objective and constraint functions \(f_0, \dots, f_m\) are linear.