Validating numerical semidefinite programming solvers for polynomial invariants

  • Pierre Roux
  • Yuen-Lam Voronin
  • Sriram Sankaranarayanan


Semidefinite programming (SDP) solvers are increasingly used as primitives in many program verification tasks to synthesize and verify polynomial invariants for a variety of systems including programs, hybrid systems and stochastic models. On one hand, they provide a tractable alternative to reasoning about semi-algebraic constraints. However, the results are often unreliable due to “numerical issues” that include a large number of reasons such as floating-point errors, ill-conditioned problems, failure of strict feasibility, and more generally, the specifics of the algorithms used to solve SDPs. These issues influence whether the final numerical results are trustworthy or not. In this paper, we briefly survey the emerging use of SDP solvers in the static analysis community. We report on the perils of using SDP solvers for common invariant synthesis tasks, characterizing the common failures that can lead to unreliable answers. Next, we demonstrate existing tools for guaranteed semidefinite programming that often prove inadequate to our needs. Finally, we present a solution for verified semidefinite programming that can be used to check the reliability of the solution output by the solver and a padding procedure that can check the presence of a feasible nearby solution to the one output by the solver. We report on some successful preliminary experiments involving our padding procedure.


Static analysis Polynomial invariants Numerical optimization Sum of squares relaxation Semidefinite programming Floating-point arithmetic Formal proofs 



