一种变视野和步长的人工鱼群算法
0 引言
人工鱼群算法(artificial fish swarm algorithm,AFSA)[1]最早由李晓磊博士于2002年提出,它模拟鱼的觅食、聚群、追尾和随机4种行为,通过鱼群中个体的局部寻优实现全局最优。该算法具有鲁棒性强、对初值不敏感等特点,但同样也有例如易陷入局部最优、优化后期收敛速度较慢、算法复杂度较高等缺点。为此,众多学者提出了许多改进算法。文献[2]提出反向自适应高斯变异的鱼群算法,根据反向解调整人工鱼的移动方向和位置,使人工鱼群快速跳出局部最优;文献[3]引入人工鱼的吞食行为,淘汰掉目标函数值小于一定阈值的人工鱼,降低了算法的复杂度;文献[4]提出基于遗传算法的人工鱼群算法,引入了遗传算法中的交叉、变异算子,实现了人工鱼个体的跳变,提高了算法的收敛速度和全局搜索能力;文献[5]提出了高斯变异算子与差分进化变异算子相结合的人工鱼群算法,克服了人工鱼漫无目的的随机游动,提高了求解质量和运行效率。
以上算法主要针对陷入局部最优、降低算法复杂度[6-10]而提出改进,没有对算法的视野和步长进行调整,有可能导致算法收敛后期出现振荡现象。针对以上问题,本文动态调整人工鱼群算法的视野和步长,以期提高算法精度和效率。
1 人工鱼群算法
鱼群总是朝着水域中营养物质多的地方游动,根据这一特点模拟聚群、追尾、觅食行为,鱼类通过对行为的评价,选择一种当前最优的行为进行执行,以达到食物浓度更高的位置,由此实现全局最优。
假设每条人工鱼的状态为X=(x1, x2,…, xn),目标函数值Yi=f(Xi),为两条人工鱼之间的距离,visual为人工鱼的视野,step为人工鱼移动的步长,δ为拥挤度因子,trynumber为人工鱼觅食行为中最大的试探次数,则详细的行为描述如下。
1.1 觅食行为
觅食行为是鱼向着食物浓度大的地方游动的一种行为,设Xj为人工鱼i的当前状态Xi在其视野内随机选择的一个状态:
2017年1—3月干预,医院尝试在门诊以及住院部对2型糖尿病患者进行合理用药的质量改进活动,2018年1—3月复查,其中完成2次调查对象174例,其中男 102例、女 72例,年龄(69.4±4.2)岁。 纳入标准:①临床资料完整;②明确诊断为2型糖尿病;③年龄≥60岁;④完成了2次调查;⑤知情同意。
如果Yj /nf>δYi,则执行觅食行为。
式中为前进之后的状态。
从图2可以看出,试验期间,不同覆盖条件下,养殖池最高水温在 19.6~27.0℃,其平均值从高到低为单层薄膜覆盖、对照、双层薄膜覆盖;单层薄膜覆盖条件下,30、60 cm水深的池子平均最高水温分别为 25.4、25.7 ℃,相差不大;双层薄膜覆盖条件下,30、60 cm水深的池子水温平均最高水温分别为22.1、22.0 ℃,相差不大;但露天条件下,30、60 cm 水深的池子平均最高水温分别为 23.0、24.0 ℃,相差 1.0 ℃。双层薄膜覆盖和露天条件下的日最高水温呈现高-低-高的变化趋势,而单层薄膜覆盖正好相反。
儿科住院医师规范化培训是培养合格儿科医师的必经途径,也是加强儿科人才队伍建设、提高医疗水平的治本之策。当前,国家实施“全面两孩”政策,使得本来严峻的儿科医疗服务的供需矛盾更加凸显,教育部多措并举力助解决儿科医生短缺,加大儿科医学人才的培养力度。在这种新的形势下,要对儿科人才培养工作提出新要求,平衡儿内科和儿外科规培学员临床技能操作水平,实现不同层次学员规范化培训的个体化,从而实现有效的儿科住院医师规范化培训。
在公告板中记录人工鱼每一次迭代后最优的状态。人工鱼每次迭代后,与公告板中的人工鱼的状态比较,如果优于公告板中的状态,则人工鱼替换公告板中的人工鱼;否则公告板不变。最后公告板中的人工鱼就是所求的最优人工鱼。
1.2 聚群行为
乳酸链球菌素是一种抗菌素,由乳酸菌属的乳酸链球菌制得,乳酸链球菌素不能抑制革兰氏阴性菌、酵母和霉菌,能抑制葡萄球菌属、链球菌属、小球菌属和乳杆菌属的某些菌种;对于抑制LAB和其它革兰氏阳性细菌,特别是梭菌和细菌芽孢极其有效[5]。乳酸链球菌素就作为一种防腐剂在食品中使用。能产生细菌素的乳酸菌作为一种新型发酵剂被广泛用于发酵肉制品工业,能有效地抑制引起食品腐败的细菌和孢子,延长食品的货架期[6]。
1.3 追尾行为
追尾行为是人工鱼向着食物浓度最大的方向游动的一种行为。根据dij<visual,找到人工鱼Xi视野内的其它人工鱼,并计算出数目nf和目标函数值最大的一条人工鱼Xj,如果,则表明Xj位置的食物浓度大且不太拥挤,此时人工鱼Xi向Xj移动一步,则
计算Xj的目标函数值,如果f (Xj) > f (Xi)(求极大值)或者是f (Xj) < f (Xi)(求极小值),则向Xj的方向前进一步:
1.4 随机行为
人工鱼在视野内随机选择一个状态,向该方向移动,它是觅食行为的缺省行为。
1.5 公告板
如果不满足上述条件,则重新选择状态Xj,如果在尝试trynumber次之后仍不满足条件,则人工鱼Xi随机移动一步,使当前状态达到一个新状态
2 改进的人工鱼群算法
基本人工鱼群算法中的视野和步长是固定的。若视野较大,则全局搜索能力强;若视野较小,则局部搜索能力强。步长越大,人工鱼移动的范围越大,收敛速度越快;步长越小,人工鱼移动的范围越小,收敛速度越慢。如果把视野和步长设置成一个固定的较大值,在算法收敛初期,全局能力搜索强,移动范围大,能快速地向全局最优移动;但是在后期,由于此时人工鱼聚集在最优值附近,较大的步长会导致人工鱼在最优值附近出现震荡现象,难以精确地逼近最优值。如果把视野和步长设置成固定的较小值,虽然后期会比较精确地逼近最优值,但是前期移动范围小,且易陷入局部搜索,导致陷入局部最优,收敛速度慢。
步骤2 根据人工鱼的位置计算人工鱼群的目标函数值。
2.1 视野和步长的改进
根据以上分析,人工鱼群算法应采用动态的视野和步长,初期采用较大的视野和步长,进行全局搜索和大范围移动;随着迭代的进行,逐渐减小视野和步长,进行局部搜索和小范围移动,从而提高算法的寻优精度。课题组将人工鱼Xi的视野设置为与它相邻的人工鱼的距离,将鱼群中最后一条人工鱼的视野设置为它与第一条鱼的距离,将步长设置为视野乘以一个系数a(0<a≤1)。算法收敛初期,各条人工鱼之间的距离较远,视野和步长也较大;随着迭代的进行,人工鱼逐渐向最优值靠拢,它们之间的距离逐渐缩小,视野和步长也随之缩小。设N为鱼群规模,则公式表示如下:
两台锅炉设计煤种均为烟煤,其中A厂干燥无灰基挥发分36.60%,低位发热量20 440kJ/kg,B厂干燥无灰基挥发分20.26%,低位发热量20 440kJ/kg。
2.2 改进的人工鱼群算法流程
改进的人工鱼群算法的具体步骤如下。
聚群行为是指鱼为躲避危险,自发地聚集成群。根据dij<visual,找到人工鱼Xi视野内的其它人工鱼,并计算其中心位置Xc和数目nf,如果Yc /nf>δYi,则表明Xi的邻域中心位置Xc的食物浓度大且不太拥挤,此时人工鱼Xi向Xc移动一步,即如果Yc /nf>δYi,则执行觅食行为。
步骤1 初始化人工鱼群的位置,包括迭代次数、试探次数、拥挤度因子、鱼群规模。
一杭被带到会客厅。范坚强当中坐着,雪萤站在一边,被两名青年男子扣着手臂。范坚强把手中的茶杯放在茶几上,看了一眼一杭:“东西带来了?”
步骤3 计算人工鱼群的目标函数值的最优值并将其赋给公告板。
步骤4 根据式(1)计算每条人工鱼的视野和步长。
函数极大值为0。
步骤6 如果达到最大迭代次数,则迭代完成,公告板中的人工鱼及其目标函数值就是所求的最优值;如果没有达到,则转到步骤4继续进行迭代。
根据以上所述改进人工鱼群算法的步骤,流程图如图1所示。
图1 改进人工鱼群算法的流程图Fig. 1 Flow chart of the improved artificial fish swarm algorithm
3 仿真实验分析
为了测试改进人工鱼群算法是否有效,课题组选取6个测试函数进行测试,仿真实验环境为Matlab2014a,操作系统为32位Windows7,硬件参数为Intel(R) Pentium(R) G2030 3 GHz处理器、4 GB内存。6个测试函数定义如下:
函数在[0, 0]处有唯一极大值,在周围散布着一些局部极值。
步骤5 执行人工鱼的追尾、聚群、觅食、随机4种行为,得出最优人工鱼及其目标函数值,并与公告板中的目标函数值比较,若优于后者,则将其更新到公告板中。
函数的全局极大值为511.731 9。
函数在( 5.977 15, 5.084 69 )处取得全局极大值,为1.999 4,该函数是一个多峰的非线性函数。
函数在0.127 49处取得极大值19.894 9。
函数在(0, 0)处取得最小值0。
为了让人们关注地方文化、关心城市建设,2018年成都历时八个月开展“天府十大文化地标”的大型评选活动,从文化内涵、地理标志、艺术审美、现存状态、社会影响5个维度进行综合考量,最终评选出峨眉山、青城山—都江堰、三星堆遗址等十大文化地标
传统人工鱼群算法的参数设置如下:步长step=2,视野visual=10,试探次数trynumber=10,拥挤度因子δ=0.2,鱼群规模N=20,实验运行20次,每次运行迭代500次,求其平均值。改进的人工鱼群算法除视野和步长外,其余参数设置如上。
3.1 实验结果及分析
为了测试改进人工鱼群算法的寻优效果和收敛速度,对两种算法运行20次,得出平均值,结果如表1所示,其中IAFSA表示改进的人工鱼群算法。从表1可以看出,改进算法的优化结果优于标准算法,改进算法收敛成功的起始迭代次数小于标准算法,这表明改进算法的收敛速度更快。
表1 两种算法的结果比较Table 1 Comparison of the results of the two algorithms
函数f1f2f3f4f5f6算法AFSA IAFSA AFSA IAFSA AFSA IAFSA AFSA IAFSA AFSA IAFSA AFSA IAFSA最优值000.901 7 000.999 9 0-0.005 4 00000 493.612 0 510.641 1 001.997 3 001.997 8 019.722 8 019.847 2 2.100 1e-05 1.048 4e-175最差值00.586 5 00.883 6-8.149 7-4.020 3 399.783 10 466.028 10 01.449 0 01.620 0 18.915 3 19.661 9 00.260 4 00.177 2平均值00.898 0 00.999 6-0.169 5-0.018 3 484.935 80 510.287 80 01.982 7 01.996 3 19.708 3 19.846 5 9.347 6e-4 4.550 0e-4最优点(0.047 5, -0.308 6)(0.005 4, 2.784 5e-04)(1.331 6e-05, 4.237 1e-04)(-1.636 8e-17, 5.546 9e-17)(285.451 6, 173.900 1)(460.800 0, 441.025 2)(5.985 8, 5.095 0)(5.975 2, 5.038 4)0.122 3 0.128 0(-4.030 4e-04, 4.334 0e-04)(2.798 1e-89, 4.654 5e-89)收敛成功的起始迭代次数414 11 494 68 484 67 490 30 145 13 500 492
3.2 时间耗费与标准差
为了测试改进人工鱼群算法的时间耗费,对2种算法运行20次,计算总时间和标准差,结果如表2所示。从表2可以看出,改进算法的时间耗费总是小于标准算法的时间耗费;改进算法的标准差总是小于标准算法的标准差,这就表明改进算法使人工鱼群更加稳定、集中。
图6所示胶粘修复结构示意图,金属裂纹母板两端施加100MPa均匀的拉伸载荷;表1所示为上述材料的材料力学性能列表。
现在各类跨境电商比赛很多。要想通过比赛促进跨境电商专业教学,比赛绝不能脱离跨境电商岗位实际。学生参加的跨境电商比赛至少要有网店开设、网店产品发布、网店装修、网店运营与营销策划推广、网店客户服务与管理及跨境电商物流等跨境电商必有的几个任务模块。
表2 两种算法的耗时及标准差比较Table 2 Comparison of the time consumption of the two algorithms
函数耗时/s 标准差f1f2f3f4f5f6 AFSA 200.864 1.098 6e+03 948.600 0 999.091 0 069.698 0 242.705 0 IAFSA 162.356 0 664.378 0 821.161 0 728.168 0 048.195 0 240.257 0 AFSA 00.022 4 00.858 4 15.541 5 00.039 6 00.074 7 00.012 6 IAFSA 0.009 4 0.228 4 2.928 5 0.018 8 0.009 5 0.008 1
3.3 函数的收敛曲线
两种算法的收敛曲线如图2所示。从各个函数的收敛曲线可以看出,人工鱼群逐渐地向最优值聚集,改进算法的收敛曲线比标准算法收敛曲线更早地达到水平方向,表明改进算法的收敛速度得到了加强,并且改进算法得到的最优值也更接近最优值。
图2 不同函数下标准人工鱼群算法与改进人工鱼群算法的收敛曲线比较Fig. 2 Comparison of convergence curves between the standard and improved artificial fish swarm algorithms under different functions
4 结语
针对人工鱼群算法寻优精度不高、后期收敛速度慢并出现振荡现象的问题,提出了一种自适应视野和步长的人工鱼群算法,通过实验得出,改进的人工鱼群算法在寻优精度、收敛速度方面都得到了提高,性能优于标准人工鱼群算法。未来的研究方向将利用本文改进的人工鱼群算法来优化支持向量机参数,使支持向量机更加高效。
参考文献:
[1]李晓磊,邵之江,钱积新. 一种基于动物自治体的寻优模式:鱼群算法[J]. 系统工程理论与实践,2002,22(11):32-38.LI Xiaolei,SHAO Zhijiang,QIAN Jixin. An Optimizing Method Based on Autonomous Animats:Fish-Swarm Algorithm[J]. System Engineering Theory and Practice,2002,22(11):32-38.
[2]姚凌波,戴月明,王 艳. 反向自适应高斯变异的人工鱼群算法[J]. 计算机工程与应用,2018,54(1):179-185.YAO Lingbo,DAI Yueming,WANG Yan. Opposite Adaptive and Gauss Mutation Artificial Fish Swarm Algorithm[J]. Computer Engineering and Applications,2018,54(1):179-185.
[3]程永明,江铭炎. 基于改进人工鱼群算法的多用户OFDM系统自适应资源分配[J]. 计算机应用研究,2009,26(6):2092-2094.CHENG Yongming,JIANG Mingyan. Adaptive Resource Allocation in Multiuser OFDM System Based on Improved Artificial Fish Swarm Algorithm[J]. Application Research of Computer,2009,26(6):2092-2094.
[4]刘 白,周永权. 基于遗传算法的人工鱼群优化算法[J]. 计算机工程与设计,2008,29(22):5827-5829.LIU Bai,ZHOU Yongquan. Artificial Fish Swarm Optimization Algorithm Based on Genetic Algorithm[J].Computer Engineering and Design,2008,29(22):5827-5829.
[5]曲良东,何登旭. 混合变异算子的人工鱼群算法[J].计算机工程与应用,2008,44(35):50-52.QU Liangdong,HE Dengxu. Artificial Fish-School Algorithm Based on Hybrid Mutation Operators[J].Computer Engineering and Applications,2008,44(35):50-52.
[6]刘彦君,江铭炎. 自适应视野和步长的改进人工鱼群算法[J]. 计算机工程与应用,2009,45(35):35-37.LIU Yanjun,JIANG Mingyan. Improved Artificial Fish Swarm Algorithm Based on a Daptive Visual and Step Length[J]. Computer Engineering and Applications,2009,45(25):35-37.
[7]江铭炎,袁东风. 人工鱼群算法及应用[M]. 北京:科学出版社,2012:91-110.JIANG Mingyan,YUAN Dongfeng. Artificial Fish Swarm Algorithm and Its Application[M]. Beijing:Science Press,2012:91-110.
[8]ZENG Zhigao. Objects Extraction and Classification Based on an Improved Cat Swarm Optimization Algorithm[J]. Journal of Information & Computer Science,2015,12(13):5053-5061.
[9]PARSOPOULOS K E,VRAHATIS M N. On the Computation of All Global Minimizers Through Particle Swarm Optimization[J]. IEEE Transactions on Evolutionary Computation,2004,8(3):211-244.
[10]关良华,曾志高,鲍海兴,等. 改进的细菌觅食算法在图像分割中的应用[J]. 湖南工业大学学报,2016,30(6):34-38.GUAN Lianghua,ZENG Zhigao,BAO Haixing,et al.Application of an Improved Bacterial Foraging Algorithm to Image Segmentation[J]. Journal of Hunan University of Technology,2016,30(6):34-38.