Skip to content
Snippets Groups Projects
Commit 1ff12bb9 authored by Kilian Verhetsel's avatar Kilian Verhetsel
Browse files

Switch LNS stopping condition to a time limit

parent 3013c10b
No related branches found
No related tags found
No related merge requests found
...@@ -174,8 +174,11 @@ template<typename State, ...@@ -174,8 +174,11 @@ template<typename State,
typename Fragment = typename selector_traits<Selector>::fragment_type, typename Fragment = typename selector_traits<Selector>::fragment_type,
typename Assigment = typename search_traits<Search>::assignment_type> typename Assigment = typename search_traits<Search>::assignment_type>
void large_neighborhood_search(State &state, Selector &selector, void large_neighborhood_search(State &state, Selector &selector,
Search &search, size_t fragment_count = 100) { Search &search,
for (size_t i = 0; i < fragment_count; i++) { std::size_t time_limit = 100) {
using namespace std::chrono;
auto start = steady_clock::now();
while (steady_clock::now() - start < time_limit * 1s) {
Fragment fragment(selector(state)); Fragment fragment(selector(state));
Assigment assignment(search(state, fragment)); Assigment assignment(search(state, fragment));
assignment(state, fragment); assignment(state, fragment);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment