gtol 参数问题 [mystic]
gtol parameter issues [mystic]
我正在尝试使用 Python 中的 mystic 库优化函数,并且有一个关于 gtol[=29= 的一般性问题]参数。
我正在搜索的参数space是高维度的(30-40),因此我设置gtol[=29=似乎很合适] = 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 参数?或者我在这里缺少什么?
提前致谢。
我是 mystic
作者。这是 gtol
的正确解释,但是,您可能忽略了 maxiter
(和 maxfun
),这是要执行的最大迭代次数(和函数求值)。
如果你不设置maxiter
(默认为None
),那么我相信diffev2
的默认设置是10 * nDim * nPop
。尝试设置 maxiter=100000
,或类似的东西。
如果终止消息显示 Warning: Maximum number of iterations has been exceeded
,则 maxiter
导致它停止。
我正在尝试使用 Python 中的 mystic 库优化函数,并且有一个关于 gtol[=29= 的一般性问题]参数。
我正在搜索的参数space是高维度的(30-40),因此我设置gtol[=29=似乎很合适] = 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 参数?或者我在这里缺少什么?
提前致谢。
我是 mystic
作者。这是 gtol
的正确解释,但是,您可能忽略了 maxiter
(和 maxfun
),这是要执行的最大迭代次数(和函数求值)。
如果你不设置maxiter
(默认为None
),那么我相信diffev2
的默认设置是10 * nDim * nPop
。尝试设置 maxiter=100000
,或类似的东西。
如果终止消息显示 Warning: Maximum number of iterations has been exceeded
,则 maxiter
导致它停止。