The authors would like to thank Didier Henrion, Pierre-Loïc Garoche and Assalé Adjé for interesting discussions on this subject.


  1. 1.
    Adjé A, Garoche P-L, Magron, V (2015) Property-based polynomial invariant generation using sums-of-squares optimization. In: SAS, pp 235–251Google Scholar
  2. 2.
    Adjé A, Gaubert S, Goubault É (2010) Coupling policy iteration with semi-definite relaxation to compute accurate numerical invariants in static analysis. In: ESOPGoogle Scholar
  3. 3.
    Ahmadi AA, Majumdar A (2014) DSOS and SDSOS optimization: LP and SOCP-based alternatives to sum of squares optimization. In: Annual conference on information sciences and systems (CISS)Google Scholar
  4. 4.
    Alipanahi B, Krislock N, Ghodsi A, Wolkowicz H, Donaldson L, Li M (2013) Determining protein structures from NOESY distance constraints by semidefinite programming. J Comput Biol 20(4):296–310MathSciNetCrossRefGoogle Scholar
  5. 5.
    Alizadeh F, Haeberly J-PA, Overton ML (1998) Primal-dual interior-point methods for semidefinite programming: convergence rates, stability and numerical results. SIAM J Optim 8(3):746–768 (electronic)MathSciNetCrossRefMATHGoogle Scholar
  6. 6.
    Allamigeon X, Gaubert S, Goubault E, Putot S, Stott N (2015) A scalable algebraic method to infer quadratic invariants of switched systems. In: EMSOFTGoogle Scholar
  7. 7.
    Anjos MF, Lasserre JB (2012) Introduction to semidefinite, conic and polynomial optimization. In: Handbook on semidefinite, conic and polynomial optimization. SpringerGoogle Scholar
  8. 8.
    Bagnara R, Rodríguez-Carbonell E, Zaffanella E (2005) Generation of basic semi-algebraic invariants using convex polyhedra. In: SASGoogle Scholar
  9. 9.
    Basu S, Pollock R, Roy M-F (2006) Algorithms in real algebraic geometry. Springer, BerlinGoogle Scholar
  10. 10.
    Ben-Tal A, Ghaoui LE (2009) Robust optimization. Princeton series in applied mathematics. Princeton University Press, PrincetonCrossRefMATHGoogle Scholar
  11. 11.
    Ben Sassi MA, Sankaranarayanan S, Chen X, Abraham E (2015) Linear relaxations of polynomial positivity for polynomial lyapunov function synthesis. IMA J Math Control InfGoogle Scholar
  12. 12.
    Bernstein SN (1912) Démonstration du théoréme de Weierstrass fondée sur le calcul des probabilités. Communcations de la Société Mathématique de Kharkov 2Google Scholar
  13. 13.
    Borchers B (1999) CSDP, a C library for semidefinite programming. Optim Methods SoftwGoogle Scholar
  14. 14.
    Borwein JM (1980) Characterization of optimality for the abstract convex program with finite-dimensional range. J. Aust. Math. Soc. Ser. A 30(4):390–411 81MathSciNetCrossRefMATHGoogle Scholar
  15. 15.
    Borwein JM, Wolkowicz H (1980/81) Facial reduction for a cone-convex programming problem. J. Aust. Math. Soc. Ser. A,Google Scholar
  16. 16.
    Borwein JM, Wolkowicz H (1981) Regularizing the abstract convex program. J Math Anal Appl 83(2):495–530MathSciNetCrossRefMATHGoogle Scholar
  17. 17.
    Boyd S, Vandenberghe L (2004) Convex optimization. Cambridge university press, CambridgeCrossRefMATHGoogle Scholar
  18. 18.
    Burkowski F, Cheung Y-L, Wolkowicz H (2014) Efficient use of semidefinite programming for selection of rotamers in protein conformations. Inform J Comput 26(4):748–766MathSciNetCrossRefMATHGoogle Scholar
  19. 19.
    Chakarov A, Voronin Y-L, Sankaranarayanan S (2016) Deductive proofs of almost sure persistence and recurrence properties. In: TACASGoogle Scholar
  20. 20.
    Cheung Y-L, Schurr S, Wolkowicz H (2013) Preprocessing and regularization for degenerate semidefinite programs. In: Bailey DH, Bauschke HH, Borwein P, Garvan F, Thera M, Vanderwerff J, Wolkowicz H (eds) Computational and analytical mathematics, in honor of Jonathan Borwein’s 60th birthday, volume 50 of springer proceedings in mathematics & statistics. Springer, BerlinGoogle Scholar
  21. 21.
    Cheung Y-L (2013) Preprocessing and reduction for semidefinite programming via facial reduction: theory and practice. PhD thesis, University of WaterlooGoogle Scholar
  22. 22.
    Collins GE (1975) Quantifier elimination for real closed fields by cylindrical algebraic decomposition. In: Automata theory and formal languagesGoogle Scholar
  23. 23.
    Collins GE, Hong H (1991) Partial cylindrical algebraic decomposition for quantifier elimination. J Symb ComputGoogle Scholar
  24. 24.
    Cousot P (2005) Proving program invariance and termination by parametric abstraction. lagrangian relaxation and semidefinite programming. In: VMCAIGoogle Scholar
  25. 25.
    Cousot P, Cousot R (1977) Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: POPLGoogle Scholar
  26. 26.
    Dang T, Gawlitza TM (2011) Template-based unbounded time verification of affine hybrid automata. In: APLASGoogle Scholar
  27. 27.
    Demmel J (1989) On floating point errors in Cholesky. LAPACK Working Note 14 CS-89-87. Department of Computer Science, University of Tennessee, Knoxville, TN, USAGoogle Scholar
  28. 28.
    Dolzmann A, Sturm T (1997) REDLOG: computer algebra meets computer logic. ACM SIGSAM BullGoogle Scholar
  29. 29.
    Dür M, Jargalsaikhan B, Still G (2012) The Slater condition is generic in linear conic programmingGoogle Scholar
  30. 30.
    El Ghaoui L, Oustry F, Lebret H (1998) Robust solutions to uncertain semidefinite programs. SIAM J Optim 9(1):33–52MathSciNetCrossRefMATHGoogle Scholar
  31. 31.
    Farouki RT (2012) The Bernstein polynomial basis: a centennial retrospective. Comput Aided Geomet DesGoogle Scholar
  32. 32.
    Féron É (2010) From control systems to control software. Control Systems, IEEEGoogle Scholar
  33. 33.
    Fränzle M, Herde C, Teige T, Ratschan S, Schubert T (2007) Efficient solving of large non-linear arithmetic constraint systems with complex Boolean structure. J Satisf Boolean Model Comput Special Issue on SAT/CP IntegrGoogle Scholar
  34. 34.
    Gao S, Kong S, Clarke EM (2013) Dreal: an SMT solver for nonlinear theories over the reals. In: International conference on automated deduction (CADE), pp 208–214Google Scholar
  35. 35.
    Gaubert S, Goubault E, Taly A, Zennou S (2007) Static analysis by policy iteration on relational domains. In: ESOPGoogle Scholar
  36. 36.
    Gawlitza T, Seidl H (2007) Precise fixpoint computation through strategy iteration. In: ESOPGoogle Scholar
  37. 37.
    Gawlitza TM, Monniaux D (2011) Improving strategies via SMT solving. In: ESOPGoogle Scholar
  38. 38.
    Gawlitza TM, Seidl H (2010) Computing relaxed abstract semantics w.r.t. quadratic zones precisely. In: SASGoogle Scholar
  39. 39.
    Gruber G, Rendl F (2002) Computational experience with ill-posed problems in semidefinite programming. Comput Optim Appl 21(2):201–212MathSciNetCrossRefMATHGoogle Scholar
  40. 40.
    Handelman D (1988) Representing polynomials by positive linear functions on compact convex polyhedra. Pacific J MathGoogle Scholar
  41. 41.
    Harrison J (2007) Verifying nonlinear real formulas via sums of squares. In: TPHOLGoogle Scholar
  42. 42.
    Härter V, Jansson C, Lange M (2016) VSDP: verified semidefinite programming. Accessed on 28 March
  43. 43.
    Helmberg C (2012) Semidefinite programming. Last updated:
  44. 44.
    Henrion D, Naldi S, Din MS El (2015) Exact algorithms for linear matrix inequalities. arXiv preprint arXiv:1508.03715
  45. 45.
    IEEE Computer Society. IEEE standard for floating-point arithmetic. IEEE Standard 754-2008, 2008Google Scholar
  46. 46.
    Jansson C, Chaykin D, Keil C (2007) Rigorous error bounds for the optimal value in semidefinite programming. SIAM J Numer AnalGoogle Scholar
  47. 47.
    Kaltofen E, Li B, Yang Z, Zhi L (2012) Exact certification in global polynomial optimization via sums-of-squares of rational functions with rational coefficients. J Symb ComputGoogle Scholar
  48. 48.
    Krislock N, Wolkowicz H (2010) Explicit sensor network localization using semidefinite representations and facial reductions. SIAM J Optim 20(5):2679–2708MathSciNetCrossRefMATHGoogle Scholar
  49. 49.
    Lasserre JB (2001) Global optimization with polynomials and the problem of moments. SIAM J OptimGoogle Scholar
  50. 50.
    Löfberg J (2009) Pre- and post-processing sum-of-squares programs in practice. In: IEEE transactions on automatic controlGoogle Scholar
  51. 51.
    Maréchal A, Fouilhé A, King T, Monniaux D, ël Périn M (2016) Polyhedral approximation of multivariate polynomials using Handelman’s theorem. In: VMCAIGoogle Scholar
  52. 52.
    Martin-Dorel É, Roux P (2017) A reflexive tactic for polynomial positivity using numerical solvers and floating-point computations. In: Yves B, Viktor V (eds) Proceedings of the 6th ACM SIGPLAN conference on certified programs and proofs, CPP 2017, Paris, France, January 16–17, 2017, pp 90–99. ACM,Google Scholar
  53. 53.
    Mittelmann HD (2016) Decision tree for optimization software: semidefinite programming. Accessed on 28 March
  54. 54.
    Monniaux D, Corbineau P (2011) On the generation of positivstellensatz witnesses in degenerate cases. In: ITPGoogle Scholar
  55. 55.
    MOSEK ApS (2015) The MOSEK C optimizer API manual Version 7.1 (Revision 40)Google Scholar
  56. 56.
    Nakata M (2010) A numerical evaluation of highly accurate multiple-precision arithmetic version of semidefinite programming solver: SDPA-GMP, -QD and -DD. In: Computer-aided control system designGoogle Scholar
  57. 57.
    Nesterov Y, Nemirovskii A (1994) Interior-point polynomial algorithms in convex programming. Soc Ind Appl MathGoogle Scholar
  58. 58.
    Nie J, Ranestad K, Sturmfels B (2008) The algebraic degree of semidefinite programming. Math Program 122(2):379–405MathSciNetCrossRefMATHGoogle Scholar
  59. 59.
    Nuzzo P, Puggelli A, Seshia SA, Sangiovanni-Vincentelli AL (2010) Calcs: SMT solving for non-linear convex constraints. In: Bloem R, Sharygina N (eds) Proceedings of 10th International Conference on Formal Methods in Computer-Aided Design. Switzerland, FMCAD 2010, Lugano, October 20–23, pp 71–79. IEEEGoogle Scholar
  60. 60.
    Oulamara M, Venet AJ (2015) Abstract interpretation with higher-dimensional ellipsoids and conic extrapolation. In: CAVGoogle Scholar
  61. 61.
    Parrilo P (2000) Structured semidefinite programs and semialgebraic geometry methods in robustness and optimization. PhD thesis, California Institute of TechnologyGoogle Scholar
  62. 62.
    Parrilo PA (2003) Semidefinite programming relaxations for semialgebraic problems. Math ProgramGoogle Scholar
  63. 63.
    Pataki G (2013) Strong duality in conic linear programming: facial reduction and extended duals. In: Bailey DH, Bauschke HH, Borwein P, Garvan F, Thera M, Vanderwerff J, Wolkowicz H (eds) Computational and analytical mathematics, in honor of Jonathan Borwein’s 60th birthday, volume 50 springer proceedings in mathematics & statistics. Springer, Berlin, pp 613–634Google Scholar
  64. 64.
    Permenter F, Parrilo P (2014) Partial facial reduction: simplified, equivalent sdps via approximations of the psd cone. arXiv preprint arXiv:1408.4685
  65. 65.
    Permenter F, Parrilo PA (2015) Tools for SDP facial reduction. Accessed on 10 Apr 2015
  66. 66.
    Peyrl H, Parrilo PA (2008) Computing sum of squares decompositions with rational coefficients. Theor Comput SciGoogle Scholar
  67. 67.
    Platzer A, Quesel J-D, Rümmer P (2009) Real world verification. In: CADEGoogle Scholar
  68. 68.
    Prajna S, Jadbabaie A (2004) Safety verification using barrier certificates. In: HSCCGoogle Scholar
  69. 69.
    Putinar M (1993) Positive polynomials on compact semi-algebraic sets. Indiana Univ Math JGoogle Scholar
  70. 70.
    Ramana MV, Tunçel L, Wolkowicz H (1997) Strong duality for semidefinite programming. SIAM J Optim 7(3):641–662MathSciNetCrossRefMATHGoogle Scholar
  71. 71.
    Reid G, Wang F, Wolkowicz H, Wu W (2016) arxiv:1504.00931. Accessed on 31 Mar
  72. 72.
    Roux P (2016) Formal proofs of rounding error bounds-with application to an automatic positive definiteness check. J Autom ReasonGoogle Scholar
  73. 73.
    Roux P, Voronin Y-L, Sankaranarayanan S (2016) Validating numerical semidefinite programming solvers for polynomial invariants. In Xavier R (ed) Static analysis - 23rd international symposium, SAS 2016, Edinburgh, UK, September 8–10, 2016, proceedings, volume 9837 of lecture notes in computer science, pp 424–446. SpringerGoogle Scholar
  74. 74.
    Rump SM (2006) Verification of positive definiteness. BIT Numer MathGoogle Scholar
  75. 75.
    Sankaranarayanan S, Sipma H, Manna Z (2008) Constructing invariants for hybrid systems. Formal Methods Syst DesGoogle Scholar
  76. 76.
    Sankaranarayanan S, Sipma HB, Manna Z (2005) Scalable analysis of linear systems using mathematical programming. In: VMCAIGoogle Scholar
  77. 77.
    Schmieta SH, Pataki G (2016) Reporting solution quality for the DIMACS library of mixed semidefinite-quadratic-linear programs. [Online; accessed 23 Mar 2016]
  78. 78.
    Sherali HD, Cihan H, Tuncbilek CH (1991) A global optimization algorithm for polynomial programming using a reformulation-linearization technique. J Global OptimGoogle Scholar
  79. 79.
    Shor NZ (1987) Class of global minimum bounds on polynomial functions. Cybernetics 1987. Originally in Russian: KibernetikaGoogle Scholar
  80. 80.
    Shoukry Y, Nuzzo P, Sangiovanni-Vincentelli AL, Seshia SA, Pappas GJ, Tabuada P (2017) SMC: satisfiability modulo convex optimization. In: Goran F, Sayan M (eds) Proceedings of the 20th international conference on hybrid systems: computation and control, HSCC 2017, Pittsburgh, PA, USA, April 18–20, 2017, pages 19–28. ACMGoogle Scholar
  81. 81.
    Sturm JF (2000) Error bounds for linear matrix inequalities. SIAM J Optim 10(4):1228–1248 (electronic)MathSciNetCrossRefMATHGoogle Scholar
  82. 82.
    Sturm JF (1999) Using SeDuMi 1.02, a MATLAB toolbox for optimization over symmetric cones. Optim Methods SoftwGoogle Scholar
  83. 83.
    Sturm JF (2002) Implementation of interior point methods for mixed semidefinite and second order cone optimization problems. Optim Methods Softw 17(6):1105–1154MathSciNetCrossRefMATHGoogle Scholar
  84. 84.
    Tarski A (1951) A decision method for elementary algebra and geometry. Univ. of California Press, Berkeley, Technical reportGoogle Scholar
  85. 85.
    Tuncel L (2010) Polyhedral and semidefinite programming methods in combinatorial optimization. American Mathematical SocietyGoogle Scholar
  86. 86.
    Tütüncü RH, Toh KC, Todd MJ (2003) Solving semidefinite-quadratic-linear programs using SDPT3. Mathematical programmingGoogle Scholar
  87. 87.
    Vandenberghe L, Boyd S (1996) Semidefinite programming. SIAM Rev 38(1):49–95MathSciNetCrossRefMATHGoogle Scholar
  88. 88.
    Waki H, Muramatsu M (2010) A facial reduction algorithm for finding sparse SOS representations. Oper Res Lett 38(5):361–365MathSciNetCrossRefMATHGoogle Scholar
  89. 89.
    Waki H, Muramatsu M (2013) Facial reduction algorithms for conic optimization problems. J Optim Theory Appl 158(1):188–215MathSciNetCrossRefMATHGoogle Scholar
  90. 90.
    Waki H, Nakata M, Muramatsu M (2011) Strange behaviors of interior-point methods for solving semidefinite programming problems in polynomial optimization. Comput Optim ApplGoogle Scholar
  91. 91.
    Weispfenning V (1997) Quantifier elimination for real algebra—the quadratic case and beyond. In: Applied algebra and error-correcting codes (AAECC)Google Scholar
  92. 92.
    Wolkowicz H, Zhao Q (1999) Semidefinite programming relaxations for the graph partitioning problem. Discrete Appl. Math. 96/97:461–479 (The satisfiability problem (Certosa di Pontignano, 1996); Boolean functions)MathSciNetCrossRefMATHGoogle Scholar
  93. 93.
    Wolkowicz H, Saigal R, Vandenberghe L (2000) Handbook of semidefinite programming. Kluwer Academic Publishers, DordrechtCrossRefMATHGoogle Scholar
  94. 94.
    Yamashita M, Fujisawa K, Nakata K, Nakata M, Fukuda M, Kobayashi K, Goto K (2010) A high-performance software package for semidefinite programs: SDPA 7. Technical Report B-460, Tokyo Institute of TechnologyGoogle Scholar
  95. 95.
    Zhao Q, Karisch SE, Rendl F, Wolkowicz H (1998) Semidefinite programming relaxations for the quadratic assignment problem. J Comb Optim 2(1):71–109. Semidefinite programming and interior-point approaches for combinatorial optimization problems (Toronto, ON, 1996)Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2017

Authors and Affiliations

  • Pierre Roux
    • 1
  • Yuen-Lam Voronin
    • 2
  • Sriram Sankaranarayanan
    • 2
  1. 1.ONERA – The French Aerospace LabToulouseFrance
  2. 2.University of ColoradoBoulderUSA

Personalised recommendations