  We consider the distributed optimization problem for a multi-agent system.
Here, multiple agents cooperatively optimize an objective by sharing
information through a communication network and performing computations. In
this tutorial, we provide an overview of the problem, describe the structure of
its algorithms, and use simulations to illustrate some algorithmic properties
based on this structure.
