I. Introduction
Solving optimization problems in a distributed fashion has attracted increased attention in many research areas. This is mainly motivated by the rapid growth in size and complexity of modern datasets, which makes them hard (or even impossible) to process on a single computational unit [1]. On the other hand, optimization problems arising in multi-agent systems usually have a separable structure making distributed optimization methods a natural choice for solving them [2]. Even if such problems were solvable in a centralized fashion, the agents would need to share their local data and objective functions with the central coordinator, which would then raise information privacy issues [3].