PSO算法优化Griewank函数陷入局部最优问题求助
粒子群优化(PSO)求解函数极小化:Griewank函数陷入局部最优的问题
最近我在用C++实现一个简单的粒子群优化(PSO)算法,用来做函数极小化求解。测试下来,算法在Sphere函数上的优化效果挺不错的,但一碰到Griewank函数就总是陷入局部最优,这实在有点头疼。
下面是我代码里的初始参数设置以及粒子类的部分实现:
#define P 40 #define DIM 10 #define Iter 5000 double gfitness = 100000.0, gbestp[DIM] = { 0 }; int gfitnessindex = 0, y = 0; class particle { public: double x[DIM], ... };
我想请教一下,有没有什么调整PSO参数或者改进算法结构的方法,能让它在Griewank函数上跳出局部最优,找到全局极小值呢?
内容的提问来源于stack exchange,提问作者Tayyab Rauf
相关产品推荐
相关产品推荐

