diff --git a/Mesh/search.hpp b/Mesh/search.hpp index 4a954c583ff73f29004eb68baa2faeda7ead1f9c..275ad47148a4ff03cd1b742a3680af955e767fc3 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);