程序的MPI实现
通过MPI生成num+1个粒子,每个粒子具有iloc,ivel,pbest,gbest属性和一个用于通讯的message[3]数组。
粒子的每个维度上的位置iloc和速度ivel在0~1范围内随机生成。
在num+1个粒子中,进程号为0的粒子被标记为全局粒子God,每个粒子更新自己的位置后将自己的pbest发送给God粒子,由God对全局排序后,将gbest发送给每个粒子。
通过MPI生成num+1个粒子,每个粒子具有iloc,ivel,pbest,gbest属性和一个用于通讯的message[3]数组。
粒子的每个维度上的位置iloc和速度ivel在0~1范围内随机生成。
在num+1个粒子中,进程号为0的粒子被标记为全局粒子God,每个粒子更新自己的位置后将自己的pbest发送给God粒子,由God对全局排序后,将gbest发送给每个粒子。
粒子得到当前gbest之后开始新一轮的计算,直到全局收敛于目标点后停止。
二维 0~1范围内 10粒子收敛,精度0.0001,用时
具体程序欢迎移步我的Github:https://github.com/Exceptionv/PSO-MPI
作业用demo,参考就行,别抄
本文介绍了一种基于MPI的并行粒子群优化算法实现。该算法通过生成多个粒子进行全局搜索,并利用God粒子来协调全局最优解的更新。粒子在每次迭代后更新个人最优解并将之发送给God粒子进行全局最优解的排序与更新。
1027

被折叠的 条评论
为什么被折叠?



