如何加快盆地跳跃式全局优化

时间:2019-08-13 13:22:14

标签: python optimization scipy scipy-optimize scipy-optimize-minimize

我正在开发一个程序,该程序应该执行大约6750次优化。现在的问题是,一个优化的持续时间约为3分钟。乍一看似乎并不多,但是如果我必须执行6750次,我将等待2周...显然这不是我想要的,因此这是我关于如何提高速度的问题跳槽全局优化算法。我感觉自己在这里忘记了一些东西,例如可能对我有帮助的其他方法或参数。只有我不知道是什么...

简而言之,我有两个问题。一项优化最多需要3分钟才能收敛,这是否正常?我将如何加快优化速度?

下面的代码显示了我目前的工作方式。第一种方法完成了1750次优化,第二种方法完成了5000次优化。

minimizer_kwargs = {"method": "L-BFGS-B"}
x0 = [100]
func = lambda x: calculate_score(x)
ret = op.basinhopping(func, x0, stepsize=5, minimizer_kwargs=minimizer_kwargs)
print(ret.x[0])

minimizer_kwargs = {"method": "L-BFGS-B"}
x0 = [100, 100]
func = lambda x: calculate_score(x[0], x[1])
ret = op.basinhopping(func, x0, stepsize=5, minimizer_kwargs=minimizer_kwargs)
print(ret.x[0], ret.x[1])

0 个答案:

没有答案