DISROPT: a python framework for distributed optimization


Keywords
python, mpi, optimization-algorithms, distributed-optimization
License
GPL-3.0
Install
pip install disropt==0.1.9

Documentation

Welcome to DISROPT Documentation Status

Reference docs | Install guide | Getting started

DISROPT is a Python package developed within the excellence research program ERC in the project OPT4SMART. The aim of this package is to provide an easy way to run distributed optimization algorithms that can be executed by a network of peer computing systems.

A comprehensive guide to DISROPT can be found in the documentation. The package is equipped with some commonly used objective functions and constraints which can be directly used.

DISROPT currently supports MPI in order to emulate peer-to-peer communication. However, custom communication protocols can be also implemented.

Installation

DISROPT works on Python 3.7 and requires an MPI implementation to be installed on your system.

It relies on

  • numpy
  • scipy
  • mpi4py
  • autograd
  • osqp (optional, but required for some features)
  • cvxopt (optional, but required for some features)
  • cvxpy (optional, but required for some features)

pip installation

pip install disropt

Getting started

Citing DISROPT

@article{farina2019disropt,
  title={DISROPT: a Python Framework for Distributed Optimization},
  author={Farina, Francesco and Camisa, Andrea and Testa, Andrea and Notarnicola, Ivano and Notarstefano, Giuseppe},
  journal={arXiv},
  archivePrefix = {arXiv},
  eprint = {1911.02410},
  year={2019}
}

Constributors

DISROPT is developed by Francesco Farina, Andrea Camisa, Andrea Testa, Ivano Notarnicola, and Giuseppe Notarstefano

Acknowledgements

This result is part of a project that has received funding from the European Research Council (ERC) under the European Union's Horizon 2020 research and innovation programme (grant agreement No 638992 - OPT4SMART).