An end-to-end reinforcement learning framework for real-time job dispatching in a dynamic job shop environment. Built with Gymnasium + Stable-Baselines3.
In dynamic production environments, real-time dispatching of jobs is critical. Jobs arrive randomly, machines break down unexpectedly, and future information is limited.
This project models that uncertainty and trains RL agents (DQN, PPO) to learn smart dispatching strategies through simulation.
- Minimize job tardiness or makespan in real time
- Adapt to random job arrivals and machine failures
- Evaluate RL-based dispatch vs heuristic baselines
Custom environment built using OpenAI Gymnasium. Features:
- Dynamic job arrival process
- Machine status updates
- Dispatch action space (select job for each idle machine)
- Realistic job shop simulator with random events
- Flexible reward design (makespan, tardiness, energy, etc.)
- Plug-and-play RL agents (via Stable-Baselines3)
- Logging + convergence plots
- Evaluation vs rule-based baselines (e.g., SPT, LPT)
RL-DispatchSim/
├── data/ # Simulated shop-floor job data
├── notebooks/ # EDA, training logs, evaluations
├── results/ # Trained models, convergence plots
├── src/ # RL environment + training loop
├── requirements.txt # Python dependencies
└── README.md # Project overview
- Clone the repo:
git clone https://github.com/mageed-ghaleb/RL-DispatchSim.git
cd RL-DispatchSim- Install dependencies:
pip install -r requirements.txt- Train an RL agent:
python src/train_dqn_agent.py- Convergence plots (reward vs episodes)
- Evaluation metrics (makespan, tardiness)
- Trained model saved in
results/
Developed by Mageed Ghaleb – Optimization & AI Specialist | Postdoctoral Fellow | Co-Founder of MetaForge
Inspired by real-world research in RL-based scheduling and production optimization.
MIT License – Free to use with attribution.