更全的杂志信息网

基于SQP局部搜索的多子群果蝇优化算法*

更新时间:2009-03-28

1 引言

最优化问题在工程和科学研究中普遍存在,实际工程优化问题都可以转化为函数优化问题,很多复杂实际优化问题使用传统的优化算法难以解决,群智能算法具有操作简单、收敛速度快、全局收敛性好等优势,是一种求解极值的自适应人工智能技术,是求解最优化问题的有效方法。潘文超博士[1]于2011年通过观察果蝇觅食行为提出了一种全局寻优的新算法——果蝇优化算法FOA(Fruit fly Optimization Algorithm)。与其他群智能算法相比,果蝇优化算法具有参数少、收敛快、易实现等优点。但是,与其他群智能算法一样,果蝇优化算法也存在易陷入局部极值,收敛精度低和后期收敛速度慢等问题。

针对果蝇优化算法的不足,目前对算法的改进主要分为添加逃脱机制、动态步长和增加子群三方面,研究成果有:杜晓昕等[2]根据柯西变异扰动能力强于高斯变异的特点,将两者分别运用于全局探索和局部探索,提出了一种柯西-高斯动态消减变异的果蝇优化算法,能够自适应跳出局部极值,快速收敛至全局最优解;韩俊英等[3]将混沌映射自适应融入果蝇优化算法,当适应度方差小于设置阈值时算法陷入局部收敛,通过Logistic混沌映射更新果蝇位置,以此跳出早熟收敛状态;刘成忠等[4]根据停滞步数引入细菌迁徙操作,提出了基于细菌迁徙的自适应果蝇优化算法,由个体适应度值决定迁徙概率,通过轮盘赌方式选择个体重新分配寻优空间,逃脱局部最优;段艳明等[5]不再采用固定步长这一传统做法,提出自适应步长策略,根据最优味道浓度判定值和当前迭代次数实时调整进化步长,有效平衡了全局和局部寻优能力;张前图等[6]提出了具有Levy飞行特征的双子群果蝇优化算法,通过对比到最优与最差个体的距离动态地将果蝇分为两个子群,较差子群执行FOA算法进行全局搜索,较优子群采用Levy飞行进行局部搜索,同时,利用Levy偶尔的长跳跃避免陷入局部极值,最后通过子群重组进行信息交换,解决了因种群多样性丢失导致的早熟收敛问题。以上算法仅较好地解决了某一方面的问题。本文算法将固定步长和多样性降低两个问题结合改进,主要包含三部分:首先将果蝇分为多个子群,制定种群更新策略;然后,子群间相互影响变换步长,提出了多子群多因子协同进化步长的概念;最后,对每个子群的最优个体进行传统序列二次规划SQP(Sequential Quadratic Programming)局部搜索,SQP在寻优邻域足够小的情况下,搜索能力强,提高后期寻优速度。通过6个基准函数对算法各方面性能进行测试。

如何应用是现如今群智能算法面临的一项重要问题,新算法层出不穷,应该根据每种算法的特点将其应用到合适的领域。果蝇优化算法的应用范围十分广泛,主要用来微调参数,如王雪刚等[7]和牛培风等[8]利用FOA优化调整支持向量机重要参数并运用于工业预测;孙立新等[9]运用果蝇优化算法优化模糊均值聚类算法,提高了图像分割的精度;潘文超[10]、周平等[11]利用果蝇算法优化广义回归神经网络GRNN(Generalized Regression Neural Network),分别实现了财务预警和对涡轮叶片低循环疲劳寿命进行预测。本文通过新算法优化广义回归神经网络的平滑参数,对银行客户进行分类,检验算法的可行性。

2 果蝇优化算法

果蝇优化算法同萤火虫算法[12]、布谷鸟算法[13]和鸡群算法[14]等都是由动物的觅食行为发展而来,是一种全局寻优的群智能算法。果蝇与其他物种相比嗅觉与视觉异常灵敏,嗅觉器官能够使果蝇很好地捕捉漂浮在空气中的气味信息,帮助果蝇靠近食物来源,然后利用敏锐的视觉找到食物与同伴聚集位置,进而找到目标食物[1]。根据果蝇觅食行为特点,将算法寻优过程总结为以下具体步骤。

Step 1 设置种群规模sizepop和最大迭代次数maxgen,随机初始化果蝇群体的位置信息,分别记作X_axisY_axis

 

(1)

Step 2 赋予每只果蝇寻找目标食物的随机方向和距离。

 

(2)

Step 3 求出原点到个体间距离disti,根据距离计算出果蝇个体的味道浓度判定值Si

沥青混凝土中的集料是可以称作是它的骨架,集料的质量能够决定混凝土的整体强度,对混凝土的支撑能力有重要的影响,在集料的质量控制中首先应该保证集料的外形上接近立方体,保证其有良好的稳定性,另外由于细集料和粗集料有不同的用处,例如细集料是为了对粗集料中间的空隙进行填充,因此还应该对集料的体积大小进行严格的把控。

 

(3)

Si=1/disti

(4)

Step 4 将味道浓度判定值Si代入适应度函数,得到果蝇的味道浓度值Smell(i)。

Smell(i)=Function(Si)

(5)

Step 5 按要求寻找果蝇群体中的最优味道浓度值(本文所求为最小化问题)。

[bestSmell,bestIndex]=min(Smell)

(6)

Step 6 保留此时的最优味道浓度值,并保存与其相对应的果蝇个体坐标值,此时果蝇群体利用视觉往该位置飞去,作为下次迭代寻优的初始位置。

 

