Constraint programming based scheduler for time-sensitive networks (TSN) using CPLEX.
This repository is part of the paper An (m, k)-firm Elevation Policy for Weakly Hard Real-Time in Converged 5G-TSN Networks. For more context please refer to this document: https://doi.org/10.5281/zenodo.19224732
When using this code, please cite:
TODO add reference to our paper
- Python (tested with 3.10)
- docplex (tested with 2.25.236)
- CPLEX (tested with 22.1)
usage: main.py [-h] [-n NETWORK] [-s SCENARIO] [-t TIMELIMIT] [--threads THREADS] [-v] [--raw-output] [-o OUTPUT]
[--cplex CPLEX]
options:
-h, --help show this help message and exit
-n NETWORK, --network NETWORK
Path to the network graph file
-s SCENARIO, --scenario SCENARIO
Path to the scenario file
-t TIMELIMIT, --timelimit TIMELIMIT
solver time limit in seconds. Use negative values for unlimited.
--threads THREADS Number of threads to be used at most
-v, --verbose print a lot of debug outputs on the console. Can be overwritten by the raw flag.
--raw-output If set, the console output will be in a raw format. Overwrites the verbose flag.
-o OUTPUT, --output OUTPUT
Filename and path to store the output in.
--cplex CPLEX Path to cplex executable. Provide if it is not in the path variable.
python main.py -n dummy_data/small_graph.json -s dummy_data/small_scenario.json -t 10
To get more input data, you can use the generation scripts in our adjacent repository (hereTODO add link).
Inputs files must adhere the format from the generation scripts. Example files are provided in the dummy_data folder.