Wikipedia / Convex optimization
Wikipedia / Convex optimization
Convex optimization is a subfield of mathematical optimization that studies the problem of minimizing convex functions over convex sets (or, equivalently, maximizing concave functions over convex sets). Many classes of convex optimization problems admit polynomial-time algorithms, whereas mathematical optimization is in general NP-hard.
Definition
Abstract form
A convex optimization problem is defined by two ingredients:
The objective function, which is a real-valued convex function of n;
The feasible set, which is a convex subset.
attaining
.
In general, there are three options regarding the existence of a solution:
If such a point x* exists, it is referred to as an optimal point or solution; the set of all optimal points is called the optimal set; and the problem is called solvable.
, or the infimum is not attained, then the optimization problem is said to be unbounded.
is the empty set, then the problem is said to be infeasible.
Standard form
A convex optimization problem is in standard form if it is written as
where:
is the vector of optimization variables;
is a convex function;
, are convex functions;
, are affine transformations is a scalar.
is convex, the sublevel sets of convex functions are convex, affine sets are convex, and the intersection of convex sets is convex.
Many optimization problems can be equivalently formulated in this standard form. For example, the problem of maximizing a concave function. The problem of maximizing a concave function over a convex set is commonly called a convex optimization problem.
Epigraph form (standard form with linear objective)linear
In the standard form it is possible to assume, without loss of generality, that the objective function f is a linear function. This is because any program with a general objective can be transformed into a program with a linear objective by adding a single variable t and a single constraint, as follows:
Conic form
Every convex program can be presented in a conic form, which means minimizing a linear objective over the intersection of an affine plane and a convex cone:
where K is a closed pointed convex cone, L is a linear subspace of Rn, and b is a vector in Rn. A linear program in standard form is the special case in which K is the nonnegative orthant of Rn.
Eliminating linear equality constraints
It is possible to convert a convex program in standard form, to a convex program with no equality constraints. Denote the equality constraints hi(x)=0 as Ax=b, where A has n columns. If Ax=b is infeasible, then of course the original problem is infeasible. Otherwise, it has some solution x0 , and the set of all solutions can be presented as: Fz+x0, where z is in Rk, k=n-rank(A), and F is an n-by-k matrix. Substituting x = Fz+x0 in the original problem gives: where the variables are z. Note that there are rank(A) fewer variables. This means that, in principle, one can restrict attention to convex optimization problems without equality constraints. In practice, however, it is often preferred to retain the equality constraints, since they might make some algorithms more efficient, and also make the problem easier to understand and analyze.
Special cases
The following problem classes are all convex optimization problems, or can be reduced to convex optimization problems via simple transformations:
Linear programming problems are the simplest convex programs. In LP, the objective and constraint functions are all linear.
Quadratic programming are the next-simplest. In QP, the constraints are all linear, but the objective may be a convex quadratic function.
Second order cone programming are more general.
Semidefinite programming are more general.
Conic optimization are even more general - see figure to the right,
Other special cases include;
Entropy maximization with appropriate constraints.
Properties
The following are useful properties of convex optimization problems:
every point that is local minimum is also a global minimum;
the optimal set is convex;
if the objective function is strictly convex, then the problem has at most one optimal point.
These results are used by the theory of convex minimization along with geometric notions from functional analysis (in Hilbert spaces) such as the Hilbert projection theorem, the separating hyperplane theorem, and Farkas' lemma.
Algorithms
Unconstrained and equality-constrained problems
The convex programs easiest to solve are the unconstrained problems, or the problems with only equality constraints. As the equality constraints are all linear, they can be eliminated with linear algebra and integrated into the objective, thus converting an equality-constrained problem into an unconstrained one.
In the class of unconstrained (or equality-constrained) problems, the simplest ones are those in which the objective is quadratic. For these problems, the KKT conditions (which are necessary for optimality) are all linear, so they can be solved analytically.
For unconstrained (or equality-constrained) problems with a general convex objective that is twice-differentiable, Newton's method can be used. It can be seen as reducing a general unconstrained convex problem, to a sequence of quadratic problems.Newton's method can be combined with line search for an appropriate step size, and it can be mathematically proven to converge quickly.
Other efficient algorithms for unconstrained minimization are gradient descent (a special case of steepest descent).
General problems
The more challenging problems are those with inequality constraints. A common way to solve them is to reduce them to unconstrained problems by adding a barrier function, enforcing the inequality constraints, to the objective function. Such methods are called interior point methods.They have to be initialized by finding a feasible interior point using by so-called phase I methods, which either find a feasible point or show that none exist. Phase I methods generally consist of reducing the search in question to a simpler convex optimization problem.
Convex optimization problems can also be solved by the following contemporary methods:
Bundle methods (Wolfe, Lemaréchal, Kiwiel), and
Subgradient projection methods (Polyak),
Interior-point methods, which make use of self-concordant barrier functions and self-regular barrier functions.
Subgradient methods can be implemented simply and so are widely used. Dual subgradient methods are subgradient methods applied to a dual problem. The drift-plus-penalty method is similar to the dual subgradient method, but takes a time average of the primal variables.
Lagrange multipliers
is:
The Lagrangian function for the problem is
called Lagrange multipliers, that satisfy these conditions simultaneously:
(complementary slackness).
satisfying
.
satisfies (1)–(3) for scalars.
Software
There is a large software ecosystem for convex optimization. This ecosystem has two main categories: solvers on the one hand and modeling tools (or interfaces) on the other hand.
Solvers implement the algorithms themselves and are usually written in C. They require users to specify optimization problems in very specific formats which may not be natural from a modeling perspective. Modeling tools are separate pieces of software that let the user specify an optimization in higher-level syntax. They manage all transformations to and from the user's high-level model and the solver's input/output format.
Below are two tables. The first shows modelling tools (such as CVXPY and JuMP.jl) and the second shows solvers (such as SCS and MOSEK). They are by no means exhaustive.
Applications
Convex optimization can be used to model problems in a wide range of disciplines, such as automatic control systems, estimation and signal processing, communications and networks, electronic circuit design, data analysis and modeling, finance, statistics (optimal experimental design), and structural optimization, where the approximation concept has proven to be efficient. Convex optimization can be used to model problems in the following fields:
Worst-case risk analysis.
Optimal advertising.
Variations of statistical regression (including regularization and quantile regression).
Model fitting (particularly multiclass classification).
Electricity generation optimization.
Non-probabilistic modelling of uncertainty.
Localization using wireless signals
Extensions
Extensions of convex optimization include the optimization of biconvex, pseudo-convex, and quasiconvex functions. Extensions of the theory of convex analysis and iterative methods for approximately solving non-convex minimization problems occur in the field of generalized convexity, also known as abstract convex analysis.
See also
Notes
References
Hiriart-Urruty, Jean-Baptiste, and Lemaréchal, Claude. (2004). Fundamentals of Convex analysis. Berlin: Springer.
Nesterov, Yurii. (2004). Introductory Lectures on Convex Optimization, Kluwer Academic Publishers
Schmit, L.A.; Fleury, C. 1980: Structural synthesis by combining approximation concepts and dual methods. J. Amer. Inst. Aeronaut. Astronaut 18, 1252-1260
External links
EE364a: Convex Optimization I and EE364b: Convex Optimization II, Stanford course homepages
6.253: Convex Analysis and Optimization, an MIT OCW course homepage
Brian Borchers, An overview of software for convex optimization
Convex Optimization Book by Lieven Vandenberghe and Stephen P. Boyd