DISROPT: a python framework for distributed optimization

python, mpi, optimization-algorithms, distributed-optimization
pip install disropt==0.1.9


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.


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


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


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


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).