SOSTOOLS Version 4.00 Sum of Squares Optimization Toolbox for MATLAB

SOSTOOLS Version 4.00 Sum of Squares Optimization Toolbox for MATLAB
Notice: This research summary and analysis were automatically generated using AI technology. For absolute accuracy, please refer to the [Original Paper Viewer] below or the Original ArXiv Source.

The release of SOSTOOLS v4.00 comes as we approach the 20th anniversary of the original release of SOSTOOLS v1.00 back in April, 2002. SOSTOOLS was originally envisioned as a flexible tool for parsing and solving polynomial optimization problems, using the SOS tightening of polynomial positivity constraints, and capable of adapting to the ever-evolving fauna of applications of SOS. There are now a variety of SOS programming parsers beyond SOSTOOLS, including YALMIP, Gloptipoly, SumOfSquares, and others. We hope SOSTOOLS remains the most intuitive, robust and adaptable toolbox for SOS programming. Recent progress in Semidefinite programming has opened up new possibilities for solving large Sum of Squares programming problems, and we hope the next decade will be one where SOS methods will find wide application in different areas. In SOSTOOLS v4.00, we implement a parsing approach that reduces the computational and memory requirements of the parser below that of the SDP solver itself. We have re-developed the internal structure of our polynomial decision variables. Specifically, polynomial and SOS variable declarations made using sossosvar, sospolyvar, sosmatrixvar, etc now return a new polynomial structure, dpvar. This new polynomial structure, is documented in the enclosed dpvar guide, and isolates the scalar SDP decision variables in the SOS program from the independent variables used to construct the SOS program. As a result, the complexity of the parser scales almost linearly in the number of decision variables. As a result of these changes, almost all users will notice a significant increase in speed, with large-scaleproblems experiencing the most dramatic speedups. Parsing time is now always less than 10% of time spent in the SDP solver. Finally, SOSTOOLS now provides support for the MOSEK solver interface as well as the SeDuMi, SDPT3, CSDP, SDPNAL, SDPNAL+, and SDPA solvers.


💡 Research Summary

SOSTOOLS v4.00 is a major update to the long‑standing MATLAB toolbox for Sum‑of‑Squares (SOS) programming, marking the 20‑year anniversary of the original release. The core contribution of this version is a fundamentally new internal representation for polynomial decision variables, called dpvar. Unlike previous releases where SOS variables (created with functions such as sossosvar, sospolyvar, sosmatrixvar) were tightly coupled with MATLAB’s Symbolic Math Toolbox, dpvar cleanly separates the scalar SDP decision variables from the independent variables that appear in the polynomial expressions. This separation enables the parser to scale almost linearly with the number of decision variables, dramatically reducing both memory consumption and CPU time during the model‑building phase.

Benchmark results reported in the guide show that parsing now accounts for less than 10 % of the total time spent in the SDP solver, a stark contrast to earlier versions where parsing could dominate the runtime for large‑scale problems (e.g., 10 variables with degree‑4 polynomials, thousands of decision variables). The new structure also integrates seamlessly with the multiploly toolbox, allowing users to avoid symbolic arithmetic entirely and thereby further cutting overhead. Compatibility with MATLAB R2021a and later is explicitly guaranteed.

In addition to the parser overhaul, v4.00 expands solver support. Besides the open‑source solvers SeDuMi, SDPT3, CSDP, SDPNAL, SDPNAL+, and SDPA, the toolbox now includes an interface to the commercial high‑performance solver MOSEK. Users can select the desired solver through the options structure passed to sossolve. The release also introduces utility functions such as sospsimplify for pre‑processing SOS constraints and sosquadvar for declaring custom decision variables that fall outside the standard SOS variable families.

The guide walks the reader through installation, system requirements, and a typical workflow: declare polynomial variables (now returning dpvar objects), add equality and inequality constraints, set a linear objective in the coefficients of the SOS polynomials, and finally call the solver. Solution extraction is handled by sosgetsol and related functions, which map the SDP solution back to the original polynomial variables.

A substantial portion of the manual is devoted to applications that illustrate the practical impact of the new features. These include:

  1. Lyapunov function search for proving stability of nonlinear dynamical systems.
  2. Global and constrained polynomial optimization, where SOS relaxations provide tight lower bounds.
  3. Matrix positivity and structured singular value bounds, useful in robust control analysis.
  4. Combinatorial problems such as MAX‑CUT and Chebyshev polynomial approximation, demonstrating how SOS can serve as a powerful convex relaxation.
  5. Probabilistic bounds where moment constraints are expressed as SOS conditions.

Each application is accompanied by MATLAB code snippets and performance data, highlighting that even problems with thousands of variables and tens of thousands of constraints can now be parsed and solved efficiently.

The internal chapters (6 and 7) detail the dpvar data fields, memory management strategies, and the full list of exported functions (e.g., dpvaradd, dpvarmul, dpvarcoeff). This transparency enables advanced users to extend the toolbox, implement custom parsers, or debug complex models.

In summary, SOSTOOLS v4.00 delivers three major advances: (i) a near‑linear‑time parser via the dpvar structure, (ii) broader solver interoperability including MOSEK, and (iii) enhanced flexibility through custom decision‑variable utilities. These improvements lower the barrier to applying SOS techniques to large‑scale, real‑world problems across control, signal processing, power systems, robotics, and beyond. As SDP solvers continue to evolve and hardware acceleration becomes more prevalent, the toolbox positions SOS programming as a practical, scalable tool for the next decade of engineering research and development.


Comments & Academic Discussion

Loading comments...

Leave a Comment