基于信息交互的改进鸡群优化算法

2021-04-22 18:23童斌斌周晓南何庆
关键词:信息交互

童斌斌 周晓南 何庆

摘 要:针对鸡群优化(chicken swarm optimization,CSO)算法易陷入局部最优、收敛速度慢以及高维和超高维问题求解困难等缺点,提出了一种基于信息交互的改进鸡群优化(information sharing chicken swarm optimization,ISCSO)算法。通过引入信息交互和边界变异策略,增强子群的信息交互能力和种群的多样性,从而提高算法的收敛能力和寻优能力。通过对6个基本测试函数进行数值仿真,实验结果表明:改进后的算法ISCSO相比于CSO具有更好的寻优精度,与其他改进算法相比具有更好的高维寻优能力和收敛性能。

关键词:鸡群优化算法;信息交互;边界变异;ISCSO算法

中图分类号:TP301.6

文献标志码:A

群体智能优化算法是一种仿生学优化算法,通过模拟生物的个体行为及群体行为发展而来[1]。如粒子群优化(particle swarm optimization,PSO)算法、蚁群优化(ant colony optimization,ACO)算法、人工鱼群算法(artificial fish swarm algorithm,AFSA)、蝙蝠算法 (bat algorithm,BA)、人工蜂群 (artificial bee colony,ABC)算法等群体智能优化算法[2-6]。目前,群体智能优化算法已成为科学研究领域的热门研究课题,并受到广泛关注和应用。

MENG等[7]于2004年提出了一种鸡群优化算法CSO,通过模拟鸡群的等级制度、鸡群的个体和群体行为,将鸡群分为多个子群,每个子群只包含一只公鸡,随从多只母鸡和多只小鸡。不同类型的个体以不同的方式移动,且每个子鸡群中个体都围绕公鸡来寻找食物。

由于鸡群优化算法具有高效、易于实现、参数少等优点,不少专家学者对它进行改进并实际应用。李鹏等[8]针对无线传感器网络(wireless sensor network,WSN)节点定位精度不足的问题,提出一种与典型定位模型相结合的改进鸡群优化(integrated chicken swarm optimization,ICSO)算法。用pareto距離分级的分类算法优化鸡群算法种群比例,在母鸡位置公式中引入随机游走策略增大搜索范围,对小鸡的移动方式引入净能量增益以提高定位精度。吴忠强等[9]针对鸡群优化算法本身存在高维度运算,易出现偏差,对其改进并应用到光伏系统的最大功率点跟踪(maximum power point tracking,MPPT)控制中。通过引入混沌序列方法,自适应惯性权重,改进小鸡个体的跟随系数,来增加种群的均匀性、随机性,同时改善了鸡群优化算法的部分巡游策略,避免算法因早熟收敛而陷入局部极值。崔东文[10]使用鸡群优化算法为投影跟踪模型找到最优的投影方向,并建立鸡群优化算法-投影跟踪洪水和干旱灾害评估模型。以文山州1990—2013年洪旱灾害评估为例,利用一系列旱涝灾害预报的均值和方差,建立旱涝灾害评估的分类标准,评估实例,有效提高评估准确性,通过优化投影方向,避免寻优结果变化范围过大的不足。

虽然CSO算法已经应用于诸多领域,但算法仍存在搜索活力不足、收敛能力差[11-12]等缺点,为此,国内外学者一直在进一步研究和改进算法。杨菊蜻等[13]提出了一种混合改进的鸡群优化算法,通过引入反向学习、边界变异操作,模拟退火算子,提高算法的全局搜索能力和整体性能,避免了CSO算法早熟收敛和易陷入局部最优等问题。李宾等[14]针对CSO算法个体更新效率低和全局搜索能力弱等缺点,提出了一种改进的鸡群优化算法,该算法结合狼群优化、粒子群及萤火虫算法个体更新的思想,并引入去重算子和改进因子来提高ICSO算法的全局寻优能力和精度。韩斐斐等[15]提出了一种改进版鸡群优化(enhanced chicken swarm optimization,ECSO)算法,对子鸡群中的小鸡、母鸡、公鸡的位置更新上分别加上“引领者”策略、偏好随机游动策略以及自适应变异策略,提升算法的收敛能力和搜索活力。杨小健等[16]引入交叉变异算子得到了一种遗传鸡群优化(genetic chicken swarm optimization,GCSO)算法,提升了算法在求解高维问题上的鲁棒性。

