Chordal decomposition in operator-splitting methods for sparse semidefinite programs

Y. Zheng, G. Fantuzzi, A. Papachristodoulou, P. J. Goulart and A. Wynn

Mathematical Programming, vol. 180, pp. 489-532, March 2020.
BibTeX  URL  Preprint  Code 

  author = {Y. Zheng and G. Fantuzzi and A. Papachristodoulou and P. J. Goulart and A. Wynn},
  title = {Chordal decomposition in operator-splitting methods for sparse semidefinite programs},
  journal = {Mathematical Programming},
  year = {2020},
  volume = {180},
  pages = {489-532},
  url = {},
  doi = {10.1007/s10107-019-01366-3}

We employ chordal decomposition to reformulate a large and sparse semidefinite program (SDP), either in primal or dual standard form, into an equivalent SDP with smaller positive semidefinite (PSD) constraints. In contrast to previous approaches, the decomposed SDP is suitable for the application of first-order operator-splitting methods, enabling the development of efficient and scalable algorithms. In particular, we apply the alternating direction method of multipliers (ADMM) to solve decomposed primal- and dual-standard-form SDPs. Each iteration of such ADMM algorithms requires a projection onto an affine subspace, and a set of projections onto small PSD cones that can be computed in parallel. We also formulate the homogeneous self-dual embedding (HSDE) of a primal-dual pair of decomposed SDPs, and extend a recent ADMM-based algorithm to exploit the structure of our HSDE. The resulting HSDE algorithm has the same leading-order computational cost as those for the primal or dual problems only, with the advantage of being able to identify infeasible problems and produce an infeasibility certificate. All algorithms are implemented in the open-source MATLAB solver CDCS. Numerical experiments on a range of large-scale SDPs demonstrate the computational advantages of the proposed methods compared to common state-of-the-art solvers.