我似乎错误地调用了这个scipy函数,因为它返回的结果不符合我指定的下边界和上边界。
import scipy.optimize as opt
def fn2(args):
x,y,z = args
return x + y - z
opt.anneal(fn2, [0, 0, 0], lower=[5, 5, -5], upper = [15, 15, 5])
(array([-2240.14994625, -1878.50139022, 2297.86619576]), 1)
我做错了什么?
答案 0 :(得分:0)
我看起来不够努力:
Python Scipy Anneal finding solutions out of range
看起来这实际上是scipy中的文档错误 - 尽管the docs已经{{3}},但不会使用lower和upper来约束域:
lower,upper :float或ndarray
x的下限和上限。