APEX system

From formulasearchengine
Jump to navigation Jump to search

Semidefinite programming (SDP) is a subfield of convex optimization concerned with the optimization of a linear objective function (that is, a function to be maximized or minimized) over the intersection of the cone of positive semidefinite matrices with an affine space, i.e., a spectrahedron.

Semidefinite programming is a relatively new field of optimization which is of growing interest for several reasons. Many practical problems in operations research and combinatorial optimization can be modeled or approximated as semidefinite programming problems. In automatic control theory, SDP's are used in the context of linear matrix inequalities. SDPs are in fact a special case of cone programming and can be efficiently solved by interior point methods. All linear programs can be expressed as SDPs, and via hierarchies of SDPs the solutions of polynomial optimization problems can be approximated. Semidefinite programming has been used in the optimization of complex systems. In recent years, some quantum query complexity problems have been formulated in term of semidefinite programs.

Motivation and definition

Initial motivation

A linear programming problem is one in which we wish to maximize or minimize a linear objective function of real variables over a polyhedron. In semidefinite programming, we instead use real-valued vectors and are allowed to take the dot product of vectors; nonnegativity constraints on real variables in LP are replaced by semidefiniteness constraints on matrix variables in SDP. Specifically, a general semidefinite programming problem can be defined as any mathematical programming problem of the form

minx1,,xnni,j[n]ci,j(xixj)subject toi,j[n]ai,j,k(xixj)bkk.

Equivalent formulations

An n×n matrix M is said to be positive semidefinite if it is the gramian matrix of some vectors (i.e. if there exist vectors x1,,xn such that mi,j=xixj for all i,j). If this is the case, we denote this as M0. Note that there are several other equivalent definitions of being positive semidefinite, for example, positive semidefinite matrices have only non-negative eigenvalues and have a positive definite square root.

Denote by 𝕊n the space of all n×n real symmetric matrices. The space is equipped with the inner product (where tr denotes the trace) A,B𝕊n=tr(ATB)=i=1,j=1nAijBij.

We can rewrite the mathematical program given in the previous section equivalently as

minX𝕊nC,X𝕊nsubject toAk,X𝕊nbk,k=1,,mX0

where entry i,j in C is given by ci,j from the previous section and Ak is an n×n matrix having i,jth entry ai,j,k from the previous section.

Note that if we add slack variables appropriately, this SDP can be converted to one of the form

minX𝕊nC,X𝕊nsubject toAi,X𝕊n=bi,i=1,,mX0.

For convenience, an SDP may be specified in a slightly different, but equivalent form. For example, linear expressions involving nonnegative scalar variables may be added to the program specification. This remains an SDP because each variable can be incorporated into the matrix X as a diagonal entry (Xii for some i). To ensure that Xii0, constraints Xij=0 can be added for all ji. As another example, note that for any positive semidefinite matrix X, there exists a set of vectors {vi} such that the i, j entry of X is Xij=(vi,vj) the scalar product of vi and vj. Therefore, SDPs are often formulated in terms of linear expressions on scalar products of vectors. Given the solution to the SDP in the standard form, the vectors {vi} can be recovered in O(n3) time (e.g., by using an incomplete Cholesky decomposition of X).

Duality theory

Definitions

Analogously to linear programming, given a general SDP of the form

minX𝕊nC,X𝕊nsubject toAi,X𝕊n=bi,i=1,,mX0

(the primal problem or P-SDP), we define the dual semidefinite program (D-SDP) as

maxymb,ymsubject toi=1myiAiC

where for any two matrices P and Q, PQ means PQ0.

Weak duality

The weak duality theorem states that the value of the primal SDP is at least the value of the dual SDP. Therefore, any feasible solution to the dual SDP lower-bounds the primal SDP value, and conversely, any feasible solution to the primal SDP upper-bounds the dual SDP value. This is because

C,Xb,y=C,Xi=1myibi=C,Xi=1myiAi,X=Ci=1myiAi,X0,

where the last inequality is because both matrices are positive semidefinite, and the result of this function is sometimes referred to as duality gap.

Strong duality

Under a condition known as Slater's condition, the value of the primal and dual SDPs are equal. This is known as strong duality. Unlike for linear programs, however, not every SDP satisfies strong duality; in general, the value of the dual SDP may lie strictly below the value of the primal.

(i) Suppose the primal problem (P-SDP) is bounded below and strictly feasible (i.e., there exists X0𝕊n,X00 such that Ai,X0𝕊n=bi, i=1,,m). Then there is an optimal solution y* to (D-SDP) and

C,X*𝕊n=b,y*m.

(ii) Suppose the dual problem (D-SDP) is bounded above and strictly feasible (i.e., i=1m(y0)iAiC for some y0m). Then there is an optimal solution X* to (P-SDP) and the equality from (i) holds.

Examples

Example 1

Consider three random variables A, B, and C. By definition, their correlation coefficients ρAB,ρAC,ρBC are valid if and only if

(1ρABρACρAB1ρBCρACρBC1)0

Suppose that we know from some prior knowledge (empirical results of an experiment, for example) that 0.2ρAB0.1 and 0.4ρBC0.5. The problem of determining the smallest and largest values that ρAC can take is given by:

minimize/maximize x13
subject to
0.2x120.1
0.4x230.5
x11=x22=x33=1
(1x12x13x121x23x13x231)0

we set ρAB=x12,ρAC=x13,ρBC=x23 to obtain the answer. This can be formulated by an SDP. We handle the inequality constraints by augmenting the variable matrix and introducing slack variables, for example

