When a search is requested to stop, it currently only does so after completing its current step. For more complex searches, involving one or more sub-searches, termination requests are propagated to these sub-searches for fast termination. JAMES currently includes 4 such searches:
VNS
Piped local search
Parallel tempering
Basic parallel search
To do: check wether termination is as fast as possible for each of these.
Also for searches that explore large parts (or all moves) of the applied neighbourhood(s), termination may be prohibited for a noticeable amount of time, during which the current step is completed. Examples include steepest descent, tabu search and VND. For these, it may be appropriate to abort the current step to ensure fast response to termination request. If the search is later restarted, it should then repeat this aborted step.
When a search is requested to stop, it currently only does so after completing its current step. For more complex searches, involving one or more sub-searches, termination requests are propagated to these sub-searches for fast termination. JAMES currently includes 4 such searches:
To do: check wether termination is as fast as possible for each of these.
Also for searches that explore large parts (or all moves) of the applied neighbourhood(s), termination may be prohibited for a noticeable amount of time, during which the current step is completed. Examples include steepest descent, tabu search and VND. For these, it may be appropriate to abort the current step to ensure fast response to termination request. If the search is later restarted, it should then repeat this aborted step.