Skip to content

inet-tub/online-optical-matching

Repository files navigation

online-optical-matching

This repository contains the source code for the paper (under submission) Learning-Augmented Online Optical Interconnect Reconfiguration.

Algorithms

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

Datasets

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.

Reproducibility

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 results directory. Plot the figures using the plot.py script. The figures will be saved in the plots directory.
python3 plot.py

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published