职场文秘网

首页 > 心得体会 > 学习材料 / 正文

余弦自适应混沌被囊体种群优化算法

2023-03-10 17:05:13

李湘喆,顾 磊,马 丽,王梦杰

南京邮电大学 计算机学院,南京210023

群智能优化算法[1]主要模拟了自然界中生物的群体行为。这些群体按照一定的方式寻找食物,群体中的个体根据所接受到的信息对自己的行为进行调整,即不断改变搜索方向,最终表现出群体智能[1]。基于群体智能的算法具有较强的搜索能力,易于实现,能同其他算法结合改进的性能。近年来,这类算法受到了业界和学术界极大的关注。因此,研究人员从大自然的生物种群中汲取灵感,提出了许多经典算法,包括粒子群算法[2]、蚁群算法[3]、蜂群算法[4]、鱼群算法[5]、果蝇算法[6]、灰狼算法[7]、蝗虫算法[8]等。其中粒子群算法[2]假设每个粒子在搜索空间中移动,并且不断更新当前位置和全局位置,直到找到满意的解空间。根据没有免费午餐定理(no free lunch),一个特定的优化算法并不能解决所有问题,越来越多的新型优化算法正在被不断提出。

被囊体种群优化算法(tunicate swarm algorithm,TSA)是由Kaur等人[9]在2020年提出的新型群智能算法。被囊体最有趣的地方是喷射推进和群体行为,这也是TSA的主要动机,其中喷射推进行为使得TSA具有勘测和开发的双重能力。在迭代过程中,TSA算法可以在给定的搜索空间内朝着最优解方向收敛。与许多算法一样,TSA也存在易陷入局部最优和后期收敛速度慢的问题。针对这些缺点,本文提出一种基于余弦自适应和混沌搜索的被囊体种群优化算法(tunicate swarm algorithm based on cosine adaptive and chaotic search,CTSA)。本文的贡献如下:(1)提出曲线自适应计算搜索个体(search agents,即寻找食物的被囊体)间的社会作用力(social forces),优化了TSA算法位置参数的更新方式,使其动态更新,进而提高算法的收敛精度和收敛速度。(2)搜索个体位置更新时,引入混沌参数m,并采用混沌映射方式[10],使得被囊体个体有一定的概率以混沌模型更新机制去更新位置。这种混沌搜索的引入有助于进一步缓解高维问题中陷入局部最优和收敛速度慢这两个问题。实验结果表明,与TSA算法相比,本文提出的CTSA在收敛速度和全局最优性方面有明显提高。

被囊体是唯一一种利用流体喷射式推进在海洋中移动的动物,尽管在给定的搜索空间中,被囊体并不知道食物的来源,但是喷射推进行为和群体行为可以让被囊体在海洋中移动,使得这种动物有能力在海里找到食物来源。被囊体优化算法TSA主要是用数学的方式模拟这两种行为,并在这两种行为的反复迭代中寻找最优解。此外,为了对喷射推进行为进行数学建模,一个普通的搜索个体必须做到以下三点:(1)避免彼此之间位置上的冲突。(2)向最佳搜索个体(即离食物源最近的搜索个体)移动。(3)使自己的位置接近最佳搜索个体[9]。

TSA算法模拟喷射推进行为主要分三步[9]:

(1)勘探阶段。在此阶段中,主要是用如下公式(1)~(4)得到了向量A去更新搜索个体的位置,其目的是引入重力和深海水流因素的影响,来帮助搜索个体探寻最优解(即食物源),且避免搜索个体彼此间位置上的冲突。

其中,公式(1)里G为重力,F为深海水流平流作用力,M表示搜索个体之间的社会作用力。公式(2)是重力G的定义,C1、C2、C3为区间[0,1]的随机数。公式(3)是深海水流平流作用力F的定义。公式(4)是搜索个体间社会作用力M的定义,其中Pmin和Pmax代表个体间进行社会互动(social interaction)初始速度的最小值和最大值。

