Semidefinite programming
Semidefinite programming is a subfield of convex optimization concerned with the optimization of a linear objective function
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, SDPs 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 terms 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 polytope. 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 formwhere the, and the are real numbers and is the dot product of and .
Equivalent formulations
An matrix is said to be positive semidefinite if it is the Gramian matrix of some vectors. If this is the case, we denote this as. Note that there are several other equivalent definitions of being positive semidefinite, for example, positive semidefinite matrices are self-adjoint matrices that have only non-negative eigenvalues.Denote by the space of all real symmetric matrices. The space is equipped with the inner product
We can rewrite the mathematical program given in the previous section equivalently as
where entry in is given by from the previous section and is a symmetric matrix having th entry from the previous section. Thus, the matrices and are symmetric and the above inner products are well-defined.
Note that if we add slack variables appropriately, this SDP can be converted to one of the form
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 as a diagonal entry. To ensure that, constraints can be added for all. As another example, note that for any positive semidefinite matrix, there exists a set of vectors such that the, entry of is the scalar product of and. 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 can be recovered in time.
Duality theory
Definitions
Analogously to linear programming, given a general SDP of the form, we define the dual semidefinite program as
where for any two matrices and, means.
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 becausewhere 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.Suppose the primal problem is bounded below and strictly
feasible.
Then there is an optimal solution to and
Suppose the dual problem is bounded above and strictly
feasible.
Then there is an optimal solution to and
the equality from holds.
Examples
Example 1
Consider three random variables,, and. By definition, their correlation coefficients are valid if and only ifin which case this matrix is called the correlation matrix. Suppose that we know from some prior knowledge that and. The problem of determining the smallest and largest values that can take is given by:
We set 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
Solving this SDP gives the minimum and maximum values of as and respectively.
Example 2
Consider the problemwhere we assume that whenever.
Introducing an auxiliary variable the problem can be reformulated:
In this formulation, the objective is a linear function of the variables.
The first restriction can be written as
where the matrix is the square matrix with values in the diagonal equal
to the elements of the vector.
The second restriction can be written as
Defining as follows
We can use the theory of Schur Complements to see that
The semidefinite program associated with this problem is
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 Michel Goemans and David P. Williamson. They studied the max cut problem: Given a graph G =, 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: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:
- Relax the integer quadratic program into an SDP.
- Solve the SDP.
- Round the SDP solution to obtain an approximate solution to the original integer quadratic program.
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 ; 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 of 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.
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.There are also facial reduction algorithms that can be used to preprocess SDPs problems by inspecting the constraints of the problem. These can be used to detect lack of strict feasibility, to delete redundant rows and columns, and also to reduce the size of the variable matrix.