小编sax*_*ian的帖子

使用方法"COBYLA"接受边界时,scipy的函数是否最小化?

'COBYLA'在scipy的optimize.minimize函数中使用该算法(v.0.11 build for cygwin).我观察到bounds在这种情况下似乎不使用该参数.例如,简单的例子:

from scipy.optimize import minimize

def f(x):
    return -sum(x)

minimize(f, x0=1, method='COBYLA', bounds=(-2,2))
Run Code Online (Sandbox Code Playgroud)

收益:

status: 2.0
nfev: 1000
maxcv: 0.0
success: False
fun: -1000.0
x: array(1000.0)
message: 'Maximum number of function evaluations has been exceeded.'
Run Code Online (Sandbox Code Playgroud)

而不是预期2x.

有没有人察觉到同样的问题?是否存在已知错误或文档错误?在scipy 0.11文档中,COBYLA算法不排除此选项.实际上该函数fmin_cobyla没有bounds参数.谢谢你的任何提示.

python scipy

5
推荐指数
2
解决办法
3835
查看次数

标签 统计

python ×1

scipy ×1