记录使用python实现QPSO求解最大值问题时,遇到的问题

今天继续在昨天PSO代码的基础上,将PSO代码改成QPSO的代码,QPSO与PSO的区别(不全,主要是代码实现过程中的区别):

[1] QPSO仅有位置没有速度, 并且QPSO用【波函数】来表示粒子的位置, 通过【蒙特卡罗方法】求出粒子位置
[2] 引入平均的粒子历史最好位置mbest: (即pbest的平均值)通过它来求解粒子出现在相对点的位置,用L表示
[3] QPSO要设置的参数较少: 没有PSO中的(惯性因子w, 局部学习因子c1和全局学习因子c2), QPSO中只有一个创新参数alpha(一般不大于1)

【注意:这里的mbest指的是x值,不是y的值】
mbest_x = np.mean(pbest_x)

posted @ 2019-03-26 11:35  helloHKTK  阅读(602)  评论(0编辑  收藏  举报