最基本PSO算法的C++实现

Posted LIFE TAKES ATTITUDES

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最基本PSO算法的C++实现相关的知识,希望对你有一定的参考价值。

按照James Kennedy & Russell Eberhart (1995)的版本,算法过程如下:

[x*] = PSO()
P = Particle_Initialization();
For i=1 to it_max
For each particle p in P do
fp = f(p);
If fp is better than f(pBest)
pBest = p;
end
end
gBest = best p in P;
For each particle p in P do
v = v + c1*rand*(pBest – p) + c2*rand*(gBest – p);
p = p + v;
end
end

 【NOTE】

pbest是个体在移动过程中的历史最佳位置;

gbest是全局最佳位置;

c1表示自我认知系数,c2为社会认知系数,rand是[0,1]之间的随机数。

 

C++实现代码:https://github.com/wxiaoli/PSO

以上是关于最基本PSO算法的C++实现的主要内容,如果未能解决你的问题,请参考以下文章

粒子群优化算法(PSO)

MATLAB粒子群优化算法(PSO)

优化算法粒子群优化算法(PSO)含Matlab源码 1073期

回归预测 | MATLAB实现PSO-RF粒子群算法优化随机森林多输入单输出回归预测

粒子群算法(PSO)

基于多种群机制的PSO算法Python实现