APP下载

基于改进粒子群优化算法的海上船舶避碰研究

2023-03-10许诺黄浪尘张诚赵晓瀚

电子设计工程 2023年5期
关键词:代价适应度粒子

许诺,黄浪尘,张诚,赵晓瀚

(湖南工业大学电气与信息工程学院,湖南株洲 412007)

为适应国际贸易的旺盛需求,海上运输行业发展迅速,《智能船舶发展行动计划(2019-2021 年)》将船舶自主航行避碰技术列为需要着重提升的关键智能技术之一。为减少碰撞事故、保障航行安全,对于船舶避碰算法的研究逐渐成为航海安全领域的热点方向[1-2]。

阳明霞[3]将北斗卫星通信系统应用于船舶航线规划中,利用北斗卫星确定出当前航向中的安全区域,再应用Dijkstra 算法规划航迹,实验结果证明了该应用具有更优的鲁棒性。曾勇[4]等提出了一种基于粒子群-遗传(PSO-GA)的混合优化算法,利用该算法搜索最佳转向角度与航行时间,最终证明PSOGA 算法PSO 或GA 算法相比,具有更好的寻优效率。倪生科[5]等将遗传算法与非线性规划方法相结合,考虑避碰路径的安全、平滑度、长度因素,建立避碰目标函数,通过仿真证明了算法的可行性与必要性。马文耀[6]等利用遗传算法结合人工鱼群算法规划船舶避碰路径,对人工鱼执行交叉、变异操作,选择最优个体,迭代产生最优解,对不同会遇场景进行仿真,得到安全经济的避碰路径。崔瑾娟[7]在遗传算法中引入粒子群算法机制,对遗传算法的选择、交叉和变异过程提出改进,避免算法过早陷入局部极值,仿真结果表明,由改进算法得到的避碰路径安全性高、搜索时间少。

1 船舶避碰模型

1.1 船舶会遇场景

根据《国际海上避碰规则》,将会遇场景分为对遇、交叉、追越三种情况[8]。如图1 所示,P1 为对遇,P2 为右侧交叉,P3 为追遇,P4 为左侧交叉。当来船位于P1、P2 时,即本船与来船会遇场景为对遇与右侧交叉时,按照《国际海上避碰规则》,本船应该采取避碰措施。

图1 会遇场景与对应角度

1.2 避碰路径规划

本船在确定需要启动避碰操作时,每隔t秒调整一次航向,共调整k次,假设船速为v,则产生一条长度为vkt的避碰路径。来船保持匀速直线航行,在每个时间点记录本船与来船的空间位置,计算在该条避碰路径上两船的最小距离dmin,ds为两船的安全距离,在保证dmin<ds的前提下,不断迭代寻优,找到偏航距离和平滑度最优的避碰路径。

在该模型中,粒子群优化算法初始随机生成n个粒子,每个粒子都是由k个偏航角度θ组成的一个实数序列,代表一条潜在的避碰路径。式(1)表示第t代第i个粒子的偏航角度序列[9]:

1.3 路径评价标准

设置规划空间为1 000 m×1 000 m 的二维海平面,约束条件为本船与来船在避碰过程中的任意时刻都保持安全距离ds,优化对象为避碰过程结束后本船的偏航距离以及避碰轨迹的平滑度。建立适应度函数f作为评价避碰路径优劣的指标,该文综合考虑了安全代价fs、距离代价fd、角度代价fa。

1)安全代价。当避碰路径上两船最小距离dmin大于预设的安全距离ds时,认为该路径是安全的,可以不考虑安全代价;当dmin<ds时,该路径有碰撞风险,应将安全代价fs设置为无穷大,避免选取该路径作为避碰路径。fs如式(5)所示:

2)距离代价。若(xn,yn)为本船在避碰路径终点时的北斗定位位置坐标,(x0,y0)为不进行避碰操作时原始航迹在该时刻的坐标,则可将偏航距离作为该避碰路径的距离代价。fd如式(6)所示:

3)角度代价。对一条避碰路径,应使其尽量平滑,偏航角度变化率尽可能小,以降低航行能耗和减少偏航操作。角度代价fa定义为在一条避碰路径上,所有相邻偏航角度差的绝对值的总和。fa如式(7)所示:

