如果在不需要边界的scipy(Python)中使用带最小化器的边界,我可以忽略来自scipy的警告吗?

时间:2015-03-20 00:03:10

标签: python optimization scipy

我从scipy.optimize运行一组最小化方法。 我输入一个特定方法(Nelder-Mead)的调用边界,scipy警告我:

RuntimeWarning: Method Nelder-Mead cannot handle constraints nor bounds.

警告很明确:我不应该输入边界,但我实际上是出于其他原因输入边界(概括我的代码并忽略特殊情况)。

问题 我是否可以忽略scipy的这个警告,仍然相信Nelder-Mead的使用就像我没有输入任何界限一样?

2 个答案:

答案 0 :(得分:3)

<强>更新 我查看了源代码并发现确实可以忽略警告,因为使用方法“Nelder-Mead”调用只是被重定向到调用:

return _minimize_neldermead(fun, x0, args, callback, **options)

显然没有界限,所以应该没问题。

答案 1 :(得分:1)

更新:

自 2021 年起,Nelder-Mead 还可以处理边界问题。如果您将 Scipy 升级到 >1.7.1,它将不再忽略边界,但是您也将不再收到警告。