Skip to main content
QUICK REVIEW

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

Defeng Sun, Kim-Chuan Toh|arXiv (Cornell University)|Oct 29, 2017
Advanced Optimization Algorithms Research19 references3 citations
TL;DR

SDPNAL+ is a MATLAB software package that efficiently solves large-scale semidefinite programs (SDPs) with bound constraints using an inexact symmetric Gauss-Seidel based semi-proximal ADMM/ALM framework. It achieves high performance by combining augmented Lagrangian methods with a majorized semismooth Newton-CG approach, solving 98.9% of 745 test SDP instances to a relative KKT residual accuracy of 10⁻⁶.

ABSTRACT

SDPNAL+ is a {\sc 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 {\sc 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 [Yang, Sun, and Toh, Mathematical Programming Computation, 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.

Motivation & Objective

  • To develop a robust and efficient software package for solving large-scale semidefinite programs (SDPs) with bound constraints.
  • To address the gap between theoretical algorithms and practical implementations by designing simpler stopping conditions.
  • To enable efficient solution of SDPs arising from combinatorial optimization, binary quadratic integer programming, and other applications.
  • To support problems with moderate matrix dimensions (n < 5000) but large numbers of linear constraints (m + p > 1 million).
  • To provide a user-friendly interface for modeling and solving SDP problems in MATLAB.

Proposed method

  • The solver employs an inexact symmetric Gauss-Seidel based semi-proximal ADMM/ALM framework to enhance convergence and simplify stopping criteria.
  • It integrates a majorized semismooth Newton-CG method within the augmented Lagrangian framework for solving subproblems efficiently.
  • The algorithm uses an augmented Lagrangian approach to dualize constraints and enforce primal feasibility through penalty terms.
  • Key components include the use of C-language MEX files for performance-critical subroutines and a structured interface for inputting SDP models.
  • The method handles both single-block and multi-block SDP formulations with variable blocks X^(j) in symmetric cones or polyhedral bounds.
  • The implementation supports general linear maps A^(j) and B^(j) with adjoint operations defined via inner products on symmetric matrices.

Experimental results

Research questions

  • RQ1Can an inexact symmetric Gauss-Seidel based ADMM/ALM framework achieve better practical convergence and simpler stopping conditions than traditional semismooth Newton-CG methods?
  • RQ2How efficiently can the solver handle SDP problems with large numbers of linear constraints (m + p > 1 million) and moderate matrix dimensions (n < 5000)?
  • RQ3To what extent does the solver maintain robustness and accuracy across diverse SDP applications, including combinatorial optimization and quantum chemistry problems?
  • RQ4What is the scalability of the solver in terms of matrix dimension n and number of constraints m + p, particularly in comparison to existing solvers like SDPT3 or SeDuMi?
  • RQ5How effective is the user interface in enabling users to model and solve complex SDP problems without low-level coding?

Key findings

  • The solver successfully solved 98.9% of 745 test SDP instances to a relative KKT residual accuracy of 10⁻⁶.
  • The time complexity scales with (m + p)^0.22 for a fixed matrix dimension n, indicating strong scalability with respect to the number of constraints.
  • For matrix dimensions n ≤ 100, the average solution time was 2.04 seconds for problems with m + p ≤ 1,000 constraints.
  • For larger problems with n > 3200 and m + p > 1,024,000, the average solution time reached 11,512.53 seconds for five instances, demonstrating scalability on extreme cases.
  • The solver performed well on diverse applications, including maximum stable set, quadratic assignment, robust clustering, and electronic structure problems in quantum chemistry.
  • The time-to-solution regression model T_rg = 0.00274 × (m + p)^0.220 × n^1.357 closely matched observed performance across 707 test instances.

Better researchstarts right now

From reading papers to final review, dramatically reduce your research time.

No credit card · Free plan available

This review was created by AI and reviewed by human editors.