(7)

Step 7 算法进入迭代寻优。重复执行Step 2~Step 5,并判断是否达到迭代停止条件(当前迭代次数小于最大迭代次数),若达到,结束算法;否则,比较当代最优味道浓度和目前的全局最优味道浓度,执行Step 6。

3 基于SQP局部搜索的多子群果蝇优化算法

为验证MFOA-SQP算法的寻优性能,选取benchmark函数对算法进行3个方面的仿真实验,测试函数的搜索区间、理论极值和具体形式如表1所示。评估方法如下:(1)在最大迭代次数确定的情况下,测试算法的收敛精度和收敛速度;(2)在同一目标收敛精度下,测试算法成功收敛的平均迭代次数和成功率;(3)测试算法在不同维度空间的多峰函数上的寻优稳定性。

3.1 多子群多因子协同进化步长

果蝇从所属子群最优位置出发,通过借鉴个体历史步长并向全局最优和子群最优个体位置学习来更新果蝇的位置,进一步计算新的味道浓度值,步长和位置更新公式如式(8)~式(10)所示。

hx(t+1)=w×hx(t)+l1×rand×

(Xg-Xi,j(t))+l2×rand×(Xm-Xi,j(t))

(8)

hy(t+1)=w×hy(t)+l1×rand×

当按钮拨至“搅拌”时,消毒箱罐体内的搅拌叶片开始搅拌罐体内的基质,当经过一段时间后,搅拌停止,将挡位调至“卸料”,消毒罐体内的基质开始自动卸料。

(Yg-Yi,j(t))+l2×rand×(Ym-Yi,j(t))

完全数字化的数字驾驶舱Innovision Cockpit搭载在全新一代途锐上,几乎不需要任何传统按键或开关,驾驶员可以通过大屏查看车辆信息、导航信息、娱乐信息等。无论是外观还是功能,这个数字驾驶舱看起来都颇有未来感。除了具备酷炫的数字驾驶舱,全新一代途锐还具有完备的驾驶辅助系统,包括交通拥堵辅助系统、前方交叉路口辅助系统、四轮转向系统、ACC自适应巡航控制系统等等,可以给用户带来半自动化驾驶的先进体验。

(9)

Xi,j(t+1)=X_axis+h(t+1)

在传统农业发展时期,生产力相对还比较落后,土地面积的变化与人口数量的多少存在十分直接的关系。通常,人口数量最多的区域即农业发展最迅速的区域,如果某段时间内人口出现飞速增长就表示该时期的农业发展迅速恢复,得到良好发展。在每一个朝代刚刚开始建立时,一般都会采取招徕人口的方式,以促进农业生产的有效发展。例如,魏晋南北朝以及宋辽夏金元时期,黄河流域发生两次大规模的人口迁移,大大丰富了长江流域等南方地域的人口资源,为大量涂泥之地的开发提供了充分的人力资源,这个时期我国的经济重心也才能够出现南移。这就表明,人口在承担农业经济发展任务的同时也是促进农业生产进步的重要力量。[2]

Yi,j(t+1)=Y_axis+h(t+1)

设置果蝇总数sizepop,最大迭代次数maxgen,子群个数m,种群更新变量G

(10)

其中,hxhy分别为果蝇在xy方向上的搜索步长,XgYg为全局最优个体的xy坐标,XmYm分别为果蝇所属子群m的第t代果蝇中最优个体的xy坐标值,Xi,j(t)、Yi,j(t)分别为第t次迭代中果蝇i的第j维在xy方向上的坐标,l1l2分别为全局最优个体的位置学习因子和子群最优个体的位置学习因子,w为步长借鉴因子。

多子群多因子协同进化步长通过位置学习因子和步长借鉴因子共同作用于步长,从而平衡算法的全局寻优和局部寻优能力,使算法能够稳定地接近全局最优点的邻域,并迅速地收敛于最优点。位置学习因子l1l2根据果蝇个体与优秀个体的位置差距控制学习程度,动态调节搜索步长。其中,因子l1控制个体向全局最优学习的程度,因子l2控制个体向所在子群最优个体学习的程度,一方面借助全局最优个体快速缩小寻优范围;另一方面,动态步长由子群最优和全局最优共同影响,减少对全局最优的依赖,避免种群内个体过于集中陷入局部极值。步长借鉴因子w通过控制对历史步长的学习程度来调节步长的变化。寻优前期,w取值大,算法在较大的解空间内搜索,全局探索能力强且不易陷入局部极值;寻优后期w减小,算法在最优解的邻域高精度寻优,避免步长过大跳过最优解。w随迭代次数t的增加而呈指数递减,如式(11)所示,其中,wmaxwmin分别为控制w范围的上下界,t为迭代次数,maxgen为最大迭代次数。

 

(11)

果蝇寻优过程的步长变化趋势如图1所示。新算法寻优过程中,前期步长变化范围较广,算法进行全局搜索,有利于快速收敛,后期步长变化范围逐渐减小,产生微小波动,算法进行局部精细搜索,提高收敛精度。新算法的步长变化方法合理分配了算法在两种搜索模式中消耗的时间,平衡了算法全局搜索和局部搜索的能力,提高了算法的寻优效率。

  

Figure 1 Trend of step change图1 步长变化趋势

3.2 多子群更新策略

新算法为了避免陷入局部极值,提出了指数递增的多子群更新策略。将果蝇种群平均分配到多个子群,子群一旦建立就在一定迭代次数内保持不变,直至G代以后所有果蝇根据适应度值进行混合排序并重新分配子群。多子群有利于提高种群多样性,避免所有果蝇集中在局部最优解附近,子群更新有利于发现新解,避免子群陷入局部最优。

