尝试将Maxcor传递给L-BFGS-B最小化器时出现TypeError

时间:2018-05-16 02:04:39

标签: python optimization scipy nonlinear-optimization

当我尝试在L-BFGS-B方法中指定maxcor kwarg时,我得到了以下错误。优化线如下所示,

minimizer_kwargs = {"method": "L-BFGS-B", "bounds": bounds, "maxcor": 190}
BH_result=optimize.basinhopping(obj_Basinhopping, initial_guess, minimizer_kwargs=minimizer_kwargs, accept_test=mybounds,callback=printx, disp=True)

我收到了以下错误,

TypeError: minimize() got an unexpected keyword argument 'maxcor'

我很确定我在这里犯了一个愚蠢的错误。有人请帮忙。

1 个答案:

答案 0 :(得分:1)

您在minimizer_kwargs中添加的选项中,只有methodbounds实际上是scipy.optimize.minimize接受的参数。要使用L-BFGS-B方法的maxcor选项,您必须将其传递给minimize参数中的options。那就是:

minimizer_kwargs = {"method": "L-BFGS-B",
                    "bounds": bounds,
                    "options": {"maxcor": 190}}