SnapVX: A Network-Based Convex Optimization Solver

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 snap.stanford.edu/snapvx.

Cite

Text

Hallac et al. "SnapVX: A Network-Based Convex Optimization Solver." Machine Learning Open Source Software, 2017.

Markdown

[Hallac et al. "SnapVX: A Network-Based Convex Optimization Solver." Machine Learning Open Source Software, 2017.](https://mlanthology.org/mloss/2017/hallac2017jmlr-snapvx/)

BibTeX

@article{hallac2017jmlr-snapvx,
  title     = {{SnapVX: A Network-Based Convex Optimization Solver}},
  author    = {Hallac, David and Wong, Christopher and Diamond, Steven and Sharang, Abhijit and Sosič, Rok and Boyd, Stephen and Leskovec, Jure},
  journal   = {Machine Learning Open Source Software},
  year      = {2017},
  pages     = {1-5},
  volume    = {18},
  url       = {https://mlanthology.org/mloss/2017/hallac2017jmlr-snapvx/}
}