Maros112358/Graph-neural-networks-and-deep-reinforcement-learning-in-job-scheduling

Python

14

240 commits

updated Sep 21, 2024

See the code

README

Graph Neural Networks and Deep Reinforcement Learning in Job Scheduling

Repository structure

root/
├── benchmarks/        # Benchmarks used for testing the models
│   ├── jssp/         # Benchmarks for Job-Shop Scheduling (JSSP)
│   └── fjsp/         # Benchmarks for Flexible Job-Shop Scheduling (FJSP)
├── data/             # Data produced by testing the models on the benchmarks
│   ├── scripts/      # Scripts used for analysing the data (very messy, I do not advise reusing it)
│   └── experiment_{dynamic|static}_{jssp|fjsp}_<model>.csv      # Experimental data from the testing of <model> on dynamic|static version of jssp|fjsp 
├── models/           # Tested models
│   ├── baseline/     # Priority Dispatching Rules (PDRs) used as a baselines for the experimental comparison
│       ├── jssp/     # PDRs for JSSP used from the model IEEE-ICCE-RL-JSP 
│       └── jssp/     # PDRs for FJSP used from the model End-to-end-DRL-for-FJSP
│   └── <model>/      # Each folder is named after the model in the section ## Compared models below
├── thesis/           # Diploma thesis in LaTeX
└── literature.md     # Relevant literature.md

Run the experiments yourself

To run the experiments yourself, follow this steps:

    1. Go to /models/<model>/repo
    1. Run the script experiment_{dynamic|static}_{jssp|fjsp}_<model>.py
    • it's possible that if the file is not found, it is in some subdirectory of the repo directory
    • to setup dependencies, I used poetry or regular pip requirements.txt for some models
      • unfortunately, some models do not have dependencies, because it was really hard to set them up and then I forgot to save them after the experiments :(

Compared Models

Wheatley

fjsp-drl

L2D

IEEE-ICCE-RL-JSP

  • SHOWCASE
  • I trained 5 models running on all available benchmarks
  • working dynamic model implemented by using already available code, just needed to pass the starting times to the underlying mechanism already in the code by the author
  • STATIC JSSP DATA
  • DYNAMIC JSSP DATA

End-to-end-DRL-for-FJSP

Baselines

Benchmarks

JSSP

Description of JSSP instances is available at http://jobshop.jjvh.nl/explanation.php

FJSP

Description of FJSP instances is available at DataSetExplanation.txt

Contributors

Maros112358

240 commits

Maros112358/Graph-neural-networks-and-deep-reinforcement-learning-in-job-scheduling

Python

14

240 commits

updated Sep 21, 2024

See the code

README

Graph Neural Networks and Deep Reinforcement Learning in Job Scheduling

Repository structure

root/
├── benchmarks/        # Benchmarks used for testing the models
│   ├── jssp/         # Benchmarks for Job-Shop Scheduling (JSSP)
│   └── fjsp/         # Benchmarks for Flexible Job-Shop Scheduling (FJSP)
├── data/             # Data produced by testing the models on the benchmarks
│   ├── scripts/      # Scripts used for analysing the data (very messy, I do not advise reusing it)
│   └── experiment_{dynamic|static}_{jssp|fjsp}_<model>.csv      # Experimental data from the testing of <model> on dynamic|static version of jssp|fjsp 
├── models/           # Tested models
│   ├── baseline/     # Priority Dispatching Rules (PDRs) used as a baselines for the experimental comparison
│       ├── jssp/     # PDRs for JSSP used from the model IEEE-ICCE-RL-JSP 
│       └── jssp/     # PDRs for FJSP used from the model End-to-end-DRL-for-FJSP
│   └── <model>/      # Each folder is named after the model in the section ## Compared models below
├── thesis/           # Diploma thesis in LaTeX
└── literature.md     # Relevant literature.md

Run the experiments yourself

To run the experiments yourself, follow this steps:

    1. Go to /models/<model>/repo
    1. Run the script experiment_{dynamic|static}_{jssp|fjsp}_<model>.py
    • it's possible that if the file is not found, it is in some subdirectory of the repo directory
    • to setup dependencies, I used poetry or regular pip requirements.txt for some models
      • unfortunately, some models do not have dependencies, because it was really hard to set them up and then I forgot to save them after the experiments :(

Compared Models

Wheatley

fjsp-drl

L2D

IEEE-ICCE-RL-JSP

  • SHOWCASE
  • I trained 5 models running on all available benchmarks
  • working dynamic model implemented by using already available code, just needed to pass the starting times to the underlying mechanism already in the code by the author
  • STATIC JSSP DATA
  • DYNAMIC JSSP DATA

End-to-end-DRL-for-FJSP

Baselines

Benchmarks

JSSP

Description of JSSP instances is available at http://jobshop.jjvh.nl/explanation.php

FJSP

Description of FJSP instances is available at DataSetExplanation.txt

Contributors

Maros112358

240 commits

Languages

Python

68.2%

Jupyter Notebook

13.8%

HTML

9.5%

TeX

8.1%