From 1ff12bb90ea8c805e706f6ba077292799b1746b7 Mon Sep 17 00:00:00 2001 From: Kilian Verhetsel <kilian.verhetsel@student.uclouvain.be> Date: Sat, 10 Dec 2016 13:40:18 +0000 Subject: [PATCH] Switch LNS stopping condition to a time limit --- Mesh/search.hpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Mesh/search.hpp b/Mesh/search.hpp index 4a954c583f..275ad47148 100644 --- a/Mesh/search.hpp +++ b/Mesh/search.hpp @@ -174,8 +174,11 @@ template<typename State, typename Fragment = typename selector_traits<Selector>::fragment_type, typename Assigment = typename search_traits<Search>::assignment_type> void large_neighborhood_search(State &state, Selector &selector, - Search &search, size_t fragment_count = 100) { - for (size_t i = 0; i < fragment_count; i++) { + Search &search, + 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)); Assigment assignment(search(state, fragment)); assignment(state, fragment); -- GitLab