A sum-of-squares optimization program is an
optimization
Mathematical optimization (alternatively spelled ''optimisation'') or mathematical programming is the selection of a best element, with regard to some criterion, from some set of available alternatives. It is generally divided into two subfi ...
problem with a linear
cost function and a particular type of
constraint
Constraint may refer to:
* Constraint (computer-aided design), a demarcation of geometrical characteristics between two or more entities or solid modeling bodies
* Constraint (mathematics), a condition of an optimization problem that the solution ...
on the decision variables. These constraints are of the form that when the decision variables are used as coefficients in certain
polynomials
In mathematics, a polynomial is an expression consisting of indeterminates (also called variables) and coefficients, that involves only the operations of addition, subtraction, multiplication, and positive-integer powers of variables. An example ...
, those polynomials should have the
polynomial SOS property. When fixing the maximum degree of the polynomials involved, sum-of-squares optimization is also known as the Lasserre hierarchy of relaxations in
semidefinite programming Semidefinite programming (SDP) is a subfield of convex optimization concerned with the optimization of a linear objective function (a user-specified function that the user wants to minimize or maximize)
over the intersection of the cone of positiv ...
.
Sum-of-squares optimization techniques have been applied across a variety of areas, including control theory (in particular, for searching for polynomial Lyapunov functions for dynamical systems described by polynomial vector fields), statistics, finance and machine learning.
Optimization problem
The problem can be expressed as
subject to
Here "SOS" represents the class of sum-of-squares (SOS) polynomials.
The vector
and polynomials
are given as part of the data for the optimization problem. The quantities
are the decision variables. SOS programs can be converted to
semidefinite programs Semidefinite programming (SDP) is a subfield of convex optimization concerned with the optimization of a linear objective function (a user-specified function that the user wants to minimize or maximize)
over the intersection of the cone of positive ...
(SDPs) using the
duality
Duality may refer to:
Mathematics
* Duality (mathematics), a mathematical concept
** Dual (category theory), a formalization of mathematical duality
** Duality (optimization)
** Duality (order theory), a concept regarding binary relations
** Dual ...
of the
SOS polynomial program and a relaxation for constrained polynomial optimization using
positive-semidefinite matrices, see the following section.
Dual problem: constrained polynomial optimization
Suppose we have an
-variate polynomial
, and suppose that we would like to minimize this polynomial over a subset
. Suppose furthermore that the constraints on the subset
can be encoded using
polynomial equalities of degree at most
, each of the form
where
is a polynomial of degree at most
. A natural, though generally non-convex program for this optimization problem is the following:
subject to:
where
is the
-dimensional vector with one entry for every monomial in
of degree at most
, so that for each multiset
,
is a matrix of coefficients of the polynomial
that we want to minimize, and
is a matrix of coefficients of the polynomial
encoding the
-th constraint on the subset
. The additional, fixed constant index in our search space,
, is added for the convenience of writing the polynomials
and
in a matrix representation.
This program is generally non-convex, because the constraints () are not convex. One possible convex relaxation for this minimization problem uses
semidefinite programming Semidefinite programming (SDP) is a subfield of convex optimization concerned with the optimization of a linear objective function (a user-specified function that the user wants to minimize or maximize)
over the intersection of the cone of positiv ...
to replace the rank-one matrix of variables
with a positive-semidefinite matrix
: we index each monomial of size at most
by a multiset
of at most
indices,
. For each such monomial, we create a variable
in the program, and we arrange the variables
to form the matrix
, where
is the set of real matrices whose rows and columns are identified with multisets of elements from
of size at most
. We then write the following semidefinite program in the variables
:
subject to:
where again
is the matrix of coefficients of the polynomial
that we want to minimize, and
is the matrix of coefficients of the polynomial
encoding the
-th constraint on the subset
.
The third constraint ensures that the value of a monomial that appears several times within the matrix is equal throughout the matrix, and is added to make
respect the symmetries present in the quadratic form
.
Duality
One can take the dual of the above semidefinite program and obtain the following program:
subject to:
We have a variable
corresponding to the constraint
(where
is the matrix with all entries zero save for the entry indexed by
), a real variable
for each polynomial constraint
and for each group of multisets
, we have a dual variable
for the symmetry constraint
. The positive-semidefiniteness constraint ensures that
is a sum-of-squares of polynomials over
: by a characterization of positive-semidefinite matrices, for any positive-semidefinite matrix
, we can write
for vectors
. Thus for any
,
where we have identified the vectors
with the coefficients of a polynomial of degree at most
. This gives a sum-of-squares proof that the value
over
.
The above can also be extended to regions
defined by polynomial inequalities.
Sum-of-squares hierarchy
The sum-of-squares hierarchy (SOS hierarchy), also known as the Lasserre hierarchy, is a hierarchy of convex relaxations of increasing power and increasing computational cost. For each natural number
the corresponding convex relaxation is known as the ''
th level'' or ''
-th round of the SOS hierarchy.'' The
st round, when
, corresponds to a basic
semidefinite program Semidefinite programming (SDP) is a subfield of convex optimization concerned with the optimization of a linear objective function (a user-specified function that the user wants to minimize or maximize)
over the intersection of the cone of positiv ...
, or to sum-of-squares optimization over polynomials of degree at most
. To augment the basic convex program at the
st level of the hierarchy to
-th level, additional variables and constraints are added to the program to have the program consider polynomials of degree at most
.
The SOS hierarchy derives its name from the fact that the value of the objective function at the
-th level is bounded with a sum-of-squares proof using polynomials of degree at most
via the dual (see "Duality" above). Consequently, any sum-of-squares proof that uses polynomials of degree at most
can be used to bound the objective value, allowing one to prove guarantees on the tightness of the relaxation.
In conjunction with a theorem of Berg, this further implies that given sufficiently many rounds, the relaxation becomes arbitrarily tight on any fixed interval. Berg's result states that every non-negative real polynomial within a bounded interval can be approximated within accuracy
on that interval with a sum-of-squares of real polynomials of sufficiently high degree, and thus if
is the polynomial objective value as a function of the point
, if the inequality
holds for all
in the region of interest, then there must be a sum-of-squares proof of this fact. Choosing
to be the minimum of the objective function over the feasible region, we have the result.
Computational cost
When optimizing over a function in
variables, the
-th level of the hierarchy can be written as a semidefinite program over
variables, and can be solved in time
using the ellipsoid method.
Sum-of-squares background
A polynomial
is a ''sum of squares'' (''SOS'') if there exist polynomials
such that
. For example,
is a sum of squares since
where
Note that if
is a sum of squares then
for all
. Detailed descriptions of
polynomial SOS are available.
[Lasserre, J. (2001)]
Global optimization with polynomials and the problem of moments
. ''SIAM Journal on Optimization'', 11 (3), 796{817.
Quadratic forms can be expressed as
where
is a symmetric matrix. Similarly, polynomials of degree ≤ 2''d'' can be expressed as
where the vector
contains all monomials of degree
. This is known as the
Gram matrix form. An important fact is that
is SOS if and only if there exists a symmetric and
positive-semidefinite matrix
In mathematics, a symmetric matrix M with real entries is positive-definite if the real number z^\textsfMz is positive for every nonzero real column vector z, where z^\textsf is the transpose of More generally, a Hermitian matrix (that is, a ...
such that
.
This provides a connection between SOS polynomials and positive-semidefinite matrices.
Software tools
SOSTOOLS licensed under the
GNU GPL
The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the four freedoms to run, study, share, and modify the software. The license was the first copyleft for general ...
. The reference guide is available at
arXiv:1310.4716 math.OC/nowiki>">/nowiki>math.OC/nowiki>, and a presentation about its internals is availabl
here
CDCS-sos a package fro
CDCS an
augmented Lagrangian method Augmented Lagrangian methods are a certain class of algorithms for solving constrained optimization problems. They have similarities to penalty methods in that they replace a constrained optimization problem by a series of unconstrained problems ...
solver, to deal with large scale SOS programs.
* Th
SumOfSquaresextension o
JuMPfor Julia.
TSSOSfor Julia, a polynomial optimization tool based on the sparsity adapted moment-SOS hierarchies.
* For the dual problem of constrained polynomial optimization
GloptiPolyfor MATLAB/Octave
Ncpol2sdpafor Python an
MomentOptfor Julia.
References
Mathematical optimization
Real algebraic geometry