首页> 中国专利> 一种改进的群居蜘蛛优化算法

一种改进的群居蜘蛛优化算法

摘要

本发明公开了一种改进的群居蜘蛛优化算法,具体步骤包括:S1利用混沌映射反向学习策略初始化蜘蛛种群,设置种群中各个参数;S2计算非线性动态概率因子PF;S3计算蜘蛛的个体适应度值、权重值和震动感知力;S4计算非线性惯性权重,并通非线性惯性权重的结果更新雌性蜘蛛的位置;S5依据交配半径进行雌雄蜘蛛交配操作,产生的子代通过贪婪选择替换种群中最差蜘蛛位置;S6通过高斯变异对蜘蛛个体位置进行扰动操作;S7判定是否达到最大迭代次数,如果达到最大迭代次数,则进入步骤S8,否则进入步骤S3;S8结束循环操作,输出结果。本发明通过对SSO算法进行了改进,使得算法全局搜索能力提高,并提高了收敛速度和收敛精度。

著录项

  • 公开/公告号CN113837347A

    专利类型发明专利

  • 公开/公告日2021-12-24

    原文格式PDF

  • 申请/专利权人 江西理工大学;

    申请/专利号CN202111010418.7

  • 申请日2021-08-31

  • 分类号G06N3/00(20060101);

  • 代理机构

  • 代理人

  • 地址 341000 江西省赣州市章贡区红旗大道86号

  • 入库时间 2023-06-19 13:49:36

说明书

技术领域

本发明涉及计算机技术领域、群智能优化算法领域,具体涉及一种改进的群居蜘蛛优化算法。

背景技术

随着科学与技术的发展,优化问题存在于日常生活的各个方面,对于优化问题的解决方法要求也随之提高。针对传统算法解决复杂问题时出现的局限性,群智能优化算法的提出,为复杂问题的解决提供了更加精确的近似解。目前,群智能优化算法已被广泛用于机械设计、机器人、信号处理、经济学、现代农业和运筹学等领域。但是群智能算法目前也存在着一些问题,例如参数设置复杂、算法已陷入局部最优解和收敛速度慢等。

CuevasE等人在2013年提出了一种新的仿生优化算法,称为群居蜘蛛优化算法(Social Spider Optimization,SSO)(Cuevas,E.,Cienfuegos,M.,DZaldívar,&M Pérez-Cisneros.(2013).A swarm optimization algorithm inspired in the behavior ofthe social-spider.Expert Systems with Applications,40(16),6374-6384.),SSO算法通过模拟蜘蛛群中不同性别蜘蛛间协作更新,同时引入新的计算机制,相较于经典的粒子群优化算法(Particle Swarm optimization,PSO)、人工蜂群算法(Artificial BeeColony,ABC)等具有较好的收敛速度和全局搜索能力。但同其他智能算法一样,SSO算法随着迭代次数的增加,雌雄蜘蛛的种群多样性降低,算法容易陷入局部最优,全局搜索能力降低,最终使得算法收敛速度慢、收敛精度低。近年来,部分学者针对SSO算法存在的不足之处进行了研究,如Qiu J等人提出了wDESSO算法(Qiu,J.,Xie,J.,Cheng,F.,Zhang,X.,&Zhang,L..(2017).A hybrid social spider optimization algorithm withdifferential evolution for global optimization.Journal of Universal ComputerScience,23(7),619-635.),一定程度上改善了全局搜索能力与局部搜索能力的平衡,同时收敛速度、收敛精度也有一定提高,但是算法的能力依然不足,仍然存在全局搜索能力与局部搜索能力的平衡不足,收敛速度较慢和收敛精度低的问题。

发明内容

发明目的:为了解决上述问题,让算法避免陷入局部最优,使得算法全局搜索能力提高,收敛速度快、收敛精度提高,本发明提供一种改进的群居蜘蛛优化算法。

技术方案:通过用混沌映射反向学习策略初始化种群、引入非线性动态概率因子和非线性惯性权重来更新雌雄蜘蛛位置、以及引入高斯变异扰动来提高种群多样性,提出一种改进的群居蜘蛛优化算法,具体包括如下步骤:

S1、利用混沌映射反向学习策略初始化蜘蛛种群,设置种群中各个参数。

前述步骤S1的具体细节如下:

(1)利用Logistic映射,在D维空间中,按照如下公式生成蜘蛛种群中N个蜘蛛的初始位置x

x

其中,x

(2)根据Logistic映射后生成的N个初始解x

nx

其中,ub和lb为蜘蛛种群取值的上下界。

(3)将生成的共2N个蜘蛛初始位置x

其中,rand为[0,1]随机数。根据雌雄蜘蛛数目,将种群x分为雄性子种群和雄性子种群,雌性子种群

