-
Notifications
You must be signed in to change notification settings - Fork 339
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
Apply heuristics for partial solutions #1177
base: master
Are you sure you want to change the base?
Conversation
I've tested things related to #977 as follows:
Compared to Also I've generated specific instances to reproduce the embarrassing situations mentioned here in order to confirm that this PR does fix it. |
Now for the refactoring part from #1181, this PR significantly reduces the number of lines and heuristic stuff is now much more readable. I've confirmed that we still get the exact same executions and searches on the usual benchmarks. The caveat being that I've notice a slight slowdown for the heuristics computing. I've done some profiling but I have no explanation other than the fact that the core heuristic parts are now factored in helper functions. Those seem to be inlined by the compiler but probably the added boilerplate prevent some further optimization that was happening before. |
Issue
Fixes #977, fixes #1181.
Tasks
basic
heuristic to account for non-empty routes in inputdynamic
heuristic to account for non-empty routes in inputbasic
anddynamic
heuristics into a single helper functionbasic
anddynamic
heuristics into a single helper functionCHANGELOG.md