SDPNAL+: A Matlab software for semidefinite programming with bound constraints (version 1.0)

Defeng Sun, K.-C. Toh, Y. Yuan, X.-Y. Zhao

Research output: Journal article publicationJournal articleAcademic researchpeer-review

21 Citations (Scopus)


Sdpnal+ is a MATLAB software package that implements an augmented Lagrangian based method to solve large scale semidefinite programming problems with bound constraints. The implementation was initially based on a majorized semismooth Newton-CG augmented Lagrangian method, here we designed it within an inexact symmetric Gauss-Seidel based semi-proximal ADMM/ALM (alternating direction method of multipliers/augmented Lagrangian method) framework for the purpose of deriving simpler stopping conditions and closing the gap between the practical implementation of the algorithm and the theoretical algorithm. The basic code is written in MATLAB, but some subroutines in C language are incorporated via Mex files. We also design a convenient interface for users to input their SDP models into the solver. Numerous problems arising from combinatorial optimization and binary integer quadratic programming problems have been tested to evaluate the performance of the solver. Extensive numerical experiments conducted in [L.Q. Yang, D.F. Sun, and K.C. Toh, SDPNAL+: A majorized semismooth Newton-CG augmented Lagrangian method for semidefinite programming with nonnegative constraints, Math. Program. Comput. 7 (2015), pp. 331–366] show that the proposed method is quite efficient and robust, in that it is able to solve 98.9% of the 745 test instances of SDP problems arising from various applications to the accuracy of 10 −6 in the relative KKT residual.

Original languageEnglish
Pages (from-to)87-115
Number of pages29
JournalOptimization Methods and Software
Issue number1
Publication statusPublished - 2 Jan 2020


  • augmented Lagrangian
  • Matlab software package
  • Semidefinite programming
  • semismooth Newton-CG method

ASJC Scopus subject areas

  • Software
  • Control and Optimization
  • Applied Mathematics

Cite this