DISROPT: a python framework for distributed optimization
Project description
Welcome to DISROPT
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).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.