一种改进的蛇算法优化算法制造技术

技术编号:37370643 阅读:16 留言:0更新日期:2023-04-27 07:15
本发明专利技术公开了一种改进的蛇算法优化算法,包括以下步骤:步骤一:蛇的觅食、战斗、交配、产卵等行为取决于环境因素的影响如温度高低、食物有无等,因此,蛇的行为可理解为不同条件的概率事件;步骤二:勘探阶段(无食物):当食物量Q小于0.25时,雄蛇寻找食物并移位;本发明专利技术通过提出一种基于螺旋觅食策略、双重反向学习策略、正弦指数食物更新策略的混合策略对其进行优化,经与6个原算法、5个改进算法在基础函数测试性能对比,除高维多峰函数略低于tSSA算法,MMSO算法均表现出更显著的寻优能力且收敛速度快,混合优化策略具有弥补原算法的局部最优的优势,增强全局搜索能力。增强全局搜索能力。增强全局搜索能力。

【技术实现步骤摘要】
一种改进的蛇算法优化算法


[0001]本专利技术属于蛇算法
,具体涉及一种改进的蛇算法优化算法。

技术介绍

[0002]群智能优化算法主要源于自然界生物捕食、争斗、交配等行为启发形成,受不同种群数量、初始位置、食物量、环境等约束条件通过位置更新来进行搜索的最优位置并获取最佳适应度值的过程。在迭代搜索过程中,往往伴随着全局勘探和局部开发两个阶段,在本质上是先后顺序而非同步过程,导致易陷入局部最优解的困境。为增强全局的搜索能力并加快收敛速度,研究者从不同的思维策略着手提出改进算法,旨在全局搜索中加快收敛速度、局部搜索中增强全局寻优能力来获取全局最优解。以混合策略改进效果最为突出,在实际应用中更能获得更高的精度。
[0003]鲸鱼优化算法、灰狼优化算法、蚱蜢优化算法、哈里斯鹰优化算法等作为群智能原始算法,持续被研究者关注改进。常用改进策略如采用映射策略初始化种群多样性取代随机生成、融入对立学习策略扩大搜索能力、增加多种策略提升迭代整体的搜索范围等,均加快了收敛速度。而目前的蛇算法作为最新算法,在整个迭代过程中的全局寻优时通常会出现局部最优的情况,导致算法的全局搜索能力较弱。

技术实现思路

