Conversation
|
It looks like both It seems both functions are identical, except for two details:
Regarding 1. Could this check be extracted to Regarding 2. We could have a template function parametrised with I can make some commits on top of this branch to show what I have in mind. |
|
You're right, the reason for having nearly similar duplicated implementation in the first place is that they were simple enough to not bother going through an additional abstraction layer. It would be a nice refactor to change that now.
Definitely would make sense. We'd simply have to add a Agree on using templates for the core solving code. Another thing to consider here is that we use 4 different parameter sets for all cvrp/vrptw X homogeneous/heterogeneous options. Also happy to have the threads code live somewhere else if it makes the code more expressive and easy to read.
Since this PR was originally a fix and we're talking about a more thorough refactor, I'd be in favor of merging as is now and moving the refactor part to another issue, what do you think? |
Makes sense. |
Issue
This PR cherry-picks stuff from #755 that I tried back then but discarded at the time. The idea is to:
Tasks
CHANGELOG.md