Operator Splitting for Conic Optimization via Homogeneous Self-Dual Embedding
B. O'Donoghue, E. Chu, N. Parikh, and S. Boyd
Working draft, November 2013. Minor updates June 2014 and February 2015. Numerical results and timings updated May 2015.
We introduce a first order method for solving very large cone programs to modest accuracy. The method uses an operator splitting method, the alternating directions method of multipliers, to solve the homogeneous self-dual embedding, an equivalent feasibility problem involving finding a nonzero point in the intersection of a subspace and a cone.
This approach has several favorable properties. Compared to interior-point methods, first-order methods scale to very large problems, at the cost of lower accuracy. Compared to other first-order methods for cone programs, our approach finds both primal and dual solutions when available and certificates of infeasibility or unboundedness otherwise, it does not rely on any explicit algorithm parameters, and the per-iteration cost of the method is the same as applying the splitting method to the primal or dual alone.
We discuss efficient implementation of the method in detail, including direct and indirect methods for computing projection onto the subspace, scaling the original problem data, and stopping criteria. We provide a reference implementation called SCS, which can solve large problems to modest accuracy quickly and is parallelizable across multiple processors. We conclude with numerical examples illustrating the efficacy of the technique; in particular, we demonstrate speedups of several orders of magnitude over state-of-the-art interior-point solvers.