0

我正在阅读软计算算法,目前在“粒子群优化”中,我大致了解该技术,但是,我停在数学或物理部分,我无法想象或理解它是如何工作的或它如何影响飞行,那部分是方程中更新速度的第一部分,称为“惯性因子” 公式 ,完整的更新速度方程是: 公式 我在第 2.3 节“惯性因子”的一篇文章中读到:

“算法的这种变体旨在平衡两种可能的 PSO 趋势(取决于参数化),即利用已知解决方案周围的区域或探索搜索空间的新区域。为此,这种变体侧重于粒子的动量分量”速度方程 2. 注意,如果你去掉这个分量,粒子的运动就不会记住之前的运动方向,它总是会接近找到的解。另一方面,如果使用速度分量,或者甚至乘以 aw(惯性权重,平衡动量分量的重要性)因子,粒子将倾向于探索搜索空间的新区域,因为它不能轻易地将其速度改变为最佳解决方案。它必须首先“抵消”先前的动量获得,在这样做的过程中,它能够探索新的区域,时间“花费抵消”先前的动量。这种变化是通过将先前的速度分量乘以权重值 w 来实现的。

完整的 pdf 位于:https ://www.google.com.eg/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CDIQFjAA&url=http%3A%2F%2Fweb.ist.utl.pt %2F~gdgp%2FVA%2Fdata%2Fpso.pdf&ei=0HwrUaHBOYrItQbwwIDoDw&usg=AFQjCNH8vChXHXWz_ydHxJKAY0cUa94n-g

但我也无法想象这是如何在物理上或数值上发生的,以及这个因素如何影响从探索级别到开发级别,所以需要一个数值示例来了解它是如何工作的并想象它是如何工作的。

此外,在遗传算法中有一个模式定理,它证明了 GA 成功找到了最优解,PSO 是否有这样的定理。

4

3 回答 3

3

使用数学来解释 PSO 并不容易(例如,参见 Wikipedia 文章)。但你可以这样想:方程有 3 个部分:

particle speed = inertia + local memory + global memory

因此,您可以通过改变每个部分的系数来控制这些组件的“重要性”。没有分析方法可以看到这一点,除非您使随机部分保持不变并忽略诸如粒子-粒子相互作用之类的东西。

Exploit:利用最知名的解决方案(本地和全球)。
探索:寻找新的方向,但不要忽略最了解的解决方案。

简而言之,您可以控制对粒子当前速度(惯性)、最佳已知解的粒子记忆和群体最佳已知解的粒子记忆的重视程度。

我希望它可以帮助你!兄弟

于 2013-02-26T01:44:28.420 回答
1

Inertia 并不是 Kennedy 和 Eberhart 于 1995 年引入的原始 PSO 算法的一部分。直到 Shi 和 Eberhart 发布此扩展并(在某种程度上)证明它工作得更好已经过去了三年。

可以将该值设置为一个常数(假设 [0.8 到 1.2] 是最好的)。然而,参数的重点是平衡对空间的利用和探索,作者在使用线性函数定义参数时获得了最佳结果,该函数随着时间的推移从 [1.4 到 0] 减小。他们的理由是,第一个应该利用解决方案找到一个好的种子,然后利用种子周围的区域。

我的感觉是,越接近 0,粒子的转动就越混乱。

有关详细答案,请参阅 Shi, Eberhart 1998 - “A modified Particle Swarm Optimizer”。

于 2014-05-26T21:04:52.307 回答
0

惯性控制先前速度的影响。

当高时,认知和社会成分的相关性较低。(粒子继续前进,探索空间的新部分)

低时,粒子会更好地探索已找到迄今为止最佳最优值的空间

惯性会随着时间而改变:开始时高,后来降低

于 2020-05-24T11:05:43.583 回答