|
Semidefinite programming (SDP) 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. 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. Finally, semidefinite programming can aid in the design of quantum computing circuits[citation needed], which makes it interesting as a future subject.
DefinitionNotationDenote by Primal and dual formLinear semidefinite programming (SDP) deals with optimization problems of the type
in variable Analogously to linear programming, we introduce a dual semidefinite program (D-SDP)
in variable For convenience, an SDP will often 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 Duality Theorem(i) Suppose the primal problem (P-SDP) is bounded below and strictly feasible (i.e., there exists (ii) Suppose the dual problem (D-SDP) is bounded above and strictly feasible (i.e., ExamplesExample 1Consider three random variables A, B, and C. By definition, their correlation coefficients Suppose that we know from some prior knowledge (empirical results of an experiment, for example) that
we set
Solving this SDP gives the minimum and maximum values of Example 2Consider the problem
where we assume that dTx > 0 whenever Introducing an auxiliary variable t the problem can be reformulated:
In this formulation, the objective is a linear function of the variables x,t. The first restriction can be written as where the matrix The second restriction can be written as or equivalently
Thus 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 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 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 (STOC 2008). AlgorithmsThere 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 methodsMost 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 methodThe code SBmethod formulates the SDP problem as a nonsmooth optimization problem and solves it by the Spectral Bundle method of nonsmooth optimization. This approach can only be used for a special class of linear SDP problems but then it is very efficient. OtherAlgorithms 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). SoftwareThe following codes are available for SDP: SDPA, CSDP, SDPT3, SeDuMi, DSDP, PENSDP, SDPLR, SBmeth SeDuMi runs on MATLAB and uses the Self-Dual method for solving general convex optimization problems. ApplicationsSemidefinite 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. See alsoReferences
External links
|
This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.
Mercedes Car
This site monitored by SitePinger.net