当前位置: 首页 > news >正文

一种改进的混合阿奎拉鹰和哈里斯鹰优化算法

文章目录

  • 一、理论基础
    • 1、阿奎拉鹰优化算法(AO)
    • 2、哈里斯鹰优化算法(HHO)
    • 3、非线性逃逸能量参数
    • 4、随机反向学习(ROBL)
    • 5、提出的IHAOHHO算法
  • 二、仿真实验与结果分析
  • 三、参考文献

一、理论基础

1、阿奎拉鹰优化算法(AO)

请参考这里。

2、哈里斯鹰优化算法(HHO)

请参考这里。

3、非线性逃逸能量参数

在原始的HHO算法中,逃逸能量 E E E被用来控制从探索到开发阶段的过渡。参数 E E E从2线性降为0,即迭代后半部分只进行局部搜索,容易陷入局部最优。为了克服算法的这一缺点,采用另一种方法更新逃逸能量 E E E E = E 1 × ( 2 × rand − 1 ) (1) E=E_1\times(2\times\text{rand}-1)\tag{1} E=E1×(2×rand1)(1) E 1 = 2 × ( 1 − ( t T ) 1 / 3 ) 1 / 3 (2) E_1=2\times\left(1-\left(\frac tT\right)^{1/3}\right)^{1/3}\tag{2} E1=2×(1(Tt)1/3)1/3(2)其中 t t t T T T分别为当前迭代次数和最大迭代次数。从图1(a)可以看出, E 1 E_1 E1在迭代早期快速下降,这控制了算法的全局搜索能力,在迭代中期变化缓慢。 E E E还平衡了全局和局部搜索性能,并在迭代的后期迅速减少,以加强局部搜索。 E E E可以在整个迭代过程中进行全局搜索和局部搜索。早期主要进行全局搜索,后期主要进行局部搜索,保留全局搜索的可能性,如图1(b)所示。
在这里插入图片描述

(a) E 1 E_1 E1迭代曲线

在这里插入图片描述
(b) E E E迭代曲线

图1 E1和E的迭代曲线

4、随机反向学习(ROBL)

反向学习(Opposition‐based learning, OBL)是一种强大的优化工具。OBL的主要思想是同时考虑估计值和相对估计值的适应度,以获得较好的候选解。OBL概念已成功应用于多种元启发式算法,以提高收敛速度。与原始的OBL不同,本文采用了一种改进的OBL策略,称为随机反向学习(Random Opposition‐based learning, ROBL),其定义如下: x ^ j = l j + u j − rand × x j ,    j = 1 , 2 , ⋯   , n (3) \hat x_j=l_j+u_j-\text{rand}\times x_j,\,\,j=1,2,\cdots,n\tag{3} x^j=lj+ujrand×xj,j=1,2,,n(3)其中, x ^ j \hat x_j x^j表示随机反向学习的解, l j l_j lj u j u_j uj是问题在第 j j j维的下限和上限, rand \text{rand} rand ( 0 , 1 ) (0,1) (0,1)内的随机数。由式(3)计算的反向解比原来的OBL更具随机性,可以有效地帮助种群跳出局部最优解。

5、提出的IHAOHHO算法

将AO的全局探索阶段和HHO的局部开发阶段结合起来,充分发挥这两种算法的优势,以保留算法的全局搜索能力、较快的收敛速度和跳出局部最优解的能力。同时,采用非线性逃逸能量机制控制算法从探索到开发的过渡,在后续迭代中保留全局探索的可能。在开发阶段增加了ROBL策略,以进一步提高算法跳出局部最优的能力。这些策略提高了混合算法的收敛速度和精度,有效地提高了算法的整体优化性能。这种改进的混合阿奎拉鹰和哈里斯鹰优化算法命名为IHAOHHO算法,图2给出了其执行流程图。
在这里插入图片描述

图2 IHAOHHO算法流程图

二、仿真实验与结果分析

将IHAOHHO与AO、HHO、SMA、SSA、WOA、GWO和PSO进行对比,以文献[1]中表1~表3的F1、F5(单峰函数/30维)、F10、F12(多峰函数/30维)、F19、F20(固定维度多峰函数/3维、6维)为例,实验设置种群规模为30,最大迭代次数为500,每种算法独立运算30次,结果显示如下:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