(2)开发阶段。在此阶段中,主要是用如下公式(5)获得普通搜索个体与最佳搜索个体之间的距离PD,其目的是在更新搜索个体位置时,可以让普通搜索个体向处于最佳位置的搜索个体移动。

其中,FS为最佳搜索个体的位置(即食物源的位置或是最优解),向量Pp(t)表示普通搜索个体的位置,t为迭代次数,rand是区间[0,1]的随机数。

(3)更新阶段。在此阶段中,主要是用如下公式(6)更新搜索个体的位置,让普通搜索个体靠近最佳搜索个体。

其中,rand取值与公式(5)相同。

在TSA算法流程中模拟喷射推进行为会连续执行两次形成两个Pp(t),分别令它们为P1和P2。TSA算法模拟群体行为就是利用P1和P2来进一步更新搜索个体的位置,具体公式如下:

2.1 余弦自适应

在公式(4)中,M为搜索个体之间的社会作用力,Pmin和Pmax代表个体间进行社会互动初始速度的最小值和最大值。文献[9]经过实验比对确定在TSA每次迭代中取M为[1,4]区间内的随机值时效果最优,因此本文保留了原作者对Pmin和Pmax值的选择。随着迭代过程的进行,M的改变使得矢量A随机变化,从而使得搜索个体可以在搜索空间中寻找最优解。然而,随着迭代次数的增加,TSA算法会因每次迭代重新随机生成M,这种随机生成不仅耗费时间,并且M的无规律性使得每一次迭代与下一次迭代之间失去了联系,因而TSA表现出收敛速度慢和最优解精度不准的问题。

针对这个问题,本文的CTSA算法假设随着迭代次数的增加,搜索个体间的社会作用力可以自适应地减小。引入余弦自适应来重新定义参数M,公式(4)被如下的公式(8)所取代:

其中,l为当前迭代次数,Max_iter为最大迭代次数,在本实验中,Max_iter=250。

公式(8)中采用余弦自适应策略来更新参数M,即利用迭代次数l对M进行动态调整。参数M影响被囊体种群的搜索范围,其递减的过程对应于CTSA由全局搜索到局部搜索的转变。当l增加,M的值将变小,公式(1)得到的A则会增加。这样,随着迭代次数的增加,利用公式(6)就可以扩大搜索个体的搜索范围。并且余弦自适应的调整策略相比于常用的线性自适应,其在开始时和快结束时下降速率较小,过程缓慢。因此,在前期能够加大全局搜索的范围,在后期能够缩小局部搜索的范围,从而达到增强全局搜索能力和提高算法收敛精度与速度的目的。更高效且简单的混沌映射Gauss/mouse map来产生分布更均匀的种群。

2.2 混沌搜索

混沌向量搜索是在非线性动力系统中发现的一种确定性的、随机的方法。混沌向量优化算法的主要思想是利用混沌运动的随机性和遍历性等特点,将待优化的变量映射到混沌变量空间的取值区间内,再将得到的解线性地转换到优化变量空间[11-12]。常见的映射方式有

Chebyshev map、Circle map、Gauss/mouse map、Iterative map、Logistic map、Piecewise map。本文用到的混沌映射定义如表1所示[13]。

表1 混沌映射表Table 1 Chaotic maps

在TSA算法执行中,随着迭代次数的逐渐增加,重力、浮力和深海水流等因素会造成被囊体搜索个体在开发阶段的喷射推进行为发生改变,但TSA中忽略了这些改变的影响。因此本文考虑引入混沌映射来模拟这种无条件的随机行为,这种混沌行为有助于避免算法陷入局部最优和提高收敛速度。为了模拟该行为,本文定义了公式(9)和公式(10)。

公式(9)中引入了混沌向量m,具体如下所示:

