Projected Push-Pull For Distributed Constrained Optimization Over Time-Varying Directed Graphs (extended version)

Orhan Eren Akgün, Arif Kerem Dayı, Stephanie Gil, Angelia Nedić
10/10/2023
math.OCcs.DCcs.MA

No confident code implementation found for this paper.

Abstract

We introduce the Projected Push-Pull algorithm that enables multiple agents to solve a distributed constrained optimization problem with private cost functions and global constraints, in a collaborative manner. Our algorithm employs projected gradient descent to deal with constraints and a lazy update rule to control the trade-off between the consensus and optimization steps in the protocol. We prove that our algorithm achieves geometric convergence over time-varying directed graphs while ensuring that the decision variable always stays within the constraint set. We derive explicit bounds for step sizes that guarantee geometric convergence based on the strong-convexity and smoothness of cost functions, and graph properties. Moreover, we provide additional theoretical results on the usefulness of lazy updates, revealing the challenges in the analysis of any gradient tracking method that uses projection operators in a distributed constrained optimization setting. We validate our theoretical results with numerical studies over different graph types, showing that our algorithm achieves geometric convergence empirically.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. Any repos shown below are weak matches — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{akgn2023projected,
  title  = {Projected Push-Pull For Distributed Constrained Optimization Over Time-Varying Directed Graphs (extended version)},
  author = {Orhan Eren Akgün and Arif Kerem Dayı and Stephanie Gil and Angelia Nedić},
  year   = {2023},
  eprint = {2310.06223},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2310.06223v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2310.06223.svg)](https://codeofpaper.com/paper/2310.06223)

Discussion