基于种群多样性的自适应乌鸦搜索算法
Adaptive crow search algorithm based on population diversity
收稿日期: 2022-01-19
基金资助: |
|
Received: 2022-01-19
Fund supported: | 广东省基础与应用基础研究基金资助项目(2020A1515010727,2021A1515012252,2022A1515012022);广东省普通高校特色创新类资助项目(2019KTSCX108);广东省重点领域研发计划资助项目(2021B0707010003);茂名市科技计划资助项目(mmkj2020008) |
作者简介 About authors
何杰光(1981—),男,讲师,博士,从事智能优化算法、云计算、机器学习研究.orcid.org/0000-0003-2321-1022.E-mail:
针对原始乌鸦搜索算法对种群多样性控制不强、个体位置更新方式单一、局部搜索精细度不高等缺点,提出新的自适应乌鸦搜索算法.设计多种搜索引导个体,基于进化不同阶段的种群多样性,实现搜索引导个体的自适应选择策略,使算法在迭代前期加强全局勘探,在迭代后期强化局部开发. 结合正余弦搜索理念,构建基于线性递减、混合正余弦震荡递减的多种飞行长度控制参数及相应的多种搜索方式,提升算法的搜索遍历性,增加算法在迭代后期找到更优解的概率. 为了验证新算法的有效性,通过标准测试函数,将新算法与原始乌鸦搜索算法、改进乌鸦搜索算法和其他优秀的智能优化算法进行仿真实验,比较分析各算法的收敛精度、收敛速度、稳定性、Wilcoxon符号秩检验和Friedman检验. 实验结果表明,新算法的性能优于其他比较算法的性能,新算法实现了全局勘探和局部开发、收敛精度和收敛速度的平衡.
关键词:
A new adaptive crow search algorithm was proposed to solve the shortcomings of the original crow search algorithm, such as weak control of population diversity, single updating of individual position and low precision of local search. Firstly, multiple search-guided individuals were designed, and an adaptive selection strategy of search-guided individuals was realized based on population diversity at different stages of evolution. The global exploration in the early iteration and local exploitation in the late iteration were achieved using the strategy. Secondly, by combining the idea of sine-cosine search, several flight length control parameters based on linear decline or mixed sine-cosine oscillation decline were used to constructed different search modes for improving the search ergodicity of the algorithm and increasing the probability that the algorithm finding a better solution in the late iteration. Thirdly, to verify the effectiveness of the new algorithm, standard test functions were selected, and the new algorithm was simulated with the original crow search algorithm, the improved crow search algorithms, and other excellent intelligent optimization algorithms. All the algorithms were compared and analyzed in terms of convergence accuracy, convergence speed, stability, Wilcoxon signed rank and Friedman tests. Experimental results show that the performance of the new algorithm is better than that of other comparison algorithms, and the balance between global exploration and local exploitation, convergence accuracy and convergence speed are achieved by the new algorithm.
Keywords:
本文引用格式
何杰光, 彭志平, 崔得龙, 李启锐.
HE Jie-guang, PENG Zhi-ping, CUI De-long, LI Qi-rui.
与其他智能优化算法相比,CSA算法在寻优过程中能保持较高的种群多样性,具有良好的全局搜索能力和鲁棒性. 但是,CSA只使用随机选择的个体来引导搜索,缺乏优秀个体或者精英个体的引导,极易造成算法在进化后期仍处于搜索发散的状态,种群陷入大量的局部最优区域(尤其是在求解高维度问题时),最终导致算法收敛速度慢,收敛精度低. 为此,大量学者提出许多策略和方法来改进原始CSA,主要包括以下3个方面. 1)控制参数改进策略. CSA中感知概率AP和飞行长度fl是控制算法性能的2个重要参数. 在赵世杰等[16]提出的改进CSA中,AP、fl随迭代进程自适应动态改变以调控算法全局搜索性能和局部开采能力. Necira等[17]基于广义帕累托概率密度函数,提出fl动态变化的改进CSA. 2)搜索方式改进策略. Zamani等[3]提出基于邻域意识的CSA(conscious neighborhood-based crow search algorithm, CCSA),该算法包含3种策略,即基于邻域的局部搜索、基于非邻域的搜索和徘徊搜索.为了使原始 CSA 能够完成高维优化任务,Jain等[2]通过添加莱维飞行、经验因子和适应调整因子来平衡算法勘探和开发间的关系. Moghaddam等[18]在CSA中使用交叉和变异算子来提高算法性能,防止其陷入次最优区域. 3)混合其他优化算法. 这类型的改进 CSA通过混合其他算法的优势来弥补CSA的不足,如混合灰狼乌鸦搜索算法(hybrid grey wolf optimizer with crow search algorithm, GWOCSA)[19],混合蝙蝠乌鸦搜索算法(hybrid bat-crow search algorithm, BCSA)[20],混合海豚回声定位乌鸦搜索算法(hybrid dolphin echolocation and crow search optimization, DECSA) [21],混合粒子群乌鸦搜索算法(crow search algorithm auto-drive particle swarm optimization, CSA-PSO)[22]等.
虽然当前大多数的改进措施都能够一定程度地改善CSA 的性能,但算法种群多样性控制不足、全局勘探和局部开发平衡不够造成的,如算法收敛速度慢、收敛精度不高的问题仍然存在,即CSA仍具有改进空间. 本研究从种群多样性动态控制、搜索引导个体自适应选择和多种搜索方式随机执行3个角度出发,提出基于种群多样性的自适应乌鸦搜索算法(adaptive crow search algorithm based on population diversity, ACSA). 新算法旨在通过种群多样性和多个搜索引导个体的自适应相互作用,实现算法全局勘探和局部开发的平衡,提高算法搜索精度和速度.
1. 乌鸦搜索算法
在CSA中,每只乌鸦代表优化问题的一个解. 假设优化问题解空间的维度为d,乌鸦群的规模为N,则第i只乌鸦在第t次迭代时的位置表示为
1)随机初始化d维乌鸦种群C,并以C作为乌鸦群的初始记忆M(食物源集合).
2)乌鸦i通过随机选择另一只乌鸦j并跟随实现其位置更新,位置更新方式为
式中:
3)根据新位置的适应度值,更新乌鸦记忆,表达式为
式中:
2. 基于种群多样性的自适应乌鸦搜索算法
2.1. 种群多样性度量
使用欧几里得距离来度量2个个体的差异程度. 整个种群多样性的计算式为
式中:
2.2. 基于种群多样性的引导个体自适应选择
从CSA的位置更新式(1)可以看出,乌鸦种群主要通过向单个个体学习的方式来更新自身位置,因此随着种群的进化,乌鸦种群会逐渐集群化,种群多样性逐渐降低. 还可以看出,每个乌鸦个体实际上通过随机选择的个体来引导搜索,即整个种群未使用同一个个体(如最优个体)来引导. 这种方式虽然能减缓种群多样性的减小速度,使得整个种群在进化中后期仍能保持较好的多样性,但容易造成种群搜索方向发散,形成过多的局部最优,不利于算法在后期进行小范围的精细搜索,使得算法的求解精度和速度降低.为了解决这个问题,本研究构建多种引导个体,并结合种群多样性在进化不同阶段的变化,提出基于种群多样性的引导个体自适应选择策略,实现方法表述为
式中:
2.3. 混合正余弦的多搜索方式
CSA的搜索方式(个体位置更新方式)单一,既不利于算法全局勘探,也不利于算法局部开发,这也是造成CSA收敛精度不高、收敛速度慢的主要原因. 本研究借鉴正余弦算法(sine cosine algorithm, SCA)[23]搜索方式的特性,构建基于线性递减、混合正余弦震荡递减的多种飞行长度控制参数及相应的多种搜索方式为
式中:
使用等概率的方式随机选择某种搜索方式的主要原因如下. 1)尽可能保持算法结构简单,避免引入过多的选择控制参数或复杂的选择机制. 这种思想也体现在SCA中(正弦、余弦搜索方式也采用等概率选择方法). 2)尽可能保持种群的多样性,避免某种搜索方式过多或过少使用,以期产生多种不同的高质量解. 3)虽然本研究采用等概率的搜索方式选择方法,但实质上式(6)中的4种搜索方式各具优点(擅长求解不同类型的函数),可以形成优势互补.
比较本研究所提搜索方式与SCA的搜索方式,可以发现:本研究只是借鉴了SCA的搜索理念,即使用正余弦函数构造乌鸦飞行长度的控制参数,以期产生高质量的多样性解. 2种搜索方式的本质区别是ACSA根据种群的多样性自适应选择不同的引导个体
2.4. ACSA算法流程
ACSA算法的伪代码如算法1所示.
算法1 基于种群多样性的自适应乌鸦搜索算法
输入:目标函数,种群规模N,最大迭代次数
2.5. ACSA时间复杂度分析
以ACSA中最耗时操作的时间复杂度总和来计算算法的时间复杂度. 设种群规模为N,问题空间维度为D,算法最大迭代次数(种群进化代数)为T,适应度(函数)计算复杂度为
使用同样的方法,得到CSA的计算复杂度为
显然,ACSA的时间复杂度比CSA多出了种群多样性的计算部分
3. 仿真实验与结果分析
为了验证ACSA 的有效性,选取文献[24]中使用的23个基准测试函数F1~F23进行实验,包括单峰测试函数、多峰测试函数和固定维数多峰测试函数. 将ACSA与CSA[1]、SCA[23]、SCCSA[25]、ICSA[26]、MTDE[27]、BLPSO[28]、HHO[29]和EO[30]等8个优秀的智能优化算法进行比较. 所有实验如无特别说明,比较算法的种群规模都设置为20,使用函数评价次数(function evaluations, FEs)作为算法终止的判断条件,FEsmax为最大函数评价次数,设置FEsmax=20 000. ACSA的多样性阈值参数设置为
3.1. 种群多样性阈值 $\alpha $ 、 $\;\beta $ 的设置
表 1 不同种群多样性阈值组合的收敛结果
Tab.1
| | avg | R | |||
F5 | F12 | F15 | F20 | |||
1 | 0.1 | 2.67×10−6 | 2.58×10−6 | 0.00035123 | −3.1876 | 10.00 |
1 | 0.2 | 2.37×10−5 | 6.74×10−7 | 0.00037324 | −3.2714 | 10.00 |
1 | 0.3 | 3.30×10−5 | 1.58×10−5 | 0.00036407 | −3.2935 | 11.50 |
0.9 | 0.1 | 4.96×10−5 | 1.47×10−5 | 0.00036082 | −3.2484 | 12.25 |
0.9 | 0.2 | 4.35×10−4 | 2.57×10−4 | 0.00034539 | −3.3009 | 12.00 |
0.9 | 0.3 | 8.16×10−5 | 2.04×10−4 | 0.00033519 | −3.3067 | 9.00 |
0.8 | 0.1 | 3.62×10−4 | 9.69×10−7 | 0.00036086 | −3.2369 | 12.50 |
0.8 | 0.2 | 3.37×10−4 | 2.74×10−4 | 0.00034989 | −3.2875 | 13.50 |
0.8 | 0.3 | 1.03×10−5 | 2.04×10−6 | 0.0003377 | −3.3155 | 4.00 |
0.7 | 0.1 | 1.36×10−6 | 8.89×10−7 | 0.00034967 | −3.2049 | 8.25 |
0.7 | 0.2 | 5.01×10−4 | 3.33×10−6 | 0.00034187 | −3.2855 | 10.50 |
0.7 | 0.3 | 1.61×10−5 | 1.56×10−7 | 0.00032797 | −3.3173 | 2.25 |
0.6 | 0.1 | 3.90×10−5 | 2.11×10−7 | 0.00034895 | −3.2294 | 9.25 |
0.6 | 0.2 | 2.40×10−5 | 7.28×10−5 | 0.00033706 | −3.3095 | 7.63 |
0.6 | 0.3 | 1.13×10−5 | 6.91×10−5 | 0.00034585 | −3.3048 | 8.00 |
0.5 | 0.1 | 1.38×10−5 | 4.70×10−5 | 0.00035523 | −3.2247 | 12.00 |
0.5 | 0.2 | 1.94×10−4 | 1.17×10−5 | 0.00033200 | −3.3095 | 6.88 |
0.5 | 0.3 | 6.78×10−4 | 3.32×10−5 | 0.00034609 | −3.3038 | 11.50 |
3.2. 基于种群多样性的搜索引导个体自适应选择验证
使用F5作为该实验的测试函数,设置FEsmax=3 000,作ACSA在不同进化时期使用各种搜索引导个体的分布图,如图1所示. 可以看出:1)通过控制种群多样性阈值,种群的多样性能够很好地反映出算法的不同迭代时期,且多样性总体变化趋势是收敛的. 在算法迭代的初期(FEs<1 300),种群多样性
图 1
图 1 不同进化时期搜索引导个体及其对应种群多样性分布图
Fig.1 Distribution of search guiding individuals and their corresponding population diversity in different evolutionary periods
总之,基于种群多样性的引导个体自适应选择策略使种群在进化过程中维持了良好的多样性,兼顾了算法的全局探测和局部开发.
3.3. 多搜索方式有效性验证
为了验证每种搜索方式的求解性能,选择8个代表性函数测试各搜索方式,并与融合使用多搜索方式的ACSA进行比较,结果均值如表2所示. 可以看出,搜索方式各具优势,擅长求解不同类型的函数. 正、余弦搜索方式(rc=1、2)擅长求解最优解不在原点且位于复杂区域的函数,如F5、F12、F15和F20,主要原因是这2种方式使用震荡递减的飞行控制参数,有利于算法跳出局部最优. rc=4的搜索方式擅长求解最优解位于原点的函数,如F1、F7和F9,原因是这种搜索方式通过对引导个体
表 2 不同搜索方式的收敛结果
Tab.2
搜索方式 | avg | |||||||
F1 | F5 | F7 | F9 | F12 | F15 | F20 | F23 | |
ACSA | 0 | 9.50×10−4 | 2.68×10−4 | 0 | 1.91×10−9 | 3.46×10−4 | −3.3139 | −10.5364 |
rc=1 | 7.94×10−5 | 1.19×10−3 | 7.38×10−4 | 5.82×10−4 | 3.31×10−6 | 3.19×10−4 | −3.3099 | −10.5364 |
rc=2 | 2.29×10−4 | 1.03×10−3 | 1.05×10−3 | 1.81×10−4 | 3.02×10−6 | 3.20×10−4 | −3.318 0 | −10.5364 |
rc=3 | 1.62×10−4 | 2.86×10 | 3.04×10−3 | 1.52×10−3 | 2.97×10−2 | 3.56×10−4 | −3.2005 | −10.5364 |
rc=4 | 0 | 2.90×10 | 6.61×10−4 | 0 | 7.39×10−1 | 1.36×10−3 | −2.8081 | −10.536 0 |
3.4. ACSA与其他算法的比较
为了验证ACSA的整体性能,将ACSA与CSA、SCCSA、ICSA、SCA、MTDE、BLPSO、EO和HHO在23个测试函数下进行对比,对比内容包括均值avg、标准差std、和总平均运行时间t,实验结果如表3、4所示. 表中,所有算法中最好的结果用粗体表示. 在大多数情况下,ACSA的性能都优于其他算法,具有最小的函数均值和标准差. 在23个测试函数中,ACSA能求得15个函数的理论最优值,分别为F1~F4、F8~F9、F11、F14、F16~F18、F19和F21~F23. 其中F1~F4为最优解在原点的单峰函数,ACSA都能找到理论最优值. 对于最优解不在原点而位于狭长峡谷中的单峰函数F5,只有ACSA的收敛精度可达到10−4数量级,说明ACSA具有良好的局部搜索能力. 对于多峰函数F8、F9、F11,ACSA找到了理论最优解,其中F8为最优解不在原点的复杂函数,其在远离理论最优解的地方, 存在大深度的局部值,极易造成算法陷入局部最优. 对于其余多峰函数,相较于其他算法,ACSA求得了最小的函数值,说明ACSA具有良好的全局搜索能力. 对于10个维度固定的多峰函数,ACSA在8个函数上获得了最优解. 在F15上,ACSA稍劣于MTDE;对于F20,ACSA虽未求得最优解,但其求解精度在所有算法中最高,说明ACSA在求解固定维度函数时,具有良好的性能. 综上所述,本研究提出的基于种群多样性的引导个体自适应选择策略和混合正余弦的多搜索方式的组合是有效的. ACSA很好地兼顾了全局搜索的覆盖性和局部搜索的精细性,既增强了种群的多样性,又避免了搜索的发散性,在一定程度上解决了CSA收敛精度不足、收敛速度慢的缺点. 在运行时间方面,ACSA的耗时稍长于CSA,因为每次迭代时,ACSA都须计算种群的多样性,这也符合本研究的时间复杂度分析. 在平均总运行时间上,SCA耗时最少,MTDE耗时最多,ACSA在所有算法中排名第6,稍多于CSA和ICSA,因此ACSA的运行时间是完全可接受的.
表 3 基于种群多样性的自适应乌鸦搜索算法(ACSA)与其他算法的收敛结果对比
Tab.3
算法 | 函数 | avg | std | 函数 | avg | std | 函数 | avg | std | 函数 | avg | std |
ACSA | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||
CSA | 2.09×10−1 | 9.70×10−2 | 2.58 | 8.48×10−1 | 1.30×102 | 4.63×10 | 5.70 | 1.81 | ||||
SCCSA | 3.37×10−32 | 1.82×10−31 | 2.39×10−17 | 5.84×10−17 | 1.42×10−16 | 5.47×10−16 | 5.65×10−17 | 1.80×10−16 | ||||
ICSA | 8.09×10−144 | 4.11×10−143 | 3.27×10−71 | 1.78×10−70 | 2.74×10−143 | 1.43×10−142 | 8.83×10−72 | 2.99×10−71 | ||||
SCA | F1 | 1.67×10−1 | 4.45×10−1 | F2 | 3.58×10−5 | 7.96×10−5 | F3 | 6.35×103 | 4.86×103 | F4 | 2.69×10 | 1.29×10 |
MTDE | 5.15×10−2 | 1.46×10−1 | 9.41×10−3 | 1.75×10−2 | 5.62×102 | 4.58×102 | 2.98×10 | 8.86 | ||||
BLPSO | 1.24×10−1 | 1.82×10−1 | 3.56×10−2 | 3.19×10−2 | 2.37×103 | 7.80×102 | 2.95×10 | 4.97 | ||||
EO | 3.97×10−73 | 1.10×10−72 | 1.45×10−42 | 3.14×10−42 | 3.32×10−17 | 1.37×10−16 | 1.49×10−18 | 3.23×10−18 | ||||
HHO | 8.38×10−180 | 0 | 1.29×10−91 | 6.86×10−91 | 2.06×10−134 | 9.45×10−134 | 7.19×10−86 | 3.94×10−85 | ||||
ACSA | 9.50×10−4 | 5.15×10−3 | 3.60×10−3 | 1.97×10−2 | 2.68×10−4 | 2.70×10−4 | −12 569.486 6 | 2.82×10−8 | ||||
CSA | 1.45×102 | 1.20×102 | 1.94×10−1 | 1.40×10−1 | 4.62×10−2 | 1.50×10−2 | −8 599.526 0 | 1.42×103 | ||||
SCCSA | 1.74×10−3 | 4.50×10−3 | 1.09×10−4 | 1.49×10−4 | 1.79×10−4 | 1.80×10−4 | −12 569.486 6 | 1.63×10−5 | ||||
ICSA | 2.90×10 | 1.42×10−2 | 6.66 | 6.33×10−1 | 3.20×10−4 | 3.20×10−4 | −5 117.599 6 | 8.81×102 | ||||
SCA | F5 | 2.55×103 | 6.61×103 | F6 | 4.93 | 5.31×10−1 | F7 | 5.33×10−2 | 8.60×10−2 | F8 | −3 754.152 4 | 2.33×102 |
MTDE | 2.93×102 | 3.34×102 | 1.18×10−2 | 2.92×10−2 | 1.28×10−1 | 6.05×10−2 | −11 574.031 2 | 2.85×102 | ||||
BLPSO | 2.58×102 | 2.84×102 | 1.24×10−1 | 2.31×10−1 | 2.08×10−2 | 9.52×10−3 | −11 524.497 0 | 3.16×102 | ||||
EO | 2.50×10 | 1.58×10−1 | 1.55×10−6 | 2.12×10−6 | 8.56×10−4 | 6.38×10−4 | −8 934.221 5 | 5.45×102 | ||||
HHO | 5.88×10−3 | 7.62×10−3 | 8.42×10−5 | 1.46×10−4 | 9.54×10−5 | 1.12×10−4 | −12 569.480 6 | 1.70×10−2 | ||||
ACSA | 0 | 0 | 8.88×10−16 | 0 | 0 | 0 | 1.91×10−9 | 5.16×10−9 | ||||
CSA | 3.66×10 | 1.80×10 | 4.49 | 1.12 | 4.03×10−1 | 1.26×10−1 | 6.75 | 2.67 | ||||
SCCSA | 0 | 0 | 5.27×10−15 | 1.79×10−15 | 0 | 0 | 8.95×10−6 | 2.12×10−5 | ||||
ICSA | 0 | 0 | 8.88×10−16 | 0 | 0 | 0 | 1.13 | 2.34×10−1 | ||||
SCA | F9 | 1.70×10 | 2.08×10 | F10 | 1.24×10 | 8.99 | F11 | 2.98×10−1 | 2.88×10−1 | F12 | 1.07×102 | 4.07×102 |
MTDE | 2.84×10 | 7.01 | 3.10 | 1.27 | 7.39×10−2 | 1.12×10−1 | 1.45×103 | 7.90×103 | ||||
BLPSO | 1.41×10 | 4.40 | 8.55×10−1 | 6.51×10−1 | 1.07×10−1 | 1.18×10−1 | 3.10×10−1 | 4.15×10−1 | ||||
EO | 0 | 0 | 5.86×10−15 | 1.77×10−15 | 8.20×10−4 | 4.49×10−3 | 3.46×10−3 | 1.89×10−2 | ||||
HHO | 0 | 0 | 8.88×10−16 | 0 | 0 | 0 | 3.43×10−6 | 4.82×10−6 | ||||
ACSA | 2.64×10−7 | 1.10×10−6 | 0.998 0 | 2.33×10−14 | 3.46×10−4 | 4.92×10−5 | −1.031 6 | 6.64×10−9 | ||||
CSA | 5.78 | 1.04×10 | 0.998 0 | 1.78×10−15 | 4.93×10−4 | 4.50×10−4 | −1.031 6 | 5.83×10−16 | ||||
SCCSA | 6.18×10−5 | 1.30×10−4 | 0.998 0 | 3.55×10−12 | 3.12×10−4 | 5.49×10−6 | −1.031 6 | 5.58×10−8 | ||||
ICSA | 2.98 | 7.65×10−2 | 4.579 0 | 3.42 | 7.59×10−3 | 1.23×10−2 | −1.031 6 | 6.01×10−10 | ||||
SCA | F13 | 4.06×103 | 1.39×104 | F14 | 2.512 0 | 2.44 | F15 | 9.47×10−4 | 3.34×10−4 | F16 | −1.031 6 | 2.58×10−5 |
MTDE | 7.40×103 | 4.03×104 | 0.998 0 | 0 | 3.07×10−4 | 1.32×10−19 | −1.031 6 | 6.05×10−16 | ||||
BLPSO | 2.96 | 3.06×10 | 0.998 0 | 0 | 7.01×10−4 | 4.81×10−5 | −1.031 6 | 6.78×10−16 | ||||
EO | 5.57×10−2 | 6.40×10−2 | 1.064 1 | 3.62×10−1 | 2.35×10−3 | 6.11×10−3 | −1.031 6 | 6.32×10−16 | ||||
HHO | 4.78×10−5 | 6.09×10−5 | 1.031 1 | 1.81×10−1 | 3.78×10−4 | 1.82×10−4 | −1.031 6 | 2.55×10−10 | ||||
ACSA | 0.397 89 | 4.47×10−6 | 3 | 5.22×10−7 | −3.862 8 | 4.80×10−5 | −3.313 9 | 1.12×10−2 | ||||
CSA | 0.397 89 | 0 | 3 | 2.44×10−15 | −3.862 8 | 2.49×10−15 | −3.294 2 | 5.12×10−2 | ||||
SCCSA | 0.397 89 | 4.89×10−6 | 3 | 5.87×10−5 | −3.857 4 | 1.86×10−2 | −3.213 0 | 9.23×10−2 | ||||
ICSA | 0.397 89 | 0 | 4.826 4 | 6.84 | −3.837 8 | 3.05×10−2 | −2.861 8 | 3.06×10−1 | ||||
SCA | F17 | 0.399 67 | 2.00×10−3 | F18 | 3 | 3.14×10−5 | F19 | −3.854 4 | 2.37×10−3 | F20 | −2.718 6 | 5.65×10−1 |
MTDE | 0.397 89 | 0 | 3 | 2.19×10−15 | −3.862 8 | 2.70×10−15 | −3.298 2 | 4.84×10−2 | ||||
BLPSO | 0.397 89 | 0 | 3 | 1.59×10−15 | −3.862 8 | 2.71×10−15 | −3.301 1 | 4.50×10−2 | ||||
EO | 0.397 89 | 0 | 3 | 8.12×10−16 | −3.862 8 | 2.57×10−15 | −3.267 9 | 6.98×10−2 | ||||
HHO | 0.397 89 | 3.98×10−6 | 3 | 2.72×10−7 | −3.861 9 | 1.37×10−3 | −3.161 9 | 8.03×10−2 | ||||
ACSA | −10.153 2 | 2.34×10−7 | −10.402 9 | 2.71×10−5 | −10.536 4 | 3.24×10−5 | ||||||
CSA | −8.649 8 | 2.83 | −9.539 5 | 2.28 | −10.010 4 | 2.00 | ||||||
SCCSA | −10.153 2 | 4.30×10−5 | −10.402 8 | 2.90×10−6 | −10.536 3 | 1.81×10−5 | ||||||
ICSA | −6.470 5 | 1.97 | −6.761 6 | 2.65 | −6.296 7 | 2.83 | ||||||
SCA | F21 | −1.727 2 | 1.57 | F22 | −3.831 9 | 1.93 | F23 | −3.300 4 | 2.02 | |||
MTDE | −9.646 4 | 1.55 | −9.165 5 | 2.28 | −9.635 1 | 2.05 | ||||||
BLPSO | −8.294 2 | 3.00 | −9.271 4 | 2.60 | −9.963 8 | 1.76 | ||||||
EO | −8.802 0 | 2.55 | −9.716 6 | 2.12 | −10.356 1 | 9.87×10−1 | ||||||
HHO | −5.901 6 | 1.93 | −5.085 6 | 2.22×10−3 | −5.126 3 | 2.44×10−3 |
表 4 不同算法对所有测试函数的总平均运行时间
Tab.4
算法 | t | 算法 | t | 算法 | t | ||
ACSA | 4.800 | ICSA | 4.660 | BLPSO | 7.976 | ||
CSA | 4.511 | SCA | 3.547 | EO | 3.810 | ||
SCCSA | 4.095 | MTDE | 13.856 | HHO | 9.565 |
进一步分析各算法的收敛速度和进化过程,选择9个函数为代表绘制各算法的收敛曲线,如图2所示. 图中,为了清晰地观察和识别不同算法的收敛曲线,除函数值为负数的函数外,对每个函数值求自然对数ln F. 对于最优解在原点的单峰函数F1,ACSA的收敛速度最快,且明显快于对比算法;对于最优解也在原点的多峰函数F11,ACSA的收敛稍慢于SCCSA,但快于其余算法. 对于最优解不在原点且极难求解的函数F5(单峰)、F12(多峰)、F13(多峰)和F20(固定维度多峰),ACSA在进化的后期仍能保持搜索能力,求得了最好的收敛精度,而其他算法陷入停滞. 对于函数F7,ACSA的收敛精度虽然劣于HHO、SCCSA,但在进化后期,收敛曲线仍保持下降趋势. 对于极值同样难求得的函数F14、F23,ACSA的收敛曲线几乎与SCCSA的重合,都在产生极少EFs时求得最优值. 由此可见,ACSA很好地兼顾了算法的收敛精度和收敛速度.
图 2
图 2 基于种群多样性的自适应乌鸦搜索算法(ACSA)与其他算法在不同函数上的收敛曲线
Fig.2 Convergence curves of adaptive crow search algorithm based on population diversity (ACSA) and other algorithms on different functions
3.5. 非参数统计检验
表 5 非参数统计检验
Tab.5
算法 | +/=/− | R | 排名 |
ACSA | 2.195 7 | 1 | |
CSA | 14/9/0 | 6.043 5 | 8 |
SCCSA | 14/8/1 | 3.543 5 | 2 |
ICSA | 15/8/0 | 5.695 7 | 6 |
SCA | 21/2/0 | 7.891 3 | 9 |
MTDE | 15/7/1 | 5.782 6 | 7 |
BLPSO | 16/7/0 | 5.565 2 | 5 |
EO | 13/10/0 | 4.347 8 | 4 |
HHO | 14/8/1 | 3.934 8 | 3 |
4. 结 语
本研究依据种群在进化不同阶段的多样性变化,提出基于种群多样性的搜索引导个体自适应选择策略. 结合正余弦搜索理念,提出混合正余弦的多种飞行长度控制参数和相应的个体位置更新方式;将自适应选择策略和位置更新方式融入CSA,提出基于种群多样性的自适应乌鸦搜索算法(ACSA). 通过单峰、多峰和固定维度多峰3种类型共23个测试函数进行试验验证,并从收敛精度、收敛速度、非参数统计等角度对算法进行比较分析. 试验结果表明,相较于对比算法,ACSA的性能更好,优势较明显,不但实现了算法全局勘探和局部开发的平衡,也实现了算法收敛精度和收敛速度的平衡. 后续的研究工作将进一步改进ACSA,使其适用于求解多峰优化的多极值点问题;此外还将结合算法对工程实践中的高维优化问题、多目标优化问题和排列组合的离散优化问题进行应用研究.
参考文献
A novel metaheuristic method for solving constrained engineering optimization problems: crow search algorithm
[J].DOI:10.1016/j.compstruc.2016.03.001 [本文引用: 2]
An improved crow search algorithm for high-dimensional problems
[J].DOI:10.3233/JIFS-17275 [本文引用: 2]
CCSA: conscious neighborhood-based crow search algorithm for solving global optimization problems
[J].DOI:10.1016/j.asoc.2019.105583 [本文引用: 2]
Feature selection via a novel chaotic crow search algorithm
[J].DOI:10.1007/s00521-017-2988-6 [本文引用: 1]
Enhanced crow search algorithm for feature selection
[J].DOI:10.1016/j.eswa.2020.113572 [本文引用: 1]
Kapur’s entropy based optimal multilevel image segmentation using crow search algorithm
[J].DOI:10.1016/j.asoc.2019.105522 [本文引用: 1]
Single-objective optimal power flow for electric power systems based on crow search algorithm
[J].
A modified crow search algorithm (MCSA) for solving economic load dispatch problem
[J].DOI:10.1016/j.asoc.2018.06.040 [本文引用: 1]
Solving practical economic load dispatch problem using crow search algorithm
[J].
C-FDLA: crow search with integrated fractional dragonfly algorithm for load balancing in cloud computing environments
[J].DOI:10.1142/S0218126619501159 [本文引用: 1]
Amelioration of task scheduling in cloud computing using crow search algorithm
[J].DOI:10.1007/s00521-019-04067-2 [本文引用: 1]
Island-based crow search algorithm for solving optimal control problems
[J].DOI:10.1016/j.asoc.2020.106170 [本文引用: 1]
A QSAR classification model of skin sensitization potential based on improving binary crow search algorithm
[J].
基于变因子加权学习与邻代维度交叉策略的改进CSA算法
[J].DOI:10.3969/j.issn.0372-2112.2019.01.006 [本文引用: 1]
Improved crow search algorithm based on variable-factor weighted learning and adjacent-generations dimension crossover strategy
[J].DOI:10.3969/j.issn.0372-2112.2019.01.006 [本文引用: 1]
Dynamic crow search algorithm based on adaptive parameters for large-scale global optimization
[J].
Designing of stand-alone hybrid PV/wind/battery system using improved crow search algorithm considering reliability index
[J].DOI:10.1007/s40095-019-00319-y [本文引用: 1]
A new hybrid algorithm based on grey wolf optimization and crow search algorithm for unconstrained function optimization and feature selection
[J].DOI:10.1109/ACCESS.2019.2897325 [本文引用: 1]
DECSA: hybrid dolphin echolocation and crow search optimization for cluster-based energy-aware routing in WSN
[J].DOI:10.1007/s00521-018-3637-4 [本文引用: 1]
A novel crow search algorithm auto-drive PSO for optimal allocation and sizing of renewable distributed generation
[J].DOI:10.1109/ACCESS.2020.2968462 [本文引用: 1]
SCA: a sine cosine algorithm for solving optimization problems
[J].DOI:10.1016/j.knosys.2015.12.022 [本文引用: 2]
Evolutionary programming made faster
[J].DOI:10.1109/4235.771163 [本文引用: 1]
Sine–cosine crow search algorithm: theory and applications
[J].DOI:10.1007/s00521-019-04530-0 [本文引用: 1]
An improved crow search algorithm for solving numerical optimization functions
[J].DOI:10.1007/s00500-021-05827-w [本文引用: 1]
MTDE: an effective multi-trial vector-based differential evolution algorithm and its applications for engineering design problems
[J].DOI:10.1016/j.asoc.2020.106761 [本文引用: 1]
Biogeography-based learning particle swarm optimization for combined heat and power economic dispatch problem
[J].DOI:10.1016/j.knosys.2020.106463 [本文引用: 1]
Harris hawks optimization: algorithm and applications
[J].DOI:10.1016/j.future.2019.02.028 [本文引用: 1]
Equilibrium optimizer: a novel optimization algorithm
[J].DOI:10.1016/j.knosys.2019.105190 [本文引用: 1]
A practical tutorial on the use of nonparametric statistical tests as a methodology for comparing evolutionary and swarm intelligence algorithms
[J].DOI:10.1016/j.swevo.2011.02.002 [本文引用: 1]
/
〈 |
|
〉 |
