You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We use various heuristic tunings to reach to different initial solutions, then we apply our local search process on each and pick the best result in the end. The problem is that whenever two different tunings yield the same solution after the heuristic, we still run the local search on both instances. Thus we're potentially doing a significant amount of extra work for nothing.
In practice, heuristic + local search happen in a lambda that is called across multiple threads, so we'd have to keep this setup for heuristic only, then filter out identical heuristic solutions after joining all threads, then parallelize the local search using another lambda.
The text was updated successfully, but these errors were encountered:
Based on #755 (comment), this was not such a great idea. Yet, I'd like to keep some changes from #755 since computing SolutionIndicators values is now encapsulated directly in the struct ctor instead of doing it manually in client code.
jcoupey
changed the title
Filter out identical heuristic solutions
Simplify SolutionIndicators logic
Aug 4, 2022
We use various heuristic tunings to reach to different initial solutions, then we apply our local search process on each and pick the best result in the end. The problem is that whenever two different tunings yield the same solution after the heuristic, we still run the local search on both instances. Thus we're potentially doing a significant amount of extra work for nothing.
In practice, heuristic + local search happen in a lambda that is called across multiple threads, so we'd have to keep this setup for heuristic only, then filter out identical heuristic solutions after joining all threads, then parallelize the local search using another lambda.
The text was updated successfully, but these errors were encountered: