Skip to content
/ DTPDQN Public

A Three-Phase Deep Reinforcement Learning Approach for Dynamic Multi-objective Flexible Job Shop Scheduling

Notifications You must be signed in to change notification settings

kpzhang/DTPDQN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Dynamic Three-phase Parallel Deep Q-Network (DTPDQN)

Dynamic Multi-Objective Flexible Job Shop Scheduling: A Three-Phase Deep Reinforcement Learning Approach

This repo has three python files: DQN.py, Job_shop.py, and Object_for_FJSP.py. The following is a brief explanation about how the code is linked to our work.

  • DQN.py is the main running code. In this file, we mainly construct the dynamic multi-objective double deep Q-learning network (DTPDQN), and provide the instance generation algorithm (the function Instance_Generator in code). The uncertain events, including Job Insertion, Job Delivery Deadline Modification, Job Cancellation, Job Operation Modification, and Machine Addition are reflected in this file. And the three optimization objectives are also calculated in this file (the function main in code).

  • Job_shop.py contains feature calculation function (the function Features in code) to extract five states features as the input of DTPDQN. Five job dispatching rules (the function job_rule1--job_rule5 in code), three machine dispatching rules (the function machine_rule1--machine_rule5 in code) and three reward functions (the functions reward1, reward2, reward3 in code) are provided in this file. It also has a scheduling function (the function scheduling in code) to assign jobs and machines. Where the other two uncertain events of Machine Breakdown and Machine Switching are embedded in this function scheduling.

  • Object_for_FJSP.py is the class to storage the scheduling information of scheduled jobs and machines. And it also provides a local search algorithm (the function idle_time in code) to further optimize the result of DTPDQN (LSDTPDQN).

[Requirement]

About

A Three-Phase Deep Reinforcement Learning Approach for Dynamic Multi-objective Flexible Job Shop Scheduling

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages