Python 将差分进化与joblib.parallel并行使用

Python 将差分进化与joblib.parallel并行使用,python,Python,我的目的是并行执行以下代码: from scipy.optimize import rosen, differential_evolution bounds = [(0,2), (0, 2), (0, 2), (0, 2), (0, 2)] result = differential_evolution(rosen, bounds) print(result) 为此,我正在joblib库中尝试parallel方法。所以 from scipy.optimize import rosen, d

我的目的是并行执行以下代码:

from scipy.optimize import rosen, differential_evolution

bounds = [(0,2), (0, 2), (0, 2), (0, 2), (0, 2)]
result = differential_evolution(rosen, bounds)

print(result)
为此,我正在
joblib
库中尝试
parallel
方法。所以

from scipy.optimize import rosen, differential_evolution
from joblib import Parallel, delayed

bounds = [(0,2), (0, 2), (0, 2), (0, 2), (0, 2)]

a= Parallel(n_jobs=1)(delayed(differential_evolution)((rosen, bounds)))
print(a)
但不幸的是,它不起作用。在我能理解的几乎所有例子中,它们都有一个变量函数。因此,我发现实现这个
差分进化
优化方法来并行最小化Rosenbrock函数非常令人困惑


感谢您的帮助

如果您只有一个函数调用,那么它就无法并行化。只有当一个函数被一组不同的参数调用时,才会发生并行化。
differential_evolution
函数具有并行化自身的能力:@TimRoberts感谢您的响应。您的第一条评论帮助我认识到,要使joblib正常工作,您需要几个独立的计算。。。。顺便说一下,对于
workers
参数,我在执行时也遇到了一个错误: