智能优化算法:登山队优化算法-附代码

智能优化算法:登山队优化算法

文章目录

  • 智能优化算法:登山队优化算法
    • 1.登山队优化算法
      • 1.1 初始化
      • 1.2 协作登山
      • 1.3灾害威胁
      • 1.4协调防御
      • 1.5队员更新
    • 2.实验结果
    • 3.参考文献
    • 4.Matlab
    • 5.python

摘要:MTBO 算法是 Faridmehr 等人于 2023 年受登山队员登山过程中协作登顶行为启发而提出的一种新型元启发式优化算法。该算法通过模拟登山队员协作登山、灾害威胁、协调防御、队员更新实现队员位置更新来求解待优化问题,具有寻优能力强,收敛速度快等特点。

1.登山队优化算法

1.1 初始化

登山队由多名登山队员组成, 并有一位经验丰富的专业队长领队, 其目标 是征服该地区山顶,山顶被认为是待优化问题的最优解。与其他基于种群的优化算法类似, MTBO 也是从种群初始化开始:
X i = rand ⁡ ⋅ ( U j − L j ) , i = 1 , 2 , … , N ; j = 1 , 2 , … , D (1) X_i=\operatorname{rand} \cdot\left(U_j-L_j\right), \quad i=1,2, \ldots, N ; j=1,2, \ldots, D \tag{1} Xi=rand(UjLj),i=1,2,,N;j=1,2,,D(1)
式中, X i X_i Xi 为第 i i i 个登山队队员位置; U j , L j U_j, L_j Uj,Lj 为优化问题的第 j j j 维上、下限值; rand 为介于 0 和 1 之间的随机数; N N N 为登山队队员种群规模; D D D 为优化问题维度。

1.2 协作登山

在登山队中, 最有经验的成员往往被选举为队长, 登山队在队长的协调 和组织下登山, 并最终征服山顶。MTBO 算法在每次迭代之后, 队员位置将从最好到最坏进 行排序, 每个队员都通过队长和前面队员的引导。该阶段队员的位置更新数学描述如下:
X i new  = X i + rand ⁡ × ( X Leader  − X i ) + rand ⁡ × ( X i i − X i ) (2) X_i^{\text {new }}=X_i+\operatorname{rand} \times\left(X_{\text {Leader }}-X_i\right)+\operatorname{rand} \times\left(X_{i i}-X_i\right)\tag{2} Xinew =Xi+rand×(XLeader Xi)+rand×(XiiXi)(2)
式中, X i n e w X_i^{n e w} Xinew 为第 i i i 个登山队队成员新位置; X Leader  X_{\text {Leader }} XLeader  为登山队队长位置; X i i X_{i i} Xii 为受前面队员引导的 其他队员位置。

1.3灾害威胁

(3)灾害威胁。雪崩或跌落悬崖的发生可能威胁到登山队员的生命, 从而阻止登山队到 达山顶, 即迫使算法陷入局部最优状态。MTBO 中, 在随机发生雪崩等灾害的情况下, 登山 队队员通过下式来拯救自己, 即避免算法陷入局部最优, 并朝着最佳队员位置移动。该阶段 队员的位置更新数学描述如下:
X i new  = X i − rand ⁡ × ( X Avalanche  − X i ) (3) X_i^{\text {new }}=X_i-\operatorname{rand} \times\left(X_{\text {Avalanche }}-X_i\right) \tag{3} Xinew =Xirand×(XAvalanche Xi)(3)
式中, X Avalanche  X_{\text {Avalanche }} XAvalanche  为随机发生雪崩等灾害情况下的登山队队员位置; 其他参数意义同上。

1.4协调防御

在登山过程中, 当发生雪崩等灾难时, 整个登山队都会尽力营救被困队 员, 以防止队员死亡。该阶段的灵感就是来自于团队为拯救被困队员而做出的协作和努力, 该阶段队员的位置更新数学描述如下:
X i n e w = X i − rand ⁡ × ( X Team  − X i ) (4) X_i^{n e w}=X_i-\operatorname{rand} \times\left(X_{\text {Team }}-X_i\right) \tag{4} Xinew=Xirand×(XTeam Xi)(4)
式中, X Team  X_{\text {Team }} XTeam  为所有登山队队员的平均位置; 其他参数意义同上。

1.5队员更新

不幸的是, 登山队员可能会因雪崩等灾害而丧生, 上述任何阶段都无法 挽救登山队队员的生命。MTBO 考虑了这一灾难的发生, 即从登山队队员中删除该队员, 并 随机生成新队员。

2.实验结果

智能优化算法:登山队优化算法-附代码_第1张图片

3.参考文献

[1]FARIDMEHR I, NEHDI M L, DAVOUDKHANI I F, et al. Mountaineering team-based optimization: a novel human-based metaheuristic algorithm[J]. Mathematics, 2023, 11(5): 1273.

[2]李杰,崔东文.新型群体智能算法优化BIGRU/BILSTM的水资源空间均衡评价[J/OL].中国农村水利水电:1-15[2023-08-12].http://kns.cnki.net/kcms/detail/42.1419.TV.20230711.1622.039.html

4.Matlab

5.python

你可能感兴趣的:(智能优化算法,算法)