融合差分进化和混合多策略的麻雀搜索算法
文章目录
- 一、理论基础
- 1、麻雀搜索算法
- 2、麻雀搜索算法的改进
- 2.1 反向学习初始化种群
- 2.2 非线性权重因子
- 2.3 融入差分进化和精英策略
- 2.3.1 DE算法
- 2.3.2 精英策略
- 2.4 DEH-SSA算法描述
- 二、仿真实验与结果分析
- 三、参考文献
一、理论基础
1、麻雀搜索算法
请参考这里。
2、麻雀搜索算法的改进
2.1 反向学习初始化种群
反向学习作为一种智能计算中的新技术,其目的是基于当前解,找出与其对应的反向解,再通过适应度计算选择并保存较好的解。通过反向学习策略初始化能有效提高种群的多样性,避免陷入局部最优。反向学习初始化过程如下:
(1)随机生成临时的初始化种群Xi,jX_{i,j}Xi,j。
(2)通过式(1)计算Xi,jX_{i,j}Xi,j的反向解Xi,j∗X_{i,j}^*Xi,j∗Xi,j∗=ubi,j+lbi,j−Xi,j(1)X_{i,j}^*=ub_{i,j}+lb_{i,j}-X_{i,j}\tag{1}Xi,j∗=ubi,j+lbi,j−Xi,j(1)其中,ubi,jub_{i,j}ubi,j和lbi,jlb_{i,j}lbi,j分别为Xi,jX_{i,j}Xi,j对应的第iii个个体当中第jjj维的上限和下限。
(3)生成的初始种群。根据适应度函数计算出对应的反向解Xi,j∗X_{i,j}^*Xi,j∗,若fit(Xi,j∗)<fit(Xi,j)fit(X_{i,j}^*)<fit(X_{i,j})fit(Xi,j∗)<fit(Xi,j),则选择其反向解Xi,j∗X_{i,j}^*Xi,j∗作为初始种群中的个体。
2.2 非线性权重因子
引入非线性权重因子λ\lambdaλ来改进种群中发现者的位置更新公式以平衡算法的局部和全局的搜索能力,同时改善算法的收敛速度。算法迭代前期,应降低发现者个体对于自身位置的依赖性,以获取更大的解空间并提升全局优化能力;迭代后期,应加大对自身位置的依赖程度,以提高收敛速度。非线性权重因子公式为λ=(t/itermax)2\lambda=(t/iter_{\max})^2λ=(t/itermax)2此时对发现者位置更新公式进行简化和改进为Xi,jt+1={Xi,jt⋅λifR2<STXi,jt+QifR2≥ST(3)X_{i,j}^{t+1}=\begin{dcases}X_{i,j}^t\cdot\lambda\quad\quad\text{if}\,\,R_2<ST\\[2ex]X_{i,j}^t+Q\quad\,\,\text{if}\,\,R_2\geq ST\end{dcases}\tag{3}Xi,jt+1=⎩⎨⎧Xi,jt⋅λifR2<STXi,jt+QifR2≥ST(3)为了简化警戒者更新公式,把具有警戒属性个体的位置更新规则改进为:不管是发现者还是追随者,当有危险信号时,处在种群外围的个体还是会朝着安全区域移动;处在种群中间的个体则会逃到最优位置和最差位置之间的 一个随机位置,此时改为Xi,jt+1={Xbestt+β⋅∣Xi,jt−Xbestt∣iffi>fgXi,jt+β⋅(Xworstt−Xbestt)iffi=fg(4)X_{i,j}^{t+1}=\begin{dcases}X_{best}^t+\beta\cdot\left|X_{i,j}^t-X_{best}^t\right|\quad\,\,\,\text{if}\,\,f_i>f_g\\[2ex]X_{i,j}^t+\beta\cdot(X_{worst}^t-X_{best}^t)\quad\text{if}\,\,f_i=f_g\end{dcases}\tag{4}Xi,jt+1=⎩⎨⎧Xbestt+β⋅∣∣Xi,jt−Xbestt∣∣iffi>fgXi,jt+β⋅(Xworstt−Xbestt)iffi=fg(4)
2.3 融入差分进化和精英策略
2.3.1 DE算法
请参考这里。
2.3.2 精英策略
为了提升算法局部的寻优能力,引入精英策略在第ttt次迭代后得到的当前最优解bestbestbest附近产生符合正态分布的随机数,公式如式(5)Xi,jt=best+0.0001⋅Q(5)X_{i,j}^t=best+0.0001\cdot Q\tag{5}Xi,jt=best+0.0001⋅Q(5)
2.4 DEH-SSA算法描述
综上所述,DEH-SSA算法的具体步骤如图1所示。
图1 DEH-SSA算法流程图
二、仿真实验与结果分析
将DEH-SSA与GWO、GSA和SSA进行对比,以文献[1]中表1的10个测试函数为例,实验设置种群规模为30,最大迭代次数为500,每种算法独立运算30次,结果显示如下:
函数:F1
GWO:最差值: 2.3662e-16, 最优值: 2.0034e-17, 平均值: 8.81e-17, 标准差: 5.284e-17, 秩和检验: 1.9469e-11
GSA:最差值: 0.0016001, 最优值: 0.00071332, 平均值: 0.0011372, 标准差: 0.0002178, 秩和检验: 1.9469e-11
SSA:最差值: 6.2061e-32, 最优值: 5.6451e-204, 平均值: 2.76e-33, 标准差: 1.1696e-32, 秩和检验: 1.9469e-11
DEH-SSA:最差值: 2.3023e-321, 最优值: 0, 平均值: 1.2846e-322, 标准差: 0, 秩和检验: 1
函数:F2
GWO:最差值: 2.5232e-06, 最优值: 4.4383e-08, 平均值: 6.9213e-07, 标准差: 6.6774e-07, 秩和检验: 1.5302e-11
GSA:最差值: 3.2404, 最优值: 0.00015546, 平均值: 0.59244, 标准差: 0.85353, 秩和检验: 1.5302e-11
SSA:最差值: 6.0795e-36, 最优值: 1.5338e-190, 平均值: 2.0702e-37, 标准差: 1.1092e-36, 秩和检验: 1.5302e-11
DEH-SSA:最差值: 6.4395e-315, 最优值: 0, 平均值: 2.1476e-316, 标准差: 0, 秩和检验: 1
函数:F3
GWO:最差值: 28.759, 最优值: 26.1534, 平均值: 27.1196, 标准差: 0.81453, 秩和检验: 3.0199e-11
GSA:最差值: 298.8031, 最优值: 24.8654, 平均值: 34.6281, 标准差: 49.8986, 秩和检验: 3.0199e-11
SSA:最差值: 0.0023779, 最优值: 1.2896e-08, 平均值: 0.00013172, 标准差: 0.00043688, 秩和检验: 0.4553
DEH-SSA:最差值: 0.00049614, 最优值: 4.4862e-09, 平均值: 9.1409e-05, 标准差: 0.00012524, 秩和检验: 1
函数:F4
GWO:最差值: 1.7315, 最优值: 0.24972, 平均值: 0.80272, 标准差: 0.34301, 秩和检验: 3.0199e-11
GSA:最差值: 8.4023e-08, 最优值: 2.5919e-08, 平均值: 4.8505e-08, 标准差: 1.5034e-08, 秩和检验: 6.6955e-11
SSA:最差值: 4.6657e-07, 最优值: 6.74e-13, 平均值: 2.4578e-08, 标准差: 8.5011e-08, 秩和检验: 0.34783
DEH-SSA:最差值: 3.3295e-08, 最优值: 9.8447e-12, 平均值: 8.0363e-09, 标准差: 8.7785e-09, 秩和检验: 1
函数:F5
GWO:最差值: 0.0071882, 最优值: 0.00065491, 平均值: 0.0023087, 标准差: 0.0015611, 秩和检验: 3.0199e-11
GSA:最差值: 7.7826, 最优值: 0.03407, 平均值: 0.57588, 标准差: 1.5389, 秩和检验: 3.0199e-11
SSA:最差值: 0.0013197, 最优值: 3.7654e-05, 平均值: 0.00045614, 标准差: 0.00039642, 秩和检验: 1.4733e-07
DEH-SSA:最差值: 0.00027645, 最优值: 8.2782e-07, 平均值: 7.3442e-05, 标准差: 6.1197e-05, 秩和检验: 1
函数:F6
GWO:最差值: -3810.037, 最优值: -7144.588, 平均值: -6071.316, 标准差: 779.7763, 秩和检验: 3.0199e-11
GSA:最差值: -1635.8941, 最优值: -3952.326, 平均值: -2688.7077, 标准差: 472.4738, 秩和检验: 3.0199e-11
SSA:最差值: -5620.2471, 最优值: -9667.2631, 平均值: -8097.5567, 标准差: 855.3363, 秩和检验: 1.1937e-06
DEH-SSA:最差值: -8117.1567, 最优值: -10234.8049, 平均值: -9184.2737, 标准差: 574.4599, 秩和检验: 1
函数:F7
GWO:最差值: 1.4655e-13, 最优值: 7.9048e-14, 平均值: 1.0747e-13, 标准差: 1.9189e-14, 秩和检验: 1.1183e-12
GSA:最差值: 0.00025071, 最优值: 0.00012663, 平均值: 0.0001713, 标准差: 3.0602e-05, 秩和检验: 1.2118e-12
SSA:最差值: 8.8818e-16, 最优值: 8.8818e-16, 平均值: 8.8818e-16, 标准差: 0, 秩和检验: NaN
DEH-SSA:最差值: 8.8818e-16, 最优值: 8.8818e-16, 平均值: 8.8818e-16, 标准差: 0, 秩和检验: NaN
函数:F8
GWO:最差值: 0.10907, 最优值: 0.0087484, 平均值: 0.042806, 标准差: 0.019916, 秩和检验: 3.0199e-11
GSA:最差值: 0.51912, 最优值: 1.7345e-10, 平均值: 0.070069, 标准差: 0.13543, 秩和检验: 2.6784e-06
SSA:最差值: 2.0206e-08, 最优值: 5.1392e-13, 平均值: 1.0502e-09, 标准差: 3.6746e-09, 秩和检验: 0.64142
DEH-SSA:最差值: 1.8072e-09, 最优值: 1.4747e-13, 平均值: 3.0006e-10, 标准差: 5.2324e-10, 秩和检验: 1
函数:F9
GWO:最差值: 12.6705, 最优值: 0.998, 平均值: 4.4238, 标准差: 4.2789, 秩和检验: 0.97033
GSA:最差值: 9.0451, 最优值: 0.998, 平均值: 3.431, 标准差: 1.9715, 秩和检验: 0.66073
SSA:最差值: 12.6705, 最优值: 0.998, 平均值: 7.292, 标准差: 5.7491, 秩和检验: 0.59871
DEH-SSA:最差值: 12.6705, 最优值: 0.998, 平均值: 6.8725, 标准差: 5.6797, 秩和检验: 1
函数:F10
GWO:最差值: 0.020363, 最优值: 0.00030755, 平均值: 0.0030602, 标准差: 0.0069049, 秩和检验: 5.4941e-11
GSA:最差值: 0.015849, 最优值: 0.00093105, 平均值: 0.0033569, 标准差: 0.0037192, 秩和检验: 3.0199e-11
SSA:最差值: 0.00030811, 最优值: 0.00030749, 平均值: 0.00030755, 标准差: 1.3138e-07, 秩和检验: 0.33285
DEH-SSA:最差值: 0.00030791, 最优值: 0.00030749, 平均值: 0.00030753, 标准差: 1.0381e-07, 秩和检验: 1
实验结果表明:DEH-SSA在局部和全局的搜索能力、收敛速度和精度、鲁棒性方面都要优于SSA、GWO等算法。
三、参考文献
[1] 朱鹏, 杜逆索, 欧阳智. 融合差分进化和混合多策略的麻雀搜索算法[J]. 计算机工程与设计, 2022, 43(6): 1609-1619.
融合差分进化和混合多策略的麻雀搜索算法相关推荐
- 基于 Sobol 序列和纵横交叉策略的麻雀搜索算法-附代码
基于 Sobol 序列和纵横交叉策略的麻雀搜索算法 文章目录 基于 Sobol 序列和纵横交叉策略的麻雀搜索算法 1.麻雀优化算法 2. 改进麻雀算法 2.1 基于 Sobol 序列初始化种群位置 2 ...
- 基于莱维飞行扰动策略的麻雀搜索算法-附代码
基于莱维飞行扰动策略的麻雀搜索算法 文章目录 基于莱维飞行扰动策略的麻雀搜索算法 1.麻雀优化算法 2. 改进麻雀算法 2.1 莱维飞行搜索机制 2.2 莱维飞行扰动策略 2.3 初始化混沌搜索机制 ...
- 【优化算法】基于matlab反向策略的麻雀搜索算法【含Matlab源码 1918期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[优化算法]基于matlab反向策略的麻雀搜索算法[含Matlab源码 1918期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式 ...
- 文献汇报 基于差分进化的混合人工蜂群算法
1.研究内容 人工蜂群算法(ABC)和差分进化算法(DE)是两种非常流行和有效的元启发式算法. 存在问题:收敛过早.探索开发不平衡.收敛速度慢. 混合的ABC和DE算法,是一种比以ABC和DE更高效, ...
- 多策略融合的改进麻雀搜索算法
文章目录 一.理论基础 1.麻雀搜索算法 2.改进麻雀搜索算法 2.1 种群初始化的改进 2.1.1 初始种群多样化 2.1.2 初始种群精英化 2.2 跟随者位置更新的改进 2.3 引入柯西高斯变异 ...
- 差分进化算法_基于状态估计反馈的策略自适应差分进化算法
差分进化算法框架下,借鉴闭环控制思想,设计状态评价因子,通过计算种群个体的进化状态估计值,实现变异策略的自适应切换,指导下一代种群的进化,以提高算法搜索性能. 王柳静, 张贵军, 周晓根. 基于状态估 ...
- 基于差分进化与优胜劣汰策略的灰狼优化算法-附代码
基于差分进化与优胜劣汰策略的灰狼优化算法 文章目录 基于差分进化与优胜劣汰策略的灰狼优化算法 1.灰狼优化算法 2. 改进灰狼优化算法(IGWO) 2.1 GWO 算法中的差分进化 2.2 狼群算法中 ...
- 差分进化算法_基于差分进化的水泥烧成系统动态优化算法
基于差分进化的水泥烧成系统动态优化算法 郝晓辰, 冀亚坤, 郑立召, 史鑫, 赵彦涛 燕山大学电气工程学院,河北 秦皇岛 066004 [摘 要]针对水泥烧成过程的资源浪费以及难以建立有效数学机理模 ...
- 差分进化算法 (differential evolution,DE)与离散差分进化算法(discrete DE, DDE)
目录 概述 初始化 变异操作 交叉操作 选择操作 参数分析 优点 缺点 离散差分进化算法 概述 差分进化算法是一种用于解决全局优化问题的随机搜索算法.与遗传算法. 粒子群优化算法.蚁群算法.人工蜂群算 ...
最新文章
- #天天复制,今天写一个# 把文字转为图片
- cannot find -lcudart
- ios开发返回按钮消失_iOS开发之自定义导航栏返回按钮右滑返回手势失效的解决...
- [react-router] 在history模式中push和replace有什么区别?
- C语言 项目 CRM系统(客户信息管理系统)
- 【月薪三万】听说深圳老师工资全国最高!!!比德国还高
- ThinkPHP5.0源码学习之框架启动流程
- iOS5 UIKit新特性
- 1g的树莓派4b能做什么_树莓派4B系统安装及配置
- 表单元素设置disabled后 支持点击事件
- 利用bootstrap的modal组件自定义alert,confirm和modal对话框
- v2ex热帖:面了几个程序员(3-5年),发现他们对MySQL的distinct关键字有误解......
- excel转置怎么操作_数据粘贴只会Ctrl+C就out了,五种选择性粘贴方法,让操作更高效...
- UVM寄存器模型:reg adapter实现和集成
- Codeforces 833D Red-Black Cobweb 边分治
- crh寄存器_STM32 学习笔记(寄存器)---2
- 读书笔记-云原生应用初探
- Activiti 学习笔记十:开始活动节点(判断流程是否结束及查询历史)
- Titanic:Machine Learning from Disaster 人工智能,大数据分析常用入门kaggle项目
- 病毒及攻击防御手册之四