// the find
Lei-Kun/End-to-end-DRL-for-FJSP
This is the official code of the publised paper 'A Multi-action Deep Reinforcement Learning Framework for Flexible Job-shop Scheduling Problem'
Research code for a 2022 Expert Systems with Applications paper that applies deep reinforcement learning to the Flexible Job-shop Scheduling Problem (FJSP). Uses a dual-actor PPO setup with GNN-encoded disjunctive graphs to make joint job-operation and machine assignment decisions end-to-end. Audience is scheduling/OR researchers who want to reproduce paper results or extend the approach.
The dual-actor PPO architecture (separate networks for job selection and machine assignment) is a genuine contribution over single-action DRL methods that just pick dispatching rules. Pre-trained weights are included for a range of instance sizes (10x10 up to 100x60), so you can validate results without retraining. The disjunctive graph encoding via GIN captures precedence constraints and machine compatibility structurally, which is better than flattening the state into a feature vector. The approach generalizes across instance sizes at inference time — you don't retrain for each problem size.
The repo is frozen at PyTorch 1.4.0 (2019 release) with a Python 3.7 environment; the Feb 2023 patch for higher PyTorch versions is a minimal fix, not a proper upgrade, and it's unclear how far up the version ladder it actually works. There's no requirements.txt or environment.yml — you're reading dated README notes to reconstruct the environment. The two code trees (FJSP_MultiPPO and FJSP_RealWorld) share large amounts of duplicated code with no explanation of what differs between them. Benchmarking is against fairly narrow baselines; there's no comparison against more recent neural combinatorial optimization approaches (e.g., L2D, DANIEL) that appeared after 2021.