/newton_admm

A Newton ADMM based solver for Cone programming.

Primary LanguagePythonApache License 2.0Apache-2.0

Newton ADMM • Build Status License

An implementation of the Newton ADMM algorithm for solving cone problems. Created by Eric Wong, Alnur Ali, and Zico Kolter


What is Newton ADMM?

Newton ADMM is a general ADMM algorithm described in our paper here which uses a semi-smooth Newton's method to minimize the ADMM residuals.

What is in this repository?

  1. This repository contains an implementation of Newton ADMM for the SCS ADMM iterations. In essence, this is a second order ADMM solver for generic cone programming. The signature for the solver is almost identical to that of SCS, differing only in optional keyword arguments, and so the two can be used interchangably.

  2. Examples of running Newton ADMM on various cone problems can be found in the examples directory.

  3. This repository also contains implementations of cone projections and their respective Jacobians. See newton_admm/cones.py.

Todo

  • Add RPCA cone example
  • Add specialized solver examples

Issues and Contributions

Licensing

This repository is Apache-licensed.