OptMLGroup / VRP-RL

Reinforcement Learning for Solving the Vehicle Routing Problem

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

issues about the Valid data

jiujiuxia opened this issue · comments

Hello,

problem is about the valid data set. I found that some instance in the valid set is similar to some instance in the training set. Because there coordination are the same, and only the demand is different. Do you think it will have influence on the reliability of the result?

thank you very much!!!

Hello,I have another question about the valid data.
what is the testing data set according to your paper, when deal with the VRP problem?
Is it from vrp_utils.create_VRP_dataset when seed = 24601?
I run your code by python main.py --task=vrp10, and get the greedy result == 4.65, and the BS(10) result == 4.35, both of which is quite lower than what the paper shows.
so, I doubt what exactly the test set is!
thank you !

commented

Thanks for reporting this! It is good to have lower values, but I will double check that I did not miss anything while cleaning the code.

Hello, Thanks for your reply!

Maybe I have found where the problem is. It is about the config $args['decode_len']$.
When I run by command "python main.py --task=vrp10", the default args['decode_len'] = 15. But this will let your agent produce infeasible solution, which can't satisfy all the demand points.
So I change the args['decode_len'] to 20 when solving 'vrp10'. And then get the average greedy result equals 4.77, which is also lower than what in the paper(4.80). And get the BS(10) result equals 4.62, which lower than the paper's result(4.65) too.

I don't know why I run your code get a lower result. If you find what the problem is, Could you explain to me?
Thanks!!!!

commented

Sounds great. I will fix this in this code. Your results are now better than the ones reported in the paper, which is ok! I used a different epoch based method for generating the samples. I trained for 160000 training steps, but in the default config, it is 260000 train steps. This might be the reason that you are getting better results.