【发布时间】:2014-04-30 00:14:41
【问题描述】:
我明白每个粒子都是特定函数的解,每个粒子和群体都在不断地寻找最佳解。如果在第一次迭代后找到了全局最佳值,并且没有将新粒子添加到混合中,那么循环不应该退出并且找到的第一个全局最佳值是最合适的解决方案吗?如果是这种情况,那么使 PSO 比仅遍历列表更好。
【问题讨论】:
-
据我所知,你永远不知道你是否已经达到了一个全局的解决方案。验证这一点需要枚举解决方案数量中的多项式。
-
据我了解,在每次迭代中,粒子都会朝着当前的最佳解决方案(局部或全局)移动。如果您不知道当前的最佳解决方案,粒子不会只是随机移动而不是蜂拥而至使整个过程无用吗?
-
确实,当前最佳解决方案。但是您的问题询问了有关 global 解决方案的问题。而且不可能有效地确定您是否达到了全局最优。
-
我的措辞不好。一个例子可能会澄清我想问的问题。假设有 20 个粒子。 PSO 运行它的第一次迭代并找到当前的最佳解决方案。这不是所有粒子中最好的解决方案,我们可以在那里退出 PSO 吗?
标签: algorithm mathematical-optimization particle-swarm