一种基于交叉选择的柯西反向鲸鱼优化算法 -附代码
一种基于交叉选择的柯西反向鲸鱼优化算法
文章目录
摘要: 针对传统鲸鱼优化算法求解精度不高、容易陷入局部最优的缺点,提出了一种基于交叉选择策略的柯西反向鲸鱼优化算法。在鲸鱼优化算法中引入柯西反向学习技术以加快算法的收敛速度; 对鲸鱼优化算法中的种群个体进行交叉和选择操作以提高算法的求解精度。
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+bi−xi 。
在一般反向点概念的基础上, 很多新颖的反向学习概念 也随之产生。柯西反向点定义如下:
定义 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+bi−xi),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代码
相关文章
- Java实现蓝桥杯VIP算法训练 纪念品分组
- DL之RNN:人工智能为你写代码——基于TF利用RNN算法实现生成编程语言代码(C++语言)、训练&测试过程全记录
- 基于帝王蝶算法MBO求解最优目标(Matlab完整代码实现)
- 【机组组合】基于Benders分解算法解决混合整数规划问题——机组组合问题(Matlab代码实现)
- 基于智能优化算法的机器人路径优化(Matlab代码实现)
- 多因素蚁群算法的移动机器人路径规划研究(Matlab代码实现)
- 基于启发式蝙蝠算法、粒子群算法、花轮询算法和布谷鸟搜索算法的换热器PI控制器优化(Matlab代码实现)
- 基于多目标优化算法的电力系统分析(Matlab代码实现)
- 【分布式能源的选址与定容】基于多目标粒子群算法分布式电源选址定容规划研究(Matlab代码实现)
- 基于稀疏约束的图像去噪算法研究(Matlab代码实现)
- 基于粒子群算法的极限学习机(ELM)分类算法-附代码
- 基于蜣螂算法的极限学习机(ELM)回归预测-附代码
- 基于松鼠算法改进的DELM预测-附代码
- 基于花授粉算法改进的DELM预测 -附代码
- 基于狮群算法优化的BP神经网络(预测应用) - 附代码
- 智能优化算法应用:基于麻雀搜索算法的水文地质参数优化 -附代码
- 智能优化算法:黑寡妇算法 -附代码
- 收敛因子非线性变化的鲸鱼优化算法-附代码
- 基于反馈机制的鲸鱼优化算法-附代码
- 一种基于自适应策略的混合鲸鱼优化算法-附代码
- 一种改进的灰狼优化算法-附代码
- 基于自适应权重的缎蓝园丁鸟优化算法-附代码
- 【数据结构与算法】冒泡排序——Java、C++、Python 中的算法示例代码
- 一行代码就能解决的算法题
- 基于犹豫模糊逻辑的无线传感器网络温度自适应多属性睡眠调度算法(Matlab代码实现)
- 【故障诊断】基于负熵诱导灰狼优化算法的多目标信息频带选择用于滚动轴承故障诊断(Matlab代码实现)
- 【语音识别】基于K近邻分类算法的语音情感识别(Matlab代码实现)
- 【车间调度】基于黏菌算法算法和变邻域搜索的柔性作业车间调度研究(Matlab代码实现)
- 基于变邻域搜索平衡优化算法与粘菌算法的柔性车间调度(Matlab代码实现)