This repository contains the code for the experiments related to our paper titled "Decentralized Optimization with Coupled Constraints", which we have submitted to the 38th Conference on Neural Information Processing Systems (NeurIPS 2024).
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.git
Install the required packages:
pip install -r requirements.txt
To run the project, open the Jupyter Notebook:
jupyter notebook
Then, 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
.