具有记忆功能的海鸥优化算法-附代码

具有记忆功能的海鸥优化算法

文章目录

  • 具有记忆功能的海鸥优化算法
    • 1.海鸥优化算法
    • 2. 改进海鸥优化算法
      • 2.1 引入记忆功能
    • 3.实验结果
    • 4.参考文献
    • 5.Matlab代码
    • 6.python代码

摘要:在SOA算法海鸥群体进行攻击行为基础上改进,引入两个随机因子以及两个学习因子;同时在种群更新中,加入了海鸥种群的最佳位置和个体的历史最优值。一方面,MSOA算法使得海鸥向个体历史最优位置学习,另一方面,它又增强了向群体最佳位置的学习,从而避免了陷入局部最优解区域,增强了种群的寻优性能。

1.海鸥优化算法

基础海鸥优化算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/107535864

2. 改进海鸥优化算法

2.1 引入记忆功能

海鸥优化算法的介绍以及相关定理请参考引言里面的 文献, 文中 MSOA 算法是在 SOA算法海鸥群体进行攻击 行为基础上改进的, 引人两个随机因子以及两个学习因子; 同时在种群更新中, 加人了海鸥种群的最佳位置和个体的 历史最优值。一方面, MSOA 算法使得海鸥向个体历史最 优位置的学习; 另一方面, 它又增强了向群体最佳位置的 学习, 从而避免了种群陷人局部最优解区域, 增强了种群 的寻优性能。记忆功能的公式如下所示
P m ( t ) = d s ( t ) × x × y × z + P b s ( t ) + ( P g ( t ) − P s ( t ) ) × r 1 × w 1 + ( P b s ( t ) − P s ( t ) ) × r 2 × w 2 (5) P_m(t)=d s(t) \times x \times y \times z+P_{b s}(t)+\\ \left(P_g(t)-\left.P_s(t)\right) \times r_1 \times w_1+\left(P_{b s}(t)-P_s(t)\right) \times r_2 \times w_2\right.\tag{5} Pm(t)=ds(t)×x×y×z+Pbs(t)+(Pg(t)Ps(t))×r1×w1+(Pbs(t)Ps(t))×r2×w2(5)
式中: 随机因子 r 1 r_1 r1 r 2 r_2 r2 设置为 0 和 1 之间的随机数, 从而 增强海鸥飞行过程中的随机性, 学习因子 w 1 、 w 2 w_1 、 w_2 w1w2 的值设置 为 0.9 0.9 0.9, 从而保证算法能够更好收敛, 增强了海鸥向个体学 习以及群体学习的能力, P g ( t ) P_g(t) Pg(t) 表示海鸥个体的历史最优位 置, P m ( t ) P_m(t) Pm(t) 为记忆个体, P s ( t ) P_s(t) Ps(t) 为上一代个体。
为了增强算法的求解能力, 需要将迭代出来的海鸥位 置, 即记忆个体与上一代个体位置的适应度进行比较, 选 出最优的位置。判断如下所示:
if 记忆个体的适应度值 > > > 上一代个体的适应度 上一代个体位置替换记忆个体位置
else
记忆个体的位置保持不变
M S O A \mathrm{MSOA} MSOA 算法不但更新当前群体的全局最优值, 而且更新 了每个海鸥个体的历史最优信息。这样不仅能够使海鸥个体跳 出局部极值进人解空间的新区域继续进行搜索最优解, 也还能 够提高算法的收敛精度和收敛速度, 避免陷人局部最优。

具有记忆功能的海鸣优化算法的求解过程分为初始化 过程、适应度计算过程、循环迭代过程、篮选过程、更新 适应度值和位置过程、输出结果过程 6 个过程。具有记忆 功能的海鸥优化算法 (MSOA) 的求解步骤如下所述:
步骤 1 种群初始化。设置种群大小 popsize, 最大迭 代次数 maxiter, 线性频率 f c \mathrm{f}_{\mathrm{c}} fc, 螺旋形状的参数 u 、 v u 、 \mathrm{v} uv 等;
步骤 2 计算当前海鸥种群每个个体的适应度值, 计算 出当前海鸥种群的全局最优位置和设置个体最优位置;
步骤 3 迭代寻优, 更新海鸥的位置;
步骤 4 计算出海鸥避免碰撞后的新位置;
步骤 5 计算出海鸥的最佳位置方向;
步骤 6 计算海鸥靠近最佳位置;
步骤 7 引人具有记忆功能式 (5) 结合攻击行为的公 式计算出海鸥的新位置, 从而得到新的一代海鸥个体;
步骤 8 比较记忆个体和上一代个体的适应度值, 把最 好的个体保存下来;
步骤 9 更新海鸥的位置和适应度值, 个体更新和全体 更新;
步骤 10 是否满足条件, 若满足, 结束循环, 否则, 继 续迭代寻优;
步骤 11 输出海鸥的最佳位置和适应度值、输出迭代过程;
步骤 12 结束程序。

3.实验结果

具有记忆功能的海鸥优化算法-附代码_第1张图片

4.参考文献

[1]许乐,莫愿斌,卢彦越.具有记忆功能的海鸥优化算法求解方程组[J].计算机工程与设计,2021,42(12):3428-3437.DOI:10.16208/j.issn1000-7024.2021.12.018.

5.Matlab代码

6.python代码

你可能感兴趣的:(智能优化算法改进,算法,机器学习,人工智能)