函数:F1
IHAOHHO:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
AO:最差值: 1.5464e-103, 最优值: 7.7114e-158, 平均值: 5.7907e-105, 标准差: 2.8327e-104, 秩和检验: 1.2118e-12
HHO:最差值: 2.8334e-95, 最优值: 8.5606e-113, 平均值: 1.3968e-96, 标准差: 5.5001e-96, 秩和检验: 1.2118e-12
SMA:最差值: 4.4386e-277, 最优值: 0, 平均值: 1.4795e-278, 标准差: 0, 秩和检验: 0.041926
SSA:最差值: 7.7365e-07, 最优值: 3.5155e-08, 平均值: 1.5836e-07, 标准差: 1.7126e-07, 秩和检验: 1.2118e-12
WOA:最差值: 4.2339e-71, 最优值: 7.0601e-84, 平均值: 1.4479e-72, 标准差: 7.7245e-72, 秩和检验: 1.2118e-12
GWO:最差值: 6.3608e-27, 最优值: 1.1512e-29, 平均值: 1.1981e-27, 标准差: 1.5482e-27, 秩和检验: 1.2118e-12
PSO:最差值: 2141.4998, 最优值: 406.5552, 平均值: 1086.5493, 标准差: 466.2114, 秩和检验: 1.2118e-12
函数:F5
IHAOHHO:最差值: 0.023396, 最优值: 3.7739e-07, 平均值: 0.0045288, 标准差: 0.0062981, 秩和检验: 1
AO:最差值: 0.042826, 最优值: 0.0001613, 平均值: 0.0034237, 标准差: 0.0078813, 秩和检验: 0.85338
HHO:最差值: 0.21284, 最优值: 4.0765e-05, 平均值: 0.016134, 标准差: 0.039453, 秩和检验: 0.045146
SMA:最差值: 28.2249, 最优值: 0.016757, 平均值: 7.3684, 标准差: 10.9982, 秩和检验: 4.0772e-11
SSA:最差值: 2098.3181, 最优值: 23.5842, 平均值: 238.0004, 标准差: 416.787, 秩和检验: 3.0199e-11
WOA:最差值: 28.7928, 最优值: 26.8614, 平均值: 28.0365, 标准差: 0.51291, 秩和检验: 3.0199e-11
GWO:最差值: 27.9537, 最优值: 25.7388, 平均值: 26.9523, 标准差: 0.629, 秩和检验: 3.0199e-11
PSO:最差值: 376852.1431, 最优值: 22424.0898, 平均值: 170589.4357, 标准差: 106614.7386, 秩和检验: 3.0199e-11
函数:F10
IHAOHHO:最差值: 8.8818e-16, 最优值: 8.8818e-16, 平均值: 8.8818e-16, 标准差: 0, 秩和检验: NaN
AO:最差值: 8.8818e-16, 最优值: 8.8818e-16, 平均值: 8.8818e-16, 标准差: 0, 秩和检验: NaN
HHO:最差值: 8.8818e-16, 最优值: 8.8818e-16, 平均值: 8.8818e-16, 标准差: 0, 秩和检验: NaN
SMA:最差值: 8.8818e-16, 最优值: 8.8818e-16, 平均值: 8.8818e-16, 标准差: 0, 秩和检验: NaN
SSA:最差值: 5.0919, 最优值: 1.3404, 平均值: 2.843, 标准差: 0.85924, 秩和检验: 1.2118e-12
WOA:最差值: 7.9936e-15, 最优值: 8.8818e-16, 平均值: 3.8488e-15, 标准差: 2.3012e-15, 秩和检验: 2.8987e-08
GWO:最差值: 1.6076e-13, 最优值: 7.5495e-14, 平均值: 1.0013e-13, 标准差: 1.661e-14, 秩和检验: 1.0821e-12
PSO:最差值: 11.7214, 最优值: 7.1844, 平均值: 9.5733, 标准差: 1.0487, 秩和检验: 1.2118e-12
函数:F12
IHAOHHO:最差值: 2.2159e-05, 最优值: 3.5571e-10, 平均值: 1.52e-06, 标准差: 4.0737e-06, 秩和检验: 1
AO:最差值: 3.415e-05, 最优值: 3.0895e-08, 平均值: 3.1111e-06, 标准差: 6.407e-06, 秩和检验: 0.015638
HHO:最差值: 1.9342e-05, 最优值: 1.3666e-09, 平均值: 6.4205e-06, 标准差: 6.678e-06, 秩和检验: 0.0014423
SMA:最差值: 0.017543, 最优值: 1.4468e-06, 平均值: 0.0037918, 标准差: 0.0047052, 秩和检验: 4.9752e-11
SSA:最差值: 14.9349, 最优值: 2.3843, 平均值: 7.5696, 标准差: 3.0671, 秩和检验: 3.0199e-11
WOA:最差值: 0.050616, 最优值: 0.0024202, 平均值: 0.019861, 标准差: 0.010739, 秩和检验: 3.0199e-11
GWO:最差值: 0.10539, 最优值: 0.013306, 平均值: 0.040367, 标准差: 0.020994, 秩和检验: 3.0199e-11
PSO:最差值: 69.7202, 最优值: 5.3537, 平均值: 22.8354, 标准差: 14.4969, 秩和检验: 3.0199e-11
函数:F19
IHAOHHO:最差值: -3.8121, 最优值: -3.8628, 平均值: -3.8561, 标准差: 0.01456, 秩和检验: 1
AO:最差值: -3.0882, 最优值: -3.8627, 平均值: -3.729, 标准差: 0.26, 秩和检验: 1.0188e-05
HHO:最差值: -3.0898, 最优值: -3.8628, 平均值: -3.837, 标准差: 0.14113, 秩和检验: 0.0094683
SMA:最差值: -3.8628, 最优值: -3.8628, 平均值: -3.8628, 标准差: 1.535e-07, 秩和检验: 3.3384e-11
SSA:最差值: -3.8628, 最优值: -3.8628, 平均值: -3.8628, 标准差: 1.3533e-11, 秩和检验: 3.0199e-11
WOA:最差值: -3.7898, 最优值: -3.8627, 平均值: -3.8545, 标准差: 0.014258, 秩和检验: 0.00095207
GWO:最差值: -3.8549, 最优值: -3.8628, 平均值: -3.8617, 标准差: 0.0023792, 秩和检验: 0.31119
PSO:最差值: -3.0898, 最优值: -3.8628, 平均值: -3.837, 标准差: 0.14113, 秩和检验: 1.1949e-10
函数:F20
IHAOHHO:最差值: -3.1428, 最优值: -3.3219, 平均值: -3.2819, 标准差: 0.062544, 秩和检验: 1
AO:最差值: -3.0484, 最优值: -3.3205, 平均值: -3.2542, 标准差: 0.07708, 秩和检验: 0.00035638
HHO:最差值: -3.1926, 最优值: -3.3219, 平均值: -3.2933, 标准差: 0.052543, 秩和检验: 0.0044272
SMA:最差值: -3.1989, 最优值: -3.322, 平均值: -3.2423, 标准差: 0.057313, 秩和检验: 0.72827
SSA:最差值: -3.1476, 最优值: -3.322, 平均值: -3.237, 标准差: 0.066811, 秩和检验: 0.53951
WOA:最差值: -3.0864, 最优值: -3.3216, 平均值: -3.2495, 标准差: 0.088724, 秩和检验: 0.00012477
GWO:最差值: -3.0789, 最优值: -3.322, 平均值: -3.27, 标准差: 0.079539, 秩和检验: 0.0036709
PSO:最差值: -3.1996, 最优值: -3.322, 平均值: -3.2902, 标准差: 0.053678, 秩和检验: 3.5709e-05

