【技术实现步骤摘要】
一种基于GPU端加速的粒子群优化方法、系统、设备及介质
[0001]本专利技术涉及智能进化领域中的群智能算法
,具体涉及一种基于
GPU
端加速的粒子群优化方法
、
系统
、
设备及介质
。
技术介绍
[0002]粒子群优化
(particle swarm optimization
,
PSO)
算法于
1995
年由
J.Kennedy
和
R.C.Eberhart
提出,它是一种利用种群智能建立的随机优化模型,它具有算法实现简单
、
调整参数少
、
容易收敛
、
稳定性高等特点
。
但是,在面对大规模
、
高复杂的循环优化问题时,由于在循环优化中反复初始化算法导致初始化时间的叠加,使得算法整体的寻优效率十分低下,收敛速度也会大幅下降
。
[0003]伴随着
GPU
并行计 ...
【技术保护点】
【技术特征摘要】
1.
一种基于
GPU
端加速的粒子群优化方法,其特征在于,包括以下步骤:
S1、CPU
端进行必要变量的初始化,其余数据的初始化工作迁移到
GPU
端进行;
S2、CPU
端根据问题规模和粒子群规模自适应地调整执行参数,给核函数1和核函数2分配线程资源;
S3、CPU
端调用核函数1在
GPU
端初始化粒子群,得到粒子的初始速度和位置,并计算出粒子个体历史最优和全局最优;
S4、CPU
端调用核函数2在
GPU
端更新粒子的速度和位置,计算粒子的适应值,并通过比较得出粒子个体历史最优和全局最优;
S5、GPU
端在满足结束条件前,循环步骤
S4
;
S6、GPU
端终止循环,并将全局最优解拷贝至
CPU
端
。2.
根据权利要求1所述的一种基于
GPU
端加速的粒子群优化方法,其特征在于,所述的步骤
S1
中必要变量的初始化,必要变量包括群维度和粒子数,初始化后将它们拷贝至
GPU
;其余数据包括粒子的速度
、
位置和适应值,需要先在
CPU
端创建相应的空数组再拷贝至
GPU
,然后在
GPU
端对它们执行具体的赋值初始化操作
。3.
根据权利要求1所述的一种基于
GPU
端加速的粒子群优化方法,其特征在于,所述的步骤
S2
,具体为:在
CPU
端调用
kernel<<<GridDim,BlockDim>>>
核函数前,给出函数中
GridDim
和
BlockDim
的参数配置,根据问题规模和粒子群大小来自适应地调整参数配置,自适应公式如下:
Kernel(GridDim,BlockDim)
=
Kernel((S/N/BlockDim,N),(n,WarpSiz e))
式中,
GridDim
为网格大小,即其中所含线程块数;
BlockDim
为线程块大小,即其中所含线程数;
S
表示粒子规模,即粒子数;
N
表示问题规模,即求解问题的维度;
WarpSize
表示一个
warp
的大小;通过自适应调整
n
的大小,尽可能扩大每个
Block
中的线程数,将
BlockDim
设置为
warp
的倍数
。4.
根据权利要求1所述的一种基于
GPU
端加速的粒子群优化方法,其特征在于,所述的步骤
S3
中,
CPU
端调用核函数
kernel1()
在
GPU
端初始化粒子群相关变量,包括各粒子的初始速度和初始位置,并根据所给问题函...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。