BlackBoxOptim hangs with multi-threaded optimization

Hi everyone,

I had tried using BlackBoxOptim.jl for a parameter estimation problem, following this tutorial. In particular, I have a rather slow intermediate ODE system to solve which does not benefit from multithreading — using the multithreading option in BBO, however, leads to the evaluation failing to continue past the initialization of the workers.

Using the multithreading example actually demonstrates the issue; the command starting on line 39 generates the correct worker processes (in my case, 3) and displays an @info line in the terminal, but does not progress further; computation proceeds but never completes and never produces further output. The julia session must be interrupted with ^C to exit.

I’m not sure how to diagnose the issue or what information would be helpful. I would appreciate any help with that. Thanks!

I can’t help with BlackBoxOptim, but I suggest that you also give CMAEvolutionStrategy.jl a try. It is a very powerful black box optimizer that I’ve used successfully on several difficult optimization problems. The multithreading option has worked flawlessly for me.

Thanks for the tip! CMAEvolutionStrategy does seem to have more reliable multi-threading.

Have just noticed the following on the BBO page:

NB! There are problems with the multi-threaded evaluation on Julia 1.6 and later. We will be investigating this and hope to fix in a future release. For now the related tests have been deactivated. Sorry for the inconvenience.

I’ll mark this as solved.

1 Like