一、蛇优化算法简介
蛇优化算法(Snake Optimizer,SO)由Fatma A. Hashim和Abdelazim G. Hussien于2022年提出,该算法思路新颖,快速高效,模拟了蛇的觅食和繁殖行为。
二、蛇优化算法原理
雄性蛇和雌性蛇之间交配的发生受到某些因素的影响。蛇在春末和初夏交配,那时温度低。但交配过程不仅取决于温度,还取决于食物的充足性。如果温带低,食物充足;雄性蛇会互相争斗,以吸引雌性的注意力。雌性有权决定是否交配。如果发生交配,雌性开始在巢穴或洞穴中产卵,一旦卵出现,它就会离开。
蛇优化算法受蛇交配行为的启发,如果温度低且食物充足,则会发生交配,否则蛇只会寻找食物或吃掉剩余的食物。蛇优化算法分为两个阶段即全局探索或局部开发。探索取决于环境因素,即寒冷的地方和食物,在这种情况下,蛇只在周围寻找食物。对于开发,此阶段包括许多过渡阶段,以使全局更有效率。在食物可用但温度高的情况下,蛇只会专注于吃可用的食物。如果食物可用并且该区域寒冷,则会导致交配过程的发生;交配过程进行战斗模式或交配模式。在战斗模式中,每个雄性都会为获得最好的雌性而战,每个雌性都会尝试选择最好的雄性。在交配模式下,每对配对之间发生交配与食物数量的可用性有关。如果交配过程发生,则雌性产卵并将其孵化成新的蛇。SO将群体分成两个相等的群体即雄性和雌性。
2.1全局搜索(无食物)
如果Q<0.25,蛇通过选择任何随机位置来搜索食物,并更新它们的位置。
雄性蛇位置更新:
雌性蛇位置更新:
2.2局部搜索(有食物)
如果Q>0.25,且温度>0.6,则蛇只会向食物移动:
如果Q>0.25,且温度<0.6,则蛇将处于战斗模式或交配模式
2.2.1战斗模式
雄性蛇位置更新:
雌雄蛇位置更新:
2.2.2交配模式
雄性蛇位置更新:
雌雄蛇位置更新:
三、蛇优化算法流程
四、无人机(UAV)三维路径规划
单个无人机三维路径规划数学模型参考如下文献:
Phung M D , Ha Q P . Safety-enhanced UAV Path Planning with Spherical Vector-based Particle Swarm Optimization[J]. arXiv e-prints, 2021.
每个无人机的目标函数由路径长度成本,安全性与可行性成本、飞行高度成本和路径平滑成本共同组成:
4.1路径长度成本
路径长度成本由相邻两个节点之间的欧氏距离和构成,其计算公式如下:
4.2路径安全性与可行性成本
路径安全性与可行性成本通过下式计算:
4.3路径飞行高度成本
飞行高度成本通过如下公式计算所得:
4.4路径平滑成本
投影向量通过如下公式计算:
转弯角度的计算公式为:
爬坡角度的计算公式为:
平滑成本的计算公式为:
4.5总成本(目标函数)
总成本由最优路径成本,安全性与可行性成本、飞行高度成本和路径平滑成本的线性加权所得。其中,b为加权系数。
五、实验结果
在三维无人机路径规划中,无人机的路径由起点,终点以及起始点间的点共同连接而成。因此,自变量为无人机起始点间的各点坐标,每个无人机的目标函数为总成本(公式9)。本文研究两个无人机协同路径规划,总的目标函数为两个无人机的总成本之和。
5.1参数设置
(1)9个柱状障碍物的位置及半径:
R1=60; % Radius 60
x1 = 350; y1 = 500; z1 = 100; % center
R2=70; % Radius 70
x2 = 600; y2 = 200; z2 = 150; % center
R3=80; % Radius 80
x3 = 500; y3 = 350; z3 = 150; % center
R4=70; % Radius 70
x4 = 350; y4 = 200; z4 = 150; % center
R5=70; % Radius 70
x5 = 700; y5 = 550; z5 = 150; % center
R6=80; % Radius 80
x6 = 650; y6 = 750; z6 = 150; % center
R7=70; % Radius 70
x7 = 800; y7 = 400; z7 = 150; % center
R8=50; % Radius 50
x8 = 300; y8 = 350; z8 = 100; % center
R9=50; % Radius 50
x9 = 500; y9 = 600; z9 = 100; % center
(2)起始点位置:
第一个无人机起始点:
start_location = [150;200;150];
end_location = [800;800;150];
第二个无人机起始点:
start_location = [400;100;150];
end_location = [900;550;150];
(3)每个无人机起始点间共12个待求点。
(4)加权系数b=[5 1 10 1]。
(5)SO种群大小为50,最大迭代次数为5000。
5.2求解结果
独立运行三次,得到三次参考方案如下:(黑色正方形是起点,黑色圆圈是终点,共有9个柱状障碍物,红线为优化得到的第一个无人机路线,粉线为优化得到的第二个无人机路线。)
5.2.1结果一
5.2.2结果二
5.2.3结果三
六、参考代码
参考代码联系博主。