prosysscience / RL-Job-Shop-Scheduling

Reinforcement learning approach for job shop scheduling
231 stars 73 forks source link

[WinError 267] The directory name is invalid #37

Open PrasanthGH opened 1 year ago

PrasanthGH commented 1 year ago

Hi Pierre Tassel,

Thank you very much for sharing your implementation of RL based solution for Job Shop Scheduling Problem. This really helps students like me who are learning RL implementations that address real world problems.

While I was trying to get the code working on my pc (Windows 10 laptop), I encountered the below issue:

Exception has occurred: NotADirectoryError [WinError 267] The directory name is invalid: 'C:\Users\pg/ray_results\PPO_JSSEnv:jss-v1_2023-01-15_08-54-17l2jg9jkq' File "C:\Users\pg\RL-Job-Shop-Scheduling-master\JSS\main.py", line 152, in train_func trainer = PPOTrainer(config=config) File "C:\Users\pg\RL-Job-Shop-Scheduling-master\JSS\main.py", line 165, in train_func()

I'm suspecting this is due to windows o/s doesnt support creating folder with a colon (:) character in the folder name, as the PPOTrainer( ) tries to create a folder with the environment name (JSSEnc:jss-v1) as a part of it.

Can you please let me know how I can address this issue? I tried without the JSSEnv: prefix, but then it is unable to recognize the environment name. Some solutions on the web talk about implementing a custom logger which doesnt seem to be straight forward. Is there a simpler workaround for this issue?

Regards, Prasanth

PhilippWillms commented 1 year ago

Indeed I faced the same issue. Maybe a PR on the Environment https://github.com/prosysscience/JSSEnv is needed which provides a less OS-dependent implementation. This needs to cover the following areas:

  1. Name string of the environment (e.g. no colon)
  2. Dynamic identification of the instances
CoirWood commented 10 months ago

Hi there,

Thank you for sharing this repo. Unfortunately, I'm running into the same issue and can't identify if this is already solved. If so, could you please walk me through it? Thank you in advance!