结合自适应调整的方法对重组参数G的更新加入一个自然指数的变换权值,并根据迭代次数比进行实时调整,如式(12)所示,使算法在保证收敛精度的同时,收敛速度明显提高。参数G的变化趋势如图2所示。

 

(12)

  

Figure 2 Changing trend of subgroup update parameter G图2 子群更新参数G变化趋势

种群重组参数G控制子群更新的频率,影响整个迭代寻优过程,G的取值对算法的收敛精度和收敛速度产生一定的影响。新策略在寻优前期G取值较小,更新频率高,加快算法收敛速度,同时避免算法陷入局部最优值;后期G值逐渐增大,更新频率降低,算法基本收敛,减少因子群更新消耗的时间,算法进行局部深度搜索。

3.3 序列二次规划局部搜索

SQP算法[15]来源于1963年Wilson的Newton-Lagrange方法,是处理非线性约束优化问题的有效方法。SQP算法不仅具有全局收敛性,而且具有超线性收敛的速度,优于可行方向法、广义简约梯度法、投影梯度法和罚函数法[16]。算法的核心思想是将非线性规划转换为二次规划进行求解,用所得近似解形成新的二次规划,迭代求解。算法通过Lagrange函数的二次近似形成QP子问题,目标函数为:

 

fd,

s.t. ▽gd+g(xk)≤0

(3)使用弧形加热装置进行高强钢环缝预热 高强钢和较厚的低合金钢环焊接缝焊前应均需要进行预热,目前使用较多的是履带式电加热板,加热板长度为800~1000mm不等。以绩溪抽水蓄能电站为例,总长14m的焊缝需要覆盖14块加热板,加热板利用磁块吸附在焊缝上。当压力钢管转动时,加热板随着转动,由于每块加热板都有独立的一组连接线接在自动温控箱上,随着压力钢管的转动,连接线会绕乱甚至扯断,给焊接带来了极大的困扰。采用了一种便捷式环焊缝预热及后热装置(见图5、图6),使焊缝受热均匀,可操作性和实用性强,有效保障了高强钢的焊接质量。

(13)

其中,d是全变量搜索方向,x为待优化向量,g(x)为约束条件的函数向量,f(x)为目标函数,符号▽表示梯度,矩阵H是Lagrange函数的Hessian矩阵的正定拟牛顿近似,并通过稠密半正定牛顿近似法进行计算,更新公式如下:

 

(14)

其中,

sk=xk+1-xk

(15)

qk=(▽gi(xk+1))-

(▽gi(xk))

(16)

3.4 MFOA-SQP算法伪代码

基于SQP局部搜索的多子群果蝇优化算法的伪代码如下所示:

在世界屋脊采集种子的艰苦,非亲历难以想象。每一种植物的样本数量要达到5000粒,濒危物种样本一般需要500粒。为了保证植物遗传信息独立,每个样本之间的距离不能少于50公里,同时在整个西藏境内,任何一个物种的样本不能超过5个群体……于是,在广袤的高原上,有时一天奔波800公里,他的足迹遍布西藏最偏远、最艰苦、最荒芜的地区。峭壁上蜿蜒的盘山路,曾有巨石滚落砸中他所乘的车;没有水,就不洗脸;没有旅店,就裹着大衣睡在车上……早上五六点出发,晚上八九点钟到达宿营点,之后还需要连续几个小时整理标本,一天睡3个小时是常态。

Initialize()//初始化果蝇默认参数和初始位置

{

3.1.2.Breakdown voltage of pulse arc discharges in serial

初始化果蝇位置X_axisY_axis,移动步长和方向;

依次计算原点至个体距离disti,味道浓度判定值Si和适应度值Smelli

富家坞采区地质结构以地层千枚岩和花岗闪长班岩为主,边坡结构复杂,岩面坑洼、凹凸。加之边坡位于采矿场内,受采矿作业影响较大。开采活动不可避免地削弱了边坡支撑,再加上开采爆破引发的震动,日积月累引起坡面异动,导致岩体结构不稳定。边坡岩体长期暴露在露天环境中,在风化与氧化的双重作用下,容易产生掉块、滑坡现象,造成边坡不稳定。并且,该地区5~7月降雨量大且集中,雨季大量的地表水集中,急速冲刷坡面,雨水渗入岩体裂缝,导致岩体膨胀改变岩体的力学性状和应力状态,岩体分化崩解造成边坡岩石滑落,造成泥石流、坡面塌方等灾害,加速边坡不稳定。

按适应度值排序并分配到m个子群;

记录全局最优和子群最优适应度SmellbestMSmell及其位置坐标;

}else

while(tmaxgen)

崔:既然提到了“拉三”,那么这几个经典版本的“拉三”,哪个是您的最爱?是拉赫玛尼诺夫本人的经典演绎?是霍洛维兹的传承和创新?是阿格里奇的极致炫技?还是范·克莱本在“柴科夫斯基国际钢琴比赛”中对此曲的解构与重塑?