上述改进鸡群优化算法在一定程度上提升了算法的性能,但是仍然存在高维问题求解困难、收敛速度慢等问题,且同一种子群中的不同个体之间没有信息的交流。对此,本文提出了一种基于信息交互的改进鸡群优化算法ISCSO,将当前最优位置的信息引入公鸡和母鸡的位置更新,使得不同类型个体之间有着更强的联系,从而提升整个鸡群的搜索能力;在此基础上引入边界变异策略,提升种群的多样性。大量实验表明,该算法在收敛速度,高维、超高维寻优等方面都优于鸡群优化算法及其改进算法。

1 鸡群优化算法

在鸡群优化算法中,将鸡群分为多个子群,鸡群中适应度最好的若干个体为公鸡,最差的若干个体为小鸡,剩下的个体为母鸡,且每个子群中限制只存在一只公鸡,子群中其他个体都围绕公鸡搜索移动。随机建立小鸡跟随母鸡、母鸡跟随公鸡的等级制度,这种关系一旦确定,直到G代之后才会更新。

在解决实际优化问题中,鸡群中的每一个体都对应着问题的一个可行解,假设种群规模为N,公鸡、母鸡、小鸡和妈妈母鸡的数目分别是NR、NH、NC和NM。xti,j(i∈[1,N],j∈[1,D])代表第t代时个体i在第j维的位置。

鸡群中鸡的类型分为3种:公鸡、母鸡和小鸡。每种类型的个体的移动方式是不同的。子群中适应度最好的若干个体是公鸡,所对应的位置更新方式如下所示:

xt+1i,j=xti,j(1+rand n(0,σ2)) ;(1)

σ2=1, fi≤fkexpfk-fifk+ε,otherwise。 (2)

式中:randn(0,σ2)为服从均值为0,方差为σ2 的高斯分布;k∈[1,N],k≠i为公鸡中不同于公鸡i的个体,它是随机选择的;ε为很小的常数;f为适应度。

母鸡对应的位置更新为

xt+1i,j=xti,j+A1rand(xtr1,j-xti,j)+

A2rand(xtr2,j-xtr1,j), (3)

其中:

A1=expfi-fr1abs(fi)+ε, (4)

A2=exp(fr2-fi)。 (5)

式中:r1为个体i所在子群的公鸡;r2为随机选择的公鸡个体或母鸡个体(r1≠r2)。

小鸡对应的位置更新为

xt+1i,j=xti,j+F(xtl,j-xti,j)。 (6)

式中:l为第i只小鸡对应的母鸡;F为跟随系数。

2 改进的鸡群优化算法ISCSO

2.1 进化机制的改变

CSO算法中的公鸡、母鸡和小鸡的更新方式是不同的,相互之间没有联系,且子鸡群中的每个个体都围绕该子群的公鸡寻找食物,公鸡的随机移动极易使得子群陷入局部最优,同時,整个种群收敛速度较慢。针对上述缺点,本文在公鸡和母鸡之间增加信息交互,以提高算法的收敛能力和寻优能力。

改进后公鸡对应的位置更新为

xt+1i,j=(xtbest,j-xti,j)tM+

xti,j(1+rand n(0,σ2))。(7)

改进后母鸡对应的位置更新为

xt+1i, j=(xtbest, j-xti, j)1-tM+xti, j+

A1rand(xtr1, j-xti, j)+A2rand(xtr2, j-xtr1, j)。

(8)