S2、计算非线性动态概率因子PF。

前述步骤S2中所涉及的非线性动态概率因子PF用于判断雌性蜘蛛在位置更新过程中吸引或排斥的概率,非线性动态概率因子的定义如下式所示:

PF(t)=exp(-(p

其中,T为最大迭代次数;t为当前迭代次数;p

前述非线性动态概率因子PF,取代了传统SSO算法中的固定概率因子,可以改进算法的全局寻优能力。

S3、计算蜘蛛的个体适应度值、权重值和震动感知力。

前述步骤S3中所涉及的权重值用来模拟蜘蛛的体型大小,而且用来确定每个不同体型蜘蛛的分配任务。前述权重值通过个体适应度值计算,具体定义如下式:

其中,J为适应度值,ω为权重值。

前述步骤S3中所涉及的震动感知力决定蜘蛛个体之间信息交流能力,通过蜘蛛个体的权重值和蜘蛛个体之间的欧氏距离计算,具体关系式如下:

其中,ω

S4、计算非线性惯性权重,并通非线性惯性权重的结果更新雌性蜘蛛的位置。

前述步骤S4中所涉及的非线性惯性权重W的定义如下式:

其中,t为当前迭代次数,T为最大迭代次数。

前述步骤S4中定义的非线性惯性权重,在算法迭代过程中起到动态平衡全局搜索和局部搜索的作用,使得算法的搜索速度和收敛精度提高。

前述步骤S4中所涉及的雌性蜘蛛更新方式如下式所示:

其中,α,β和rand是[0,1]区间内的随机数;S

前述步骤S4中所涉及的雄性蜘蛛更新方式如下式所示:

其中,

S5、依据交配半径进行雌雄蜘蛛交配操作,产生的子代通过贪婪选择替换种群中最差蜘蛛位置。

前述步骤S5的具体细节如下:

(1)计算交配半径,支配性雄性蜘蛛与交配半径内的雌性蜘蛛构成集合T

对于支配型雄性蜘蛛,在交配半径r内查找是否存在雌性蜘蛛。交配范围内存在雌性蜘蛛时,雌性蜘蛛与该雄性蜘蛛构成集合T

其中,

(2)在集合T

在集合T

其中,t为当前迭代次数。即权重值大的蜘蛛发生交配的概率高,而权重值小的个体的交配的概率低。

(3)交配产生的新蜘蛛x

如果交配产生新蜘蛛x

S6、通过高斯变异对蜘蛛个体位置进行扰动操作。

前述步骤S6中所涉及的高斯变异策略如下式所示:

x

其中,x

针对所有蜘蛛个体进行高斯变异扰动,可以提高种群多样性,有利于跳出局部极值点,使得算法不容易陷入局部最优,从而避免过早收敛,使得本发明的全局搜索能力提高,因此也提高了搜索速度。

S7、判定是否达到最大迭代次数,如果达到最大迭代次数,则进入步骤S8,否则进入步骤S3。

S8、结束循环操作,输出结果。

在前述技术方案涉及的具体步骤S1-S8中,重点对传统的SSO算法进行了改进,包括:1)用Logistic映射策略反向学习初始化种群,保证了蜘蛛个体的初始位置的均匀分布;2)将原来的固定概率因子改进为动态概率因子,提高了全局搜索能力,进而提高了收敛速度;3)在算法中加入高斯变异策略,进一步提高种群多样性,有效防止了算法陷入局部最优搜索,从而提高了全局搜索能力。

本发明的有益效果在于:因为采用了前述技术方案,本发明涉及的算法提高了全局搜索能力,并提高了收敛速度和收敛精度。

附图说明

图1为本发明一种改进的群居蜘蛛优化算法的流程示意图。

图2为本发明涉及的改进后的非线性动态概率因子随迭代次数的变化图。

图3为本发明一种改进的群居蜘蛛优化算法与其他算法对部分测试函数的迭代曲线图。

具体实施方式

以下将结合附图对本发明作进一步的描述,需要说明的是,本发明以本技术方案为前提,给出了详细的实施方式和具体的操作过程。

本发明在传统SSO算法基础上进行改进,提供了一种改进的群居蜘蛛优化算法。在本具体实施方式的阐述中,利用本发明提供的一种改进的群居蜘蛛优化算法,针对表1中的测试函数寻找最小值。

如图1所示,具体实施方式包括如下步骤:

S1、利用混沌映射反向学习策略初始化蜘蛛种群,设置种群中各个参数。

前述步骤S1的具体细节如下:

(1)利用Logistic映射,在D维空间中,按照如下公式生成蜘蛛种群中N个蜘蛛的初始位置x

x

其中,x

(2)根据Logistic映射后生成的N个初始解x

nx

其中,ub和lb为蜘蛛种群取值的上下界。

