CN114330933A - 基于gpu并行计算的元启发式优化算法及电子设备 - Google Patents

基于gpu并行计算的元启发式优化算法及电子设备 Download PDF

Info

Publication number
CN114330933A
CN114330933A CN202210221047.5A CN202210221047A CN114330933A CN 114330933 A CN114330933 A CN 114330933A CN 202210221047 A CN202210221047 A CN 202210221047A CN 114330933 A CN114330933 A CN 114330933A
Authority
CN
China
Prior art keywords
ant
bait
iteration
baits
calculating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210221047.5A
Other languages
English (en)
Other versions
CN114330933B (zh
Inventor
李健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Fengyu Technology Co ltd
Original Assignee
Beijing Fengyu Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Fengyu Technology Co ltd filed Critical Beijing Fengyu Technology Co ltd
Priority to CN202210221047.5A priority Critical patent/CN114330933B/zh
Publication of CN114330933A publication Critical patent/CN114330933A/zh
Application granted granted Critical
Publication of CN114330933B publication Critical patent/CN114330933B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请涉及基于GPU并行计算的元启发式优化算法及电子设备,属于优化算法技术领域,本申请的优化算法包括,包括为算法中各蚂蚁及诱饵分配独立的显卡显存空间,并将初始化参数传入GPU中;在GPU中基于迭代进行诱饵位置的比较评价,在迭代次数达到迭代最大次数时,从显卡显存中拷贝位置最佳的诱饵的位置参数到内存中,释放显卡显存空间,输出结果;其中,在进行诱饵位置的比较评价的每一次迭代中,包括:并行计算各蚂蚁及各诱饵的关于位置参数的目标函数值,根据目标函数值的比较,更新诱饵的位置,并比较确定位置最佳的诱饵;并行计算每只蚂蚁选择目标诱饵后游行的位置,对蚂蚁的位置进行更新。本申请的技术方案,有利于满足应用中的实时性要求。

Description

基于GPU并行计算的元启发式优化算法及电子设备
技术领域
本申请属于优化算法技术领域,具体涉及一种基于GPU并行计算的元启发式优化算法及电子设备。
背景技术
工程中最优化问题的一般提法是要选择一组参数(变量),在满足一系列有关的限制条件(约束)下,使设计指标(目标)达到最优值。目前的优化算法有很多,典型的有梯度下降法、牛顿法、共轭梯度法、元启发式优化方法等。
梯度下降法实现简单,当目标函数是凸函数时,梯度下降法的解是全局解。但一般情况下,其解不保证是全局最优解,梯度下降法的速度也不是最快的。牛顿法是一种迭代算法,每一步都需要求解目标函数的黑塞矩阵的逆矩阵,计算比较复杂。共轭梯度法兼顾了计算复杂度和收敛速度,但由于其强调共轭性,限制了其随机性。
元启发式方法指人在解决问题时所采取的一种根据经验规则进行发现的方法。其特点是在解决问题时,利用过去的经验,选择已经行之有效的方法。一般元启发式算法的缺点是应用过程中计算求解速度慢,且在面对大范围搜索问题时,跳出局部最优能力较差。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
为至少在一定程度上克服相关技术中存在的问题,本申请提供一种基于GPU并行计算的元启发式优化算法及电子设备,算法原理模仿投放诱饵诱捕蚂蚁的行为,并基于GPU并行设计,可极大地提升计算速度,满足应用中的实时性要求。
为实现以上目的,本申请采用如下技术方案:
第一方面,
本申请提供一种基于GPU并行计算的元启发式优化算法,该优化算法包括:
为算法中各蚂蚁及诱饵分配独立的显卡显存空间,并将初始化参数传入GPU中;
在GPU中基于迭代进行诱饵位置的比较评价,在迭代次数达到迭代最大次数时,从显卡显存中拷贝位置最佳的诱饵的位置参数到内存中,释放显卡显存空间,输出结果;其中,在进行诱饵位置的比较评价的每一次迭代中,包括如下步骤:
并行计算各蚂蚁及各诱饵的关于位置参数的目标函数值,根据目标函数值的比较,更新诱饵的位置,并比较确定位置最佳的诱饵;
并行计算每只蚂蚁选择目标诱饵后游行的位置,对蚂蚁的位置进行更新。
可选地,所述根据目标函数值的比较,更新诱饵的位置,具体为:
基于初始化参数中蚂蚁及诱饵的序号对应关系,将蚂蚁和诱饵进行两两配对分组;
采用多线程同时将每一分组中蚂蚁所对应的关于位置参数的目标函数值,与同一分组中诱饵所对应的关于位置参数的目标函数值进行比较,在基于预设评价规则判断一分组中蚂蚁的位置较优时,用该蚂蚁的位置参数对应替换分组中诱饵的位置参数。
可选地,所述比较确定位置最佳的诱饵,具体为:
采用多线程两两比较诱饵的关于位置参数的目标函数值,选出位置较优的诱饵进入下一轮比较,直至确定位置最佳的诱饵。
可选地,计算关于位置参数的目标函数值的过程中,目标函数的构建形式和所述预设评价规则均基于实际的工程问题进行确定。
可选地,所述计算每只蚂蚁选择目标诱饵后游行的位置,对蚂蚁的位置进行更新,包括:
根据预设随机游走函数分别计算每只蚂蚁的随机游走值,并进而计算每只蚂蚁在群体随机游走过程中的游走相对值;
计算确定当前迭代中诱饵的吸引力参数,基于所述吸引力参数计算确定每一蚂蚁所选择目标诱饵的影响范围;
根据各只蚂蚁的游走相对值,以及相应目标诱饵的影响范围,对应计算确定每只蚂蚁相对目标诱饵的第一游走位置;
根据每只蚂蚁的第一游走位置与位置最佳的诱饵的位置,分别对应确定各只蚂蚁游走后的最终位置,并基于所述最终位置对蚂蚁的位置参数进行更新。
可选地,
所述预设随机游走函数如以下表达式所示,
Figure 834848DEST_PATH_IMAGE001
其中,
Figure 307418DEST_PATH_IMAGE002
表示第t次迭代的随机游走值,r表示0至1之间的均匀随机数;
基于以下表达式,计算每只蚂蚁在群体随机游走过程中的游走相对值,
Figure DEST_PATH_IMAGE003
其中,
Figure 483184DEST_PATH_IMAGE004
表示蚂蚁i在第t次迭代的游走相对值,
Figure DEST_PATH_IMAGE005
表示蚂蚁i在第t次迭代的随机游走值,
Figure 470732DEST_PATH_IMAGE006
表示第t次迭代中蚂蚁群体中各个体所对应的随机游走值中的最小值,
Figure DEST_PATH_IMAGE007
表示第t次迭代中蚂蚁群体中各个体所对应的随机游走值中的最大值。
可选地,
基于以下表达式,计算确定当前迭代中诱饵的吸引力参数,
Figure 757357DEST_PATH_IMAGE008
其中,ratio表示吸引力参数,t表示当初迭代次数,T表示迭代最大次数;
基于以下表达式,计算确定蚂蚁所选择目标诱饵的影响范围,
Figure DEST_PATH_IMAGE009
其中,trapk表示目标诱饵k的影响范围,trapk,min、trapk,max分别表示目标诱饵k的影响范围的上下限,Dmin、Dmax分别表示算法中位置参数的上下限,X_Bk表示目标诱饵k的位置参数。
可选地,基于以下表达式计算确定各只蚂蚁相对目标诱饵的第一游走位置,
Figure 881170DEST_PATH_IMAGE010
其中,X_Ai,k表示蚂蚁i相对目标诱饵k的第一游走位置,
Figure DEST_PATH_IMAGE011
表示蚂蚁i在第t次迭代的游走相对值,trapk,min、trapk,max分别表示目标诱饵k的影响范围的上下限。
可选地,基于以下表达式对应确定各只蚂蚁游走后的最终位置,
Figure 165521DEST_PATH_IMAGE012
其中,X_Ai表示蚂蚁i的最终位置,X_Ai,k表示蚂蚁i相对目标诱饵k的第一游走位置,
Figure DEST_PATH_IMAGE013
表示位置最佳的诱饵的位置。
第二方面,
本申请提供一种电子设备,包括:
CPU及分别与所述CPU相连的GPU和存储器,其中,所述存储器中存储有程序指令;
所述CPU和GPU用于执行存储器中存储的程序指令,执行如上文任一项所述的元启发式优化算法。
本申请采用以上技术方案,至少具备以下有益效果:
本申请的优化算法,基于模仿投放诱饵诱捕蚂蚁的行为进行设计,并基于GPU并行计算执行,主要计算步骤均在GPU中并行完成,极大的提高了计算速度,有利于满足实际工程应用中的实时性要求,提高了算法的适用性。
本发明的其他优点、目标,和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书,权利要求书,以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本申请的技术方案或现有技术的进一步理解,并且构成说明书的一部分。其中,表达本申请实施例的附图与本申请的实施例一起用于解释本申请的技术方案,但并不构成对本申请技术方案的限制。
图1为本申请一个实施例提供的基于GPU并行计算的元启发式优化算法的流程示意图;
图2为本申请一个实施例中确定位置最佳的诱饵的过程的示意说明图;
图3为本申请一个实施例中基于GPU并行计算的元启发式优化算法的流程示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将对本申请的技术方案进行详细的描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本申请所保护的范围。
如背景技术中所述,工程中最优化问题的一般提法是要选择一组参数(变量),在满足一系列有关的限制条件(约束)下,使设计指标(目标)达到最优值。作为优化算法有很多,典型的有梯度下降法、牛顿法、共轭梯度法、元启发式优化方法等。
其中,元启发式方法指人在解决问题时所采取的一种根据经验规则进行发现的方法。其特点是在解决问题时,利用过去的经验,选择已经行之有效的方法。一般元启发式算法的缺点是应用过程中计算求解速度慢,且在面对大范围搜索问题时,跳出局部最优能力较差。
针对于此,本申请提出一种基于GPU并行计算的元启发式优化算法,算法原理模仿投放诱饵诱捕蚂蚁的行为,并基于GPU并行设计,可极大地提升计算速度,满足应用中的实时性要求。
如图1所示,在一实施例中,本申请提出的基于GPU并行计算的元启发式优化算法,包括:
步骤S110,为算法中各蚂蚁及诱饵分配独立的显卡显存空间,并将初始化参数传入GPU中;
本申请中的元启发式优化方法是模仿投放诱饵诱捕蚂蚁的行为,算法设计中,蚂蚁、诱饵的位置参数对应于用于表示实际工程问题的目标函数F(x)的解。
因此容易理解的是,步骤S110中,初始化参数包括在目标函数F(x)的解空间{X=(x1,x2,……xD)}中,随机生成的N个诱饵的初始位置
Figure 640365DEST_PATH_IMAGE014
,以及N个蚂蚁的初始位置
Figure 668364DEST_PATH_IMAGE015
,这里的X_A、X_B基于实际的应用需求可以为向量或矩阵,其是在变量取值空间上试探取的值;
由于后续算法执行中涉及到迭代,初始化参数中还包括迭代次数参数t(初始化t=0),迭代最大次数T(例如T=200);
此外,需要说明的是,本身中目标函数F(x)的构建形式和(对于优化评价)的预设评价规则是均是基于实际的工程问题来确定的;
举例而言,如针对电网传输路径规划问题,F(x)可能表示的是不同规划方案下的能耗,其具体的构建基于电网模型进行建立,预设评价规则是越小越好(即相应规划方案x下,使F(x)最小);类似的,若某一应用场景下,若F(x)表示某种收益,则预设评价规则是越大越好。
本实施例提供的技术方案,涉及到GPU中的并行运行,为了发挥GPU并行算法的优势,该步骤中,随机生成的蚂蚁及诱饵的个数为2的整数幂,例如N为220。
步骤S110之后,进行步骤S120,在GPU中基于迭代进行诱饵位置的比较评价,在迭代次数达到迭代最大次数时,从显卡显存中拷贝位置最佳的诱饵的位置参数到内存中,释放显卡显存空间,输出结果;
其中,在进行诱饵位置的比较评价的每一次迭代中,包括如下步骤:
并行计算各蚂蚁及各诱饵的关于位置参数的目标函数值,根据目标函数值的比较,更新诱饵的位置(模仿在更好的位置投饵),并比较确定位置最佳的诱饵;
并行计算每只蚂蚁选择目标诱饵后游行的位置,对蚂蚁的位置进行更新(模仿蚂蚁在诱饵影响下的游走)。
具体的,每一次迭代中,根据目标函数值的比较,更新诱饵的位置,具体为:
基于初始化参数中蚂蚁及诱饵的序号对应关系,将蚂蚁和诱饵进行两两配对分组;
采用多线程同时将每一分组中蚂蚁所对应的关于位置参数的目标函数值,与相应同一分组中诱饵所对应的关于位置参数的目标函数值进行比较,在基于预设评价规则判断一分组中蚂蚁的位置较优时,用该蚂蚁的位置参数对应替换分组中诱饵的位置参数;
比较确定位置最佳的诱饵,具体为:采用多线程两两比较诱饵的关于位置参数的目标函数值,选出位置较优的诱饵进入下一轮比较,直至确定位置最佳的诱饵,该诱饵对应的位置参数表示为
Figure 912263DEST_PATH_IMAGE016
上述过程中,本申请中多线程并行计算各蚂蚁及各诱饵的关于位置参数的目标函数值,并如图2所示,采用金字塔式层层比较目标函数的值,该过程中共进行N/2次比较,每次比较过程中,参与并行计算的线程数以1/2的倍数从N减到1;如图2所示,在第一次比较时,进行诱饵的位置参数更新,而之后的第二次至第N/2次比较,是在确定位置最佳的诱饵(或者说图2中的最优诱饵位置);
容易理解的是,比较过程中,基于前文所提到的,评价位置较优的预设评价规则基于实际工程问题来确定,针对具体的工程应用,可能是目标函数值较大评价为位置较优,也可能是目标函数值较小评价为位置较优。
本申请的优化算法,模仿投放诱饵诱捕蚂蚁的行为,并基于GPU并行计算执行,主要计算步骤均在GPU中并行完成,极大的提高了计算速度。并基于具体的算法设计,在大搜索空间中提升了全局搜索能力和局部搜索能力,计算速度满足实时性要求,可在工程应用中,使算法适用范围得到了很大的扩展。
为便于理解本申请的技术方案,下面以另一实施例对本申请的技术方案进行介绍说明。
如图3所示,该实施例中,基于GPU并行计算的元启发式优化算法包括如下步骤:
步骤S31,设置最大迭代次数T,初始迭代变量t,在解空间内随机生成诱饵、蚂蚁位置(对应于诱饵、蚂蚁的初始位置),分配显卡显存空间,初始化参数传入显卡显存。(即为算法中各蚂蚁及诱饵分配独立的显卡显存空间,并将初始化参数传入GPU中);
如前文实施例所述的,该步骤中,随机生成的蚂蚁及诱饵的个数为2的整数幂;且容易理解的,图3中系统参数(约束边界)是针对具体工程问题的约束条件而确定的相关参数。
步骤S32,多线程并行计算所有的蚂蚁、诱饵的关于位置的目标函数,得到相应的目标函数值,以便于后续的比较评价。
步骤S33,诱饵投放到指定蚂蚁的位置(更新诱饵位置),该步骤中相关实现方式已在前文实施例进行了介绍,这里不再赘述,该步骤中,最终可得到(当前迭代)最优解,即该次迭代的位置最佳的诱饵的位置参数
Figure 101936DEST_PATH_IMAGE017
步骤S34,迭代控制步骤,迭代变量t加1,判断迭代次数是否达到最大迭代次数T,如果是,转至步骤S37,如果否,进入步骤S35。
步骤S35,该步骤中,蚂蚁随机选择各自的目标诱饵,每个线程对应一个蚂蚁,本步骤共N个线程并行计算,不同蚂蚁的目标诱饵可以相同。
步骤S36,该步骤中,所有蚂蚁随机游走,每个线程对应一个蚂蚁,本步骤共N个线程并行计算;
具体的,步骤S36的实现方式为,计算每只蚂蚁选择目标诱饵后游行的位置,对蚂蚁的位置进行更新,该过程包括:
a、根据预设随机游走函数分别计算每只蚂蚁的随机游走值,并进而计算每只蚂蚁在群体随机游走过程中的游走相对值;
作为一种具体实施方式,预设随机游走函数如以下表达式所示,
Figure 64076DEST_PATH_IMAGE001
(1)
表达式(1)中,
Figure 630187DEST_PATH_IMAGE018
表示第t次迭代的随机游走值,r表示0至1之间的均匀随机数;
基于以下表达式,计算每只蚂蚁在群体随机游走过程中的游走相对值,
Figure 931855DEST_PATH_IMAGE019
(2)
表达式(2)中,
Figure 354746DEST_PATH_IMAGE020
表示蚂蚁i在第t次迭代的游走相对值,
Figure 741865DEST_PATH_IMAGE021
表示蚂蚁i在第t次迭代的随机游走值,
Figure 111666DEST_PATH_IMAGE022
表示第t次迭代中蚂蚁群体中各个体所对应的随机游走值中的最小值,
Figure 64579DEST_PATH_IMAGE023
表示第t次迭代中蚂蚁群体中各个体所对应的随机游走值中的最大值。
b、计算确定当前迭代中诱饵的吸引力参数,基于所述吸引力参数计算确定每一蚂蚁所选择目标诱饵的影响范围;
作为一种具体实施方式,基于以下表达式,计算确定当前迭代中诱饵的吸引力参数(或者说相对搜索空间),
Figure 861634DEST_PATH_IMAGE008
(3)
表达式(3)中,ratio表示吸引力参数,t表示当前迭代次数,T表示迭代最大次数;
基于以下表达式,计算确定蚂蚁所选择目标诱饵的影响范围,
Figure 532786DEST_PATH_IMAGE024
(4)
表达式(4)中,trapk表示目标诱饵k的影响范围,trapk,min、trapk,max分别表示目标诱饵k的影响范围的上下限,Dmin、Dmax分别表示算法中位置参数的上下限,X_Bk表示目标诱饵k的位置参数。
c、根据各只蚂蚁的游走相对值,以及相应目标诱饵的影响范围,对应计算确定每只蚂蚁相对目标诱饵的第一游走位置;
作为一种具体实施方式,基于以下表达式计算确定各只蚂蚁相对目标诱饵的第一游走位置,
Figure 706279DEST_PATH_IMAGE025
(5)
表达式(5)中,X_Ai,k表示蚂蚁i相对目标诱饵k的第一游走位置,
Figure 716960DEST_PATH_IMAGE011
表示蚂蚁i在第t次迭代的游走相对值,trapk,min、trapk,max分别表示目标诱饵k的影响范围的上下限。
d、根据每只蚂蚁的第一游走位置与位置最佳的诱饵的位置,分别对应确定各只蚂蚁游走后的最终位置,并基于所述最终位置对蚂蚁的位置进行更新;
作为一种具体实施方式,基于以下表达式对应确定各只蚂蚁游走后的最终位置,
Figure 747233DEST_PATH_IMAGE012
(6)
表达式(6)中,X_Ai表示蚂蚁i的最终位置,X_Ai,k表示蚂蚁i相对目标诱饵k的第一游走位置,
Figure 843365DEST_PATH_IMAGE013
表示位置最佳的诱饵的位置。
如表达式(6)所示,蚂蚁i游走的最终位置X_Ai在相对诱饵k的第一游走位置X_Ai,k与最优诱饵位置
Figure 554969DEST_PATH_IMAGE013
之间。
如图3所示,步骤S36后,跳转执行步骤S32,进行算法迭代。
如图3所示,在迭代控制步骤中,在判断迭代次数达到最大迭代次数T时,转至步骤S37,从显卡显存中拷贝位置最佳的诱饵的位置参数到内存中,释放显卡显存空间,并输出结果。
需要说明的是,本申请提供的技术方法方案中,需要CPU和GPU配合使用。在具体实践中,步骤S31和S37在CPU中执行,其余步骤在GPU中执行。
本申请中的优化算法,模仿投放诱饵诱捕蚂蚁的行为进行设计,算法有很强的收敛特性;可大量的设置初始个体(比一般元启发式算法多几个数量级),有很高的全局搜索能力以及跳出局部最优能力;算法基于GPU并行设计,算法计算架构优秀,计算速度快,可以满足实时化要求。适用范围广。
在一实施例中,本申请还提供一种电子设备,该电子设备包括:
CPU及分别与所述CPU相连的GPU和存储器,其中,所述存储器中存储有程序指令;
所述CPU和GPU用于执行存储器中存储的程序指令,执行如前文实施例所述的元启发式优化算法。
关于上述实施例中的电子设备,其执行存储器中的指令的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种基于GPU并行计算的元启发式优化算法,其特征在于,包括:
为算法中各蚂蚁及诱饵分配独立的显卡显存空间,并将初始化参数传入GPU中;
在GPU中基于迭代进行诱饵位置的比较评价,在迭代次数达到迭代最大次数时,从显卡显存中拷贝位置最佳的诱饵的位置参数到内存中,释放显卡显存空间,输出结果;其中,在进行诱饵位置的比较评价的每一次迭代中,包括如下步骤:
并行计算各蚂蚁及各诱饵的关于位置参数的目标函数值,根据目标函数值的比较,更新诱饵的位置,并比较确定位置最佳的诱饵;
并行计算每只蚂蚁选择目标诱饵后游行的位置,对蚂蚁的位置进行更新。
2.根据权利要求1所述的元启发式优化算法,其特征在于,所述根据目标函数值的比较,更新诱饵的位置,具体为:
基于初始化参数中蚂蚁及诱饵的序号对应关系,将蚂蚁和诱饵进行两两配对分组;
采用多线程同时将每一分组中蚂蚁所对应的关于位置参数的目标函数值,与相应同一分组中诱饵所对应的关于位置参数的目标函数值进行比较,在基于预设评价规则判断一分组中蚂蚁的位置较优时,用该蚂蚁的位置参数对应替换分组中诱饵的位置参数。
3.根据权利要求2所述的元启发式优化算法,其特征在于,所述比较确定位置最佳的诱饵,具体为:
采用多线程两两比较诱饵的关于位置参数的目标函数值,选出位置较优的诱饵进入下一轮比较,直至确定位置最佳的诱饵。
4.根据权利要求2所述的元启发式优化算法,其特征在于,计算关于位置参数的目标函数值的过程中,目标函数的构建形式和所述预设评价规则均基于实际的工程问题进行确定。
5.根据权利要求1所述的元启发式优化算法,其特征在于,所述计算每只蚂蚁选择目标诱饵后游行的位置,对蚂蚁的位置进行更新,包括:
根据预设随机游走函数分别计算每只蚂蚁的随机游走值,并进而计算每只蚂蚁在群体随机游走过程中的游走相对值;
计算确定当前迭代中诱饵的吸引力参数,基于所述吸引力参数计算确定每一蚂蚁所选择目标诱饵的影响范围;
根据各只蚂蚁的游走相对值,以及相应目标诱饵的影响范围,对应计算确定每只蚂蚁相对目标诱饵的第一游走位置;
根据每只蚂蚁的第一游走位置与位置最佳的诱饵的位置,分别对应确定各只蚂蚁游走后的最终位置,并基于所述最终位置对蚂蚁的位置参数进行更新。
6.根据权利要求5所述的元启发式优化算法,其特征在于,
所述预设随机游走函数如以下表达式所示,
Figure 446371DEST_PATH_IMAGE001
其中,
Figure 444283DEST_PATH_IMAGE002
表示第t次迭代的随机游走值,r表示0至1之间的均匀随机数;
基于以下表达式,计算每只蚂蚁在群体随机游走过程中的游走相对值,
Figure 27711DEST_PATH_IMAGE003
其中,
Figure 543006DEST_PATH_IMAGE004
表示蚂蚁i在第t次迭代的游走相对值,
Figure 528280DEST_PATH_IMAGE005
表示蚂蚁i在第t次迭代的随机游走值,
Figure 838039DEST_PATH_IMAGE006
表示第t次迭代中蚂蚁群体中各个体所对应的随机游走值中的最小值,
Figure 971080DEST_PATH_IMAGE007
表示第t次迭代中蚂蚁群体中各个体所对应的随机游走值中的最大值。
7.根据权利要求5所述的元启发式优化算法,其特征在于,
基于以下表达式,计算确定当前迭代中诱饵的吸引力参数,
Figure 24486DEST_PATH_IMAGE008
其中,ratio表示吸引力参数,t表示当前迭代次数,T表示迭代最大次数;
基于以下表达式,计算确定蚂蚁所选择目标诱饵的影响范围,
Figure 864266DEST_PATH_IMAGE009
其中,trapk表示目标诱饵k的影响范围,trapk,min、trapk,max分别表示目标诱饵k的影响范围的上下限,Dmin、Dmax分别表示算法中位置参数的上下限,X_Bk表示目标诱饵k的位置参数。
8.根据权利要求5所述的元启发式优化算法,其特征在于,
基于以下表达式计算确定各只蚂蚁相对目标诱饵的第一游走位置,
Figure 203981DEST_PATH_IMAGE010
其中,X_Ai,k表示蚂蚁i相对目标诱饵k的第一游走位置,
Figure 496422DEST_PATH_IMAGE011
表示蚂蚁i在第t次迭代的游走相对值,trapk,min、trapk,max分别表示目标诱饵k的影响范围的上下限。
9.根据权利要求5所述的元启发式优化算法,其特征在于,
基于以下表达式对应确定各只蚂蚁游走后的最终位置,
Figure 619099DEST_PATH_IMAGE012
其中,X_Ai表示蚂蚁i的最终位置,X_Ai,k表示蚂蚁i相对目标诱饵k的第一游走位置,
Figure 313385DEST_PATH_IMAGE013
表示位置最佳的诱饵的位置。
10.一种电子设备,其特征在于,包括:
CPU及分别与所述CPU相连的GPU和存储器,其中,所述存储器中存储有程序指令;
所述CPU和GPU用于执行存储器中存储的程序指令,执行如1至9任一项所述的元启发式优化算法。
CN202210221047.5A 2022-03-09 2022-03-09 基于gpu并行计算的元启发式算法的执行方法及电子设备 Active CN114330933B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210221047.5A CN114330933B (zh) 2022-03-09 2022-03-09 基于gpu并行计算的元启发式算法的执行方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210221047.5A CN114330933B (zh) 2022-03-09 2022-03-09 基于gpu并行计算的元启发式算法的执行方法及电子设备

Publications (2)

Publication Number Publication Date
CN114330933A true CN114330933A (zh) 2022-04-12
CN114330933B CN114330933B (zh) 2022-08-02

Family

ID=81033839

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210221047.5A Active CN114330933B (zh) 2022-03-09 2022-03-09 基于gpu并行计算的元启发式算法的执行方法及电子设备

Country Status (1)

Country Link
CN (1) CN114330933B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116956651A (zh) * 2023-09-21 2023-10-27 杭州光智云软件有限公司 光学系统结构自动生成方法及相关产品

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103955443A (zh) * 2014-04-14 2014-07-30 武汉大学 一种基于gpu加速的蚁群算法优化方法
US20170255872A1 (en) * 2014-08-22 2017-09-07 D-Wave Systems Inc. Systems and methods for problem solving, useful for example in quantum computing
CN109062664A (zh) * 2018-07-25 2018-12-21 南京邮电大学 基于蚁狮优化算法的云计算任务调度方法
CN109145464A (zh) * 2018-08-28 2019-01-04 暨南大学 融合多目标蚁狮优化与迹稀疏正则化的结构损伤识别方法
CN111027759A (zh) * 2019-11-28 2020-04-17 湖北工业大学 一种基于蚁狮算法的城市交通应急调度方法
CN113240068A (zh) * 2021-05-14 2021-08-10 江苏科技大学 一种基于改进蚁狮算法的rbf神经网络优化方法
CN113610208A (zh) * 2021-10-11 2021-11-05 北京峰玉科技有限公司 一种基于gpu并行计算的灰狼优化算法及电子设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103955443A (zh) * 2014-04-14 2014-07-30 武汉大学 一种基于gpu加速的蚁群算法优化方法
US20170255872A1 (en) * 2014-08-22 2017-09-07 D-Wave Systems Inc. Systems and methods for problem solving, useful for example in quantum computing
CN109062664A (zh) * 2018-07-25 2018-12-21 南京邮电大学 基于蚁狮优化算法的云计算任务调度方法
CN109145464A (zh) * 2018-08-28 2019-01-04 暨南大学 融合多目标蚁狮优化与迹稀疏正则化的结构损伤识别方法
CN111027759A (zh) * 2019-11-28 2020-04-17 湖北工业大学 一种基于蚁狮算法的城市交通应急调度方法
CN113240068A (zh) * 2021-05-14 2021-08-10 江苏科技大学 一种基于改进蚁狮算法的rbf神经网络优化方法
CN113610208A (zh) * 2021-10-11 2021-11-05 北京峰玉科技有限公司 一种基于gpu并行计算的灰狼优化算法及电子设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116956651A (zh) * 2023-09-21 2023-10-27 杭州光智云软件有限公司 光学系统结构自动生成方法及相关产品
CN116956651B (zh) * 2023-09-21 2024-01-23 杭州光智云软件有限公司 光学系统结构自动生成方法及相关产品

Also Published As

Publication number Publication date
CN114330933B (zh) 2022-08-02

Similar Documents

Publication Publication Date Title
Gavvala et al. QoS-aware cloud service composition using eagle strategy
Dabney et al. Temporally-extended {\epsilon}-greedy exploration
CN112464278B (zh) 基于非均匀分布数据的联邦建模方法及相关设备
Wang et al. Membrane computing model for IIR filter design
Shao et al. Memetic algorithm with node and edge histogram for no-idle flow shop scheduling problem to minimize the makespan criterion
Lalbakhsh et al. An improved model of ant colony optimization using a novel pheromone update strategy
CN107703751A (zh) 基于蜻蜓算法的pid控制器优化方法
CN109966743A (zh) 一种游戏胜率的预测方法、模型生成方法和装置
Cui et al. Using social emotional optimization algorithm to direct orbits of chaotic systems
Ajibade et al. A hybrid chaotic particle swarm optimization with differential evolution for feature selection
Baykasoğlu et al. Dynamic optimization in binary search spaces via weighted superposition attraction algorithm
Shehab et al. Enhancing cuckoo search algorithm by using reinforcement learning for constrained engineering optimization problems
CN114330933B (zh) 基于gpu并行计算的元启发式算法的执行方法及电子设备
Liang et al. Recent advances in particle swarm optimization via population structuring and individual behavior control
Horibe et al. Severe damage recovery in evolving soft robots through differentiable programming
Li et al. Two-level Q-learning: learning from conflict demonstrations
CN116011555A (zh) 度量复杂任务决策情景下强化学习策略间差异度的方法
Gong et al. Automated team assembly in mobile games: a data-driven evolutionary approach using a deep learning surrogate
CN114120672B (zh) 基于多智能体强化学习的异构路口场景交通信号控制方法
Sestini et al. Efficient Inverse Reinforcement Learning in Procedurally Generated Environments
Nakano et al. Consideration of particle swarm optimization combined with tabu search
Anbarasi et al. Disease Prediction using Hybrid Optimization Methods based on Tuning Parameters
Ritz et al. Towards ecosystem management from greedy reinforcement learning in a predator-prey setting
Estgren et al. Behaviour tree evolution by genetic programming
Li et al. A game AI based on ID3 algorithm

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant