Convex optimization explained

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.[1] [2] [3]

Definition

Abstract form

A convex optimization problem is defined by two ingredients:[4] [5]

f:lD\subseteqRn\toR

;

C\subseteqRn

.

The goal of the problem is to find some

x\ast

\inC

attaining

inf\{f(x):x\inC\}

.In general, there are three options regarding the existence of a solution:[6]

f

is unbounded below over

C

, or the infimum is not attained, then the optimization problem is said to be unbounded.

C

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

\begin{align} &\underset{x

}& & f(\mathbf) \\&\operatorname& &g_i(\mathbf) \leq 0, \quad i = 1, \dots, m \\&&&h_i(\mathbf) = 0, \quad i = 1, \dots, p,\end

where:

x\inRn

is the vector of optimization variables;

f:lD\subseteqRn\toR

is a convex function;

gi:Rn\toR

,

i=1,\ldots,m

, are convex functions;

hi:Rn\toR

,

i=1,\ldots,p

, are affine transformations, that is, of the form:

hi(x)=

ai

x-bi

, where
ai
is a vector and

bi

is a scalar.

The feasible set

C

of the optimization problem consists of all points

x\inl{D}

satisfying the inequality and the equality constraints. This set is convex because

l{D}

is convex, the sublevel sets of convex functions are convex, affine sets are convex, and the intersection of convex sets is convex.

f

can be re-formulated equivalently as the problem of minimizing the convex function

-f

. The problem of maximizing a concave function over a convex set is commonly called a convex optimization problem.[7]

Epigraph form (standard form with linear objective)

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:[8]

\begin{align} &\underset{x,t}{\operatorname{minimize}}&&t\\ &\operatorname{subjectto} &&f(x)-t\leq0\\ &&&gi(x)\leq0,i=1,...,m\\ &&&hi(x)=0,i=1,...,p, \end{align}

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:

\begin{align} &\underset{x

}& & c^T x \\&\operatorname& &x \in (b+L)\cap K\endwhere 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 in 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:

\begin{align} &\underset{x

}& & f(\mathbf) \\&\operatorname& &g_i(\mathbf) \leq 0, \quad i = 1, \dots, m \\\end
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:[9]

Other special cases include;

Properties

The following are useful properties of convex optimization problems:[10]

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:[11]

Subgradient methods can be implemented simply and so are widely used.[14] 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

Consider a convex minimization problem given in standard form by a cost function

f(x)

and inequality constraints

gi(x)\leq0

for

1\leqi\leqm

. Then the domain

l{X}

is:

l{X}=\left\{x\inX\vertg1(x),\ldots,gm(x)\leq0\right\}.

The Lagrangian function for the problem is

L(x,λ0,λ1,\ldots,λm)0f(x)+λ1g1(x)+ … +λmgm(x).

For each point

x

in

X

that minimizes

f

over

X

, there exist real numbers

λ0,λ1,\ldots,λm,

called Lagrange multipliers, that satisfy these conditions simultaneously:

x

minimizes

L(y,λ0,λ1,\ldots,λm)

over all

y\inX,

λ0,λ1,\ldots,λm\geq0,

with at least one

λk>0,

λ1g1(x)= … =λmgm(x)=0

(complementary slackness).

If there exists a "strictly feasible point", that is, a point

z

satisfying

g1(z),\ldots,gm(z)<0,

then the statement above can be strengthened to require that

λ0=1

.

Conversely, if some

x

in

X

satisfies (1)–(3) for scalars

λ0,\ldots,λm

with

λ0=1

then

x

is certain to minimize

f

over

X

.

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.

The table below shows a mix of modeling tools (such as CVXPY and Convex.jl) and solvers (such as CVXOPT and MOSEK). This table is by no means exhaustive.