实验结果表明:IHAOHHO算法具有很强的优越性。

三、参考文献

[1] Wang S, Jia H, Abualigah L, et al. An Improved Hybrid Aquila Optimizer and Harris Hawks Algorithm for Solving Industrial Engineering Optimization Problems[J]. Processes. 2021, 9(9): 1551.

相关文章:

  • ubuntu16 虚拟机单盘扩容
  • 几个简单的JavaScript面试题
  • 和月薪3W的聊过后,才知道自己一直在打杂...
  • Elasticsearch 8.X 路径检索的企业级玩法
  • 为什么不试试神奇的3407呢?
  • 达梦数据库中序列(SEQUENCE)的用法
  • 代理工具SPP的使用
  • lua字符串相关方法,如截取中文字符串
  • 数据结构与算法之LeetCode-1224. 最大相等频率 - 力扣(LeetCode)
  • 吃货联盟订餐系统(用对象和数组来写的)
  • springboot源码理解七、run方法执行过程(刷新上下文前的准备阶段)
  • Koa 中间件使用之 koa-jwt
  • 月薪2w+的测试,到底强在哪里?
  • 如何正确地配置Gradle版本
  • c# 程序发布
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • Javascript弹出层-初探
  • JS变量作用域
  • Linux下的乱码问题
  • mysql中InnoDB引擎中页的概念
  • Promise初体验
  • select2 取值 遍历 设置默认值
  • Sublime text 3 3103 注册码
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • - 概述 - 《设计模式(极简c++版)》
  • 基于游标的分页接口实现
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 手写一个CommonJS打包工具(一)
  • 数组大概知多少
  • 思否第一天
  • 小李飞刀:SQL题目刷起来!
  • 用Python写一份独特的元宵节祝福
  • elasticsearch-head插件安装
  • 交换综合实验一
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • !!java web学习笔记(一到五)
  • ###51单片机学习(2)-----如何通过C语言运用延时函数设计LED流水灯
  • #mysql 8.0 踩坑日记
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • $(selector).each()和$.each()的区别
  • $.ajax()方法详解
  • (+4)2.2UML建模图
  • (1)(1.9) MSP (version 4.2)
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (四)模仿学习-完成后台管理页面查询
  • (转)视频码率,帧率和分辨率的联系与区别
  • *** 2003
  • ./configure、make、make install 命令
  • .apk文件,IIS不支持下载解决
  • .NET Core引入性能分析引导优化
  • .Net IE10 _doPostBack 未定义
  • .NET框架设计—常被忽视的C#设计技巧