式中:xtbest,j为前期最优个体对应的位置;M为最大迭代次数;t 为当前代。在公鸡和母鸡位置更新基础上加上交互因子,前期和后期对公鸡和母鸡的影响是相反的。简单来说,前期对公鸡影响小,对母鸡影响大;后期相反,从而达到交互的目的。

2.2 边界变异的改进

鸡群优化算法在鸡群搜索食物的过程,会有个体超出搜索边界,因此,提出将超出搜索边界的个体从最接近的边界的位置重新开始搜索。位置更新为

xti,j=Lbj,xti,j≤LbjUbj,xti,j≥Ubj 。(9)

式中:Lbj,Ubj分别为上界和下界。

显然,让上下界来代替约束值,会降低算法的收敛速度,同时减少种群的多样性。本文提出的方法在边界处理上加上随机扰动,使得越界个体不再由边界开始搜索,从而提升种群的多样性,加快收敛速度,具体如下:

xti,j=xti,jLbj+Lbjrand(0,1),xti,j≤Lbj

xti,jUbj+Ubjrand(0,1),xti,j≥Ubj 。(10)

2.3 算法描述

综合上述分析,将ISCSO算法的寻优步骤描述如下:

步骤1 设置ISCSO算法的相关参数,公鸡、母鸡、小鸡所占种群比例,种群规模,更新代数等。

步骤2 种群初始化,结合边界变异进行越界处理,计算每个个体的适应度,并记录最优个体及其位置。

步骤3 确定个体的适应度值,记录当前全局最优适应度值即最优个体位置,同时确定种群的等级制度。

步骤4 进入迭代寻优更新,判断是否满足更新条件。若条件不成立,则对小鸡、公鸡、母鸡按式 (6) 和改进后的式(7) (8) 进行位置更新;若条件成立,则重新确定种群的等级制度和母子关系等。

步骤5 保存当前最优个体及其位置。

步骤6 判断是否满足程序终止条件。若满足条件则程序终止,否则继续执行步骤4。

ISCSO算法流程如图1所示。

3 实验仿真与结果分析

3.1 鸡群优化算法仿真

为了检验本文方法的性能,通过选择多组标准测试函数进行验证。函数的具体形式见表1。测试函数集中的函数包含单峰、多峰、高维、低维等特征,能够全面客观地反映算法的寻优性能。仿真实验环境基于Windows 10操作系统,8 GB内存,利用Matlab R2016b进行编程测试。

仿真测试中,ISCSO算法的最大迭代次数M为1 000,种群大小N为100,维数D为30,所有测试函数的搜索范围为[-100,100]。NR、NH、NC和NM所占比重分别是0.2、0.6、0.1、0.1,更新代数G=10,F为[0.5,1]的随机数。为了消除算法的偶然性,每个测试函数独立运行30次,得到测试函数的均值、方差。

将本文ISCSO算法和CSO算法、OBSA-CSO算法[13]、GCSO(20D)算法[16]进行对比,结果见表2。表中Mean为均值,Std为方差。将ISCSO算法

与鸡群优化算法进行仿真实验,结果如图2所示。为了仿真结果直观清楚,

图2仅采用前100代数据进行分析,横坐标代表迭代次数,纵坐标代表最优函数值。对表2和图2进行分析比较。

F1函数:该函数是一个单峰测试函数,拥有全局唯一一个最小值,能够很好地体现算法的寻优能力和收敛速度。由表2、图2(a)可以看出,CSO算法不能寻找到理论最优值且收敛速度较慢;文献[13]虽然能找到理论最优值,但是算法缺少了对方差的比较;文献[16]不仅不能寻找到理论最优值,而且在20维的情况下,算法也不能表现出较好的性能;本文ISCSO算法不仅能找到理论最优值,而且算法在10代以内已经收敛,与CSO算法相比,不论是寻优精度,还是收敛速度都体现出更好的鲁棒性。

