2

我正在使用这个库 - https://pythonhosted.org/pyswarm/来查找凸函数的全局最小值。这只是开始并致力于非凸函数。我使用线性回归找到了全局最小值,但问题是 PSO 似乎收敛于不同的点,具体取决于我设置的 omega 和 phi(s) 的值。通过将成本与线性回归给出的最小值进行比较,我可以确认这些点不是全局最小值。
这在 PSO 中是否可能收敛(值在 10 次迭代后不会改变)还是我在某处犯了一些错误?

4

1 回答 1

2

PSO 绝对有可能在错误的地方收敛。关于元启发式的事情是它们可能需要很长时间才能运行。在错误的地方进行十次迭代是非常有可能的。此外,收敛到绝对全局最小值需要很长时间,算法永远无法证明它收敛到全局最小值,只能达到终止标准。你对元启发式的期望应该是它最终会给你一个好的答案,而不是它总是收敛到全局最小值。

为了弥补这些缺点——运行时间长,不能保证全局最小化——你会得到一个可以处理任何类型的函数评估或适应度环境的优化算法。

于 2018-12-06T18:33:05.280 回答