Distributed Optimization for Control and Learning. From Theory to Numerical Software Tools


  • Giuseppe Notarstefano
  • Ivano Notarnicola
  • Francesco Farina
  • Andrea Camisa

The workshop will run on 11 July 2020 from 10:00 until 17:00 Berlin time (10am until 5pm CEST/UTC+2h). A recording of the workshop will also be available for streaming from 12 July until 31 August 2020 for registered participants.

Practical information for workshop attendees:

The practical sessions are designed for unix-like systems (Linux, MacOS, ...) and will be performed on Ubuntu 18.04. In order to keep up with the live session, please make sure that you have a working installation of MPI (e.g. OpenMPI), the Python 3 interpreter (optionally with virtual environment support), a text editor (e.g. gedit).

For instance, to install OpenMPI in Ubuntu 18.04 systems, run the following command on a terminal:

sudo apt-get install openmpi-bin libopenmpi-dev.

In MacOS systems, OpenMPI can be installed via homebrew.



  • Giuseppe Notarstefano, Università di Bologna, Italy
  • Ivano Notarnicola, Università di Bologna, Italy
  • Andrea Camisa, Università di Bologna, Italy


Cyber-physical network systems give rise to many important control and learning problems in which solving a constrained optimization problem is a fundamental building block. Optimization problems arising in this context are typically large-scale, (i.e., involve a large set of decision variables and/or constraints). Moreover, in many relevant applications these problems are logically and/or spatially distributed in the sense that the computing units have only partial knowledge of the problem. These features call for a novel computation paradigm, termed distributed optimization, in which agents in a network want to cooperatively obtain an optimal solution to the problem by means of local computation and neighboring communication only. This workshop aims to provide an introductory, theoretical foundation for distributed optimization and a set of advanced challenging problems with selected distributed methods. The methodological part will be supported by the numerical implementation of the presented distributed methods using Disropt, a recently developed Python package for distributed optimization.


10:00     Welcome and opening remarks

10:15     Introduction to distributed optimization

10:45     Presentation of DISROPT package

11:15     Break

11:45     DISROPT: installation and linear average consensus (practical session)

12:15     Distributed optimization for cost-coupled optimizaiton

13:00     Lunch break

13:45     DISROPT: distributed algorithms for machine learning (practical session)

14:45     Distributed optimization for constraint-coupled optimization

15:30     DISROPT: distributed primal decomposition for smart grid control (practical session)

16:30     Concluding remarks

(live discussions will be held between the presentations)