C语言实现基本PSO算法

2014-11-24 09:41:29 · 作者: · 浏览: 0


粒子群算法的流程图如上,看了好多版本,这个最靠谱,我的main函数完全按照这个来,好理解过程:


各种printf用来调试自己的信息,可以去掉看看中间值~~~


先来pso.h

现在执行最简单的功能,用粒子群搜索二维空间:y=x^2+y^+3的最大值~~~x,y的范围属于(-100,100),那最大值就是20003,伪随机粒子数20个,最大迭代次数为40次,最大搜索速度为2,惯性权重W设为1.4,学习因子c1=c2=2,看能不能找到最大值~~~


pso.c