{

{

if( i == MSmell )/*判断果蝇i是否为子群最优个体*/

{

子群最优个体进行SQP局部搜索,计算新的适应度值;

}

开着GTC4Lusso,我仍然会记得FF。但开着Portof i no,我已经忘记California T了。这款全新GT敞篷跑车以意大利著名滨海小镇Portofino为名,Portofino是一座历史悠久的魅力港口,以其意式生活典范而知名。

按照式(11)更新步长借鉴因子w

一是由于护理专任教师参加临床实践的时间有限,医院缺乏相应的管理机制,对于实践内容、培养目标和指导老师等没有具体的要求,多以“客人”相待,难以深入临床实践[6]。二是学校缺乏适当旳激励机制和考核评价体系,包括职称评定方式、聘任制度和评优考核等均以关注教学和科研为主,而未对临床实践作出明确的要求,这也导致教师参加临床实践的积极性不高。

按照式(10)更新果蝇位置坐标;

利用式(8)和式(9)更新步长hxhy

更新果蝇味道浓度值Smellnew

}

if(Smellnew<bestSmellm)/*判断新适应度值是否优于子群最优适应度值*/

{

记录子群最优味道浓度值MSmellm及其位置坐标MXbestMYbest

}

if(t == G)/*判断迭代次数是否到达种群更新条件*/

{

根据适应度值混合排序并重新划分子群;

记录全局最优和子群最优适应度SmellbestMSmellm及其位置坐标;

}

}

4 仿真实验及结果分析

基于SQP局部搜索的多子群果蝇优化算法MFOA-SQP(Multiple subgroups Fruit fly Optimization Algorithm based on Sequential Quadratic Programming local search)算法将果蝇群体按适应度值大小评估优劣并排序,按顺序依次分配到m个子群。记录每个子群的最优个体,对其进行SQP局部深度搜索。每隔G代,将所有果蝇按照适应度值大小混合排序并重新划分子群,直至满足迭代终止条件。

实验环境是在Window7系统下的Matlab(R20014a)平台,硬件Intel(R) Core(TM) i5-2450M,CPU 2.5 GHz,内存为4 GB。选取新型启发式算法和改进的经典启发式算法进行对比,其中,鸡群算法CSO(Chicken Swarm Optimization)是一种新型的天然多种群优化算法,LFA(Levy-flight Firefly Algorithm)是基于Levy飞行的萤火虫算法,SAPSO(Cooperative evolutionary algorithm based on Simulated Annealing and Particle Swarm Optimization)算法[17]是融合模拟退火算法和粒子群算法的协同进化算法,布谷鸟算法CS(Cuckoo Search)通过Levy飞行调节步长,同时利用发现概率控制收敛进程。

通过查阅文献[12-14,17]和实验,对比算法参数设置:LFA算法中最大荧光亮度为0.25,最大吸引度为0.20,光强吸收系数为1,Levy飞行参数为1.5;CSO算法中种群更新系数为10,Frand( 0.4,1),N为所有个体数,NR为0.2NNH为0.6N,NM为0.1NH;SAPSO算法中两个学习因子均为2.05,退火系数为0.5;CS算法中,步长因子为1,发现率为0.25。MFOA-SQP算法中控制步长的两类学习因子均通过借鉴粒子群算法而来,在本文中的取值是通过查阅文献[18]根据其经典取值结合算法大量实验所得,其中,l1l2均取常数3,wmaxwmin分别取0.9和0.4;重组参数G的变化范围由c1c2k共同调节,p控制G的增长趋势,通过对比算法在多个函数上的性能,得到G值在[1,50]递增,p在[1,15]取值时算法可行。通过测试,最终取c1=2,c2=3,k=3,p=9,使重组参数G从5至43呈指数递增时算法性能最佳。

4.1 固定迭代次数,对比算法收敛速度和精度

为保证实验公平性,所有对比算法参数设置统一:最大迭代次数为2 000次,种群规模为30,按照表1设置搜索范围和维数。采用MFOA-SQP算法、FOA算法、CSO算法、SAPSO算法、具有Levy飞行特征的双子群果蝇优化算法LFOA(double subgroups fruit fly Optimization Algorithm with characteristics of Levy Flight)、CS算法和自适应混沌果蝇优化算法ACFOA(Adaptive Chaos Fruit fly Optimization Algorithm)分别对6个测试函数独立运行50次后的实验结果如表2所示,主要包括50次实验的最优值(Min)、平均值(Mean)和标准差(Std)。图3给出了FOA与MFOA-SQP两种算法对6个测试函数的适应度对数值迭代寻优曲线,虚线表示FOA算法的曲线,实线表示MFOA-SQP算法的曲线。

由表2可以看出,MFOA-SQP算法对函数f1,f2,f4,f6均达到理论极值,在f5上的平均收敛精度是对比算法中最佳的;CSO算法在3个函数上达到理论极值,在函数f4上最优值达到理论极值,在f5上最优值是对比算法中最佳的;SAPSO算法在f6上最优值达到理论极值;LFOA算法在2个函数上达到理论极值,在f3上的平均收敛精度是对比算法中最佳的;CS算法在f3上的最优值最小;ACFOA算法在f5上标准差最小,但是其收敛精度较低。函数f3是Rosenbrock函数,全局最小值在一个长而窄的抛物线形平谷内,也称作香蕉函数,极难找到全局最优解。在f3上,CSO、SAPSO和CS算法的平均收敛精度远离理论极值,LFOA平均收敛精度最高,MFOA-SQP算法在f3上的寻优精度与FOA和ACFOA基本持平。整体上,对6个测试函数MFOA-SQP算法优化精度更高。图3为FOA算法和MFOA-SQP算法在种群规模为30,迭代次数为1 000次的进化寻优曲线。与FOA算法相比,MFOA-SQP算法寻优速度较快且不易陷入早熟收敛。