tr((010000000000000000000100000000000000)(1x12x13000x121x23000x13x231000000s1000000s2000000s3))=x12+s1=0.1

Solving this SDP gives the minimum and maximum values of ρAC=x13 as 0.978 and 0.872 respectively.

Example 2

Consider the problem

minimize (cTx)2dTx
subject to Ax+b0

where we assume that dTx>0 whenever Ax+b0.

Introducing an auxiliary variable t the problem can be reformulated:

minimize t
subject to Ax+b0,(cTx)2dTxt

In this formulation, the objective is a linear function of the variables x,t.

The first restriction can be written as

diag(Ax+b)0

where the matrix diag(Ax+b) is the square matrix with values in the diagonal equal to the elements of the vector Ax+b.

The second restriction can be written as

tdTx(cTx)20

or equivalently

det[tcTxcTxdTx]D0

Thus D0.

The semidefinite program associated with this problem is

minimize t
subject to [diag(Ax+b)000tcTx0cTxdTx]0

Example 3 (Goemans-Williamson MAX CUT approximation algorithm)

Semidefinite programs are important tools for developing approximation algorithms for NP-hard maximization problems. The first approximation algorithm based on an SDP is due to Goemans and Williamson (JACM, 1995). They studied the MAX CUT problem: Given a graph G = (V, E), output a partition of the vertices V so as to maximize the number of edges crossing from one side to the other. This problem can be expressed as an integer quadratic program:

Maximize (i,j)E1vivj2, such that each vi{1,1}.

Unless P = NP, we cannot solve this maximization problem efficiently. However, Goemans and Williamson observed a general three-step procedure for attacking this sort of problem:

  1. Relax the integer quadratic program into an SDP.
  2. Solve the SDP (to within an arbitrarily small additive error ϵ).
  3. Round the SDP solution to obtain an approximate solution to the original integer quadratic program.

For MAX CUT, the most natural relaxation is

max(i,j)E1vi,vj2, such that vi2=1, where the maximization is over vectors {vi} instead of integer scalars.

This is an SDP because the objective function and constraints are all linear functions of vector inner products. Solving the SDP gives a set of unit vectors in Rn; since the vectors are not required to be collinear, the value of this relaxed program can only be higher than the value of the original quadratic integer program. Finally, a rounding procedure is needed to obtain a partition. Goemans and Williamson simply choose a uniformly random hyperplane through the origin and divide the vertices according to which side of the hyperplane the corresponding vectors lie. Straightforward analysis shows that this procedure achieves an expected approximation ratio (performance guarantee) of 0.87856 - ε. (The expected value of the cut is the sum over edges of the probability that the edge is cut, which is proportional to the angle cos1vi,vj between the vectors at the endpoints of the edge over π. Comparing this probability to (1vi,vj)/2, in expectation the ratio is always at least 0.87856.) Assuming the Unique Games Conjecture, it can be shown that this approximation ratio is essentially optimal.

Since the original paper of Goemans and Williamson, SDPs have been applied to develop numerous approximation algorithms. Recently, Prasad Raghavendra has developed a general framework for constraint satisfaction problems based on the Unique Games Conjecture.[1]

Algorithms

There are several types of algorithms for solving SDPs. These algorithms output the value of the SDP up to an additive error ϵ in time that is polynomial in the program description size and log(1/ϵ).

Interior point methods

Most codes are based on interior point methods (CSDP, SeDuMi, SDPT3, DSDP, SDPA). Robust and efficient for general linear SDP problems. Restricted by the fact that the algorithms are second-order methods and need to store and factorize a large (and often dense) matrix.

Bundle method

The code ConicBundle formulates the SDP problem as a nonsmooth optimization problem and solves it by the Spectral Bundle method of nonsmooth optimization. This approach is very efficient for a special class of linear SDP problems.

Other

Algorithms based on augmented Lagrangian method (PENSDP) are similar in behavior to the interior point methods and can be specialized to some very large scale problems. Other algorithms use low-rank information and reformulation of the SDP as a nonlinear programming problem (SPDLR).

Software

The following codes are available for SDP:

SeDuMi runs on MATLAB and uses the Self-Dual method for solving general convex optimization problems.

Applications

Semidefinite programming has been applied to find approximate solutions to combinatorial optimization problems, such as the solution of the max cut problem with an approximation ratio of 0.87856. SDPs are also used in geometry to determine tensegrity graphs, and arise in control theory as LMIs.

References

43 year old Petroleum Engineer Harry from Deep River, usually spends time with hobbies and interests like renting movies, property developers in singapore new condominium and vehicle racing. Constantly enjoys going to destinations like Camino Real de Tierra Adentro.

  • Lieven Vandenberghe, Stephen Boyd, "Semidefinite Programming", SIAM Review 38, March 1996, pp. 49–95. pdf
  • Monique Laurent, Franz Rendl, "Semidefinite Programming and Integer Programming", Report PNA-R0210, CWI, Amsterdam, April 2002. optimization-online
  • E. de Klerk, "Aspects of Semidefinite Programming: Interior Point Algorithms and Selected Applications", Kluwer Academic Publishers, March 2002, ISBN 1-4020-0547-4.
  • Robert M. Freund, "Introduction to Semidefinite Programming (SDP), SDP-Introduction

External links


Template:Optimization algorithms

  1. Raghavendra, P. 2008. Optimal algorithms and inapproximability results for every CSP?. In Proceedings of the 40th Annual ACM Symposium on theory of Computing (Victoria, British Columbia, Canada, May 17–20, 2008). STOC '08. ACM, New York, NY, 245-254.