其中,gl+1为混沌映射的输出。经过多次实验对比,在选取的16个测试函数中,筛选出了12个效果差异比较大的函数(F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,F13,F15),如图1至图12所示(所有图中TSA采用Chebyshev map,TSA2采用Circle map,TSA3采 用Gauss/mouse map,TSA4采 用Iterative map,TSA5采 用Logistic map,TSA6采用Piecewise map),实验最终迭代次数为250次,为了展现出明显的收敛速度区别,本文保留了迭代后期,即220~250代的实验结果,其中,由于F9收敛速度较快,保留了40~80代的结果。据实验表明,Gauss/mouse map的结果较优。因此本文最后在表1中选取

图1 函数F1混沌结果Fig.1 Chaotic results of F1

图5 函数F5混沌结果Fig.5 Chaotic results of F5

图6 函数F6混沌结果Fig.6 Chaotic results of F6

图7 函数F7混沌结果Fig.7 Chaotic results of F7

图8 函数F8混沌结果Fig.8 Chaotic results of F8

图12 函数F15混沌结果Fig.12 Chaotic results of F15

图9 函数F9混沌结果Fig.9 Chaotic results of F9

图10 函数F10混沌结果Fig.10 Chaotic results of F10

图11 函数F13混沌结果Fig.11 Chaotic results of F13

本文提出的CTSA算法在迭代过程中,通过定义值域为[0,1]的随机变量rand1,使得被囊体搜索个体有50%的概率通过混沌模型更新位置,即利用如下公式(10)(取代原公式(5))得到其与最佳搜索个体之间的距离PD,再通过公式(6)更新位置。

这里的rand与公式(5)中的rand相同。在后面3.2节中给出了相关的实验结果,实验结果表明CTSA中采用的混沌搜索方式可以提高算法的寻优性能。

2.3 算法的流程

CTSA的简要算法流程如下所示。其中,算法输入被囊体初始种群Pp,即搜索个体初始位置,可以输出最优适应度值FS,即最佳搜索个体的位置,也就是最优解。

算法因增加了混沌函数,时间复杂度为O(Max_iter2·dim·N),其中N为种群个数,Max_iter为迭代次数,dim为维度。TSA时间复杂度为O(Max_iter·dim·N),在第3章中进行对比实验的算法时间复杂度同TSA。

3.1 实验基本设置

在本文中,被囊体种群优化算法的参数设置如下:种群个数N=25,迭代次数Max_iter=250,Pmax=1,Pmin=4,混沌向量m选择映射3,即Guass/mouse map。为验证算法的效果,共使用包括基准测试函数和CEC-2017部分函数在内的16个函数F1~F16进行测试,各个函数的具体情况如表2所示,其函数图像如图13至图28所示。其中针对非固定维度的函数(F1~F11,F13~F15),测试了其在10维和30维的结果。为了验证CTSA算法的性能,本文将CTSA与TSA[9]及阿基米德算法(AOA)[14]、基于粒子群算法的混沌混合蝶形优化算法(HPSOBOA)[15]、海洋生物优化算法(MPA)[16]、灰狼优化算法(GWO)[7]、乌燕鸥优化算法(STOA)[17]、海鸥优化算法(SOA)[18]作对比。在实验中,包括CTSA在内的每个算法都在16个测试函数上独立运行了30次,并统计平均值、方差、最大值、最小值等相关指标,对于函数F1~F11、F13、F15(30维)和F12(2维),图29至图42分别给出了各个算法的收敛情况。

图2 函数F2混沌结果Fig.2 Chaotic results of F2

图4 函数F4混沌结果Fig.4 Chaotic results of F4

图13 函数F1图像Fig.13 Image of F1

图28 函数F16图像Fig.28 Image of F16

图42 函数F15迭代曲线Fig.42 Iterative curve of F15

表2 16个函数极值优化测试函数Table 2 Sixteen test functions

图14 函数F2图像Fig.14 Image of F2

图15 函数F3图像Fig.15 Image of F3

