COSMO: A conic operator splitting method

M. Garstka, M. Cannon and P. J. Goulart

in European Control Conference, Naples, Italy, pp. 1951-1956, July 2019.
BibTeX  Preprint  Code 

  author = {M. Garstka and M. Cannon and P. J. Goulart},
  title = {COSMO: A conic operator splitting method},
  booktitle = {European Control Conference},
  year = {2019},
  pages = {1951-1956}

This paper describes the Conic Operator Splitting Method (COSMO), an operator splitting algorithm for convex optimisation problems with quadratic objective function and conic constraints. At each step the algorithm alternates between solving a quasi-definite linear system with a constant coefficient matrix and a projection onto convex sets. The solver is able to exploit chordal sparsity in the problem data and to detect infeasible problems. The low per-iteration computational cost makes the method particularly efficient for large problems, e.g. semidefinite programs in portfolio optimisation, graph theory, and robust control. Our Julia implementation is open-source, extensible, integrated into the JuliaOpt ecosystem and performs well on a variety of large convex problem classes.