This repository contains the source code for the paper (under submission) Learning-Augmented Online Optical Interconnect Reconfiguration.
The python file run-algorithm.py contains the implementation of the following algorithms for rematching:
- Offline
- Static offline
- Online greedy
- Online greedy with predictions. Here, predictions are based on the offline solution and by introducing a prediction error.
- Oblivious
run-experiments.sh automatically downloads the necessary datasets hosted on our university servers. These datasets can also be obtained from the following locations:
Each tracefile consists of a sequence of requests that specifies the source and destination nodes.
Update: The trace files are now hosted in this repository (data/) in .zip format, obtained directly from the above references.
The code is written in Python3 (3.12.3) and tested on Linux Fedora 41 and Ubuntu 24.04. To reproduce the results, please follow these steps:
- Clone the repository:
git clone https://github.com/inet-tub/online-optical-matching.git
cd online-optical-matching- Install the required dependencies:
chmod +x ./install-venv.sh
./install-venv.sh
source .venv/bin/activate
uv pip install --upgrade pip
pip install -r requirements.txt- Run the experiments
chmod +x ./run-experiments.sh
./run-experiments.sh 1
# The cmd arg indicates whether to prepare and extract the datasets (1) or not (0).- The results will be saved in the
resultsdirectory. Plot the figures using theplot.pyscript. The figures will be saved in theplotsdirectory.
python3 plot.py