图16 函数F4图像Fig.16 Image of F4

3.2 实验结果对比与分析

针对表2中的16个函数,将本文所提出的CTSA与TSA、AOA、HPSOBOA、MPA、GWO、STOA、SOA等7个群智能优化算法进行了对比,主要实验结果在表3~18及图29~42中给出。

图29 函数F1迭代曲线Fig.29 Iterative curve of F1

表3 测试函数F1的结果Table 3 Results of F1

图17 函数F5图像Fig.17 Image of F5

图18 函数F6图像Fig.18 Image of F6

图19 函数F7图像Fig.19 Image of F7

图20 函数F8图像Fig.20 Image of F8

图21 函数F9图像Fig.21 Image of F9

图22 函数F10图像Fig.22 Image of F10

图23 函数F11图像Fig.23 Image of F11

图24 函数F12图像Fig.24 Image of F12

图25 函数F13图像Fig.25 Image of F13

图26 函数F14图像Fig.26 Image of F14

图27 函数F15图像Fig.27 Image of F15

表4 测试函数F2的结果Table 4 Results of F2

表9 测试函数F7的结果Table 9 Results of F7

表11 测试函数F9的结果Table 11 Results of F9

表13 测试函数F11的结果Table 13 Results of F11

表14 测试函数F12的结果Table 14 Results of F12

表15 测试函数F13的结果Table 15 Results of F13

表17 测试函数F15的结果Table 17 Results of F15

图30 函数F2迭代曲线Fig.30 Iterative curve of F2

(1)单峰函数F1~F3、F5~F8和F10。从图29~图31、图33~图36和图38的迭代曲线可以看出,无论在10维还是30维下,CTSA在收敛速度上明显优于其他算法;
同时,从表3~表5,表7~表10及表12可以看出,CTSA的适应度值精度也明显优于其他算法。且与TSA相比,CTSA在收敛速度上取得了很大的提升,因此认为CTSA在单峰函数上有很好的表现。如对于测试函数F1,10维条件下,CTSA较TSA的收敛精度提高了至少E+34个数量级,并且最小值已经达到E-173个数量级;
30维条件下,CTSA较TSA的收敛精度提高了至少E+20个数量级;
对于函数F5和F6,如表7和表8,CTSA在10维和30维下均有很好的表现,10维条件下,CTSA最小值已超过E-170个数量级。由迭代曲线可以看出,对于此类单峰函数,CTSA在保持了寻优过程中波动小的特点的同时,提高了收敛速度。对于函数F1~F3、F5和F6,由表中数据可以看出,CTSA的方差均已达到E-300个数量级,而TSA均未达到E-300个数量级,这说明改进后的CTSA在稳定方面也有所提升。

图3 函数F3混沌结果Fig.3 Chaotic results of F3

表5 测试函数F3的结果Table 5 Results of F3

表7 测试函数F5的结果Table 7 Results of F5

表8 测试函数F6的结果Table 8 Results of F6

表10 测试函数F8的结果Table 10 Results of F8

表12 测试函数F10的结果Table 12 Results of F10

图31 函数F3迭代曲线Fig.31 Iterative curve of F3

图32 函数F4迭代曲线Fig.32 Iterative curve of F4

图33 函数F5迭代曲线Fig.33 Iterative curve of F5

图34 函数F6迭代曲线Fig.34 Iterative curve of F6

图35 函数F7迭代曲线Fig.35 Iterative curve of F7

图36 函数F8迭代曲线Fig.36 Iterative curve of F8

图38 函数F10迭代曲线Fig.38 Iterative curve of F10

图40 函数F12迭代曲线Fig.40 Iterative curve of F12

图41 函数F13迭代曲线Fig.41 Iterative curve of F13

