本发明涉及智能优化算法技术领域,特别是涉及一种基于权值分配策略的聚类天牛群优化方法、系统、计算机设备和存储介质。
背景技术:
智能优化算法是通过模拟某一自然现象或过程而建立起来的优化方法。经典的智能优化算法有模拟鸟群觅食的粒子群算法(pso)、源于蚂蚁存放信息素行为的蚁群优化算法、以化学物质的冷却和结晶为基础的模拟退火算法、以及将模拟天牛觅食行为的天牛须算法和粒子群算法结合得到的天牛群算法(bso)等,其与传统数学规划法相比,更加适合求解多目标优化问题,尤其是工程上的复杂问题,且众多学者已证明智能优化算法在函数寻优上的高效性。
现有的天牛群算法(bso)将天牛须算法(bas)和粒子群算法(pso)的优势结合起来,不仅加快了种群的迭代速度,而且较大程度上避免陷入局部最优解,还在继承天牛须算法所需调整参数少的优势下也解决了原天牛须算法在高维空间上表现不佳的问题,通过对23个国际基准函数的测试结果显示,算法的性能明显优于粒子群算法和天牛须算法,并在实际应用性能上的表现明显优于现有传统算法,但由于天牛群算法是在天牛须算法基础上进行的混合改进,算法前期会因搜索步长较大而不断地跳出局部区域或越界的局部搜索能力不足问题,导致不能进行充分搜索而错过全局最优点,算法后期的收敛精度又不高,且算法迭代过程中搜索到的许多局部极值点并未进行利用,一定程度上造成了有用信息的浪费。虽然众多研究人员基于上述问题对天牛群算法进行了诸多的改进,但是大多集中在与其他算法的混合,亦或是借助他们的思想对算法进行改进,并没有通过对算法本身进行本质上的改进以提高算法本身的鲁棒性,且引入的其他混合算法尽管会在某些程度上弥补了天牛须算法的不足,但实际应用中混合算法可能呈现出来效果并不一定比原生的算法好,甚至会在许多方面出现倒退的现象。
因此,亟需提供一种在继承现有天牛群算法(bso)优势的基础上,进一步加强天牛个体之间的信息交流,且合理有效的利用天牛探索过程中得到的局部最优解,使得其参与到下一次天牛群体移动的决策中加强群体之间的信息交流以及增加群体多样性,提高寻优性能和鲁棒性的改进天牛群算法。
技术实现要素:
本发明的目的是提供一种聚类天牛群优化方法,在克服了现有天牛群算法的寻优准确度和收敛精度方面缺陷的同时,通过加强天牛个体之间的信息交流,以及合理有效的利用天牛探索过程中得到的局部最优解来加强群体之间的信息交流以及增加群体多样性,进一步提高算法的寻优性能和鲁棒性。
为了实现上述目的,有必要针对上述技术问题,提供了一种聚类天牛群优化方法、系统、计算机设备及存储介质。
第一方面,本发明实施例提供了一种聚类天牛群优化方法,所述方法包括以下步骤:
预设天牛群算法参数,并根据粒子群策略随机初始化天牛种群;
采用聚类算法对所述天牛种群进行聚类分析,得到特定数目的天牛簇;
获取各个所述天牛簇的簇内最优位置,并得到与所述簇内最优位置对应的簇优权重;
搜索所述天牛种群的各个天牛个体最优位置,并根据所述簇内最优位置、簇优权重和所述各个天牛个体最优位置,更新天牛个体移动速度;
根据所述天牛个体移动速度,更新天牛个体位置增量,并根据所述天牛个体移动速度和所述天牛个体位置增量,更新所述天牛种群的各个天牛个体位置;
比对所述天牛种群更新前后的适应度值,更新所述各个天牛个体最优位置和群体最优位置,并判断当前迭代次数是否已达到预设最大迭代次数,若已达到,则停止对天牛种群的迭代更新,反之,进入下一轮对天牛种群的迭代更新。
进一步地,所述采用聚类算法对所述天牛种群进行聚类分析,得到特定数目的天牛簇的步骤包括:
采用轮廓系数法确定k-means聚类算法的最优k值;
根据所述最优k值,对所述天牛种群进行k-means聚类分析,得到特定数目的天牛簇;所述特定数目与所述最优k值保持一致。
进一步地,所述获取各个所述天牛簇的簇内最优位置,并得到与所述簇内最优位置对应的簇优权重的步骤包括:
计算各个所述天牛簇内的各个天牛个体适应度值,并将与所述各个天牛个体适应度值的最小值对应的天牛个体位置作为簇内最优位置;
根据各个所述簇内最优位置对应的适应度值的正负分布情况,确定各个所述簇内最优位置的所述簇优权重,其中,所述簇优权重表示为:
式中,集合k包含k个簇内最优位置的集合;xj为集合k中的第j个天牛簇的簇内最优位置,1≤j≤k;w(xj)为第j个簇内最优位置对应簇优权重;f(xj)为第j个簇内最优位置的适应度值;ymax为集合k中所有簇内最优位置的适应度值的最大值。
进一步地,所述搜索得到所述天牛种群的各个天牛个体最优位置,并根据所述簇内最优位置、簇优权重和所述各个天牛个体最优位置,更新天牛个体移动速度的步骤包括:
计算各个天牛个体的不同搜索位置适应度值,并将所述不同搜索位置适应度值的最小值对应的天牛个体位置作为所述各个天牛个体最优位置;
根据所述簇内最优位置、簇优权重和所述各个天牛个体最优位置,按照以下公式更新天牛个体移动速度:
ω=ωmax-(ωmax-ωmin)*t/max_iter
c0=d1 1.2*(cos(t*π)/max_iter)
c1=d2-1.2*(cos(t*π)/max_iter)
式中,t和max_iter分别为当前迭代次数和最大迭代次数;s为s维解空间中的第s维;
进一步地,所述根据所述天牛个体移动速度,更新天牛个体位置增量,并根据所述天牛个体移动速度和所述天牛个体位置增量,更新所述天牛种群的各个天牛个体位置的步骤包括:
根据所述天牛个体移动速度和天牛个体位置,按照下述公式更新天牛个体左须位置和天牛个体右须位置:
式中,
根据所述天牛个体移动速度、所述天牛个体左须位置和天牛个体右须位置,按照下述公式更新天牛个体位置增量:
δt 1=η*δt
dt=δt/c
η=δmin*(δmax/δmin)(1/(1 10*t/max_iter))
式中,
根据所述天牛个体移动速度和所述天牛个体位置增量,按照下述公式更新天牛个体位置:
式中,t表示当前迭代次数,s表示s维解空间中的第s维。
进一步地,所述比对所述天牛种群更新前后的适应度值,更新所述各个天牛个体最优位置和群体最优位置的步骤包括:
计算更新后所述天牛种群的各个天牛个体适应度值;
比较所述各个天牛个体适应度值与对应的更新前所述各个天牛个体最优位置的适应度值的大小,将二者的较小值所对应的各个天牛个体位置更新为所述各个天牛个体最优位置;
根据所有所述各个天牛个体最优位置的适应度值的最小值,得到群体最优位置。
进一步地,所述判断当前迭代次数是否已达到预设最大迭代次数,若已达到,则停止对天牛种群的迭代更新,反之,进入下一轮对天牛种群的迭代更新的步骤包括:
若当前迭代次数未达到预设最大迭代次数,则重新采用聚类算法对所述天牛种群进行聚类分析,开始下一轮迭代,直至达到所述预设最大迭代次数停止迭代。
第二方面,本发明实施例提供了一种聚类天牛群优化系统,所述系统包括:
初始化模块,用于预设天牛群算法参数,并根据粒子群策略随机初始化天牛种群;
聚类模块,用于采用聚类算法对所述天牛种群进行聚类分析,得到特定数目的天牛簇;
簇优计算模块,用于获取各个所述天牛簇的簇内最优位置,并得到与所述簇内最优位置对应的簇优权重;
速度更新模块,用于搜索得到所述天牛种群的各个天牛个体最优位置,并根据所述簇内最优位置、簇优权重和所述各个天牛个体最优位置,更新天牛个体移动速度;
种群更新模块,用于根据所述天牛个体移动速度,更新天牛个体位置增量,并根据所述天牛个体移动速度和所述天牛个体位置增量,更新所述天牛种群的各个天牛个体位置;
群优计算模块,用于比对所述天牛种群更新前后的适应度值,更新所述各个天牛个体最优位置和群体最优位置,并判断当前迭代次数是否已达到预设最大迭代次数,若已达到,则停止对天牛种群的迭代更新,反之,进入下一轮对天牛种群的迭代更新。
第三方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
第四方面,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
上述本申请提供了一种聚类天牛群优化方法、系统、计算机设备及存储介质,通过所述方法,实现了通过预设天牛群算法参数,并根据粒子群策略随机初始化得到天牛种群后,采用聚类算法对该天牛种群进行聚类分析得到特定数目的天牛簇,并获取各个天牛簇的簇内最优位置和对应的簇优权重,结合搜索得到的天牛种群的各个天牛个体最优位置先后更新天牛个体移动速度、天牛个体位置增量,以及整个天牛种群后,比对天牛种群更新前后的适应度值,更新各个天牛个体最优位置和群体最优位置,直至达到预设最大迭代次数停止迭代得到群体最优位置的技术方案。与现有技术相比,该基于权值分配策略的聚类天牛群优化方法,不仅克服了现有天牛群算法在寻优准确度和收敛精度方面的缺陷,而且合理有效的利用天牛探索过程中的局部最优解来加强了群体间的信息交流,以及增加了群体多样性,进一步提高算法的寻优性能和鲁棒性。
附图说明
图1是本发明实施例中聚类天牛群优化方法的应用场景示意图;
图2是本发明实施例聚类天牛群优化方法的流程示意图;
图3是本发明实施例中采用的k-means聚类算法的流程示意图;
图4是本发明实施例中采用的轮廓系数法确定k-means聚类使用的最优k值的流程示意图;
图5是图2中步骤s12采用聚类算法对所述天牛种群进行聚类分析的流程示意图;
图6是图2中步骤s13获取各天牛簇的簇内最优位置以及对应的簇优权重的流程示意图;
图7是图2中步骤s14更新天牛个体移动速度的流程示意图;
图8是本发明实施例中压力容器示意图;
图9是本发明实施例中聚类天牛群优化系统的结构示意图;
图10是本发明实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案和有益效果更加清楚明白,下面结合附图及实施例,对本发明作进一步详细说明,显然,以下所描述的实施例是本发明实施例的一部分,仅用于说明本发明,但不用来限制本发明的范围。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的基于权值分配策略的聚类天牛群优化方法中使用的聚类天牛群搜索算法(kmbso)是对现有的在天牛须算法(bas)中引入粒子群(pso)算法得到的天牛群算法(bso)的改进,即可以应用于如图1所示的终端或服务器上。其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。服务器可生成最终的聚类天牛群搜索得到群体最优位置,即目标函数的全局最优解,将生成的全局最优解结果发送至终端,以供终端的使用者查看分析。
天牛须算法(bas)是模拟天牛觅食行为而得到的算法。天牛个体在觅食的过程中并不清楚食物的具体位置,需要通过其左右须对食物散发出的气味强弱判断自己下一步的飞行方向,若天牛左须收集到的气味强度大于右须收集到的气味强度,则下一步天牛就会向左飞,反之,则往右飞。在实际天牛须算法的建模应用中,会采用质心x、左须xl和右须xr三个变量来表示天牛个体,且对应的bas模型如下:
设天牛个体在s维解空间中的位置为x=(x1,x2,···,xs),则天牛左须位置和天牛右须位置为:
式中,d为天牛左右两须的距离;
在确定下一步天牛前进方向时,通过比较上述(1)式中给出的天牛左右须位置对应的适应度值fl和fr大小,判断天牛前进方向,并采用预设的天牛个体移动步长δ,通过下述公式(2)更新下一步天牛个体位置,使得天牛个体位置逐渐逼近最优位置,从而得到全局最优解:
式中,t为当前迭代次数,f(xl)、f(xr)分别为天牛个体左右须的适应度值,δt为第t次迭代时天牛个体的移动步长,sign[·]为确定天牛下一步移动方向的符号函数。
上述天牛须算法(bas)只需要一个天牛个体便可进行高效的寻优,这使得计算量大大降低,但其在高维度的复杂问题中,受到单个体初始位置的影响,其寻优表现不如在低维空间中理想。
粒子群算法(pso)是模拟鸟群觅食行为得到的,通过设计无质量的粒子来模拟鸟类,和鸟群内鸟个体的信息共享,使得搜索空间内整个鸟群的运动有序,最终得到全局最优解。在实际粒子群算法的建模应用中,需要随机初始化一个种群,并以速度v和位置x来描述每个粒子的属性,且对应的pso模型如下:
设在s维解空间内,随机给出n个粒子,且第i个粒子在s维空间中的位置为xi=(xi1,xi2,…,zis)t,i=1,…,n,对应的速度为vi=(vi1,vi2,…,vis)t,i=1,…,n,且粒子的速度和位置按照下述公式更新:
式中,t表示当前迭代次数,s表示s维解空间中的第s维;
上述粒子群算法(pso)是较为成熟的群体智能算法,将其引入天牛须算法(bas)将天牛从单体智能转变为群体智能得到的天牛群算法(bso),将包含n只天牛个体的天牛种群在s维中的表现描述为g=(x1,x2,···,xn),其中xi=(xi1,xi2,···,xis)t表示第i只天牛在s维中的位置,同时,vi=(vi1,vi2,···,vis)t表示天牛个体在解空间中移动所需的速度变量,此外,保留粒子群算法中种群个体迭代过程中的最优位置和全局最优位置,将pi=(pi1,pi2,···,pis)t表示为第i只天牛移动过程中的天牛个体最优位置,将pg=(pg1,pg2,···,pgs)t表示为天牛种群在解空间中搜索到的群体最优位置。具体的天牛群算法bso模型的天牛个体移动速度公式如(4)式所述,天牛个体位置更新如下:
δt 1=η*δt(8)
dt=δt/c(9)
η=δmin*(δmax/δmin)(1/(1 10*t/max_iter))(10)
式中,
上述天牛群算法模型中,除了ω、c0和c1等自适应参数的更新外,主要通过更新速度v和位置增量ξ的值来控制天牛个体在解空间中搜寻最优解,不仅可以加快种群的迭代速度,而且可以较大程度上避免陷入局部最优解,还在继承天牛须算法所需调整参数少的优势下解决了原天牛须算法在高维空间上表现不佳的问题。本发明以上述的天牛群算法为基础,对其如(3)所示的速度更新公式进行改进,下述实施例中将对基于权值分配的聚类天牛群优化方法进行详细说明。
在一个实施例中,如图2所示,提供了一种聚类天牛群优化方法,包括以下步骤:
s11、预设天牛群算法参数,并根据粒子群策略随机初始化天牛种群;
其中,天牛种群的初始化,随机产生一个天牛种群g=(x1,x2,···,xn)的方法采用现有技术实现即可,此处不作具体限制。天牛群算法参数包括但不限于天牛个体移动vi,i=1,…,n、天牛个体初始位置xi,i=1,…,n,惯性权重ω(调整其值可以改变算法全局寻优和局部寻优性能的比重)、天牛个体移动步长δ、权重α、以及最大迭代次数max_iter等。其中,δ的初始赋值为搜索空间范围值的一半,α为[0,1]中的一个常数,c是一个[0,2]内的常数值,x、v、ω、δ、η、c0和c1等都是变量自适应调节,在每轮迭代中都会进行自适应调整更新。
s12、采用聚类算法对所述天牛种群进行聚类分析,得到特定数目的天牛簇;
其中,聚类算法很多,如k-means聚类、means-shift(均值漂移)聚类、基于密度的噪声应用空间聚类、使用高斯混合模型的期望最大化聚类、凝聚层次聚类等,原则上上述聚类算法根据实际应用需求都可以选用。本实施例优选k-means聚类算法进行聚类分析,如图3所示,具体聚类方法如下:
对于n个具有m维的个体,k-means算法将这n个个体依据相似性聚集到指定的k个类簇中。在确定初始化的k个聚类中心点的前提下,依据下面的欧氏距离公式,将每个个体分配到最近的类簇中:
其中,xi表示第i个个体,1≤i≤n;cj表示第j个簇类中心,1≤j≤k;xit和cjt分别表示的是个体和中心点在第t维的属性值,1≤t≤m。
在经过一次的聚类操作后,应当更新每一个簇的中心点。然后按照(12)中的规则继续操作,直到前后两次的聚类中心点的每个维度差值不超过给定值,其更新中心点的方式为计算各个簇中的个体在每个维度上的均值,具体计算公式如下:
其中,cl表示第l个簇类中心,1≤j≤k;|sl|表示第l个簇中个体的个数;xi表示第l个簇中的第i个个体,1≤i≤|sl|。
上述k-means聚类算法简洁和高效率是使用最广泛、最著名的聚类算法,可以在保证聚类效果的同时,提高聚类效率。此外,k-means聚类算法可以很好地对应种群进行分类,但其作为无监督学习的一种方法,其聚类效果受簇数大小影响很大,即难点在于不易确定聚类个数,现有的确定聚类簇数的方法有手肘法、轮廓系数法、calinskycriterion(方差比准则)法、gapstatistic(间隔统计)法以及canopy算法等,原则上均能用于聚类数的选取,但都有其最佳适用场景,在实际应用中可以根据应用需求进行选取。本实施例优选的采用轮廓系数法确定k-means聚类算法中的簇数k,轮廓系数作为衡量个体在簇内不相似度和簇间不相似度的指标,同时也是衡量聚类情况好坏的标准,如图4所示,通过比较不同聚类个数下整个种群个体的轮廓系数平均值,得到的总轮廓系数的方法确定最优的聚类个数(簇数),具体的计算公式如下:
其中,a(i)表示个体i在本簇中与其他个体的平均距离;b(i)表示的是个体i与其他簇中个体的平均距离的集合取最小值,1≤i≤n,n是种群个体数量。tk表示当聚类个数为k时,整个种群中个体的轮廓系数平均值,因为聚类个数一般不大于种群数的开平方,所以
如图5所示,上述具体采用聚类算法对所述天牛种群进行聚类分析,得到特定数目的天牛簇的步骤s12概括为包括:
s121、采用轮廓系数法确定k-means聚类算法的最优k值;
s122、根据所述最优k值,对所述天牛种群进行k-means聚类分析,得到特定数目的天牛簇;所述特定数目与所述最优k值保持一致。
s13、获取各个所述天牛簇的簇内最优位置,并得到与所述簇内最优位置对应的簇优权重;
其中,簇内最优位置的个数与上述聚类分析得到的天牛簇数相对应,簇内最优位置判定的原则与目前的国际基准函数都是求解最小值函数问题保持一致,即选择簇内适应度最小的位置作为簇内最优位置,并按照适应度值的大小来分配每个簇内最优位置影响大小的权重,如图6所示,具体的所述获取各个所述天牛簇的簇内最优位置,并得到与所述簇内最优位置对应的簇优权重的步骤s13包括:
s131、计算各个所述天牛簇内的各个天牛个体适应度值,并将与所述各个天牛个体适应度值的最小值对应的天牛个体位置作为簇内最优位置;
其中,簇内最优位置表示为qj=(q1,q2,···,qs),j=1,…,k,并按照下述权重分配公式计算不同qj所占权重值wj。
s132、根据各个所述簇内最优位置对应的适应度值的正负分布情况,确定各个所述簇内最优位置的所述簇优权重,其中,所述簇优权重表示为:
式中,集合k包含k个簇内最优位置的集合;xj为集合k中的第j个天牛簇的簇内最优位置,1≤j≤k;w(xj)为第j个簇内最优位置对应簇优权重;f(xj)为第j个簇内最优位置的适应度值;ymax为集合k中所有簇内最优位置的适应度值的最大值。
其中,簇优权重大小的分配原则是适应度值越小,分配的权值越大。本实施例中将按照上述步骤得到的簇内最优位置的适应度值分为全部为正数、全部为负数、和有正数有负数三种情况进行考虑,并且采用不同的簇优权重分配公式。该权值分配方式相比于现有技术中分配原则更加全面,除了可以处理极值点为正或者为负的情况,当天牛个体适应度值全为正或者全负时,使用式(15)中的方法可以极大地加快算法收敛速度,将结果导向全局最优,在算法问题求解精度上,所能达到的数量级有明显的提升。
s14、搜索所述天牛种群的各个天牛个体最优位置,并根据所述簇内最优位置、簇优权重和所述各个天牛个体最优位置,更新天牛个体移动速度;
其中,天牛个体移动速度的更新为天牛群算法中的核心处理,直接影响到搜索效果,基于现有技术中忽略局部最优值而不能更好的实现天牛个体之间、群体之间的有效信息交流,以及增加群体多样性的缺陷,将上述步骤得到的簇内最优位置以及对应的簇优权重,引入天牛群算法的速度更新公式中,以提高天牛群算法的寻优性能和鲁棒性。如图7所示,所述搜索得到所述天牛种群的各个天牛个体最优位置,并根据所述簇内最优位置、簇优权重和所述各个天牛个体最优位置,更新天牛个体移动速度的步骤s14包括:
s141、计算各个天牛个体的不同搜索位置适应度值,并将所述不同搜索位置适应度值的最小值对应的天牛个体位置作为所述各个天牛个体最优位置;
其中,各个天牛个体最优位置的选取原则与簇内最优位置选取保持一致,即选取查找整个搜索过程中各个天牛的不同位置适应度值的最小值,以得到与该适应度最小值对应的天牛个体位置。
s142、根据所述簇内最优位置、簇优权重和所述各个天牛个体最优位置,按照以下公式更新天牛个体移动速度:
ω=ωmax-(ωmax-ωmin)*t/max_iter(17)
c0=d1 1.2*(cos(t*π)/max_iter)(18)
c1=d2-1.2*(cos(t*π)/max_iter)(19)
式中,t和max_iter分别为当前迭代次数和最大迭代次数;s为s维解空间中的第s维;
其中,天牛个体移动速度的更新公式(16)与前述公式(3)的区别在于,将原公式中的每次更新时使用的群体最优值与天牛个体位置的差值
s15、根据所述天牛个体移动速度,更新天牛个体位置增量,并根据所述天牛个体移动速度和所述天牛个体位置增量,更新所述天牛种群的各个天牛个体位置;
其中,天牛个体位置增量的更新公式的表示方式,以及公式中变量的表示方式分别与(6)-(10)式给出的保持一致,区别仅在于公式中使用的
s16、比对所述天牛种群更新前后的适应度值,更新所述各个天牛个体最优位置和群体最优位置,并判断当前迭代次数是否已达到预设最大迭代次数,若已达到,则停止对天牛种群的迭代更新,反之,进入下一轮对天牛种群的迭代更新。
其中,更新天牛种群更新后的各个天牛个体最优位置和群体最优位置的原则是通过对比天牛种群更新前后的各天牛个体的适应度值,以适应度值最小的位置为相应的最优位置,具体步骤包括:计算更新后所述天牛种群的各个天牛个体适应度值;比较所述各个天牛个体适应度值与对应的更新前所述各个天牛个体最优位置的适应度值的大小,将二者的较小值所对应的各个天牛个体位置更新为所述各个天牛个体最优位置;根据所有所述各个天牛个体最优位置的适应度值的最小值,得到群体最优位置。此外,在更新完各个天牛个体最优位置和群体最优位置后,还需要判断当前迭代次数是否已达到预设最大迭代次数,若已达到,则停止迭代,反之,则重新采用上述聚类算法对所述天牛种群进行聚类分析,执行s12-s16步骤开始下一轮迭代,直至达到所述预设最大迭代次数停止迭代,输出群体最优位置,即全局最优解。
本实施例将聚类思想应用到天牛群算法中,即采用通过轮廓系数法确定分类簇数结合k-means聚类算法将一个基础天牛种群分类为多个天牛簇,且根据影响群体移动的关键个体所对应的目标值分配相应的权重,以及对多个天牛簇中最优个体的加权平均代替全局最优个体,从而扩充天牛社会学习部分的影响范围,在利用群体智能求解极值问题上,不仅有利于算法跳出局部最优解,并提高算法的寻优精度,而且具体的关键个体权值分配采用分类讨论思想将问题分不同情况进行处理,在不同的问题情境中使用不同的计算方法,极大地提高了算法的寻优性能。
需要说明的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。
为了测试本发明为测试kmbso的算法性能,本发明本着测试多样化的原则,采用以下8个国际标准测试函数对算法的性能进行测试,其中f1、f2、f3为单峰函数,函数图像中存在一个局部最优点也是全局最优点;f4、f5、f6为多峰函数,函数图像中存在多个局部最优点,但只有一个全局最优点;f7、f8为定维多峰函数,同样存在多个局部最优点和一个全局最优点,但解空间维度固定。选取的函数具体情况如下表1所示:
表1标准测试函数
本发明的实验部分在matlab2018a软件上进行仿真测试,为保证实验的公平性,kmbso算法在参数的数值设定上与bso算法,pso算法保持一致。其中相关参数初始设置如下:对于天牛移动步长δ与两须距离d的影响因子η和c,设定δmin=0.2,δmax=0.9,η=0.95,c=2;对于惯性因子ω,设置ωmin=0.4,ωmax=0.9;对于策略权重系数α,设置α=0.4。实验中设定种群规模为300,运行代数为1000,解空间维度d选取为5。所有函数重复执行30次后得到的实验结果如下表2所示:
表2不同算法在测试函数上的表现
上述实验结果对比采用三个指标,分别是重复30次实验后得到平均值,标准差和最小值。平均值可以衡量算法在求解问题上得到的结果质量好坏,本实验中平均值越小,结果越好;标准差是衡量算法稳定性的重要标准,表现出结果在平均值附近的震荡程度,标准差越小,算法越稳定;最小值体现出算法在本实验中可以达到的最优结果,从侧面可以体现出算法的寻优能力。
从表2可以看出,在单峰函数问题上,kmbso算法在函数f1和f2中的表现要比bso算法好,其平均值和标准差的精度均比后者高,而在f2和f3上,kmbso相较于pso也是如此。但由于单峰函数图像本身只存在一个因函数值持续下降导致的极值点,所以不需要聚类策略,只利用全局最优点作为导向也有机会搜索到一个较好的结果,如bso和pso在f1、f2和f3上得到的最小值结果。在多峰问题上,得到的数据中除了f7中的最小值和标准差,在其他的数据方面,使用kmbso算法得到的结果不论是在数值的平均结果还是稳定性,亦或是能够搜寻到的最小值上都体现出使用聚类策略后的算法性能得到了极大的提升。对于定维多峰函数f8,全局共有5个局部最小值,因他们的局部纵深较大,bso和pso使用搜索到的全局最优点作为导向很容易导致结果陷入局部最优解,这也是实验结果较差的原因,kmbso能够跳出局部最优得也益于利用聚类后得到的多个极值点共同决策。
下面以本发明聚类天牛群优化方法(kmbso)在压力容器设计问题上的应用实例对其寻优性能和鲁棒性进行验证。
压力容器设计问题最早是由sandgren提出的,此问题描述了按照asme(美国机械工程师协会)的规范进行设计的锅炉和压力容器,在焊接、材料和成型成本的综合考虑下,如何设计出成本最小且合格的成品。如图8所示,压力容器为两端带半球形封头的圆柱形容器,工作压力为3000psi,最小体积为750ft3,其中,th表示球头的的厚度,ts和l表示圆柱形外壳的厚度和长度,r表示容器内部半径。th和ts的值规定为0.0625的整数倍,而r和l则为连续变量。该优化问题可表述为:
minimizef(ts,th,r,l)=0.6224tsrl 1.7781thr2 3.1661ts2l 19.84ts2r
且约束条件如下:
g1=-ts 0.0193r≤0
g2=-th 0.00954r≤0
g4=l-240≤0
其中,变量取值范围为:1×0.0625≤ts≤99×0.0625,1×0.0625≤th≤99×0.0625,10≤r≤200,10≤l≤200。
为求解以上问题,本发明将使用kmbso算法对其进行求解,同时还将使用粒子群算法(pso)、人工蜂群算法(abc)、树-种子算法(tsa)以及万有引力搜索算法(gsa)这些常见的智能优化算法进行求解。实验在同样在matlab2018a软件上进行仿真测试,其中种群个体数设置为40,迭代次数为1000次,实验重复运行30次后取函数值最小的结果。具体实验结果如下表3所示:
表3多种算法在压力容器设计问题上的表现
由表3可见,本发明的kmbso在求解以上问题时通过实验测试得到的结果明显优于其他四种算法,在能够较好地解决压力容器设计问题的同时,也从侧面体现出kmbso算法在多目标问题求解上同样有效。
在一个实施例中,如图9所示,提供了一种聚类天牛群优化系统,所述系统包括:
初始化模块1,用于预设天牛群算法参数,并根据粒子群策略随机初始化天牛种群;
聚类模块2,用于采用聚类算法对所述天牛种群进行聚类分析,得到特定数目的天牛簇;
簇优计算模块3,用于获取各个所述天牛簇的簇内最优位置,并得到与所述簇内最优位置对应的簇优权重;
速度更新模块4,用于搜索得到所述天牛种群的各个天牛个体最优位置,并根据所述簇内最优位置、簇优权重和所述各个天牛个体最优位置,更新天牛个体移动速度;
种群更新模块5,用于根据所述天牛个体移动速度,更新天牛个体位置增量,并根据所述天牛个体移动速度和所述天牛个体位置增量,更新所述天牛种群的各个天牛个体位置;
群优计算模块6,用于比对所述天牛种群更新前后的适应度值,更新所述各个天牛个体最优位置和群体最优位置,并判断当前迭代次数是否已达到预设最大迭代次数,若已达到,则停止对天牛种群的迭代更新,反之,进入下一轮对天牛种群的迭代更新。
关于一种聚类天牛群优化系统的具体限定可以参见上文中对于一种聚类天牛群优化方法的限定,在此不再赘述。上述一种聚类天牛群优化系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图10示出一个实施例中计算机设备的内部结构图,该计算机设备具体可以是终端或服务器。如图10所示,该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示器和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种聚类天牛群优化方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域普通技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法的步骤。
综上,本发明实施例提供的一种聚类天牛群优化方法、系统、计算机设备及存储介质,其聚类天牛群优化方法通过预设天牛群算法参数,并根据粒子群策略随机初始化得到天牛种群后,采用聚类算法对该天牛种群进行聚类分析得到特定数目的天牛簇,并获取各个天牛簇的簇内最优位置和对应的簇优权重,结合搜索得到的天牛种群的各个天牛个体最优位置先后更新天牛个体移动速度、天牛个体位置增量,以及整个天牛种群后,比对天牛种群更新前后的适应度值,更新各个天牛个体最优位置和群体最优位置,直至达到预设最大迭代次数停止迭代得到群体最优位置的技术方案。与现有技术相比,该基于权值分配策略的聚类天牛群优化方法,不仅克服了现有天牛群算法在寻优准确度和收敛精度方面的缺陷,而且合理有效的利用天牛探索过程中的局部最优解来加强了群体间的信息交流,以及增加了群体多样性,进一步提高算法的寻优性能和鲁棒性。
本说明书中的各个实施例均采用递进的方式描述,各个实施例直接相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。需要说明的是,上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种优选实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本申请的保护范围。因此,本申请专利的保护范围应以所述权利要求的保护范围为准。