Litcius/Paper detail

DISROPT: a Python Framework for Distributed Optimization

Francesco Farina, Andrea Camisa, Andrea Testa, Ivano Notarnicola, Giuseppe Notarstefano

2020IFAC-PapersOnLine27 citationsDOIOpen Access PDF

Abstract

In this paper we introduce disropt, a Python package for distributed optimization over networks. We focus on cooperative set-ups in which an optimization problem must be solved by peer-to-peer processors (without central coordinators) that have access only to partial knowledge of the entire problem. To reflect this, agents in disropt are modeled as entities that are initialized with their local knowledge of the problem. Agents then run local routines and communicate with each other to solve the global optimization problem. A simple syntax has been designed to allow for an easy modeling of the problems. The package comes with many distributed optimization algorithms that are already embedded. Moreover, the package provides full-fledged functionalities for communication and local computation, which can be used to design and implement new algorithms. disropt is available at github.com/disropt/disropt under the GPL license, with a complete documentation and many examples.

Topics & Concepts

Computer sciencePython (programming language)Distributed computingFocus (optics)DocumentationProgramming languageOptimization problemDistributed Computing EnvironmentSyntaxDistributed algorithmSimple (philosophy)Theoretical computer scienceGlobal optimizationDistributed databaseProgram optimizationOptimization algorithmConstraint Satisfaction and OptimizationAdvanced Multi-Objective Optimization AlgorithmsDistributed Control Multi-Agent Systems