打印选择的 scipy.optimize.minimize 方法

问题描述 投票:0回答:1

这是一个简短的问题,但谷歌每次都会指向我找不到答案的文档。

我正在使用 scipy.optimize.minimize。它运作得很好,一切都很好。 我可以定义一个要使用的方法,但即使我不指定该方法它也可以工作。

有什么方法可以得到输出吗?使用了哪种方法?我知道结果类,但那里没有提到方法。

这是一个例子:

solution = opt.minimize(functitionTOminimize,initialGuess, \
                      constraints=cons,options={'disp':True,'verbose':2})
print(solution)

我可以将 value 方法设置为

slsqp
cobyla
之类的值,但我想看看程序正在选择什么。我怎样才能得到这些信息?

python scipy scipy-optimize scipy-optimize-minimize
1个回答
6
投票

根据 scipy.optimize.minimize() 文档:如果未指定方法,则默认选择将为 BFGS、L-BFGS-B、SLSQP 之一。

  • 如果问题具有无边界无约束,则将选择 BFGS。
  • 如果问题有边界没有约束,则将选择 L-BFGS-B。
  • 如果问题有约束,将选择 SLSQP。 SLSQP 还支持边界。

要了解有关如何选择方法的更多详细信息,您应该查看最小化()的第480行。方法选择如下:

if method is None:
    # Select automatically
    if constraints:
        method = 'SLSQP'
    elif bounds is not None:
        method = 'L-BFGS-B'
    else:
        method = 'BFGS'
© www.soinside.com 2019 - 2024. All rights reserved.