F2函数:该函数功能很复杂,拥有很多局部最小值,能很好地检验算法跳出局部最优的性能。由表2、图2(b)可以看出,CSO算法不能寻找到理论最优值且收敛速度较慢;文献[13]虽然能找到理论最优值,但是算法缺少了对方差的比较;文献[16]不仅不能寻找到理论最优值,而且在20维的情况下,算法也不能表现出较好的性能;ISCSO算法与其他算法相比,在寻优精度和收敛速度上具有更高的性能,且算法更加稳定。

F3函数:该函数是一个复杂多峰函数,拥有无数局部最优点,极难寻到全局最优解。由表2、图2(c)可知,CSO算法不论是寻优精度还是收敛速度,都不能达到理想效果;文献[13]没有做该函数的仿真;虽然文献[16]在该函数求解上能找到理论最优值,但ISCSO算法不仅能找到理论最优值,而且与文献[16]相比,增加了函数的维度,并在40代左右时收敛;ISCSO算法不论是寻优精度还是收敛速度,都具有更好的性能。

F4函数:该函数是一个非凸函数,算法很难辨别该函数的寻优方向,故极难寻到理论最优值。由表2、图2(d)可以看出,所有优化算法都极难找到最优值,ISCSO算法将寻优范围扩大到[-100,100],虽不能找到理论最优,但与其他优化算法相比,寻优精度更好,且收敛速度更快。

F5函数:该函数是一個复杂多峰函数,在[-5.12,5.12]范围内有无数个极小值点,是一种典型的非线性多模态函数,很难找到理论最优值。本文将函数测试范围扩大到[-100,100],由表2、图2(e)可以看出,CSO算法在该函数上可以找到理论最优值但是收敛速度慢;文献[13]也能找到函数最优值,但是没有做方差的比较,同时收敛速度较慢;文献[16]在该函数处于20维的情况下,不仅无法找到理论最优值,而且算法不够稳定;ISCSO算法在10代以内就找到理论最优值,比其他算法拥有更好的寻优性能和收敛性能。

F6函数:该函数与F5函数类似,也是一个典型的非线性多模态函数,在取值范围内存在无数个极小值,且数目与问题维度相关,通常被认为是优化算法中很难处理的复杂多峰函数。由表2、图2(f)可以看出:CSO算法在该函数上可以找到理论最优值但是收敛速度慢;文献[13]也能找到函数最优值,但是没有做方差的比较,同时收敛速度较慢;文献[16]在该函数处于20维的情况下,不仅无法找到理论最优值,而且算法不够稳定;而ISCSO算法与其他算法相比,拥有更好的收敛速度和寻优精度。

3.2 维度变化分析

为了观察和比较ISCSO算法随维度变化的影响,本次实验添加了在50维和100维情况下,CSO算法与ISCSO算法的对比,如图3—图8所示。表3展示了CSO算法与ISCSO算法的对比结果。为排除算法偶然性,实验中每个测试函数独立运行30次,取均值和方差进行比较,其中,最大迭代次数M = 1 000,种群规模N=100,所有测试函数的搜索范围为[-100,100]。NR、NH、NC和NM分别为0.2 N、0.6 N、0.1 N、0.1 N,F为[0.5,1]的随机数,G = 10。

从表2、表3可以看出:当问题维数由30变到50、100时,CSO算法已经不能够解决高维问题,无法找到最优值,每上升一次维度,CSO算法的最优解上升15~20个数量级,且方差随之增大,显然,CSO算法在高维问题解决上体现了不足;而本文ISCSO算法,从表3中F1、F3、F5、F6函数的测试结果看,随着维度的提高,始终能找到理论最优值,在函数F2上,也表现出与测试30维的结果相当,且方差很小,证明了算法的稳定性较好。

由表3、图3可知:F1函数在50维和100维的超高维情况下,CSO算法无法找到最优值,且收敛曲线呈阶梯式下降,收敛速度极慢;而ISCSO算法不仅可以找到全局最优解,而且收敛曲线可以迅速下降,在50维和100维的超高维情况下,仍然可以在10代左右达到收敛。由表3、图4可以看出:对于F2函数,虽然CSO算法收敛速度较快,但其在50维的寻优问题上与ISCSO算法相比,无法找到理论最优值

