一种基于交叉选择的柯西反向鲸鱼优化算法 -附代码

一种基于交叉选择的柯西反向鲸鱼优化算法


摘要: 针对传统鲸鱼优化算法求解精度不高、容易陷入局部最优的缺点,提出了一种基于交叉选择策略的柯西反向鲸鱼优化算法。在鲸鱼优化算法中引入柯西反向学习技术以加快算法的收敛速度; 对鲸鱼优化算法中的种群个体进行交叉和选择操作以提高算法的求解精度。

1.鲸鱼优化算法

基础鲸鱼算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/107559167

2. 改进鲸鱼优化算法

2.1 柯西反向学习

k \mathrm{k} k 维空间中一个点的反向点定义如下:
定义 1 假定 P = x ( x 1 , x 2 , ⋯   , x k ) P=x\left(x_{1}, x_{2}, \cdots, x_{k}\right) P=x(x1,x2,,xk) k k k 维空间中的一个 点, 其中 x i ∈ [ a i , b i ] , i = 1 , 2 , ⋯   , k , a i x_{i} \in\left[a_{i}, b_{i}\right], i=1,2, \cdots, k, a_{i} xi[ai,bi],i=1,2,,k,ai b i b_{i} bi P P P 点在第 i i i 维 的最小值和最大值。则 P P P 点的反向点为:
O P = x ˉ ( x ˉ 1 , x ˉ 2 , ⋯   , x ˉ k ) (12) O P=\bar{x}\left(\bar{x}_{1}, \bar{x}_{2}, \cdots, \bar{x}_{k}\right) \tag{12} OP=xˉ(xˉ1,xˉ2,,xˉk)(12)
其中 x ˉ i = a i + b i − x i \bar{x}_{i}=a_{i}+b_{i}-x_{i} xˉi=ai+bixi
在一般反向点概念的基础上, 很多新颖的反向学习概念 也随之产生。柯西反向点定义如下:
定义 2 假定 P = x ( x 1 , x 2 , ⋯   , x k ) P=x\left(x_{1}, x_{2}, \cdots, x_{k}\right) P=x(x1,x2,,xk) k k k 维空间中的一个 点, 其中 x i ∈ [ a i , b i ] , i = 1 , 2 , ⋯   , k , a i x_{i} \in\left[a_{i}, b_{i}\right], i=1,2, \cdots, k, a_{i} xi[ai,bi],i=1,2,,k,ai b i b_{i} bi P P P 点在第 i i i 维 的最小值和最大值。则 P P P 点的柯西反向点为:
Q O P = rand ⁡ ( a i + b i 2 , a i + b i − x i ) , i = 1 , 2 , ⋯   , k (13) Q O P=\operatorname{rand}\left(\frac{a_{i}+b_{i}}{2}, a_{i}+b_{i}-x_{i}\right), i=1,2, \cdots, k \tag{13} QOP=rand(2ai+bi,ai+bixi),i=1,2,,k(13)
与普通反向点相比, 柯西反向点是在中点和普通反向点 之间随机产生的一个点。
本文除了利用柯西反向学习生成初始种群外, 在迭代过 程中还采用了柯西反向跳转的方式生成当前种群的反向种 群, 从而加快算法的收敛速度。柯西反向跳转的定义如下:
定义 3 假如 rand [ 0 , 1 ] ⩽ J r [0,1] \leqslant J_{r} [0,1]Jr 条件满足, 则为当前种群 生成对应的柯西反向种群,其中 J r J_{r} Jr 为跳转率。

2.2 引入交叉与选择策略的鲸鱼优化算法

在 DE 算法中,交叉是影响算法性能的关键步骤之一。本文将 DE 算法的二项式交叉与非同步选择过程引入到WOA 算法中,提高了 WOA 算法的种群多样性和求解精度。

请添加图片描述

3.实验结果

请添加图片描述

4.参考文献

[1]冯文涛,邓兵.一种基于交叉选择的柯西反向鲸鱼优化算法[J].兵器装备工程学报,2020,41(08):131-137.

5.Matlab代码

6.Python代码

猜你喜欢

转载自blog.csdn.net/u011835903/article/details/125859885