This repository contains the code for the experiments related to our paper titled "Decentralized Optimization with Coupled Constraints" (ICLR 2025).
To use this project, you need to have Python and Jupyter Notebook installed on your computer. You can download Python from here and Jupyter Notebook from here.
Clone the repository:
git clone https://github.com/kisnikser/Decentralized-Optimization.gitInstall the required packages:
pip install -r requirements.txtTo run the project, open the Jupyter Notebook:
jupyter notebookThen, open the file you are interested in using the Jupyter Notebook interface.
In the root directory, you will find the following files:
utils.py: supplementary functions.models.py: implementations of the problem models that we have used to test various algorithms. The most important thing that these models should return is the problem parameters, as well as the oracles for the function, gradient, and hessian.methods.py: implementations of our algorithms, as well as the Tracking-ADMM and DPMM algorithms that we compare against.example.ipynb: results obtained on the first problem from the experiments section.vfl.ipynb: results obtained on the Vertical Federated Learning (VFL) problem.
Additionally, there is a directory named data which contains text files for uploading datasets mushrooms, a9a, and w8a.