,在100维的寻优问题上比ISCSO算法少180多个数量级。由表3和图5可知:F3函数不论是50维,还是100维,CSO算法都不能找到全局最优解,且算法收敛极慢;ISCSO算法不仅可以找到全局最优解,而且可以在40代左右达到收敛。由表3、图6—图8可知:对于F4、F5、F6函数的超高维问题,CSO算法在收敛精度和收敛速度上都无法达到要求;而ISCSO算法不仅在10代以内就能达到收敛,而且能找到理论最优值。

根据上述结果分析,随着维度的提升,算法的收敛速度和精度并没有受到影响。从30维、50维和100维的相同测试函数的收敛图可以看出,随着维度提升,ISCSO算法都能快速达到收敛。通过实验证明,ISCSO算法的寻优能力和收敛速度得到了体现,具有很好的搜索活力和精度,能够较好地解决高维和超高维问题。这些都归因于在每一次位置更新时,引入了信息交互的成分,使得公鸡和母鸡之间的联系更为紧密,同时,对超出边界的个体引入了随机因子,大大地增加了种群的多样性,从而提升了种群的收敛速度。

综上所述,ISCSO算法即便是在高维复杂的情况下,仍然能够较好快速地向理论最优值逼近,甚至大部分能找到理论最优值,克服了鸡群优化算法求解高维问题准确性差、效率低的缺陷。

3.3 算法时间复杂度分析

对某些问题虽然理论上存在求得全局最优解的精确算法,但前提是牺牲算法的时间复杂度和空间复杂度,实际应用中无法同时满足,所以通常需要在求解精度和求解时间上取得平衡[17]。时间复杂度指算法循环迭代一次所需的时间复杂度之和,通常用数量级符号阶次表示。ISCSO算法在空间复杂度上与其他算法相当,这里只讨论算法的时间复杂度,取循环迭代一次的结果来比较算法的时间复杂度。CSO算法和ISCSO算法在初始化位置的时间复杂度都为O(N×D),计算适应度值的时间复杂度都为O(N×D),更新最好位置的时间复杂度都为O(N×D),位置更新和下一步计算适应度值的时间复杂度都为O(N×D)。通过分析,CSO算法和ISCSO算法的时间复杂度是相同的。在相同的时间复杂度下,本文ISCSO算法性能要远高于CSO算法,与其他算法相比也有竞争性。

4 结语

本文针对CSO算法收敛速度慢,高维、超高维寻优困难等缺点,提出了一种基于信息交互的改进鸡群优化算法ISCSO。该算法主要针对CSO算法做了两点改进:(1)在CSO算法中动态加入当代最优解的位置,调整公鸡和母鸡的移动,加强了公鸡和母鸡之间的联系,从而提升种群的搜索活力;(2)对于超出边界的个体,对其约束上加入随机因子,使其不在边界周围移动,以提升种群的多样性。本文通过多个基本测试函数进行仿真实验,实验结果表明:ISCSO算法在处理高维优化问题上,相对鸡群优化算法,具有更好的算法性能,尤其是收敛速度和寻优精度;同时与其他改进的CSO算法相比,ISCSO算法拥有较好的收敛能力和高维问题寻优能力,具有一定的竞争性和稳定性。下一步的研究着重于将改进后的ISCSO算法应用于解决实际的优化问题。

参考文献:

[1]

BEHESHTI Z,SHAMSUDDIN S M.A review of population based metaheuristic algorithm [J].International Journal of Advances in Soft Computing and its Applications,2013,5(1):1-35.

[2]DORIGO M,MANIEZZO V,COLORNI A.Ant system: optimization by a colony of cooperating agent [J].IEEE Transactions on Systems Man and Cybernetics,Part B:Cybernetics,1996,26 (1):29-41.

[3]KENNEDY J,EBERHART R.Particle swarm optimization [C]// Proceedings of IEEE International Conference on Neural Networks.Perth Australsa:IEEE Press,1995:1942-1948.

