scipy.optimize.basinhopping。带参数的对象函数

时间:2018-01-08 15:25:28

标签: python numpy scipy

所以,我有一个函数f =(x,a,b),我想用scipy.optimize.basinhopping最小化。 x - 是变量I' m优化,a,b是参数。如何将a,b的值传递给对象函数并不是很清楚。或者这是不可能的?例如,在scipy.optimize.minimize中有一个特殊参数" args"为了这。谢谢!

1 个答案:

答案 0 :(得分:0)

docs

有哪些不清楚之处?

  

func:callable f(x,* args)

     

要优化的功能。 args可以作为dict minimizer_kwargs

中的可选项传递

...

  

另请参阅最小化

     

每个流域步骤调用一次局部最小化函数。 minimizer_kwargs传递给此例程。

所以它有点像:

minimizer_kwargs = {"args": (a, b)}
ret = basinhopping(func, x0, minimizer_kwargs=minimizer_kwargs)