[0004]本专利技术要解决的技术问题是克服现有的缺陷,提供一种改进的蛇算法优化算法,以解决上述
技术介绍
中提出的目前的蛇算法作为最新算法,在整个迭代过程中的全局寻优时通常会出现局部最优的情况,导致算法的全局搜索能力较弱的问题。
[0005]为实现上述目的,本专利技术提供如下技术方案:一种改进的蛇算法优化算法,包括以下步骤:
[0006]步骤一:蛇的觅食、战斗、交配、产卵等行为取决于环境因素的影响如温度高低、食物有无等,因此,蛇的行为可理解为不同条件的概率事件;
[0007]步骤二:勘探阶段(无食物):当食物量Q小于0.25时,雄蛇寻找食物并移位,如式(4)所示:
[0008]X
i,m
(t+1)=X
rand,m
(t)
±
c2*A
m
*((X
max

X
min
)*rand+X
min
)(4)
[0009]X
i,m
为第i个雄蛇的位置,X
rand,m
为雌蛇的随机位置,rand是随机数[0,1],c2是常量,为0.05,A
m
为雄蛇寻找食物的能力,计算如式(5)所示:
[0010][0011]其中,f
rand,m
、f
i,m
分别为X
rand,m
、X
i,m
的适应度值;
[0012]步骤三:开发阶段(存在食物):如果食物量大于0.25,温度大于0.6,雄蛇与雌蛇均移向食物,如式(8):
[0013]X
i,j
(t+1)=X
food
±
c3*Temp*rand*(X
food

X
i,j
(t))(8)
[0014]其中,X
i,j
为个体的位置,X
food
为最优个体的位置,c3为常量,为2,
[0015]如果温度小于0.6,蛇会进行入战斗模式或交配模式;
[0016]步骤四:从SO算法在CEC2017基准测试函数的测试情况来看,收敛速度过慢,归其原因:第一,因SO算法的判断条件受温度、食物量以及随机数大小多条件的制约,使得增加了多种情况的位移更新,也就是说,在全局搜索范围内,多条件的判断容易将全局划分更多的局部块,即更容易陷入局部最优解,这个过程类似于多个分段函数,第二,在初始化位置公式,采用的是在[lb,ub]范围产生随机数来限制个体的首次位置,由于rand()函数产生的是随机数,其并非均匀分布,种群的多样性过少使得在多次迭代中很难获得最优个体,从而降低收敛速度;
[0017]步骤五:SO算法在食物的全局勘察阶段,雄蛇和雌蛇都会随机选择一个初始个体作为参考点,并在其附近随机更新移动位置,虽然一定程度上有利于扩大搜索更多空间,但“漫无目的”进行搜索会削弱SO算法的寻优精度,同时,为避免SO算法陷入局部最优,受金枪鱼群算法化(Tuna swarm optimization,TSO)螺旋觅食策略启发[8],将该螺旋觅食策略引入到SO全局探索更新公式中即式(4)、(6),SO从原策略和螺旋觅食策略中随机选择一种策略对个体位置进行更新,螺旋觅食策略如式(16)至(19)所示:
[0018][0019][0020]β=e
bl
·
cos(2πb)(18)
[0021][0022]式中,a是一个常数,取值为0.7,b是一个0到1均匀分布的随机数,t、tmax分别为当前迭代以及最大迭代次数,表示最优个体或者在搜索空间中随机生成的一个个体,当为搜索空间中随机生成个体时,有利于螺旋搜索策略搜索更广泛的空间;当为最优个体时,SO算法更多围绕最优个体进行螺旋搜索,精确开发最优个体周围的空间,以TSO算法的精准搜索解决SO算法“漫无目的”搜索的缺陷,每一个个体在每次迭代时,会依照概率选择使用SO算法的原始搜索策略或TSO算法的螺旋搜索策略;
[0023]步骤六:双重反向学习策略:反向学习策略在于生成每个初始种群的反向种群并合并初始种群,从中选择较优的种群个体作为下一代种群,从更大的范围内选择的较优种群势必离最优解的位置更近,既可增加全局搜索能力,又可提高收敛速度,被广泛应用于算法改进策略[9],反向学习策略如式(20)所示:
[0024][0025]式中,是对应的反向解,为进一步增强种群多样性,考虑到反向学习策略生成的解未必比当前解更优的情况,借鉴Tent混沌映射具有随机性和遍历性的特点,能够生成新解以增强种群多样性[10],因此,本文将Tent混沌映射同反向学习策略结合,提出一种基于Tent混沌映射的反向学习机制,具体数学模型描述如式(21)、(22),
[0026][0027][0028]式中,表示种群中第i个个体对应的Tent反向学习机制生成的解,λ
i
是对应的Tent混沌映射值,除Tent反向学习策略外,还根据光的凸透镜成像原理,提出一种透镜成像反向学习策略[11],该策略利用个体在焦点之外时会在凸透镜另一侧成倒立实像的特性建立数学模型,如式(23)所示:
[0029][0030]式(23)中,k为透镜成像缩放因子,由此可知,k的取值影响反向解的生成质量,k值越小,生成的反向解范围越大;k值越大,能提供较小范围的反向解,考虑到算法前期更多进行全局搜索,后期更多进行精确开发,因此提出一种动态调节的缩放因子公式如(24)所示:
[0031][0032]步骤七:正弦指数食物指数更新策略:在SO原算法中,通过控制食物量指数Q的变化进行算法从勘探阶段到开发阶段的切换,在迭代前期,SO算法只进行全局搜索,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种改进的蛇算法优化算法,其特征在于:包括以下步骤:步骤一:蛇的觅食、战斗、交配、产卵等行为取决于环境因素的影响如温度高低、食物有无等,因此,蛇的行为可理解为不同条件的概率事件;步骤二:勘探阶段(无食物):当食物量Q小于0.25时,雄蛇寻找食物并移位,如式(4)所示:X
i,m
(t+1)=X
rand,m
(t)
±
c2*A
m
*((X
max

X
min
)*rand+X
min
)(4)X
i,m
为第i个雄蛇的位置,X
rand,m
为雌蛇的随机位置,rand是随机数[0,1],c2是常量,为0.05,A
m
为雄蛇寻找食物的能力,计算如式(5)所示:其中,f
rand,m
、f
i,m
分别为X
rand,m
、X
i,m
的适应度值;步骤三:开发阶段(存在食物):如果食物量大于0.25,温度大于0.6,雄蛇与雌蛇均移向食物,如式(8):X
i,j
(t+1)=X
food
±
c3*Temp*rand*(X
food

X
i,j
(t))(8)其中,X
i,j
为个体的位置,X
food
为最优个体的位置,c3为常量,为2,如果温度小于0.6,蛇会进行入战斗模式或交配模式;步骤四:从SO算法在CEC2017基准测试函数的测试情况来看,收敛速度过慢,归其原因:第一,因SO算法的判断条件受温度、食物量以及随机数大小多条件的制约,使得增加了多种情况的位移更新,也就是说,在全局搜索范围内,多条件的判断容易将全局划分更多的局部块,即更容易陷入局部最优解,这个过程类似于多个分段函数,第二,在初始化位置公式,采用的是在[lb,ub]范围产生随机数来限制个体的首次位置,由于rand()函数产生的是随机数,其并非均匀分布,种群的多样性过少使得在多次迭代中很难获得最优个体,从而降低收敛速度;步骤五:SO算法在食物的全局勘察阶段,雄蛇和雌蛇都会随机选择一个初始个体作为参考点,并在其附近随机更新移动位置,虽然一定程度上有利于扩大搜索更多空间,但“漫无目的”进行搜索会削弱SO算法的寻优精度,同时,为避免SO算法陷入局部最优,受金枪鱼群算法化(Tuna swarm optimization,TSO)螺旋觅食策略启发[8],将该螺旋觅食策略引入到SO全局探索更新公式中即式(4)、(6),SO从原策略和螺旋觅食策略中随机选择一种策略对个体位置进行更新,螺旋觅食策略如式(16)至(19)所示:对个体位置进行更新,螺旋觅食策略如式(16)至(19)所示:β=e
bl
·
cos(2πb)(18)式中,a是一个常数,取值为0.7,b是一个0到1均匀分布的随机数,t、tmax分别为当前迭
代以及最大迭代次数,表示最优个体或者在搜索空间中随机生成的一个个体,当为搜索空间中随机生成个体时,有利于螺旋搜索策略搜索更广泛的空间;当为最优个体时,SO算法更多围绕最优个体进行螺旋搜索,精确开发最优个体周围的空间,以TSO算法的精准搜索解决SO算法“漫无目的”搜索的缺陷,每一个个体在每次迭代时,会依照概率选择使用SO算法的原始搜索策略或TSO算法的螺旋搜索策略;步骤六:双重反向学习策略:反向学习策略在于生成每个初始种群的反向种群并合并初始种群,从中选择较优的种群个体作为下一代种群,从更大的范围内选择的较优种群势必离最优解的位置更近,既可增加全局搜索能力,又可提高收敛速度,被广泛应用于算法改进策略[9],反向学习策略如式(20)所示:式中,是对应的反向解,为进一步增强种群多样性,考虑到反向学习策略生成的解未必比当前解更优的情况,借鉴Tent混沌映射具有随机性和遍历性的特点,能够生成新解以增强种群多样性[10],因此,本文将Tent混沌映射同反向学习策略结合,提出一种基于Tent混沌映射的反向学习机制,具体数学模型描述如式(21)、(22),Tent混沌映射的反向学习机制,具体数学模型描述如式(21)、(22),式中,表示种群中第i个个体对应的Tent反向学习机制生成的解,λ
i
是对应的Tent混沌映射值,除Tent反向学习策略外,还根据光的凸透镜成像原理,提出一种透镜成像反向学习策略[11],该策略利用个体在焦点之外时会在凸透镜另一侧成倒立实像的特性建立数学模型,如式(23)所示:式(23)中,k为透镜成像缩放因子,由此可知,k的取值影响反向解的生成质量,k值越小,生成的反向解范围越大;k值越大,能提供较小范围的反向解,考虑到算法前期更多进行全局搜索,后期更多进行精确开发,因此提出一种动态调节的缩放因子公式如(24)所示:步骤七:正弦指数食物指数更新策略:在SO原算法中,通过控制食物量指数Q的变化进行算法从勘探阶段到开发阶段的切换,在迭代前期,SO算法只进行全局搜索,在迭代后期,SO算法只进行局部开发,一方面,割裂开的两种搜索方式不能全面地展示蛇类觅食行为,另一方面,这会导致算法在后期缺少全局搜索,对于一些复杂优化问题,难以保证在全局探索阶段结束后种群已经聚集在全局最优解周围,因此算法容易陷入局部最优,早熟收敛,为此,本文提出一种正弦指数食物指数更新策略,公式如式(25)所示:步骤八:算法流程:(1)初始化:种群数量、维度变量、迭代次数、上下限边界、初始位置、
适应度函数等;执行式(1)、(2)、(20)至(24),(2)条件判断执行式(3)、(25),如果Q小于0.25,执行式(4)、(6)、(16)至(18),如果Q大于0.25,若Temp大于0.6,执行式(8);若Temp小于0.6,执行式(9)、(11);若rand大于0.6,执行式(13),否则执行式(15);步骤九:设计仿真实验环境:Win7操作系统,8G内存,软件环境:MATLAB2017a;步骤十:基准函数性能对比:参数设置:种群数量30、迭代次数500,维度30,为比对MSSO算法的性能,本次选取了CEC2017中的8个基准测试函数进行测试:步骤十一:对比算法选取SO、POA、HHO、WOA、GWO、GOA六种,针对每1个基准测试函数实验30次取平均值:步骤十二:由实验数据可知,在单峰函数和多峰函数MMSO算法比其余六种算法收敛速度均快即寻优时间用时最少;步骤十三:对算法改进后性能进行对比:步骤十四:为最大程度降低SO算法局部最优情况,提出一种基于螺旋...

【专利技术属性】
技术研发人员:刁琦
申请(专利权)人:浙江东方职业技术学院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1