文章目录

  • 一、理论基础
    • 1、黑猩猩优化算法
    • 2、改进的黑猩猩优化算法
      • (1)Sobol序列初始化种群
      • (2)基于凸透镜成像的反向学习策略
      • (3)水波动态自适应因子
      • (4)SLWChOA实现步骤
  • 二、仿真实验与结果分析
  • 三、参考文献

一、理论基础

1、黑猩猩优化算法

请参考这里。

2、改进的黑猩猩优化算法

(1)Sobol序列初始化种群

初始解在解空间的分布情况很大程度上影响元启发式算法的收敛速度和寻优精度。均匀分布的种群初始解可以有效提高算法的搜索效率。标准ChOA采用随机方式初始化种群,这种方法遍历性低且种群分布不均匀。本文采用Sobol序列初始化种群,Sobol序列是一种低差异序列,使用确定性拟随机数序列代替伪随机数序列的方法,将尽可能均匀的点填充至多维超立方体。因此,Sobol序列在解决概率问题时,计算效率更高,采样点覆盖率更广。
设全局解的取值范围为[lb,ub][lb,ub][lb,ub],有Sobol序列产生的第iii个随机数为Si∈[0,1]S_i\in[0,1]Si​∈[0,1],则种群初始位置表示如式(1)所示:Xn=lb+Si⋅(ub−lb)(1)X_n=lb+S_i\cdot(ub-lb)\tag{1}Xn​=lb+Si​⋅(ub−lb)(1)假设搜索空间为二维,上下界分别为0和1,种群规模为100,对比随机初始化种群空间分布和Sobol序列初始化种群空间分布如图1所示。

(a)随机种群初始化分布
(b)Sobol序列种群初始化分布 图1 不同方法产生的初始化种群分布图

(2)基于凸透镜成像的反向学习策略

凸透镜成像的反向学习的数学模型请参考这里。本文在此基础上提出一种基于非线性动态递减的伸缩因子策略,在算法迭代前期可以获得较大值,使算法可以在不同维度区域进行更大范围的搜索,提高群体的多样性;在算法迭代后期获得较小值,在最优个体附近进行精细搜索,提高局部寻优能力。非线性动态伸缩因子计算公式如式(2)所示:η=ηmax⁡−(ηmax⁡−ηmin⁡)⋅(t/tmax⁡)2(2)\eta=\eta_{\max}-(\eta_{\max}-\eta_{\min})\cdot(t/t_{\max})^2\tag{2}η=ηmax​−(ηmax​−ηmin​)⋅(t/tmax​)2(2)其中,ηmax⁡\eta_{\max}ηmax​和ηmin⁡\eta_{\min}ηmin​分别为最大伸缩因子和最小伸缩因子;tmax⁡t_{\max}tmax​为最大迭代次数。
将凸透镜成像的反向学习的数学公式推广至DDD维搜索空间可得:Xj∗=ubj+lbj2+ubj+lbj2⋅η−Xjη(3)X_j^*=\frac{ub_j+lb_j}{2}+\frac{ub_j+lb_j}{2\cdot\eta}-\frac{X_j}{\eta}\tag{3}Xj∗​=2ubj​+lbj​​+2⋅ηubj​+lbj​​−ηXj​​(3)其中,XjX_jXj​和Xj∗X_j^*Xj∗​分别为XXX和X∗X^*X∗的第jjj维向量,ubjub_jubj​和lbjlb_jlbj​分别为决策变量的第jjj维向量的上下界。通过对算法中全局最优个体进行凸透镜成像反向学习,将各维度的值映射到空间中得到反向解,不仅避免各维度之间的干扰,而且扩大算法的搜索范围。虽然凸透镜的反向学习策略极大程度地提高算法的求解精度,在一定程度上帮助种群跳出局部最优,但是无法直接判断产生新的反向个体是否优于原始个体。因此,采用贪婪机制比较新旧个体适应度值,进而筛选出最优个体,通过这种方式不断获得更优解,提高算法的寻优能力。其中贪婪机制的数学模型描述如式(4)所示:Xnew(t)={X∗f(X)≥f(X∗)Xf(X)<f(X∗)(4)X_{\text{new}}(t)=\begin{dcases}X^*\quad f(X)≥f(X^*)\\X\quad\,\, f(X)<f(X^*)\end{dcases}\tag{4}Xnew​(t)={X∗f(X)≥f(X∗)Xf(X)<f(X∗)​(4)

(3)水波动态自适应因子

本文在攻击者位置更新公式中加入水波动态自适应因子,利用水波的动态变化的不确定性使得攻击者能在更广泛的区域搜索,降低其他个体跟随的盲目性,增强群体间的信息交流和学习,保持种群多样性,有效避免了趋同性,进而提高算法跳出局部最优的能力。
水波动态自适应因子的数学模型如式(5)所示:λ=1−sin⁡(π⋅t2⋅tmax⁡+2⋅π)(5)\lambda=1-\sin\left(\frac{\pi\cdot t}{2\cdot t_{\max}}+2\cdot\pi\right)\tag{5}λ=1−sin(2⋅tmax​π⋅t​+2⋅π)(5)ChOA引入水波动态自适应因子后攻击者位置更新公式为:X1=λ⋅Xattacker−a1⋅∣C1⋅Xattacker−m1⋅X∣(6)X_1=\lambda\cdot X_{attacker}-a_1\cdot|C_1\cdot X_{attacker}-m_1\cdot X|\tag{6}X1​=λ⋅Xattacker​−a1​⋅∣C1​⋅Xattacker​−m1​⋅X∣(6)

(4)SLWChOA实现步骤

综合上述改进方法,本文所提SLWChOA实现步骤如下所示:
step 1:初始化算法相关参数:种群规模NNN、空间维度dimdimdim、搜索空间[ub,lb][ub, lb][ub,lb]、最大迭代次数tmax⁡t_{\max}tmax​;
step 2:按照式(1)利用Sobol序列初始化种群;
step 3:计算每个黑猩猩个体的适应度值,并选择适应度最小的前四个个体位置,分别记录为XattackerX_{attacker}Xattacker​、XbarrierX_{barrier}Xbarrier​、XchaserX_{chaser}Xchaser​和XdriverX_{driver}Xdriver​;
step 4:按照ChOA的相应公式计算参数a,m,Ca, m, Ca,m,C的值;
step 5:按照式(3)对XattackerX_{attacker}Xattacker​进行凸透镜成像反向学习,产生反向解Xattacker∗X_{attacker}^*Xattacker∗​,根据式(4)的贪婪机制选择适应度值低的解;
step 6:按照ChOA的相应公式更新XbarrierX_{barrier}Xbarrier​、XchaserX_{chaser}Xchaser​、XdriverX_{driver}Xdriver​,按照式(6)更新XattackerX_{attacker}Xattacker​,并进一步更新黑猩猩种群位置;
step 7:判断是否满足迭代终止条件,满足则输出全局最优黑猩猩位置XattackerX_{attacker}Xattacker​,否则进入step 3继续执行。

二、仿真实验与结果分析

为充分验证SLWChOA的有效性和优越性,将基本ChOA与本文加入Sobol序列初始化的黑猩猩算法(SChOA)、加入凸透镜成像反向学习策略的黑猩猩算法(LChOA)、加入水波动态自适应因子的黑猩猩算法(WChOA)在文献[1]中表1的函数F1、F2、F6、F7、F9、F10进行仿真实验对比。算法通用条件设置为相同,种群大小N=30N=30N=30,空间维度dim=30dim=30dim=30,最大迭代次数tmax⁡=1000t_{\max}=1000tmax​=1000。每个算法运行20次,结果显示如下:

函数:F1
ChOA:最差值: 1.0946e-13,最优值: 2.5017e-20,平均值: 1.1923e-14,标准差: 2.6573e-14,秩和检验: 8.0065e-09
SChOA:最差值: 2.1979e-14,最优值: 1.2159e-21,平均值: 2.0484e-15,标准差: 4.9721e-15,秩和检验: 8.0065e-09
LChOA:最差值: 0,最优值: 0,平均值: 0,标准差: 0,秩和检验: NaN
WChOA:最差值: 5.1672e-91,最优值: 1.3799e-96,平均值: 3.1947e-92,标准差: 1.1512e-91,秩和检验: 8.0065e-09
SLWChOA:最差值: 0,最优值: 0,平均值:0,标准差: 0,秩和检验: NaN
函数:F2
ChOA:最差值: 4.7998e-10,最优值: 1.5913e-14,平均值: 8.8262e-11,标准差: 1.4059e-10,秩和检验: 8.0065e-09
SChOA:最差值: 1.1273e-09,最优值: 6.6346e-15,平均值: 9.1823e-11,标准差: 2.5123e-10,秩和检验: 8.0065e-09
LChOA:最差值: 0,最优值: 0,平均值: 0,标准差: 0,秩和检验: NaN
WChOA:最差值: 2.4489e-50,最优值: 8.0319e-54,平均值: 2.0413e-51,标准差: 5.3544e-51,秩和检验: 8.0065e-09
SLWChOA:最差值: 0,最优值: 0,平均值:0,标准差: 0,秩和检验: NaN
函数:F6
ChOA:最差值: 49.1311,最优值: 8.5151e-11,平均值: 9.2217,标准差: 11.897,秩和检验: 8.0065e-09
SChOA:最差值: 11.1021,最优值: 1.1369e-13,平均值: 3.0746,标准差: 3.4226,秩和检验: 8.0065e-09
LChOA:最差值: 0,最优值: 0,平均值: 0,标准差: 0,秩和检验: NaN
WChOA:最差值: 0,最优值: 0,平均值: 0,标准差: 0,秩和检验: NaN
SLWChOA:最差值: 0,最优值: 0,平均值:0,标准差: 0,秩和检验: NaN
函数:F7
ChOA:最差值: 19.9641,最优值: 19.9579,平均值: 19.9618,标准差: 0.0015098,秩和检验: 8.0065e-09
SChOA:最差值: 1.7015e-07,最优值: 1.7737e-12,平均值: 1.7522e-08,标准差: 3.8807e-08,秩和检验: 8.0065e-09
LChOA:最差值: 8.8818e-16,最优值: 8.8818e-16,平均值: 8.8818e-16,标准差: 0,秩和检验: NaN
WChOA:最差值: 19.9642,最优值: 19.9594,平均值: 19.9622,标准差: 0.001347,秩和检验: 8.0065e-09
SLWChOA:最差值: 8.8818e-16,最优值: 8.8818e-16,平均值:8.8818e-16,标准差: 0,秩和检验: NaN
函数:F9
ChOA:最差值: 0.99846,最优值: 0.998,平均值: 0.99804,标准差: 0.00010239,秩和检验: 0.056517
SChOA:最差值: 0.99825,最优值: 0.998,平均值: 0.99802,标准差: 5.9278e-05,秩和检验: 0.0019533
LChOA:最差值: 0.99812,最优值: 0.998,平均值: 0.99802,标准差: 3.0614e-05,秩和检验: 0.027483
WChOA:最差值: 0.99901,最优值: 0.998,平均值: 0.99816,标准差: 0.00027276,秩和检验: 0.59786
SLWChOA:最差值: 0.99883,最优值: 0.998,平均值:0.99814,标准差: 0.00022294,秩和检验: 1
函数:F10
ChOA:最差值: 3.0003,最优值: 3,平均值: 3,标准差: 6.5821e-05,秩和检验: 0.04388
SChOA:最差值: 3.0001,最优值: 3,平均值: 3,标准差: 3.0048e-05,秩和检验: 0.0051153
LChOA:最差值: 3.0002,最优值: 3,平均值: 3.0001,标准差: 6.2804e-05,秩和检验: 0.10173
WChOA:最差值: 3.0001,最优值: 3,平均值: 3,标准差: 3.4633e-05,秩和检验: 0.013321
SLWChOA:最差值: 3.0003,最优值: 3,平均值:3.0001,标准差: 9.2831e-05,秩和检验: 1

实验结果表明,所提算法在寻优精度、收敛速度和鲁棒性上均较对比算法有较大提升。

三、参考文献

[1] 何庆, 罗仕杭. 混合改进策略的黑猩猩优化算法及其机械应用[J/OL]. 控制与决策: 1-11 [2021-12-04].

混合改进策略的黑猩猩优化算法相关推荐

  1. 融合多策略的黄金正弦黑猩猩优化算法

    文章目录 一.理论基础 1.基本黑猩猩优化算法 2.改进的黑猩猩优化算法 2.1 Halton序列初始化种群 2.2 非线性收敛因子和自适应权重 2.2.1 非线性收敛因子 2.2.2 自适应权重因子 ...

  2. 多策略黑猩猩优化算法-附代码

    多策略黑猩猩优化算法 文章目录 多策略黑猩猩优化算法 1.黑猩猩优化算法 2. 改进黑猩猩优化算法 2.1 混沌反向学习策略初始化种群 2.2 单纯形法 2.3 群个体记忆机制 3.实验结果 4.参考 ...

  3. 【优化求解】基于多策略黑猩猩优化算法求解单目标优化问题附matlab代码

    1 简介 针对黑猩猩优化算法(Chimp optimization algorithm, ChOA)存在收敛速度慢,精度低和易陷入局部最优值的问题, 提出一种融合多策略的黄金正弦黑猩猩优化算法(ICh ...

  4. 混合整数分布式蚁群优化算法-MIDACO介绍和试用

    混合整数分布式蚁群优化算法-MIDACO MIDACO是数值优化问题的求解器.MIDACO可以应用于连续(NLP非线性规划).离散/整数(IP整数规划)和混合整数规划(MINLP)问题.MIDACO可 ...

  5. 多策略融合算术优化算法

    文章目录 一.理论基础 1.算术优化算法 2.MFAOA算法 (1)Sobol序列初始化 (2)数学优化器加速函数MOA的改进 (3)混沌精英突变策略 (4)MFAOA实现步骤 二.实验仿真与结果分析 ...

  6. 基于比例权重的位置加权关系的黑猩猩优化算法

    文章目录 一.理论基础 1.黑猩猩优化算法 2.一种加权的黑猩猩优化算法 二.仿真实验与结果分析 三.参考文献 一.理论基础 1.黑猩猩优化算法 请参考这里. 2.一种加权的黑猩猩优化算法 虽然攻击者 ...

  7. 精英反向学习与二次插值改进的黏菌优化算法ISMA(学习笔记_13)

    1.理论分析 1.SMA 优点:较强的全局探索能力 缺点:后期迭代震荡作用较弱,易陷入局部最优:收缩机制不强,收敛速度较慢:初始种群质量低,探索和开发过程难以平衡. 2.精英反向学习机制 反向学习OB ...

  8. 改进的白骨顶鸡优化算法(Improved Coot Optimization Algorithm,ICOOT)(原文作者)

    改进的白骨顶鸡优化算法(Improved Coot Optimization Algorithm,ICOOT)(原文作者) 一.算法灵感 二.算法介绍 2.1 初始化 2.2 跟随者位置更新(探索阶段 ...

  9. MBSO:改进的头脑风暴优化算法

    MBSO:改进的头脑风暴优化算法 参考文献 <A Modified Brain Storm Optimization> 要点 BSO通常使用分组,替换和创建来产生尽可能多的想法,以逐代解决 ...

最新文章

  1. 线程的状态、调度、同步
  2. 二分法:二分查找(递归+非递归)实现
  3. Delphi中uses在interfeace和implementation中的区别
  4. 应用交付老兵眼中的Envoy, 云原生时代下的思考
  5. iOS 应用内跳转到appstore里下载
  6. HTML+CSS+JS实现 ❤️响应式的幸运大转盘❤️
  7. 代码生成工具之数据库表及字段名称转义
  8. 人生果实 Life is fruity 缓慢而坚定地做自己能做的事情
  9. java语言代码大全_java语言代码大全解析
  10. java jco_JAVA通过JCo连接SAP
  11. linuxshell如何实现进度条效果
  12. UI设计流行渐变配色素材,轻松驾驭色彩
  13. 修改视频属性中的'修改时间'
  14. 【面试】剑指OFFER
  15. iphone老是显示e服务器,苹果手机变成e网怎么办(苹果手机上显示e,怎么回事?)
  16. 5部靠身材和脸蛋撑起了整部电影,女主光环太刺眼,部部是经典!
  17. Tableau字符串拼接
  18. SVD分解和矩阵的Lipschitz条件等
  19. python如何画点_python matplotlib 如何画点 而不要画点之间的连线?
  20. 绿源2022一款新电动车——cola3,祝你3.8女神节快乐

热门文章

  1. Golang神奇的2006-01-02 15:04:05
  2. 动态 V2 基础配置命令
  3. 和腾讯面试官聊了一个小时人生后,我竟意外的收到Java的offer
  4. unreal-教程-第十章:蒙太奇实现拔剑动作
  5. 2021ICPC沈阳区域赛BEFIJM
  6. round在python是什么意思_python3.3.2我对函数“round”有正确的理解吗?
  7. android输入法架构解析
  8. 晋升到头了,怎么办?
  9. 纷享销客2022新增长系列之《高科技行业橙皮书》重磅发布
  10. 一般3d模型代做多少钱_代做su模型一般怎么收费