(1)一定要根据系统的最高工作压力确定管道配件的承压,配件承压不能过高,否则配件费用会成倍增大;若配件承压低于系统的工作压力,系统处于不安全状态。

 

Table 1 Benchmark test functions表1 测试函数

  

函数名函数形式维数搜索区间理论极值性质Spheref1(x)=∑ni=1x2i30[-100,100]0单峰Griewankf2(x)=14000∑ni=1x2i-ni=1cosxii()+130[-600,600]0多峰Rosenbrockf3(x)=∑n-1i=1(100(xi+1-x2i)2+(xi-1)2)30[-100,100]0单峰Rastriginf4(x)=∑ni=1(x2i-10cos(2pxi)+10)30[-100,100]0多峰Ackleyf5(x)=-20exp-0.2130∑ni=1x2iæèçöø÷-exp130∑ni=1cos2πxi()+20+e30[-100,100]0多峰Schafferf6(x)=sin2x21+x22-0.5(1+0.001(x21+x22))2-0.52[-100,100]-1强烈震荡多峰

 

Table 2 Experimental results comparison among the algorithms for the maxgen表2 固定迭代次数算法性能比较 B

  

函数指标FOAMFOA-SQPCSOSAPSOLFOACSACFOAMin5.38E-060.00E+000.00E+006.78E-014.03E-177.99E-113.7868E-21f1Mean3.90E-030.00E+000.00E+001.53E+002.29E-165.35E-103.8126E-21Std1.50E-030.00E+000.00E+004.32E-012.16E-163.49E-109.37E-24Min9.74E-070.00E+000.00E+003.05E-020.00E+009.48E-100.00E+00f2Mean2.55E-060.00E+000.00E+006.85E-020.00E+004.85E-050.00E+00Std2.87E-060.00E+000.00E+002.36E-020.00E+001.37E-040.00E+00Min2.87E+012.86E+012.67E+011.14E+022.65E+012.42E+012.87E+01f3Mean2.87E+012.88E+011.65E+021.99E+022.71E+016.15E+072.87E+01Std4.40E-025.10E-027.39E+025.67E+012.69E-013.06E+084.90E-02Min3.44E-040.00E+000.00E+008.43E+010.00E+006.00E+011.78E-15f4Mean2.62E-020.00E+001.12E-071.25E+023.29E-159.12E+013.11E-15Std2.09E-010.00E+003.16E-051.68E+011.16E-151.63E+017.89E-16Min2.00E-041.15E-153.55E-161.56E+004.47E-091.99E+011.68E+00f5Mean5.49E-023.55E-151.24E-122.16E+009.71E-092.00E+011.68E+00Std1.08E-021.32E-121.01E-112.87E-013.70E-091.54E-022.32E-14Min-1.00E+00-1.00E+00-1.00E+00-1.00E+00-1.00E+00-1.00E+00-1.00E+00f6Mean-9.99E+01-1.00E+00-1.00E+00-9.99E-01-1.00E+00-1.00E+00-1.00E+00Std8.13E-050.00E+000.00E+002.60E-030.00E+001.37E-054.03E-05

4.2 目标精度下的成功率和平均迭代次数对比

表3为6个测试函数在目标精度下,独立运行50次后的平均迭代次数和成功率。为显示算法性能,所有对比算法均采用统一的参数设置:sizepop为30,maxgen为2 000,维度、搜索范围如表1所示。目标精度设置:FOA算法、MFOA-SQP算法和CSO算法均采用表3显示的目标精度,自适应变异的果蝇优化算法FOAAM(Fruit fly Optimization Algorithm with Adaptive Mutation)[19]、ACFOA算法和基于细菌迁徙的自适应果蝇优化算法AFOABM(Adaptive Fruit fly Optimization Algorithm based on Bacterial Migration)的部分函数目标精度设置与表3不同,括号内为本文算法达到对比算法相应目标精度所需的平均迭代次数和成功率(其中,文献[19]中FOAAM算法f4f6对应的目标精度分别为0,10-1,-1,文献[3,4]中ACFOA算法、AFOABM算法f3f5的目标精度设置为30,10-4,10-1,与表1中目标精度相比较低)。

平均迭代次数(Mean Iterations)为达到目标精度的迭代次数的平均值;成功率(Success Rate)=达到目标精度的实验次数/实验总次数[3];“—”表示文献中没有报道,“∞”表示迭代次数超过最大迭代次数。

从目标精度下的成功率进行分析,MFOA-SQP算法对除了f3的其他函数寻优成功率均达到100%,对函数f3成功率为94%;FOAAM算法、ACFOA算法和AFOABM算法对f5成功率为0,其他函数均达到100%;FOAAM算法对于函数f3表现最佳,以100%的成功率达到目标精度;CSO算法对f1f6成功率为100%,f2f4均为96%,最低迭代成功率为52%;CS算法对f1寻优成功率达到100%,但对f4f5均达不到目标精度。从成功率方面分析,FOAAM算法和ACFOA算法表现较突出,MFOA-SQP算法表现最佳。

对平均迭代次数进行分析,从表3可以看出,MFOA-SQP算法与其他算法相比对f3f5f6表现最佳,平均迭代次数最少;ACFOA算法对f1f2f4表现最佳,但是MFOA-SQP算法在f1f2f4上与ACFOA算法迭代次数最大不超过10次,基本持平;FOAAM算法在f3f6上效果较佳,但是没有同条件下的MFOA-SQP算法迭代次数少。综上所述,MFOA-SQP算法在f1f6上与表3中算法相比,成功率和平均迭代次数较好。

  

