| Literature DB >> 29599649 |
David Hallac1, Christopher Wong2, Steven Diamond2, Abhijit Sharang2, Rok Sosič2, Stephen Boyd1, Jure Leskovec2.
Abstract
SnapVX is a high-performance solver for convex optimization problems defined on networks. For problems of this form, SnapVX provides a fast and scalable solution with guaranteed global convergence. It combines the capabilities of two open source software packages: Snap.py and CVXPY. Snap.py is a large scale graph processing library, and CVXPY provides a general modeling framework for small-scale subproblems. SnapVX offers a customizable yet easy-to-use Python interface with "out-of-the-box" functionality. Based on the Alternating Direction Method of Multipliers (ADMM), it is able to efficiently store, analyze, parallelize, and solve large optimization problems from a variety of different applications. Documentation, examples, and more can be found on the SnapVX website at http://snap.stanford.edu/snapvx.Entities:
Keywords: ADMM; convex optimization; data mining; graphs; network analytics
Year: 2017 PMID: 29599649 PMCID: PMC5870756
Source DB: PubMed Journal: J Mach Learn Res ISSN: 1532-4435 Impact factor: 3.654
SnapVX convergence time for several different problem sizes.
| # of Unknowns | SnapVX Solution Time (Minutes) |
|---|---|
| 100,000 | 0.79 |
| 500,000 | 2.95 |
| 1 million | 6.06 |
| 5 million | 27.30 |
| 10 million | 55.42 |
| 20 million | 106.33 |
| 30 million | 161.95 |
Figure 1Timing comparison of SnapVX and a general-purpose solver.