[4]李晓磊,邵之江,钱积新.一种基于动物自治体的寻优模式: 鱼群算法[J].系统工程理论与实践,2002(11): 32-38.

[5]KARABOGA Dervis.An idea based on honey bee swarm for numerical optimization [R].Kayseri:Erciyes University,2005.

[6]YANG X S.A new metaheuristic bat-inspired algorithm [C]// Nature Inspired Cooperative Strategies for Optimization (NICSO2010).Berlin Heidelberg:Springer,2010.

[7]MENG X B,LIU Y,GAO X Z,et al.A new bio-inspired algorithm:chicken swarm optimization [C]// Proc of International Conference on Swarm Intelligence.Cham:Springer,2014:86-94.

[8]李鹏,陈桂芬,胡文韬.基于鸡群算法的无线传感器网络定位研究[J].传感技术学报,2019,32(6):866-871,891.

[9]吴忠强,于丹琦,康晓华.改进鸡群算法在光伏系统MPPT中的应用[J].太阳能学报,2019,40(6):1589-1598.

[10]崔东文.鸡群优化算法-投影寻踪洪旱灾害评估模型[J].水利水电科技进展,2016,36(2):16-23,41.

[11]李振璧,王康,姜媛媛.基于模拟退火的改进鸡群优化算法[J].微电子学与计算机,2017,34(2):30-33,38.

[12]洪杨,于凤芹.改进的鸡群算法并用于多分类器系数优化[J].计算机工程与应用,2017,53(9):158-161,207.

[13]杨菊蜻,张达敏,张慕雪,等.一种混合改进的鸡群优化算法[J]. 计算机应用研究,2018,35(11):3290-3293.

[14]李宾,申国君,孙庚,等.改进的鸡群优化算法[J].吉林大学学报(工学版),2019,49(4):1339-1344.

[15]韓斐斐,赵齐辉,杜兆宏,等.全局优化的改进鸡群算法[J].计算机应用研究,2019,36(8):2317-2319,2327.

[16]杨小健,徐小婷,李荣雨.求解高维优化问题的遗传鸡群优化算法[J].计算机工程与应用,2018,54(11):133-139.

[17]张宇山.进化算法的收敛性与时间复杂度分析的若干研究[D].广州:华南理工大学,2013.

(责任编辑:江 龙)

Improved Chicken Swarm Optimization Based on Information Sharing

TONG Binbin1, ZHOU Xiaonan2, HE Qing*1

(1. College of Big Data & Information Engineering, Guizhou University, Guiyang 550025, China;2. Journal Editing Department, Guizhou University, Guiyang 550025, China)

Abstract:

Aiming at the shortcomings of chicken swarm optimization (chicken swarm optimization,CSO)algorithm, such as being easy to fall into local optimality, slow convergence speed, and difficulty in solving high-dimensional and ultra-high-dimensional problems, an improved chicken algorithm (information sharing chicken swarm optimization,ISCSO) is proposed. By introducing information interaction and boundary mutation strategies, the information sharing ability of the subgroup and the diversity of the population are enhanced, thereby improving the convergence ability and optimization ability of the algorithm. The numerical simulation of the six basic test functions shows that the improved algorithm has better optimization accuracy than CSO, and has better high-dimensional optimization ability and convergence performance compared with other improved algorithms.

Key words:

CSO algorithm; information sharing; boundary variation; ISCSO algorithm

猜你喜欢
信息交互
U—T腕表
移动互联网实训基地建设
高速1553B总线有效性测试平台设计与实现
信息交互背景下新媒体广告的用户体验设计
新一代智能变电站层次化保护控制系统及可靠性评估
如何补齐当前爱国主义舆论引导中的短板
基于云追溯明晰食品安全责任主体的市场化认定
基于邮件系统的虚拟网络社会管理的研究
眼科医院手术信息交互系统的开发与应用
试论小学语文教学中互动式教学的重要性