Figure 3 Fitness logarithm evolutionary curves of f1~f6图3 适应度对数值进化曲线

 

Table 3 Comparison of mean iterations and success rate for the goal

 

表3 目标精度下的平均迭代次数与成功率比较

  

函数维数目标精度指标FOAMFOA-SQPCSOCSFOAAMACFOAAFOABMf13010-5MI∞3.96183.041360.314161532SR0111111f23010-6MI894.182286.941768.5381198SR0.6210.960.40111f33028.8MI11296.421848261(1)1(1)SR0.960.940.760.0811(1)1(1)f43010-5MI∞9.72278.17∞82(303)2.1(5.32)313(5.32)SR010.9601(1)1(1)1(1)f53010-5MI∞172716.27∞∞(1)∞(1)∞(1)SR010.5200(1)0(1)0(1)f6210-5-1MI404.71289.86731.2471(12.7)138.65—SR0.56110.981(1)1—

4.3 算法在高维、多峰函数上的收敛性对比

全局优化算法在高维、多峰复杂优化问题上,更容易陷入局部最优,导致后期收敛慢、收敛精度低。表4为MFOA-SQP算法与FOA算法、CSO算法、LFA算法、SAPSO算法、ACFOA算法和FOAAM算法在50维多峰函数f2f4f5上独立运行50次后的性能比较。为显示算法性能,所有算法参数设置统一为sizepop为15,maxgen为800,搜索范围如表1所示。

从表4可以看出,MFOA-SQP算法在f2f4上找到了理论最优值,在f5上取得对比算法中的最优平均收敛精度,与30维相比,平均收敛精度稍有下降;ACFOA算法和FOAAM算法在f4上达到理论极值,ACFOA算法在50维条件下,于函数f2上收敛精度较30维降低,在f4上较30维大幅提高,FOAAM算法在f5上标准差最小,但是收敛精度较低;CSO算法在高维函数上收敛精度低于30维;LFA算法和SAPSO算法在3个高维多峰函数上均表现不佳。综上,MFAO-SQP算法与表4中对比算法相比,在3个50维多峰函数上整体寻优精度和稳定性更好。

MFOA-SQP与FOA、CSO、LFA、SAPSO共5种算法在50维函数f2f4f5的耗时如表4所示,从平均时间上看,LFA耗时最长,FOA耗时最短,MFOA-SQP算法平均用时比CSO算法和SAPSO算法稍长,结合收敛精度进行分析,MFOA-SQP算法在3个函数上的寻优精度远高于FOA、CSO、LFA、SAPSO。综上,MFOA-SQP算法在f2f4f5上效率更高。

由于地形变化、季节变化等所引起的D与18O同位素变化可以被地下水所保留,这些变化可以用来计算地下水的补给高程[19]。但是不同时期的D与18O值会有不同,如冰期的时候,大气降水的氘氧值可能会比较低,而高程效应造成的结果也是氘氧值低,所以,要考虑到时间的问题。因此为了排除时间因素对D与18O值的影响,该次研究取温泉地热水进行14C同位素测年分析,确定地热水的补给年龄。14C测年的基本原理是应用地下水中的溶解无机碳作为示踪剂,以14C测定地下水中溶解的无机碳的年龄。年龄是根据地下水的14C浓度与补给时浓度之间的差别来计算。其计算公式如下:

 

Table 4 Performance comparison of the algorithms on high dimensional multimodal functions表4 高维多峰函数上的算法性能 B

  

函数维数指标FOAMFOA-SQPCSOLFASAPSOACFOAFOAAMMean4.73E-060.00E+004.35E-021.41E-021.03E+002.84E-557.72E-07f250Std2.91E-060.00E+001.06E-013.70E-038.00E-034.18E-565.04E-07time/s0.90551.78311.11342.47561.6960——Mean1.56E+000.00E+001.38E-051.18E+023.73E+000.00E+000.00E+00f450Std6.71E-010.00E+001.11E-042.91E+013.60E-010.00E+000.00E+00time/s0.69371.48260.82962.04351.2575——Mean5.67E-026.35E-121.89E-052.00E+013.97E-011.68E+001.68E+00f550Std1.39E-022.71E-135.97E+001.02E-023.40E-023.78E-141.72E-15time/s0.91992.08341.19902.58131.9304——

5 应用实例

5.1 数据采集与指标提取

实验数据源于UCI机器学习数据库中的一组银行客户数据,这组数据是关于银行的营销产品最终能否成功被客户购买。从中抽取2 000条样本,样本数据包括16个属性和1个类别,其中属性包含客户基本信息,银行与客户就当下营销活动的交流信息和上次活动的交流信息三部分内容,类别指客户是否会购买本次产品。数据预处理步骤如下。

(1)把非数值属性数值化,连续属性离散化。

(2)提取主特征,减少输入向量维数。

利用统计产品与解决方案SPSS(Statistical Product and Service Solutions)对数值化数据进行主成分分析,得到相关系数矩阵的特征值和贡献率,如图4所示。根据特征根大于1的原则,结合旋转载荷因子矩阵进行分析,最终提取出7个主成份,累计贡献率达到62.9%。

  

Figure 4 Principal component contribution rate and cumulative contribution rate图4 主成份贡献率与累计贡献率

(3)计算得分系数矩阵,生成新指标。

利用SPSS生成样本因子的得分系数矩阵,如表5所示。根据得分系数矩阵建立各个因子关于原始指标的线性表达式,用这7个主成分指标替代掉原始的16个指标,作为新的指标体系。最终,将处理过的数据归一化,作为GRNN的输入。