(3)将生成的共2N个蜘蛛初始位置x

N

N

其中,rand为[0,1]随机数。根据雌雄蜘蛛数目,将种群x分为雄性子种群和雄性子种群,雌性子种群

S2、计算非线性动态概率因子PF。

前述步骤S2中所涉及的非线性动态概率因子PF用于判断雌性蜘蛛在位置更新过程中吸引或排斥的概率,非线性动态概率因子的定义如下式所示:

PF(t)=exp(-(p

其中,T为最大迭代次数;t为当前迭代次数;p

前述非线性动态概率因子PF,取代了传统SSO算法中的固定概率因子,可以改进算法的全局寻优能力。

S3、计算蜘蛛的个体适应度值、权重值和震动感知力。

前述步骤S3中所涉及的权重值用来模拟蜘蛛的体型大小,而且用来确定每个不同体型蜘蛛的分配任务;前述权重值通过个体适应度值计算,具体定义如下式:

其中,J为适应度值,ω为权重值。在本具体实施方式中,适应度值设为每个蜘蛛个体x

前述步骤S3中所涉及的震动感知力决定蜘蛛个体之间信息交流能力,通过蜘蛛个体的权重值和蜘蛛个体之间的欧氏距离计算,具体关系式如下:

其中,ω

S4、计算非线性惯性权重,并通非线性惯性权重的结果更新雌性蜘蛛的位置。

前述步骤S4中所涉及的非线性惯性权重W的定义如下式:

其中,t为当前迭代次数,T为最大迭代次数。

前述步骤S4中定义的非线性惯性权重,在算法迭代过程中起到动态平衡全局搜索和局部搜索的作用,使得算法的搜索速度和收敛精度提高。

前述步骤S4中所涉及的雌性蜘蛛更新方式如下式所示:

其中,α,β和rand是[0,1]区间内的随机数;S

前述步骤S4中所涉及的雄性蜘蛛更新方式如下式所示:

其中,

S5、依据交配半径进行雌雄蜘蛛交配操作,产生的子代通过贪婪选择替换种群中最差蜘蛛位置。

前述步骤S5的具体细节如下:

(1)计算交配半径,支配性雄性蜘蛛与交配半径内的雌性蜘蛛构成集合T

对于支配型雄性蜘蛛,在交配半径r内查找是否存在雌性蜘蛛。交配范围内存在雌性蜘蛛时,雌性蜘蛛与该雄性蜘蛛构成集合T

其中,

(2)在集合T

在集合T

其中,t为当前迭代次数。即权重值大的蜘蛛发生交配的概率高,而权重值小的个体的交配的概率低。

(3)交配产生的新蜘蛛x

如果交配产生新蜘蛛x

S6、通过高斯变异对蜘蛛个体位置进行扰动操作。

前述步骤S6中所涉及的高斯变异策略如下式所示:

x

其中,x

针对所有蜘蛛个体进行高斯变异扰动,可以提高种群多样性,有利于跳出局部极值点,使得算法不容易陷入局部最优,从而避免过早收敛,使得本发明的全局搜索能力提高,因此也提高了搜索速度。

S7、判定是否达到最大迭代次数,如果达到最大迭代次数,则进入步骤S8,否则进入步骤S3。

S8、结束循环操作,输出结果。

本发明的具体结果与分析:

表2为本发明涉及的一种改进的群居蜘蛛优化算法与传统SSO算法,经典PSO算法和基于微分进化的混合群居蜘蛛优化算法wDESSO算法对测试函数的寻优结果对比,其中GSSO算法为本发明涉及的一种改进的群居蜘蛛优化算法,Best为最优解,Mean为最优解平均值,Std为最优解标准方差,黑体标明最小值。表1中测试函数的最终寻优结果越接近0,寻优效果越好。表2显示,GSSO算法在10个测试函数中寻优结果的最小值均小于等于其他算法,这表明GSSO算法的收敛精度优于其他三种算法。

表1对比算法使用测试函数

表2 GSSO算法与其他算法对比结果

图3为GSSO算法与SSO算法,PSO算法,wDESSO算法针对部分测试函数进行迭代的寻优过程曲线图,其中GSSO算法为本发明涉及的一种改进的群居蜘蛛优化算法,横坐标表示当前迭代次数,最大值为1000,纵坐标为最优目标函数值。图3显示,GSSO算法的迭代曲线下降幅度比SSO算法,PSO算法,wDESSO算法都要快,表示收敛速度更快。另外,因为篇幅限制图中没有给出的,针对其它测试函数进行迭代的寻优过程曲线图的规律也类似。图3表明GSSO算法的收敛速度更快。

对于本领域的技术人员来说,可以根据以上的发明,给出各种相应的改变和变形,而所有的这些改变和变形,都应该包括在本发明权利要求的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号