在粒子群优化中,最优和最优有什么区别,为什么被命名为最优粒子群?
发布于 2015-01-21 10:47:55
背景
粒子群优化算法(PSO)是一种基于种群的随机搜索方法.有许多个人或粒子在搜索空间中移动以寻找最佳的解决方案。每个粒子的位置代表一个潜在的解,并且该解的优度/适应度由一个目标函数(被优化的函数)来衡量。
假设粒子群基本模型(具有惯性权重),粒子在搜索空间中的运动受惯性权重分量、认知分量和社会分量三个因素的影响。
惯性权重分量允许粒子在迭代之间保持一定的动量。认知部分允许粒子的运动受到它在早期迭代中发现的好位置的记忆的影响。社会成分会使群体中其他成员发现的好位置影响到给定粒子的运动。
知识共享--实际答案
现在的问题是如何在群体中分享关于好位置的知识。一个给定粒子可以与之通信的一组粒子称为它的邻域。
一种策略是给粒子充分的知识;在这个策略中,所有的粒子都知道群体所发现的最佳位置。这被称为全局最佳或gBest方法,因为粒子都会被吸引到全局最佳位置。因此,粒子的邻域就是整个粒子群。
另一种策略是只允许粒子与其他粒子的子集通信。粒子P因此会被吸引到粒子在其附近发现的最佳位置,但这并不一定是整个群体迄今发现的最佳位置。因此,这种方法被称为本地最佳或lBest方法。
邻域拓扑
邻域中的方法被定义为邻域拓扑。如果知识交换显示为图(节点表示粒子,边缘表示知识交换),则gBest方法将形成一个看起来像恒星的完全连通图。因此,GBest使用星型拓扑。
有许多不同的拓扑结构允许使用lBest方法。一个拓扑是环,其中每个粒子只与另外两个粒子通信。也有其他的,如冯诺依曼,金字塔等。
有关更多信息,请参阅肯尼迪和门德斯的工作:http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.114.7988&rep=rep1&type=pdf
https://stackoverflow.com/questions/27004028
复制相似问题