Article ID: | iaor20162409 |
Volume: | 169 |
Issue: | 3 |
Start Page Number: | 1042 |
End Page Number: | 1068 |
Publication Date: | Jun 2016 |
Journal: | Journal of Optimization Theory and Applications |
Authors: | Boyd Stephen, Chu Eric, ODonoghue Brendan, Parikh Neal |
Keywords: | heuristics, programming: convex |
We introduce a first‐order method for solving very large convex cone programs. 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 requiring more time to reach very high accuracy. Compared to other first‐order methods for cone programs, our approach finds both primal and dual solutions when available or a certificate of infeasibility or unboundedness otherwise, is parameter free, and the per‐iteration cost of the method is the same as applying a 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 describe an open‐source implementation, which handles the usual (symmetric) nonnegative, second‐order, and semidefinite cones as well as the (non‐self‐dual) exponential and power cones and their duals. We report numerical results that show speedups over interior‐point cone solvers for large problems, and scaling to very large general cone programs.