RecursiveFrog 发表于 2022-8-16 13:25

优化算法(四)——大白鲨优化算法

应网友需求,今天介绍一下大白鲨算法(White Shark Optimizer, WSO)。
      大白鲨算法的核心理念和基础思路受到大白鲨捕猎时的行为的启发,包括它们在海里航行和觅食时的非凡听觉和嗅觉。对觅食行为进行数学建模,以适应大白鲨在探索和开发之间的充分平衡,并帮助搜索代理探索和开发搜索空间的每个潜在区域以实现优化。
1. 算法介绍

1.1 初始化及简要概述

与差分进化(DE) 、鲸鱼算法(WOA)等元启发式算法一致,大白鲨算法在进入迭代前需要进行初始化,初始解用下式表示:


其中,在 d 维搜索空间(即问题的维度)中,n 条大白鲨的种群(即种群大小),以及每条大白鲨的位置,表示一个问题的候选解决方案可以描述为一个d维矩阵。


U_j 和 L_j 分别表示第j维中搜索空间的上限和下限,大白鲨的波浪速度可以用如下公式来表示:


其中v是波浪运动的速度,x是定义大白鲨在波浪运动中行进一整圈的距离的波长,f表示波浪运动的波频率,由数字决定白鲨每秒完成的转数(即周期),其中每秒周期称为赫兹 (Hz)。
当大白鲨靠近猎物时,它们的嗅觉会以指数方式增长,直到它们准确地确定猎物的可能位置,为了在大白鲨向猎物移动时更新它们的位置。


其中x表示大白鲨的新位置, x_i是原始位置, v_i是大白鲨的初始速度,t 表示初始位置和当前位置之间的时间间隔,a 是恒定的加速度因子。
1.2位置更新

大白鲨的三种行为被用来寻找猎物(即最佳食物来源),它们是:由于猎物运动而发生的波浪,而朝向猎物的运动。在这种情况下,白鲨利用其相关的听觉和嗅觉,使用起伏的运动导航到猎物。在海洋深处随机搜索猎物。为此,大白鲨向猎物的位置移动并靠近最佳猎物。以及,大白鲨利用鱼群行为,向最接近最佳猎物的最佳大白鲨移动。
朝猎物移动的速度(类似于PSO算法的速度更新公式)


其中i = 1, 2, . . . , n是大小为 n 的种群的大白鲨, V_{(K+1)}^i表示第 (k + 1)步中第i条大白鲨的新速度向量, V_k^i定义第 i 条大白鲨的当前速度向量在第 k 步中, Wgbest_k 表示迄今为止任何白鲨在第k次迭代中得到的全局最佳位置向量, W_k^i 是第 i 条白鲨在第 k 步中的当前位置向量, W_{best}^{V_k^i} 是群体已知的最佳已知位置向量, i 是白鲨到达最佳位置的第i个索引向量, c_1 和 c_2 是在 范围内均匀创建的两个随机数。
位置更新(探索&开发)


其中, a=sgn(W_k^i-u)>0 和 b=sgn(W_k^i-l)<0 是由公式定义的一维二进制向量, f表示波浪的频率参数mv来表达白鲨的听觉和嗅觉的强度,它作为迭代的函数而增加。较小的 mv 值会导致局部搜索,较大的mv值导致全局搜索,mv使用下式表示:


最佳位置移动(收敛)


W_{(k+1)}^{i'} 是第i条白鲨相对于猎物位置的更新位置,sgn(r_2-0.5) 给出 1 或 -1 以改变搜索的方向,r1、r2 和 r3 是在 范围内的随机数, D_w 是猎物(即食物来源)与白鲨之间的距离, s_s是文中建议参数大白鲨跟随其他接近最佳猎物的大白鲨时的嗅觉和视觉强度。
2.   源代码

WOS源代码传送门:White Shark Optimizer (WSO)


3. 算法改进

介于WOS含有速度更新公式,大概可以按照改进PSO那一套对WOS的速度更新进行改进(PS:谨代表个人观点,深挖创新点还得靠各位读者深究)。
4. 引用

Braik M, Hammouri A, Atwan J, et al. White Shark Optimizer: A novel bio-inspired meta-heuristic algorithm for global optimization problems. Knowledge-Based Systems, 2022, 243: 108457.

xiangtingsl 发表于 2022-8-16 13:27

tuna swarm optimization
页: [1]
查看完整版本: 优化算法(四)——大白鲨优化算法