SciPy中的并行优化

SciPy中的并行优化,第1张

SciPy中的并行优化

根据我的原始答案和随后的讨论,这是另一种尝试。

据我所知,scipy.optimize模块适用于具有标量或矢量输入以及标量输出或“成本”的函数。

由于您将每个方程式视为独立于其他方程式,所以我最好的主意是使用多处理模块并行进行工作。如果您要最小化的功能与问题中的功能一样简单,那么我认为这是不值得的。

如果功能更复杂,并且您希望将工作划分,请尝试以下 *** 作:

import numpy as npfrom scipy import optimizefrom multiprocessing import Pooldef square(x, a=1):    return [np.sum(x**2 + a), 2*x]def minimize(args):    f,x,a = args    res = optimize.minimize(f, x, method = 'BFGS', jac = True, args = [a])    return res.x# your a valuesa = np.arange(1,11)# initial guess for all the x valuesx = np.empty(len(a))x[:] = 25args = [(square,a[i],x[i]) for i in range(10)]p = Pool(4)print p.map(minimize,args)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5566047.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存