综合上述三个方面,可以得到适应度函数f如式(8)所示,式中k1、k2为比例系数,用于调节距离代价与角度代价的权重。

2 算法改进策略

传统粒子群优化算法对于所有粒子设置固定的控制参数,没有侧重性,不利于种群多样化[10-15]。该文从纵向与横向两个角度对粒子群优化算法的控制参数进行动态调整,使不同时期的不同粒子侧重于执行最适合该粒子的寻优任务,避免全局搜索与局部搜索对控制参数取值的竞争,使两种搜索能力同时得到提升。

2.1 动态调整惯性权重

根据前期保持较大惯性权重w,后期逐渐降低w值的策略,该文采用余弦衰减的惯性权重调整方法,将由迭代次数影响下的惯性参数wt作为t的函数,wt如式(9)所示:

粒子群在每次迭代过后,计算粒子的适应度值,除去适应度值为无穷大的粒子后,在其余粒子中找出最大适应度值fmax,最小适应度值fmin,并计算出平均适应度值-f。则由适应度值影响下的惯性参数wf为f的函数,wf如式(10)所示:

综合考虑迭代次数t与适应度值f对惯性参数w的影响,w如式(11)所示,式中α、β为比例系数,用于调节t与f对w的影响程度。

2.2 动态调整认知参数

在动态调整w的基础上,计算自我认知参数c1、社会认知参数c2[16]。设初始c1=2.0、c2=0.5,最终c1=0.5、c2=2.0;wmax=0.9,wmin=0.4。利用待定系数法得到c1、c2关于w的线性方程组如式(12)所示:

2.3 改进算法实现步骤

步骤1:初始化粒子群。随机生成n个粒子的偏航角度序列和变角速度序列,设置最大迭代次数为Tmax。

步骤2:根据迭代次数计算wt,根据适应度值计算wf,再由式(11)得到惯性权重w,由式(12)得到认知参数c1、c2。

步骤3:将控制参数w、c1、c2代入式(3),计算下一次迭代的变角速度序列。

步骤5:根据式(8)计算该代粒子的适应度值,更新个体最优解、全局最优解gbest。

步骤6:判断算法是否达到最大迭代次数,若没有则转到步骤2,若达到则结束搜索。

算法流程图如图2 所示。

图2 算法流程图

3 仿真验证分析

在Matlab2021a 平台上进行仿真测试,将改进算法与PSO 算法进行比较。表1 为3 种要求本船采取避障措施的会遇场景,表2 为算法参数,其中,PSO 算法参数取改进算法的初始参数。

表1 会遇场景参数

表2 算法参数

根据图3-5 可得表3-4,由表3、4 可知,在适应度值上,改进算法平均寻优结果为1 457.7,PSO 算法为1 490.4;在迭代次数上,改进算法平均为22 代达到稳定,PSO 算法平均为72 代。由测试数据可知,改进算法相较于PSO 算法在寻优结果上具有一定优势,在寻优速度上具有显著优势,平均迭代次数降低了69.4%,综合寻优效率获得明显提升。

表3 适应度对比

图3 会遇场景1适应度曲线

图4 会遇场景2适应度曲线

图5 会遇场景3适应度曲线

表4 迭代次数对比

4 结束语

针对传统PSO 算法的弊端,提出了相应的改进策略,从两个不同维度对算法的控制参数进行动态调整,提高了算法的灵活度。将改进算法应用于海上船舶避碰模型中,并通过Matlab 进行仿真。分析算法规划结果可知,改进算法在寻优结果与搜索效率上均优于PSO 算法,可以为海上船舶避碰决策提供一定的参考价值。

猜你喜欢

代价适应度粒子
改进的自适应复制、交叉和突变遗传算法
基于粒子群优化的桥式起重机模糊PID控制
一种基于改进适应度的多机器人协作策略
爱的代价
基于粒子群优化极点配置的空燃比输出反馈控制
代价
基于空调导风板成型工艺的Kriging模型适应度研究
成熟的代价
基于Matlab的α粒子的散射实验模拟
基于两粒子纠缠态隐形传送四粒子GHZ态