我正在尝试使用 Python 中的神秘库优化函数,并且对gtol参数有一个一般性的问题。
我正在搜索的参数空间是高维(30-40),因此,设置gtol = 40000似乎适合我。奇怪的是,算法似乎在 30000 次迭代后停止,尽管我指定了gtol为 40000,这(据我所知)意味着该算法在停止运行之前应该有 40000 次相同的迭代。
我的函数调用非常基本:
stepmon = VerboseLoggingMonitor(1, 1)
result = diffev2(utilss, x0=[1/value]*value, bounds=[(0,0.2)] * value, npop=150, gtol=40000, disp=True, full_output=True, itermon=stepmon
我检查了评价函数的演变,它在第 29000 次迭代时持平。最后 1000 次迭代是相同的,但它已经停止,而不是运行其余 39000 次所需的gtol迭代。
我是否误解了gtol参数?或者我在这里错过了什么?
提前致谢。