Ken*_*eso 1 algorithm mathematical-optimization particle-swarm
我知道每个粒子都是特定功能的解决方案,每个粒子和群体都在不断寻找最佳解决方案.如果在第一次迭代后发现全局最佳,并且没有新的粒子被添加到混合中,那么循环是否应该退出并且第一个全局最佳找到的是最合适的解决方案?如果是这种情况,那么PSO比仅仅迭代列表更好.
你的术语有点偏.简单PSO是搜索向量x,其最小化一些标量目标函数E(x).它通过创建许多候选向量来实现.称他们为x_i.这些是"粒子".它们在位置和变化率上随机初始化,也称为速度,这与移动粒子的概念一致,即使该粒子可能具有多于3个维度.
简单的规则描述了位置和速度如何随时间变化.选择规则使得每个粒子x_i随机地沿着减小E(x_i)的方向移动.
规则通常涉及跟踪"到目前为止看到的单个最佳x_i值",并进行调整以使所有粒子倾向于通过随机变化通常朝向最佳值.因此,粒子像嗡嗡作响的蜜蜂一样聚集在一起朝着共同的目标前进,但是由于个体蜜蜂的许多偏差,随着时间的推移,会导致共同的目标发生变化.
遗憾的是,有些文献称迄今为止目标或最佳粒子价值是"全球最小值".在优化中,全局最小值具有不同的含义.全局最小值(可以有不止一个时,有"关系"为最佳)为x一个值-出可能的x值的整个域的-产生的电子商务独特的最小可能值(X).
PSO绝不会保证找到全球最低要求.事实上,你的问题有点荒谬,因为人们通常不知道何时找到全局最小值.你好吗?在大多数问题中,你甚至不知道E的梯度(它给出的方向是将E取为较小的值,即下坡).这就是您首先使用PSO的原因.如果你知道渐变,你几乎可以肯定使用数字技术,比PSO更快地找到答案.没有渐变,你甚至不能确定你已经找到了一个局部最小值,更不用说全局了.
相反,当找到局部最小值时,你通常做的最好的就是"猜测" .你可以通过让系统运行,同时观察"到目前为止看到的最佳粒子"的更新频率和频率.当变化变得罕见和/或变小时,您宣布胜利.
另一种说法就是PSO用于减少E(x)总是好的问题和"你会得到任何你能得到的东西"的问题,无论你是否有信心,你得到的是最好的.例如,你是沃尔玛,任何方式来定位你的商店,节省/赚更多钱是有趣的.
以这一切为背景,让我们回顾一下您的具体问题:
如果在第一次迭代后发现全局最佳,并且没有新的粒子被添加到混合中,那么循环是否应该退出并且第一个全局最佳找到的是最合适的解决方案?
没有答案,因为没有办法确定全球最佳状态.嗡嗡声的粒子群可能会在下一次迭代或从现在开始的十万亿次迭代中找到新的最佳状态.你很少知道.
如果是这样的话,是什么让PSO比仅仅遍历列表更好?
我并不完全理解你的意思.PSO模仿了虫群和群体动物等生物实体的行为方式.以这种方式,它类似于遗传算法,模拟退火,神经网络和使用以下逻辑的其他解决方案查找器系列:物理和生物的自然都具有已知良好的优化过程.让我们利用它们并尽力在软件中模拟它们.我们使用自然比我们自己设计的任何简单迭代做得更好.