!Program!Language!Description!FOSS?!Ref
CVXMATLABInterfaces with SeDuMi and SDPT3 solvers; designed to only express convex optimization problems.[15]
CVXMODPythonInterfaces with the CVXOPT solver.
CVXPYPython[16]
Convex.jlJuliaDisciplined convex programming, supports many solvers.[17]
CVXRR[18]
YALMIPMATLAB, OctaveInterfaces with CPLEX, GUROBI, MOSEK, SDPT3, SEDUMI, CSDP, SDPA, PENNON solvers; also supports integer and nonlinear optimization, and some nonconvex optimization. Can perform robust optimization with uncertainty in LP/SOCP/SDP constraints.
LMI labMATLABExpresses and solves semidefinite programming problems (called "linear matrix inequalities")
LMIlab translatorTransforms LMI lab problems into SDP problems.
xLMIMATLABSimilar to LMI lab, but uses the SeDuMi solver.
AIMMSCan do robust optimization on linear programming (with MOSEK to solve second-order cone programming) and mixed integer linear programming. Modeling package for LP + SDP and robust versions.
ROMEModeling system for robust optimization. Supports distributionally robust optimization and uncertainty sets.
GloptiPoly 3MATLAB,OctaveModeling system for polynomial optimization.
SOSTOOLSModeling system for polynomial optimization. Uses SDPT3 and SeDuMi. Requires Symbolic Computation Toolbox.
SparsePOPModeling system for polynomial optimization. Uses the SDPA or SeDuMi solvers.
CPLEXSupports primal-dual methods for LP + SOCP. Can solve LP, QP, SOCP, and mixed integer linear programming problems.
CSDPCSupports primal-dual methods for LP + SDP. Interfaces available for MATLAB, R, and Python. Parallel version available. SDP solver.
CVXOPTPythonSupports primal-dual methods for LP + SOCP + SDP. Uses Nesterov-Todd scaling. Interfaces to MOSEK and DSDP.
MOSEKSupports primal-dual methods for LP + SOCP.
SeDuMiMATLAB, Octave, MEXSolves LP + SOCP + SDP. Supports primal-dual methods for LP + SOCP + SDP.
SDPAC++Solves LP + SDP. Supports primal-dual methods for LP + SDP. Parallelized and extended precision versions are available.
SDPT3MATLAB, Octave, MEXSolves LP + SOCP + SDP. Supports primal-dual methods for LP + SOCP + SDP.
ConicBundleSupports general-purpose codes for LP + SOCP + SDP. Uses a bundle method. Special support for SDP and SOCP constraints.
DSDPSupports general-purpose codes for LP + SDP. Uses a dual interior point method.
LOQOSupports general-purpose codes for SOCP, which it treats as a nonlinear programming problem.
PENNONSupports general-purpose codes. Uses an augmented Lagrangian method, especially for problems with SDP constraints.
SDPLRSupports general-purpose codes. Uses low-rank factorization with an augmented Lagrangian method.
GAMSModeling system for linear, nonlinear, mixed integer linear/nonlinear, and second-order cone programming problems.
Optimization ServicesXML standard for encoding optimization problems and solutions.

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),[19] and structural optimization, where the approximation concept has proven to be efficient.[20] Convex optimization can be used to model problems in the following fields:

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

  1. Murty . Katta . Kabadi . Santosh . Some NP-complete problems in quadratic and nonlinear programming . Mathematical Programming . 39 . 2 . 117–129 . 1987 . 10.1007/BF02592948. 2027.42/6740 . 30500771 . free.
  2. Sahni, S. "Computationally related problems," in SIAM Journal on Computing, 3, 262--279, 1974.
  3. Quadratic programming with one negative eigenvalue is NP-hard . 10.1007/BF00120662 . 1991 . Pardalos . Panos M. . Vavasis . Stephen A. . Journal of Global Optimization . 1 . 15–22 .
  4. Book: Hiriart-Urruty . Jean-Baptiste . Convex analysis and minimization algorithms: Fundamentals . Lemaréchal . Claude . 1996 . 9783540568506 . 291. Springer .
  5. Book: Ben-Tal . Aharon . Lectures on modern convex optimization: analysis, algorithms, and engineering applications . Nemirovskiĭ . Arkadiĭ Semenovich . 2001 . 9780898714913 . 335–336.
  6. Book: Boyd . Stephen . Convex Optimization . Vandenberghe . Lieven . . 2004 . 978-0-521-83378-3 . 12 Apr 2021.
  7. Web site: Optimization Problem Types - Convex Optimization . 9 January 2011 .
  8. Book: Arkadi Nemirovsky . Interior point polynomial-time methods in convex programming . 2004.
  9. Agrawal . Akshay . Verschueren . Robin . Diamond . Steven . Boyd . Stephen . 2018 . A rewriting system for convex optimization problems . Control and Decision . 5 . 1 . 42–60 . 1709.04494 . 10.1080/23307706.2017.1397554 . 67856259.
  10. Rockafellar, R. Tyrrell . Lagrange multipliers and optimality . SIAM Review . 35 . 2 . 1993 . 183–238 . 10.1137/1035044. 10.1.1.161.7209.
  11. For methods for convex minimization, see the volumes by Hiriart-Urruty and Lemaréchal (bundle) and the textbooks by Ruszczyński, Bertsekas, and Boyd and Vandenberghe (interior point).
  12. Book: Interior-Point Polynomial Algorithms in Convex Programming . Nesterov . Yurii . Nemirovskii . Arkadii . 1995 . Society for Industrial and Applied Mathematics . 978-0898715156 .
  13. Peng. Jiming. Roos. Cornelis. Terlaky. Tamás. Self-regular functions and new search directions for linear and semidefinite optimization. Mathematical Programming. 93. 1. 2002. 129–171. 0025-5610. 10.1007/s101070200296. 28882966.
  14. 2006 . Numerical Optimization . Springer Series in Operations Research and Financial Engineering . en . 10.1007/978-0-387-40065-5. 978-0-387-30303-1 .
  15. Web site: Borchers. Brian. An Overview Of Software For Convex Optimization. dead. https://web.archive.org/web/20170918180026/http://infohost.nmt.edu/~borchers/presentation.pdf. 2017-09-18. 12 Apr 2021.
  16. Web site: Welcome to CVXPY 1.1 — CVXPY 1.1.11 documentation. 2021-04-12. www.cvxpy.org.
  17. Udell . Madeleine . Mohan . Karanveer . Zeng . David . Hong . Jenny . Diamond . Steven . Boyd . Stephen . 2014-10-17 . Convex Optimization in Julia . math.OC . 1410.4821 .
  18. Web site: Disciplined Convex Optimiation - CVXR. 2021-06-17. www.cvxgrp.org.
  19. Chritensen/Klarbring, chpt. 4.
  20. Schmit, L.A.; Fleury, C. 1980: Structural synthesis by combining approximation concepts and dual methods. J. Amer. Inst. Aeronaut. Astronaut 18, 1252-1260
  21. Web site: Boyd . Stephen . Diamond . Stephen . Zhang . Junzi . Agrawal . Akshay . Convex Optimization Applications . live . https://web.archive.org/web/20151001185038/http://web.stanford.edu/~boyd/papers/pdf/cvx_applications.pdf . 2015-10-01 . 12 Apr 2021.
  22. Web site: Malick . Jérôme . 2011-09-28 . Convex optimization: applications, formulations, relaxations . live . https://web.archive.org/web/20210412044738/https://www-ljk.imag.fr//membres/Jerome.Malick/Talks/11-INRIA.pdf . 2021-04-12 . 12 Apr 2021.
  23. Ben Haim Y. and Elishakoff I., Convex Models of Uncertainty in Applied Mechanics, Elsevier Science Publishers, Amsterdam, 1990
  24. [Ahmad Bazzi]

References

External links