1、第 卷第期计算机集成制造系统 年月 :收稿日期:;修订日期:。;基金项目:国家重点研发计划资助项目();安徽建筑大学智能建筑与建筑节能安徽省重点实验室 年度开放课题资助项目()。:,(),()混合随机反向学习和高斯变异的混沌松鼠搜索算法冯增喜,何鑫,崔巍,赵锦彤,张茂强,杨芸芸(西安建筑科技大学 建筑设备科学与工程学院,陕西西安 ;安徽建筑大学 智能建筑与建筑节能安徽省重点实验室,安徽合肥 )摘要:针对松鼠搜索算法()易陷入局部最优、过早收敛等问题,提出一种混合随机反向学习和高斯变异的混沌松鼠搜索算法()。该算法通过 混沌映射初始化策略生成混沌初始种群,增强初始种群分布的均匀性,实现对解空间更
2、高效的搜索;采用非线性递减的捕食者概率策略,平衡 的全局搜索和局部开发能力;利用位置贪婪选择策略在迭代过程中不断保留种群中的优势个体,以提升算法收敛速度;引入随机反向学习和高斯变异策略,在增加种群多样性的同时提高算法跳出局部最优的能力。使用 个不同的基准测试函数进行仿真实验,并利用 符号秩检验验证所提算法的寻优性能,结果表明,算法在求解精度、收敛速度和稳定性等方面均有极大提升。关键词:松鼠搜索算法;混沌映射;随机反向学习;高斯变异;符号秩检验中图分类号:文献标识码:,(,;,):(),(),:;第期冯增喜 等:混合随机反向学习和高斯变异的混沌松鼠搜索算法引言随着科学技术的不断发展和创新,各种产
3、业领域内对工程中遇到的实际问题进行优化求解的需求日益增长,而且优化问题的规模和复杂性与日俱增,传统优化方法,如分支定界法、动态规划法等已难满足实际工程的要求。近年来,受自然界生物行为和自然现象的启发,众多国内外学者提出如模拟鸟群觅食行为的粒子群优化(,)算法、模拟磷虾群在特定环境下行 为 的 磷 虾 群 算 法(,)、模拟蝴蝶交配和觅食行为的蝴蝶优化算法(,)等元启发式群智能算法,群智能算法能够更好地解决实际工程中的复杂问题,已被广泛应用于各个领域。松鼠 搜 索 算 法(,)由 等于 年提出,其灵感来源于松鼠的自然动态觅食行为,该算法通过模拟松鼠在各种树(山核桃树、橡树、普通树)之间滑行寻找食
4、物来源并躲避捕食者来搜索全局最优解。与蝙蝠算法(,)、遗传算法(,)、萤火 虫算 法(,)相比,具有更好、更高效地探索搜索空间的优势,已被成功应用于解决投资组合优化、故障诊断、盲源分离 等问题。然而,存在过早收敛、容易陷入局部最优等缺点,因此国内外学者对其进行改进以提高算法性能,例如 等 利用正态云模型代替松鼠随机跳跃搜索食物的行为,并利用多维搜索策略提高了 算 法 的 局 部 开 发 和 全 局 搜 索 能 力;等 提出一种跳跃和渐进的搜索方法,并通过线性回归选择策略自动选择进化过程中使用的方法,增强了 的鲁棒性;等 将入侵杂草优化(,)算法的繁殖行为引入传统 ,提出一种自适应步长策略,有效
5、改善了 的探索能力。这些改进策略虽然不同程度地提升了 的寻优性能,但仍具较大提升空间。本文提出一种混合随机反向学习和高斯变异的混沌 松 鼠 搜 索 算 法(,),以进一步提升 的寻优性能。算法在标准 中引入 混沌初始化策略、非线性递减的捕食者策略、位置贪婪选择策略、高斯变异和随机反向学习策略来提高寻优性能,并通过仿真实验验证了所提算法的优越性和有效性。结果表明,能够更好地兼顾局部开发和全局搜索,其求解精度和收敛速度得到进一步提升。松鼠搜索算法 模拟一种南方松鼠的动态觅食行为:秋天时,松鼠通过在森林中不同树(山核桃树、橡树、普通树)之间滑翔来寻找食物来源,其中山核桃树为最佳食物来源;由于冬天树叶
6、覆盖率减少,被捕食的概率增加,松鼠变得不再活跃,直到冬天结束再一次活跃起来。该过程不断重复,形成 。在建立该过程的数学模型之前,有以下假设:()森林中有只松鼠、棵树,每只松鼠停留在一棵树上。()森林里只有种类型树,即山核桃树(山核桃仁为食物来源)、橡树(橡子坚果为食物来源)、普通树(无食物来源)。()森林中只有棵山核桃树,()棵橡树,其余为普通树。标准 的,可随所解决问题的不同而改变。()每只松鼠单独寻找食物,并通过动态觅食行为寻找最佳食物来源。在以上假设下,的实现分为随机初始化位置、适应度排序及分类、松鼠位置更新、季节监测和冬末随机搬迁。随机初始化位置 从随机初始位置开始,松鼠的位置用一个维
7、向量表示。森林中有只松鼠,每只松鼠的初始位置用如下公式确定:,(,)()。()式中:,为第(,)只松鼠的第(,)维位置;(,)为随机数,其在,范围内服从均匀分布;和 分别为第只松鼠在维的上界和下界。适应度排序及分类每只松鼠初始化位置向量后,将决策变量(松鼠的位置向量)输入适应度函数(用户自己定义),所得适应度值(,),其中每个松鼠的适应度值 (,),计算机集成制造系统第 卷,。()适应度值表示松鼠搜寻到的食物来源的质量,将所有适应度值用式()升序排列:,()。()然后将松鼠分类,适应度最小的松鼠在山核桃树 上,适应度排序为的只松鼠()在橡树 上,剩余松鼠在普通树 上,即:();()();()(
8、)。()松鼠位置更新随后松鼠开始在不同树之间滑翔来寻找食物来源,这种觅食行为受捕食者存在概率 的影响。在觅食过程中,松鼠的位置更新可能会出现种情况:()橡子树上的松鼠飞往山核桃树,表示为 (),;(,)(),。()式中:为第代橡树上的松鼠位置;为第代山核桃树上的松鼠位置;为当前迭代次数;为滑动距离,取值同文献;为滑动常量,;为随机数,其在,范围内服从均匀分布;。()普通树上的松鼠可能会向橡子树移动,即 (),;(,)(),。()式中:为第代普通树上的松鼠位置;在,范围内服从均匀分布。()普通树上的松鼠向山核桃树移动,即 (),;(,)(),。()式中为,之间的随机数。季节监测和冬末随机搬迁松鼠
9、的觅食行为受季节影响,夏季松鼠活跃频繁,冬季松鼠为了保存能量,活跃性降低导致寻优停滞。因此算法引入季节监测,以防算法陷入局部最优。首先计算季节常数(,),。()季节性常数的最小值 ()。()式中和 分别表示当前迭代次数和最大迭代次数。当检测到 时,说明冬季结束,用式()随机定位处在普通树上且不能找到食物来源的松鼠的位置:()()。()飞行是一种增强优化算法全局寻优能力的数学工具,其能带领种群向偏离局部最优的方向进化,有 效 避 免 种 群 陷 入 局 部 最 优。在 该 算法中,()。()式中:和为,中两个正态分布的随机数;为常数,取值 ;()()()()。()式中()()!。算法终止条件若满
10、足最大迭代次数,则算法结束寻优,否则继续执行松鼠位置更新、季节监测和冬末随机搬迁。混合随机反向学习和高斯变异的混沌松鼠搜索算法标准 已被应用于不同领域,但是仍存在以下问题:标准 是在搜索空间内随机生成初始种群,这种方式生成的初始位置不能均匀遍历搜索空间,导致搜索范围不广;在寻优过程中 保持不变,不能有效平衡算法的局部开发和全局搜索能力;每次迭代松鼠都会生成新位置,当新位置比旧位置更差时,种群中的优势个体没有保留下来,导致算法寻优速度变慢;寻优后期松鼠个体快速同化,使得种群多样性降低,算法易陷入局部最优。本文针对标准 存在的问题分别进行了改进。混沌初始化生成均匀遍布解空间的初始种群有助于群智能算
11、法找到最优解,从而提高算法的求解精度和收敛速度。混沌映射具有随机性和遍历性的特点,其中 混沌已经被证实比 混沌映射有更好的均匀性和更快的迭代速度,因此本文引入 混沌映射,其函数定义为第期冯增喜 等:混合随机反向学习和高斯变异的混沌松鼠搜索算法,;()(),。()式中 。初始化松鼠种群的过程如下:首先随机生成一个,内的维向量作为初始个体;然后将该个体的每一维度的数值依次带入式()计算生成新的数值,生成第个新的松鼠个体,继续重复上述步骤,直到生成个新的松鼠个体;最后将全部松鼠个体映射到变量的取值范围内,生成 混沌初始化松鼠种群。采用 混沌映射生成的初始种群与随机生成的种群相比具有更好的多样性,并能
12、在解空间中均匀分布,从而改善算法容易过早收敛的缺陷,提高算法的寻优效率。非线性递减的捕食者概率在对松鼠进行位置更新时,捕食者概率 会使松鼠采用不同的搜索策略。寻优前期需要更多地进行全局搜索,更全面地搜索整个解空间;寻优后期松鼠个体均处于最优解附近,算法需要进行更多局部开发,使松鼠个体在自身附近继续探寻更优解。因此采用非线性递减的 策略,随迭代次数动态减少,以平衡算法的全局搜索和局部开发能力,表示为()()。()式中 和 分别为捕食者概率的最大值和最小值,。位置贪婪选择在松鼠迭代产生新的位置时,新位置的食物源质量可能比原位置的食物源质量差,因此可以对松鼠的位置进行贪婪选择:比较每次迭代生成的新位
13、置和原位置的适应度值,如果新位置的适应度值优于原位置,则松鼠位置将由新位置更新;否则,松鼠位置不发生变化。具体表示为 ,;,。()随机反向学习和高斯变异在标准 的一次迭代中,较优位置的松鼠个体总是朝最优位置松鼠个体(山核桃树上)的方向移动,而最优松鼠个体的位置固定不变,其所具有的有价值的位置信息没有被充分利用。因为在最优松鼠个体附近可能存在更优的位置,所以需要在最优位置的松鼠附近进行局部搜索,以搜索到更优位置来加快算法收敛速度。高斯变异已被证实可以增强元启发式算法的局部搜索能力。因此,在 每次迭代开始时,对山核桃树上的松鼠位置进行高斯变异,并比较变异前后的位置,选择适应度最好的位置作为山核桃树
14、上松鼠的位置,表示为 (,)。()式中:为山核桃树上松鼠个体变异后的位置;(,)为满足高斯分布的随机变量。随机反向学习是 等 提出的一种策略,其根据当前解产生一个随机反向解,该策略可以增强种群多样性,提高种群避免局部最优的能力。在标准 寻优后期,松鼠个体快速同化会使种群多样性骤减,导致算法陷入局部最优。为解决这一问题,选择当前适应度最好的松鼠位置,利用随机反向学习策略产生一个随机反向位置,利用贪婪策略选择适应度更好的位置作为最优松鼠位置,表示为 ()。()式中:为随机反向的松鼠位置;为当前最优松鼠位置。通过这两种策略引导松鼠种群更好地搜索整个解空间,使 用更少的迭代次数达到指定的收敛精度,从而
15、提升算法收敛速度,同时增强 跳出局部最优的能力,获得更高的收敛精度。算法流程结合上述几种改进策略可知,流程如图所示,具体如下:步骤设置 参数,种群大小,最大迭代次数 ,。步骤利用式()产生 混沌的初始松鼠种群。步骤对所有松鼠个体按照适应度值排序,按式()将松鼠个体分配在山核桃树、橡树、普通树上,保存最优松鼠个体和松鼠位置。步骤根据式()对山核桃树上的松鼠进行高斯变异,比较变异前后的适应度值,将较优的松鼠个体分配在山核桃树上。步骤按式()更新,并通过式()式()分别计算不同树上松鼠的新位置,最后按()更新所有松鼠个体的位置。步骤按式()更新季节常数。若满足 ,则用式()重新定位普通树上的松鼠个体
16、。计算机集成制造系统第 卷步骤重复步骤,根据式()对全局最优解进行随机反向学习生成新的解,计算新解的适应度值,若新解的质量优于之前的解,则将新解更新为全局最优解。步骤若达到最大迭代次数则停止寻优,并输出最优松鼠位置和适应度值;否则,继续执行步骤步骤。时间复杂度分析时间复杂度体现算法的运行效率,是评判算法性能优劣的重要因素。和 均可分为种群初始化和算法更新迭代两个阶段。在标准 中,首先假设松鼠种群的个体总数为,搜索空间维度为,迭代次数为 ,则 在初始化阶段的时间复杂度为()。()假设为从橡树向山核桃树移动的松鼠总数,和分别为普通树向橡树和山核桃树移动的松鼠总数,满足季节监 测 条件的迭代次数为,则 在更新迭代阶段的时间复杂度为()()()。()因此,的时间复杂度为()()()。()在 中,生成一个维随机数的时间为,根据式()产生 混沌初始松鼠种群的时间为,则 在初始化阶段的时间复杂度为()()。()按式()变异山核桃树上松鼠个体所需的时间为,按式()对最优松鼠个体进行随机反向学习所需的时间为,更新 的时间为,位置贪婪选择的时间为,因此 在更新迭代阶段的时间复杂度为()()()。()省略低