Using parallel searches requires thread-safe components (objective, neighbourhood, etc.). For some applications this may not be easily or efficiently achieved, in which case the benefits of multi-threading may be lost.
Solution: add option for single-threaded execution in parallel searches. This currently applies to:
Parallel tempering
Basic parallel search
Parallel VNS (see #4)
For each of these, an option disableMultiThreading() will be provided. With this setting, all spawned sub-searches are executed on the same thread.
Using parallel searches requires thread-safe components (objective, neighbourhood, etc.). For some applications this may not be easily or efficiently achieved, in which case the benefits of multi-threading may be lost.
Solution: add option for single-threaded execution in parallel searches. This currently applies to:
For each of these, an option
disableMultiThreading()
will be provided. With this setting, all spawned sub-searches are executed on the same thread.