目录
- 1.算法原理
- 2.数学模型
- 3.改进点
- 4.结果展示
- 5.参考文献
- 6.代码获取
1.算法原理
SCI二区|鲸鱼优化算法(WOA)原理及实现【附完整Matlab代码】
2.数学模型
使用 A* 算法生成所有目标点之间的距离矩阵U:
U
=
[
d
1
−
1
d
1
−
2
d
1
−
3
⋯
d
1
−
i
d
2
−
1
d
2
−
2
d
2
−
3
⋯
d
2
−
i
d
3
−
1
d
3
−
2
d
3
−
3
⋯
d
3
−
i
⋮
⋮
⋮
⋱
⋮
d
j
−
1
d
j
−
2
d
j
−
3
⋯
d
j
−
i
]
U=\begin{bmatrix}d_{1-1}&d_{1-2}&d_{1-3}&\cdots&d_{1-i}\\d_{2-1}&d_{2-2}&d_{2-3}&\cdots&d_{2-i}\\d_{3-1}&d_{3-2}&d_{3-3}&\cdots&d_{3-i}\\\vdots&\vdots&\vdots&\ddots&\vdots\\d_{j-1}&d_{j-2}&d_{j-3}&\cdots&d_{j-i}\end{bmatrix}
U=
d1−1d2−1d3−1⋮dj−1d1−2d2−2d3−2⋮dj−2d1−3d2−3d3−3⋮dj−3⋯⋯⋯⋱⋯d1−id2−id3−i⋮dj−i
其中,di-j为第i个目标点到第j个目标点 A* 算法所规划路径的实际距离。
多目标点路径规划问题可表述为:移动机器人需要遍历n个目标点,且每个目标仅被遍历一次,目的是求一条经过所有目标点的最短路径。
V
=
∑
i
=
1
,
i
=
1
n
x
(
l
i
,
l
j
)
V=\sum_{i=1, i=1}^nx\Big(l_i,l_j\Big)
V=i=1,i=1∑nx(li,lj)
3.改进点
自适应搜索控制系数
在标准鲸鱼优化算法中,系数向量C为均匀分布在[0,2] 内的随机数,是一个控制搜索速率的参数,故C值是在每次迭代时随机生成的,这可能导致搜索行为较为随机,无法充分平衡算法全局搜索和局部搜索的能力,从而导致
收敛精度不足。本文提出一种自适应搜索控制系数动态调整:
C
=
2
k
⋅
(
1
−
i
/
i
max
)
C=2k\cdot\begin{pmatrix}1-i / i_{\max}\end{pmatrix}
C=2k⋅(1−i/imax)
记忆库列表策略
添加一个记忆库列表,使算法能够记录迭代过程中遇到过的当前最优解。
PS:个人感觉用处不大🤣
再加入一种自己提出的创新改进策略A
4.结果展示
5.参考文献
[1] 王步伟,潘鹏程.基于改进鲸鱼优化算法的移动机器人多目标点路径规划[J].机器人技术与应用,2023,(06):14-19.