首页 文章

粒子群优化惯性因子

提问于
浏览
0

我正在阅读软计算算法,目前在"Particle Swarm Optimization ",我理解这项技术一般但是,我停在数学或物理部分我无法想象或理解它是如何工作或它如何影响飞行,那部分是第一部分更新速度的等式中的一部分称为"Inertia Factor"
formula
完整的更新速度方程是:
formula
我在2.3节"Ineteria Factor"的一篇文章中读到:

“该算法的这种变化旨在 balancer 两种可能的PSO趋势(取决于参数化),既可以利用已知解决方案周围的区域,也可以探索搜索空间的新区域 . 为此,这种变化关注于粒子的动量分量”速度方程2.请注意,如果移除此组件,粒子的移动就无法记住前一个移动方向,并且总是会探索到找到的解决方案 . 另一方面,如果使用了速度组件,或者甚至乘以aw(惯性权重, balancer 动量分量的重要性)因素,粒子将倾向于探索搜索空间的新区域,因为它不能轻易地将其速度改变为最佳解决方案 . 它必须首先“抵消”以前的动量在这样做的过程中,它可以通过时间\花费抵消“先前的动力来探索新的区域 . 这种变化是通过乘以之前的速度来实现的 . y组件的权重值为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的这种理论 .

2 回答

  • 1

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

    particle speed = inertia + local memory + global memory
    

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

    Exploit :利用最知名的解决方案(本地和全球) .
    Explore :搜索新的方向,但不要忽视最了解的解决方案 .

    简而言之,您可以控制为粒子当前速度(惯性),最佳知识解决方案的粒子记忆以及群体最佳知识解决方案的粒子记忆提供多少重要性 .

    我希望它可以帮到你! BR的

  • 3

    惯性不是Kennedy和Eberhart在1995年引入的原始PSO算法的一部分 . 在Shi和Eberhart发布此扩展并且(在某种程度上)显示它更好地工作已经三年了 .

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

    我的感觉是,你越接近0,粒子就越混乱 .

    有关详细解答请参阅Shi,Eberhart 1998 - “改进的粒子群优化器” .

相关问题