  The presence of embedded electronics and communication capabilities as well
as sensing and control in smart devices has given rise to the novel concept of
cyber-physical networks, in which agents aim at cooperatively solving complex
tasks by local computation and communication. Numerous estimation, learning,
decision and control tasks in smart networks involve the solution of
large-scale, structured optimization problems in which network agents have only
a partial knowledge of the whole problem. Distributed optimization aims at
designing local computation and communication rules for the network processors
allowing them to cooperatively solve the global optimization problem without
relying on any central unit. The purpose of this survey is to provide an
introduction to distributed optimization methodologies. Principal approaches,
namely (primal) consensus-based, duality-based and constraint exchange methods,
are formalized. An analysis of the basic schemes is supplied, and
state-of-the-art extensions are reviewed.
