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.
The code is written in Python3 (3.11.11) and tested on Linux (Fedora 41). 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 download 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