5.2 网络训练与结果检验

将2 000条数据中200条用于测试,剩余1 800条数据分为2组交叉训练。将果蝇算法的味道浓度判定值Si作为GRNN网络的spread光滑参数,创建并训练广义回归神经网络net=new(PTspread),其中,P为训练数据集输入向量,T为训练数据集输出向量,spread为光滑参数。GRNN仿真输出为Y=sim(netP),其中P为测试数据集输入向量,Y为测试数据集输出向量,net为训练好的广义回归神经网络。GRNN由径向基函数RBF(Radical Basis Function)神经网络引申而来,因此有且只有一个自由参数,即RBF的光滑参数。所以,学习过程的目的就是去寻找最佳光滑参数spread值,使得测试输出与实际输出的均方误差MSE(Mean Square Error)最小,即f=min(MSE)作为适应度函数,spread为味道浓度判定值。利用GRNN、FOA-GRNN和MFOA-SQP-GRNN三种模型对200组测试集进行仿真实验,其中,参数设置:sizepop为30,maxgen为800,spread参数默认为1。分类误差结果如图5所示。

根据预测结果,把误差低于0.01的判定为分类准确,各算法对银行数据的分类正确率和平滑参数的最终取值如表6所示。结果显示,MFOA-SQ-PGRNN模型分类准确率最高,比GRNN模型提高了16%,比FOA-GRNN模型提高了7%。

 

Table 5 Score coefficient matrix of the sample factor表5 得分系数矩阵 B

  

属性元件1234567age-0.0100.084-0.570-0.012-0.043-0.101-0.055job0.0060.0710.034-0.651-0.0460.0350.020marital-0.0380.1230.603-0.030-0.064-0.083-0.063education-0.003-0.0310.0130.615-0.0180.0090.007default-0.0260.0510.0040.0880.508-0.177-0.101balance-0.0150.097-0.0440.065-0.5190.0010.002housing0.099-0.525-0.0120.0670.1340.2240.254loan0.0230.078-0.0690.0120.4790.0940.042contact0.1080.4770.102-0.0160.0890.0270.016day0.0240.0030.053-0.047-0.0570.6080.112month-0.0300.408-0.099-0.0050.1120.2390.264duration-0.024-0.0300.001-0.002-0.049-0.0600.847campaign0.024-0.055-0.0370.032-0.0010.542-0.266pdays0.377-0.057-0.004-0.0130.0160.022-0.051previous0.331-0.001-0.0050.0040.0100.0390.027poutcome0.3670.013-0.038-0.003-0.032-0.005-0.021

  

Figure 5 Classification error chart of the test set图5 测试集分类误差

 

Table 6 Comparison of correct classification rate

 

表6 分类正确率对比

  

模型名称spread正判数正确率/%GRNN114974.5FOA-GRNN0.273616783.5MFOA-SQP-GRNN0.340918190.5

6 结束语

本文基于序列二次规划理论提出了多子群果蝇优化算法,包含多子群协同进化步长和SQP局部深度搜索两部分。多子群策略为果蝇的进化步长提供多方面的信息,保证了群体多样性,避免种群过于集中陷入局部极值,SQP搜索保证了算法在全局最优邻域内精确寻找到最优值。该算法克服了基本果蝇优化算法因种群单一,进化过程种群多样性迅速降低导致的早熟收敛问题,能够快速精确地找到全局最优值。通过对benchmark函数的测试结果表明,MFOA-SQP算法收敛速度快,具有良好的全局寻优能力。将改进的果蝇优化算法应用于优化GRNN的spread参数进行银行客户分类的实验结果表明,MFOA-SQP算法具有实际可行性。

参考文献:

[1] Pan Wen-chao. Fruit fly optimization algorithm [M]. Taizhong: Tsunghai Book,2011.(in Chinese)

[2] Du Xiao-xin,Zhang Jian-fei,Guo Yuan,et al.A fruit fly optimization algorithm with Cauchy-Faussian dynamic reduction mutation [J].Computer Engineering & Science,2016,38(6): 1171-1176.(in Chinese)

[3] Han Jun-ying,Liu Cheng-zhong.Adaptive chaos fruit fly optimization algorithm [J].Journal of Computer Applications,2013,33 (5):1313-1316.(in Chinese)

[4] Liu Cheng-zhong,Han Jun-ying.Adaptive fruit fly optimization algorithm based on bacterial migration [J].Computer Engineering & Science,2014,36(4): 690-696.(in Chinese)

[5] Duan Yan-ming,Xiao Hui-hui.Research of the self-adaptive step fruit fly optimization algorithm [J].Journal of Henan Normal University (Natural Science Edition),2016,44(1):161-168.(in Chinese)

[6] Zhang Qian-tu, Fang Li-qing,Zhao Yu-long.Double subgroups fruit fly optimization algorithm with characteristics of Levy flight [J].Journal of Computer Applications,2015,35(5):1348-1352.(in Chinese)

[7] Wang Xue-gang, Zou Zao-jian.FOA-based SVM parameter optimization and its application in ship manoeuvring prediction [J].Journal of Shanghai Jiao Tong University,2013,47(6):884-888.(in Chinese)

[8] Niu Pei-feng,Ma Hong-bo,Li Guo-qiang,et al.Study on NOx emission from CFB boilers based on support vector machine and fruit fly optimization algorithm[J].Journal of Chinese Society of Power Engineering,2013,33(4):267-271.(in Chinese)

