Job Shop Scheduling via Deep Reinforcement Learning: a Sequence to Sequence approach

Giovanni Bonetta, Davide Zago, Rossella Cancelliere, Andrea Grosso
8/3/2023
cs.AIcs.LGcs.NE

No official code found. Best implementation: dawoz/JSP-DeepRL-Seq2Seq (34 stars, last commit 2024-01-24).

Abstract

Job scheduling is a well-known Combinatorial Optimization problem with endless applications. Well planned schedules bring many benefits in the context of automated systems: among others, they limit production costs and waste. Nevertheless, the NP-hardness of this problem makes it essential to use heuristics whose design is difficult, requires specialized knowledge and often produces methods tailored to the specific task. This paper presents an original end-to-end Deep Reinforcement Learning approach to scheduling that automatically learns dispatching rules. Our technique is inspired by natural language encoder-decoder models for sequence processing and has never been used, to the best of our knowledge, for scheduling purposes. We applied and tested our method in particular to some benchmark instances of Job Shop Problem, but this technique is general enough to be potentially used to tackle other different optimal job scheduling tasks with minimal intervention. Results demonstrate that we outperform many classical approaches exploiting priority dispatching rules and show competitive results on state-of-the-art Deep Reinforcement Learning ones.

View on arXivView PDF

Code Implementations(1)

Official codebase for "Job Shop Scheduling via Deep Reinforcement Learning: a Sequence to Sequence approach", published at LION17 (17th Learning and Intelligent Optimization Conference)

347PythonJun 12, 20232 years ago

Similar Papers

Cite this paper

@article{bonetta2023shop,
  title  = {Job Shop Scheduling via Deep Reinforcement Learning: a Sequence to Sequence approach},
  author = {Giovanni Bonetta and Davide Zago and Rossella Cancelliere and Andrea Grosso},
  year   = {2023},
  eprint = {2308.01797},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2308.01797v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2308.01797.svg)](https://codeofpaper.com/paper/2308.01797)

Discussion