A Graph Attention Network (GAT) to schedule jobs in an ETO manufacturing environment, trained with a Multi-Agent version of the Deep Q-Learning algorithm.
Neumann, Anas (2025). A hyper-graph neural network trained with multi-agents deep Q-learning to schedule engineer-to-order projects *GitHub repository: https://github.com/AnasNeumann/gns2*.
@misc{HGNS,
author = {Anas Neumann},
title = {A hyper-graph neural network trained with multi-agents deep Q-learning to schedule engineer-to-order projects},
year = {2025},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/AnasNeumann/gns2}},
commit = {main}
}
python -m venv ./gns2_env
source ./gns2_env/bin/activate
pip install --upgrade -r requirements/gns_wheels.txt
- CHOOSE EITHER GNS_SOLVER, EXACT_SOLVER, INSTANCE_GENERATOR, or RESULTS_ANALYS (see bellow for the rest)
desactivate
python generators/instance_generator.py --debug=false --train=150 --test=50
python solvers/exact_solver.py --size=s --id=151 --mode=test --path=./ --time=1 --memory=8
python jobs/exact_builder.py --account=x --parent=y --mail=x@mail.com
bash jobs/scripts/0_run_purge.sh
bash jobs/scripts/1_run_all.sh exact_s
python main.py --train=false --target=true --path=./ --mode=test --version=1 --itrs=0 --size=s --id=151 --interactive=false # one instance only
python main.py --train=false --target=false --path=./ --mode=prod --version=1 --itrs=0 --interactive=false # all test instances
python main.py --train=true --path=./ --mode=prod --version=1 --itrs=0 --interactive=true
jobs/gns_builder.py --account=x --parent=y --mail=x@mail.com --time=20 --memory=187 --cpu=16 --version=1 --itrs=0
sbatch jobs/scripts/train_gns.sh
python results_analysis.py --path=./ --last=9