[9] Sun Li-xin,Zhang Xu-zhi,Deng Xian-rui,et al.Image segmentation based on self-adaptive fruit fly algorithm optimizing fuzzy means clustering algorithm [J].Control Engineering of China,2016,23(4):494-499.(in Chinese)

[10] Pan Wen-chao. Using fruit fly optimization algorithm optimized general regression neural network to construct the operating performance of enterprises model [J].Journal of Taiyuan University of Technology (Social Sciences Edition),2011,29(4):1-5.(in Chinese)

[11] Zhou Ping,Bai Guang-chen.Robust design of turbine-blade low cycle fatigue life based on neural networks and fruit fly optimization algorithm [J].Journal of Aerospace Power,2013,28(5):1013-1018.(in Chinese)

[12] Yang Xin-she.Firefly algorithm,Levy flights and global optimization [M]∥Research and Development in Intelligent Systems XXVI.London:Springer,2010.

[13] Meng Xian-bing,Liu Yu,Gao Xiao-zhi,et al.A new bio-inspired algorithm: Chicken swarm optimization [C]∥Proc of the 5th International Conference on Swarm Intelligence,2014:86-94.

[14] Yang Xin-she,Suash D.Cuckoo search via Levy flight[C]∥Proc of 2009 World Congress on Nature & Biologically Inspired Computing,2009: 210-214.

[15] Shi Guo-chun.Research on algorithm of sequential quadratic programming for nonlinear programming problems [D].Lanzhou: Lanzhou University,2009.(in Chinese)

[16] Zhang Gang, Zhu Ming-bo,Chen Yu,et al.3D trajectory optimization of the SAR imaging seeker based on SQP [J].Computer Engineering & Science,2012,34(4):145-150.(in Chinese)

[17] Wang Li-fang,Zeng Jian-chao.A cooperative evolutionary algorithm based on simulated annealing algorithm and particle swarm optimization [J].Acta Automatica Sinica,2006,32(4): 630-635.(in Chinese)

[18] Chen Gui-min,Jia Jian-yuan,Han Qi.Study on the strategy of decreasing inertia weight in particle swarm optimization algorithm [J].Journal of Xi’an Jiaotong University,2006,40(1):53-61.(in Chinese)

[19] Han Jun-ying,Liu Cheng-zhong.Fruit fly optimization algorithm with adaptive mutation [J].Application Research of Computers,2013,30(9): 2641-2644.(in Chinese)

附中文参考文献:

[1] 潘文超.果蝇最佳化演算法[M].台中: 沧海书局,2011.

[2] 杜晓昕,张剑飞,郭媛,等.基于柯西-高斯动态消减变异的果蝇优化算法研究[J].计算机工程与科学,2016,38(6):1171-1176.

[3] 韩俊英,刘成忠.自适应混沌果蝇优化算法[J].计算机应用,2013,33(5):1313-1316.

[4] 刘成忠,韩俊英.基于细菌迁徙的自适应果蝇优化算法[J].计算机工程与科学,2014,36(4):690-696.

[5] 段艳明,肖辉辉.一种新的自适应步长果蝇优化算法[J].河南师范大学学报(自然科学版),2016,44(1):161-168.

[6] 张前图,房立清,赵玉龙.具有Levy飞行特征的双子群果蝇优化算法[J].计算机应用,2015,35(5):1348-1352.

[7] 王雪刚,邹早建.基于果蝇优化算法的支持向量机参数优化在船舶操纵预报中的应用[J].上海交通大学学报,2013,47(6):884-888.

[8] 牛培峰,麻红波,李国强,等.基于支持向量机和果蝇优化算法的循环流化床锅炉NOx排放特性研究[J].动力工程学,2013,33(4):267-271.

[9] 孙立新,张栩之,邓先瑞,等.自适应果蝇算法优化模糊均值聚类算法图像分割[J].控制工程,2016,23(4): 494-499.

[10] 潘文超.应用果蝇优化算法优化广义回归神经网络进行企业经营绩效评估[J].太原理工大学学报(社会科学版),2011,29(4):1-5.

[11] 周平,白广忱.基于神经网络与果蝇优化算法的涡轮叶片低循环疲劳寿命健壮性设计[J].航空动力学报,2013,28(5):1013-1018.

[15] 石国春.关于序列二次规划(SQP)算法求解非线性规划问题的研究[D].兰州: 兰州大学,2009.

[16] 张刚,祝明波,陈瑜,等.基于SQP算法的SAR成像导引头三维弹道优化[J].计算机工程与科学,2012,34(4): 145-150.

[17] 王丽芳,曾建潮.基于微粒群算法与模拟退火算法的协同进化方法[J].自动化学报,2006,32(4):630-635.

[18] 陈贵敏,贾建援,韩琪.粒子群优化算法的惯性权值递减策略研究[J].西安交通大学学报,2006,40(1):53-61.

[19] 韩俊英,刘成忠.自适应变异的果蝇优化算法[J].计算机应用研究,2013,30(9):2641-2644.

 
王英博,王艺星
《计算机工程与科学》2018年第05期文献

服务严谨可靠 7×14小时在线支持 支持宝特邀商家 不满意退款

本站非杂志社官网,上千家国家级期刊、省级期刊、北大核心、南大核心、专业的职称论文发表网站。
职称论文发表、杂志论文发表、期刊征稿、期刊投稿,论文发表指导正规机构。是您首选最可靠,最快速的期刊论文发表网站。
免责声明:本网站部分资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有
如有不愿意被转载的情况,请通知我们删除已转载的信息 粤ICP备2023046998号