(2)多峰函数F4、F9和F11~F16。对于函数F4(简单多峰函数),如表6,在10维的时候,CTSA表现最优,收敛精度较TSA提高了E+17个数量级,且CTSA的收敛速度明显快于TSA;
而在30维下,CTSA表现出了全局性,虽然效果较低维相比有所下降,但较于TSA仍提高了E+12个数量级,并且明显优于其他算法。对于函数F9和F11~F16,这些多峰函数存在大量的局部最优值,主要用来测试算法的全局开发能力以及避免陷入早熟的能力。从收敛曲线(图37、图39~图42)可以看出,相比TSA,改进后的CTSA算法虽然在收敛速度上和TSA算法相差不大,但在收敛精度上总体优于TSA。对于函数F12(固定维度为2)所有函数均已收敛到最小值,虽然CTSA平均值稍劣于其他对比算法,但仍稍优于TSA算法。对于函数F13,10维条件下,CTSA最优值的平均值较TSA提高了E+09个数量级,并且从其迭代曲线可以看出,改进后的CTSA寻优过程波动更小。对于函数F14~F16,如表16~表18所示,CTSA相较于TSA,最优值的平均值精度提升在E+01以内,虽略有提升,但效果不太明显。

表6 测试函数F4的结果Table 6 Results of F4

表16 测试函数F14的结果Table 16 Results of F14

表18 测试函数F16的结果Table 18 Results of F16

图37 函数F9迭代曲线Fig.37 Iterative curve of F9

图39 函数F11迭代曲线Fig.39 Iterative curve of F11

从上述实验结果可以看出:对于单峰函数,CTSA表现很好;
对于复杂的多峰函数,CTSA较TSA的优化效果不显著,但CTSA整体上比TSA收敛速度更快,收敛精度更高,因此改进结果是可以接受的。同时,实验结果验证了余弦自适应和混沌搜索能够使算法更好地开发全局,在开发与勘测之间达到了平衡,不拘泥于局部最优,进而向全局最优值逼近。

3.3 算法运行时间比较

本文的实验环境为:Windows10操作系统,Intel®CoreTMi5-8300U的CPU,8 GB内存,开发工具为MATLAB R2019b。

CTSA、TSA、AOA、HPSOBOA、MPA、GWO、STOA

和SOA的运行时间如表19所示。从表19可以看出,改进后的CTSA相比TSA以及其他对比函数增加了运行时间。结合实验结果与分析可以得出,新算法CTSA虽然增加了时间复杂度,但是能够获得更好的实验结果。

表19 运行时间的对比Table 19 Comparisons of running time

本文提出一种基于余弦自适应和混沌搜索的被囊体种群优化算法,对被囊体在每次迭代中的位置更新机制进行改进,在一定程度上避免算法早熟,使算法迭代后期更快速地收敛到最优值。本文所提出的算法在寻优的精度上也有所提高,实验结果证明了该算法的有效性和可行性。不足的是,对于存在大量局部最优值的多峰函数,优化效果并不显著,有待进一步的研究。

猜你喜欢 测试函数公式个体 组合数与组合数公式新高考·高二数学(2022年3期)2022-04-29排列数与排列数公式新高考·高二数学(2022年3期)2022-04-29解信赖域子问题的多折线算法太原科技大学学报(2022年1期)2022-02-24一种基于精英选择和反向学习的分布估计算法计算机仿真(2021年1期)2021-11-18等差数列前2n-1及2n项和公式与应用中学生数理化(高中版.高二数学)(2020年11期)2020-12-14基于自适应调整权重和搜索策略的鲸鱼优化算法东北大学学报(自然科学版)(2020年1期)2020-02-15关注个体防护装备劳动保护(2019年7期)2019-08-27明确“因材施教” 促进个体发展福建基础教育研究(2019年11期)2019-05-28例说:二倍角公式的巧用中学生数理化·高一版(2018年6期)2018-07-09具有收缩因子的自适应鸽群算法用于函数优化问题物联网技术(2017年5期)2017-06-03

Tags: 余弦   种群   混沌  

搜索
网站分类
标签列表