Semi-defined programming (en: Semidefinite programming, SDP ) is a subsection of convex programming that optimizes a linear objective function (the objective function is a user-defined function whose value the user wants to minimize or maximize) at the intersection of the cones of positively semi-defined matrices with affine space .
Semi-defined programming is a relatively new area of optimization, the interest in which is growing for several reasons. Many practical problems in the areas of operations research and combinatorial optimization can be modeled or approximated as semidefinite programming problems. In automatic control theory, SDP problems are used in the context of linear matrix inequalities . SDP tasks, in fact, are a special case of and can be effectively solved by the internal point method . All linear programming problems can be expressed as SDP problems, and with the help of SDP task hierarchies, solutions of polynomial optimization problems can be approximated. Semi-defined programming is used to optimize complex systems . In recent years, some problems of the complexity of quantum queries have been formulated in terms of semidefinite programming.
Content
Motivation and determination
Initial Motivations
A linear programming problem is a problem in which it is necessary to maximize or minimize a linear objective function of real variables on a polyhedron . In semi-defined programming, instead we use real vectors and we are allowed to use the scalar product of vectors. The condition of nonnegativity of real variables of the LP problem is replaced by the restrictions of semidefiniteness on the matrix of variables of the SDP problem. In particular, the general problem of semidefinite programming can be defined as any problem of mathematical programming of the form
-
- under conditions
Equivalent wording
They say that matrix is positively semidefinite if it is a Gram matrix of some vectors (i.e., if there exist vectors such that for all ). If this is done, we denote it as . Note that there are some other equivalent definitions of positive semidefinarity, for example, positive semidefinite matrices have only non-negative eigenvalues and have a positive semidefinite square root.
Denote by space of all real symmetric matrices. In this space there is a scalar product (Where means footprint )
We can rewrite the mathematical programming problem from the previous section in equivalent form.
-
- under conditions
where is the element matrices equally from the previous section, but - matrix having as an element matrix value from the previous section.
Note that if we add properly, this SDP task can be converted to
-
- under conditions
For convenience, the SDP task may be defined slightly in a different, but equivalent, form. For example, linear expressions using non-negative scalar variables can be added to the task specification. The task remains SDP, since each variable can be included in the matrix as a diagonal element ( for some ). To provide , you can add restrictions for all . As another example, note that for any positive semidefinite matrix there is a set of vectors such that element , matrices equals scalar product of vectors and . Thus, SDP problems are often formulated in terms of linear expressions of scalar products of vectors. If the solution is given to the SDP problem in the standard form, the vector can be restored in time (for example, using the incomplete decomposition of the Cholesky matrix X).
Duality Theory
Definitions
Similar to linear programming, if the general SDP task is given as
-
- under conditions
(direct problem, or P-SDP), we define the dual semi-defined problem (D-SDP) as
-
- under conditions
Where for any two matrices and , means .
Weak duality
The theorem states that the direct SDP problem has a value no less than the value of the dual SDP. Thus, any valid solution of the dual SDP problem limits the value of the direct SDP from below, and vice versa, any valid value of the direct SDP problem restricts the value of the dual SDP from above. This is because
where the last inequality reflects the fact that both matrices are positive semidefinite. The value of this function is sometimes called dual clearance.
Strong duality
Under the condition known as Slater's condition , the values of the direct and dual SDP tasks are equal. This is called strong duality . Unlike linear programming problems, not every SDP problem has a strict duality. In the general case, the value of the dual SDP problem can be strictly less than the value of the direct problem.
(i) Suppose that the direct problem (P-SDP) is bounded below and strictly admissible (that is, there are such that , ). Then there is an optimal solution. for the dual problem (D-SDP) and
(ii) Suppose that the dual problem (D-SDP) is bounded above and strictly admissible (that is, for some ). Then there is an optimal solution. for the direct problem (P-SDP) and the equality from (i) holds.
Examples
Example 1
Consider three random variables. , and . By definition, their correlation coefficients valid if and only if
Suppose that from some sources (for example, from empirical or experimental data) we know that and . The task of determining the smallest and largest values can be written in the form:
- minimize / maximize
- under conditions
- under conditions
Here we accept . The problem can be formulated as an SDP task. We supplement inequalities by expanding the matrix of variables and introducing , for example
After solving this problem, SDP will get the minimum and maximum values ( and respectively).
Example 2
Consider the task
- minimize
- under conditions ,
where it is assumed that at .
Entering an additional variable rewrite the problem in the form:
- minimize
- under conditions
In this formulation, the objective function is a linear function of two variables ( ).
The first constraint can be rewritten as
- ,
where is the matrix is a square matrix with values on the diagonal equal to vector elements .
The second limitation can be written as
Define the matrix in the following way
We can use the Schur addition theory to show that
- [one]
The task of semi-defined programming for this task will be
- minimize
- under conditions
Example 3 (Goemans – Williamson MAX CUT Approximation Algorithm)
Semi-defined programming is an important tool for creating approximation algorithms for NP-hard maximization problems. The first approximation algorithm based on SDP was proposed by Michel Goemans and David Williamson [2] . They studied the MAX CUT problem: Given a graph G = ( V , E ), it is required to split the vertices of V into two parts so as to maximize the number of edges connecting these two parts. The task can be presented as a problem of integer quadratic programming :
- Maximize provided for anyone .
Unless P = NP , we cannot solve this problem effectively. However, Goemans and Williamson set out a three-step procedure for attacking such tasks:
- We weaken the integer quadratic programming problem to the SDP problem.
- We solve the SDP problem (with any arbitrarily small error ).
- We round off the solution of the SDP problem in order to obtain an approximate solution of the original integer quadratic programming problem.
For the MAX CUT problem, the most natural attenuation is
- for where maximization is carried out by vectors rather than scalar integer variables.
The task is an SDP task, since both the objective function and the constraints are linear functions of the scalar products of vectors. The solution to the SDP problem gives a set of unit vectors in . Since vectors are not necessarily collinear, the value of a weakened problem can only be greater than the value of the original integer quadratic programming problem. The final rounding procedure is needed to get a split. Goemans and Williamson choose a random hyperplane (using a uniform distribution) passing through the origin and split the vertices depending on the location relative to this plane. Direct analysis shows that this procedure provides the expected approximation coefficient of 0.87856 - ε. (The mathematical expectation of the cut value is equal to the sum over all edges of the probabilities that the edge enters the cut and this expectation is proportional to the angle between vectors at end vertices of an edge. If we compare this probability with , the expectation of the relationship will always be no less than 0.87856.) Assuming the correct it can be shown that the approximation coefficient of this approximation is mainly optimal.
Since the advent of Goemann and Williamson, the SDP tasks have been applied to develop a large number of approximation algorithms. Not long ago, Prasad Raghavendra developed a general framework for the task of satisfying constraints , based on the [3] .
Algorithms
There are several types of algorithms for solving SDP problems. The result of the work of these algorithms is the value of the SDP task with an accuracy of which is obtained in a time that polynomially depends on the size of the problem and .
Inner Point Methods
Most of the solution systems are based on the internal point method (CSDP, SeDuMi, SDPT3, DSDP, SDPA), which is robust and efficient for linear general-purpose SDP problems. The approach is limited in use by the fact that the algorithms are second-order methods and require the memorization and decomposition of large (and, often, dense) matrices.
First Order Methods
The first-order methods for avoid the memorization and decomposition of large Hessian matrices and are applicable to problems that are significantly larger than the internal point methods, due to a loss in accuracy. The method is implemented in the SCS solver system.
Beam Method
The SDP problem is formulated as a non-smooth optimization problem and is solved by the spectral beam method. This approach is very effective for particular classes of linear SDP problems.
Others
Algorithms based on the (PENSDP) are similar in behavior to the methods of the inner point and can be adapted for some very large problems. Other algorithms use low-level information and the reformulation of the SDP problem as a non-linear programming problem (SPDLR).
Applications
Semi-definite programming was used to search for approximate solutions of combinatorial optimization problems, such as solving the maximum cut problem with an approximation coefficient of 0.87856. SDP tasks are also used in geometry to define tensegrity graphs, and appear in control theory as linear matrix inequalities .
Notes
- ↑ Boyd, Vandenberghe, 1996 .
- ↑ Goemans, Williamson, 1995 .
- ↑ Raghavendra, 2008 , p. 245-254.
Literature
- Lieven Vandenberghe, Stephen Boyd. Semidefinite Programming // SIAM Review 38. - 1996. - March. - pp . 49–95 .
- Monique Laurent, Franz Rendl. Semidefinite Programming and Integer Programming / Report PNA-R0210, CWI, Amsterdam . - 2002. - April.
- E. de Klerk. Aspects of Semidefinite Programming: Interior Point Algorithms and Selected Applications. - Kluwer Academic Publishers, 2002. - ISBN 1-4020-0547-4 .
- P. Raghavendra. Optimum algorithms and inapproximability results for every CSP? // Proceedings of the 40th Annual ACM Symposium on theory of Computing (Victoria, British Columbia, Canada, May 17–20, 2008). STOC '08. . - New York, NY: ACM, 2008. - p. 245-254.
- Robert M. Freund. Introduction to Semidefinite Programming (SDP) .
- Michel X. Goemans, David P. Williamson. Improved approximation algorithms using semidefinite programming // JACM. - 1995. - November ( v. 42 , issue 6 ). - p . 1115-1145 . - DOI : 10.1145 / 227683.227684 .
Links
- Links to introductions and events in the field
- Lecture notes from László Lovász on Semidefinite Programming