-
Notifications
You must be signed in to change notification settings - Fork 346
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Question regarding pd_shift #462
Comments
No, I don't recall any specific need for not considering the last position here and I don't see why we shouldn't do it in the same way as in
If the solutions change, it's because such a move, when allowed, is picked at some point and changes the sequences of solution we go through during local search. This does not mean the last solution down the line will necessarily be better, just that we change our exploration of the solution space. Yet, the logic is to have an exhaustive lookup of options before applying changes so we should not restrict in this way. Aside from strict solution quality improvement, it means that the current code could potentially return an "obvious sub-optimal" solution where this obvious move could be easily spotted by end users and has not been applied. Maybe we should fix this as such to highlight the change rather than blending the fix in a different refactoring? |
@krypt-n you PR did target |
Hi, this is not a real issue, just a thing I noticed in the code.
I'm currently looking into the running time of instances that use PDShift and compute_best_insertion_pd heavily.
Both contain an algorithm to find a cheap insertion of a shipment into a route. I merged the two algorithms but noticed that this changes the resulting routes.
After some debugging I noticed that the only relevant difference between the algorithm in pd_shift.cpp and the one in local_search.cpp is the range of the possible pickup locations. My question thus is:
Is it intended that PDShift does not consider the end of a route for the pickup? Or am I missing something?
This change is not a clear improvement in solution quality in the benchmarks I checked, some solutions improve, some get worse. This is why I am hesitant to apply this change.
The text was updated successfully, but these errors were encountered: