• 多子群改进的海洋捕食者算法-附代码


    多子群改进的海洋捕食者算法


    摘要:文章针对海洋捕食者算法(Marine Predators Algorithm, MPA)求解精度不高和收敛速度慢等缺点,提出一种多子群改进的海洋捕食者算法(Multi-subpopulation Marine Predators Algorithm ,MSMPA)。根据不同适应度值将海洋捕食者种群分为领导者、追随者和衔尾者三个子群。领导者子群保持位置不变,追随者子群进行高斯变异,衔尾者子群由全局最优位置和平均位置矢量生成。使用不同维度的经典基准函数来评估改进海洋捕食者算法的效率。实验结果显示,经过改进的海洋捕食者算法拥有更高的寻优精度和稳定性。

    1.海洋捕食者算法

    基础海洋捕食者算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/118468662

    2.改进海洋捕食者算法

    2.1 高斯变异

    Bäck 和 Schwefel [ 9 ] { }^{[9]} [9] 提出的高斯变异可用于提高 元启发式算法的搜索效率[10-12]。高斯分布由于其曲 线中间高两端较短的特点, 易在亲本候选解附近生 成新解。在搜索过程中, 应用高斯变异时, 它将采 取较小的步长, 探索解空间的更多地方。高斯变异 的主要优点是可以防止搜索过程中多样性的丧失。 将高斯变异用于海洋捕食者算法的位置更新, 如公 式 (10) 所示。
    P i = P i ∗ ( 1 + Gaussian ⁡ ( θ ) ) (10) P_i=P_i *(1+\operatorname{Gaussian}(\theta)) \tag{10} Pi=Pi(1+Gaussian(θ))(10)
    Gaussian ⁡ ( θ ) \operatorname{Gaussian}(\theta) Gaussian(θ) 为服从高斯分布的随机向量。

    2.2 MSMPA 算法

    为解决基本的 MPA 全局搜索寻优能力的不足, 容易收玫得到局部最优的问题, 本文提出了多子群 改进的海洋捕食者算法。在海洋捕食者的种群进行 迭代后, 根据获得的种群适应度值的大小对各个种 群进行了排序, 并将排序后的种群分为三个子种群 并对不同的子种群进行不同的操作。将适应度值由 小到大排列, 将种群按数量平均分为三个子群, 将 适应度值最小的到排名 N / 3 N / 3 N/3 分为一个子群, 命名为 领导者子群; 将适应度值排名为 N / 3 + 1 N / 3+1 N/3+1 2   N / 3 2 \mathrm{~N} / 3 2 N/3 分 为一个子群, 命名为追随者子群; 将适应度值排名 为 2   N / 3 + 1 2 \mathrm{~N} / 3+1 2 N/3+1 N \mathrm{N} N 分为一个子群, 命名为衔尾者子群。 领导者子群由于具有优异的寻优能力, 其位置 保持不变; 将追随者子群根据公式 (11) 进行更新; 将衔尾者子群根据公式 (12) 更新。
    P i = P i ( 1 + Gaussian ⁡ ( θ ) ) N / 3 ≤ i ≤ 2 N / 3 (11) P_i=P_i(1+\operatorname{Gaussian}(\theta)) \quad N / 3 \leq i \leq 2 N / 3 \tag{11} Pi=Pi(1+Gaussian(θ))N/3i2N/3(11)

    P i = P best  − P mean  − r 3 ( l b i + r 4 ( u b i − l b i ) ) , 2 N / 3 + 1 ≤ i ≤ N (12) P_i=P_{\text {best }}-P_{\text {mean }}-r_3\left(l b_i+r_4\left(u b_i-l b_i\right)\right),2 N / 3+1 \leq i \leq N \tag{12} Pi=Pbest Pmean r3(lbi+r4(ubilbi)),2N/3+1iN(12)

    请添加图片描述

    3.实验结果

    请添加图片描述

    4.参考文献

    [1]张磊,刘升,高文欣,郭雨鑫.多子群改进的海洋捕食者算法[J/OL].微电子学与计算机:1-9[2021-11-01].https://doi.org/10.19304/J.ISSN1000-7180.2021.0062.

    5.Matlab代码

    6.python代码

  • 相关阅读:
    C语言之链表
    个人博客管理系统
    港联证券:综合施策提振信心 资本市场新一轮深化改革拉开帷幕
    关系数据库系统中的 NULL 值及其用途
    苹果或推出多屏幕iPhone;​爱彼迎CEO:办公室时代已过去;Apache Flink 1.15 发布|极客头条
    Vue 3.0 + vite + axios+PHP跨域问题的解决办法
    计算机操作系统学习(二)计算机系统结构
    Java开发经典实战!2022 国内知名大厂Java岗面经
    k8s知识点
    invalid use of incomplete type ‘class Ui::xxx‘
  • 原文地址:https://blog.csdn.net/u011835903/article/details/127134052