Distributed optimization is a concept that multi-agent systems find a minimal point of a global cost functions which is a sum of local cost functions known to the agents. It appears in diverse fields of applications such as federated learning for machine learning problems and the multi-robotics systems. In this talk, I will introduce motivations for distributed optimization and related algorithms with their theoretical issues for developing efficient and robust algorithms.