针对船舶航行过程中会经常由于航行路线不佳,出现船舶故障、损坏的情况[1]。在船舶出发之前,经常会事先通过计算获得船舶航行的最优航线,计算过程除了要考虑海洋上千变万化的自然干扰因素之外,还需要考虑航行距离、能源消耗等数个因素影响问题,计算时需要优化航行距离、环境干扰等因素[2-4]。常见的计算方法,经常会导致航线规划后航行出现偏差,出现无效航线规划的结果,既无法节约航行时消耗的成本,还导致计算成本上升,航行过程也无法正确避免海洋上的障碍物[5-6]。为解决这一问题,众多研究者都作出相关研究:有学者提出以改进A~*算法作为基础的航线规划方法,构建水体环境的约束条件,利用代价函数优化A~*算法,规划航行的线路,该算法能够针对较为复杂的水体环境规划出船舶航行的路线,但是计算过程中可能丢失计划航线上的部分节点,经过反复验证,部分实验结果仍旧出现线路误差情况,仍旧需要进一步改进[7];还有学者使用改进人工势场法规划船舶的航行路线,先构建一个海洋环境的抽象力场,通过求和力场计算出船舶的路径寻优,通过路径寻优针对复杂环境规划航行路线,该方法稳定性较高,但是计算过程中会大致陷入局部极小值,计算时会出现引力与斥力,对于较为狭窄的海洋环境容易忽略,导致出现规划错误[8]。
粒子群算法是一种全局搜索方法,通过鸟群觅食的习性,演化出计算方法,计算过程简单易懂,具有更高的计算效率。目前相关研究为提升粒子群算法的效率,提出诸多改进方法,主要防向都是避免算法过早收敛陷入局部最优。改进后的粒子群算法具有更加良好的择优效果,能够搜索出更加准确的结果,应用于船舶航线搜索,将会获得更加良好的效果。本文研究基于改进粒子群优化算法的船舶最优航线导航,通过路径寻优,计算出最合适的船舶航行路线。
1 船舶最优航线导航方法 1.1 基础粒子群算法粒子群算法从自然中鸟群的飞行觅食状态中获得灵感,通过将随机粒子初始化并迭代探索出最优解。假设存在
$ {x_{id}} = {x_{id}} + {v_{id}},$ | (1) |
$ {v_{id}} = \omega *{v_{id}} + {c_1}{r_1}\left( {{p_{id}} - {x_{id}}} \right) + {c_2}{r_2}\left( {{p_{gd}} - {x_{id}}} \right) 。$ | (2) |
式中:
1)更新粒子速度方式
粒子群算法迭代更新过程中对于位置、速度向量较为关注,这2个向量都能实现指标解代价
$ E_k^{{m_1}} = \sum\limits_{j = 1}^{{m_1}} {v_j^T{v_j}} ,$ | (3) |
其中,
$ \Delta E_k^{{m_1}} = E_k^{{m_1}} - E_{k - 1}^{{m_1}} ,$ | (4) |
在整个粒子群之中选取
$ x_{id}^{k + 1} = x_{id}^k + v_{id}^{k + 1} ,$ | (5) |
$ v_{id}^{k + 1} = wv_{id}^k + {c_1}{r_1}\left( {p_{id}^k - x_{id}^k} \right) + {c_2}{r_2}\left( {p_{gd}^k - x_{id}^k} \right) + {\Delta _{id}} 。$ | (6) |
式中,
2)以最差粒子为基础的速度更新方法
分析式(1)与式(2)能够看出,基础的粒子群算法中,粒子运动时一方面通过自身实现经验学习,另一方面还会从种群中获得粒子的行为经验,这种学习行为的参照物是种群内的最优粒子。
构建全新以最差粒子作为发点的位置与速度更新方式,更新结果见下式:
$ x_{id}^{k + 1} = x_{id}^k + v_{id}^{k + 1} ,$ | (7) |
$ \begin{split} x_{id}^{k + 1} =& x_{id}^k + v_{id}^{k + 1} + {c_1}{r_1}\left( {p_{id}^k - x_{id}^k} \right) + {c_2}{r_2}\left( {g_{id}^k - x_{id}^k} \right) - \\ &{w_1}{r_1}\left( {P_{id}^k - x_{id}^k} \right) - {w_2}{r_2}\left( {G_{id}^k - x_{id}^k} \right) 。\end{split} $ | (8) |
船舶最优航线导航模型构建实际上就是先确定船舶的起点
使用式(9)表示
$ {X_i} = \left[ {{x_{i,1}},{x_{i,2}}, \cdots ,{x_{i,N}},{x_{i,N + 1}},{x_{i,N + 2}}, \cdots ,{x_{i,N + N}}} \right],$ | (9) |
式中,
使用
$ {X_i}\left( t \right) = \left[ {{X_{i,1}}\left( t \right),{X_{i,2}}\left( t \right), \cdots ,{X_{i,2N}}\left( t \right)} \right] ,$ | (10) |
设存在一个
$ {J_{threat}}\left( {{A_i}} \right) = \sum\limits_{l = 1}^L {\sum\limits_{j = 0}^N {{S_l}*{J_{l,j}}} },$ | (11) |
$ {J_{l,j}} = \left\{ \begin{gathered} 0,{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {b_{l,j}} > R,{\kern 1pt} {\kern 1pt} \hfill \\ \frac{R}{{{b_{l,j}}}} - 1{\kern 1pt} {\kern 1pt} ,{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} 0 < {b_{l,j}} \leqslant R,\hfill \\ \infty ,{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {b_{l,j}}{\text{ = }}0。\hfill \\ \end{gathered} \right. $ | (12) |
式中:
$ \begin{split}{J_{length}}\left( {{X_i}} \right) =& {b_{i,0}} + {b_{i,N}}_{ + 1} + \sum\limits_{j = 1}^{N - 1}\times\\ &{\sqrt {{{\left( {{x_{i,j}} - {x_{i,j + 1}}} \right)}^2} + {{\left( {{x_{i,j + N}} - {x_{i,j + 1 + N}}} \right)}^2}} }。\end{split} $ | (13) |
式中:
船舶水平转角代价
$ {J_{angle}}\left( {{X_i}} \right) = \sum\limits_{j = 1}^N {{\theta _j}} ,$ | (14) |
式中第
经过以上分析能够计算出粒子的适应度函数(航线优劣评价参数)为:
$ \begin{split}Fitness\left( {{X_i}} \right) = &{\omega _1}*{J_{threat}}\left( {{X_i}} \right) + {\omega _2}*{J_{length}}\left( {{X_i}} \right) +\\ &{\omega _3}*{J_{angle}}\left( {{X_i}} \right) 。\end{split}$ | (15) |
其中:
本文研究对象为双桨双舵柴油动力船,船长与船宽度分别为62.81 m和17.21 m,整体型深为6.41 m,设计夏季满载情况下的吃水水线为5.3 m,排水量为4287.8 t;空载时吃水接近2.744 m,排水量为1961.181 t,可参考载货量约为1343 t,构建材质为钢质。搭载G8300ZC31B-1主机,转速与功率分别为700 r/min和2317 kW,发电机组的功率为350 kW,应急配电形式为立式。试验过程中综合考虑船舶的性能参数,选取某海域地形图输入到模拟试验平台中,利用本文方法为该船舶搜索最优航线导航路径。初始化权重取值为1.0,2个加速度因子取值为2,这2个加速度因子分别反映出粒子对于自身的认知能力以及社会信息共享重要度,加速度因子会受到新学习因子的干扰,所以学习因子的取值设定为1,较差粒子个数设定为5。
需要通过对比体现出线路导航效果的优劣,所以分别使用改进A~*算法作为基础的航线导航方法以及改进人工势场法作为基础的航线导航方法,针对研究对象和海域同时在模拟试验平台中开展试验,这2个对比方法分别来自参考文献[7]与参考文献[8]。
收集航线中随机5个航迹点的经、纬度、航向角数据,分别使用3种方法计算这些数据内容,将计算结果与实际数据相对比,对比结果见表1。可以看出,改进A~*方法与改进人工势场方法与实际航行数据之间的差距较大,平均误差均超过4.9。本文方法计算后的航行数据与实际航迹点数据较为接近,平均误差只在0.5上下,说明使用本文方法计算航迹参数,准确效果较高,有利于为最优航线导航的确定打下良好基础。
根据航迹点会搜索出多条潜在船舶航线导航路径,各方法搜索结果见图1。可以看出,使用本文方法搜索的路径,未出现重复线路,能够极大程度节省航行时间消耗,降低航行过程中产生的不必要成本以及能源浪费,是一种比较优异的航行导航路径。
将某个实际海域资料导入到模拟试验平台之中,利用本文方法以及2种对比方法分别在该海域图像上搜索船舶航行最优航线导航路径,结果见图2。可以看出,对于较为复杂的凹形海洋障碍物,2种对比方法搜索的航线显示,在凹形海洋障碍物附近均出现错误搜索现象,航线在这附近出现重复绕行,而且2种对比方法尽管能够规避大多数海洋中的障碍物,但是绕行距离较远,耗费更多航行时间,不属于最优航线导航路径。本文方法能够搜索最短航线并且成功绕过难以识别的复杂地形,成功搜索出最优航线导航路径。
本文提出了改进粒子群优化算法的船舶最优航线导航方法,在基础粒子群算法的基础上使用精英粒子与较差粒子概念,补偿较差粒子,防止寻优提前陷入早熟,吸取最差粒子的经验,避免搜索最差解。将改进后的粒子群算法应用于复杂的海洋环境之中,实现船舶最优航线导航。经过实际试验发现,本文方法计算结果最为接近实际船舶数据,具有较高准确性,同时航线检索的时间最短,能源消耗最少,搜索成功后的航线能够规避海洋中的障碍物,航线导航效果最好。
[1] |
金建海, 孙俊, 张安通, 等. 基于量子粒子群优化算法的无人艇航线规划[J]. 船舶力学, 2020, 24(3): 352-361. |
[2] |
印波, 王锡淮, 肖健梅. 基于改进粒子群优化算法的船舶能量管理方案[J]. 中国舰船研究, 2020, 15(6): 37-45. |
[3] |
张进峰, 杨涛宁, 马伟皓. 基于多目标粒子群算法的船舶航速优化[J]. 系统仿真学报, 2019, 31(4): 787-794. |
[4] |
范云生, 郑鲲鹏, 赵永生. 基于改进粒子群优化算法的无人水面艇动态避碰方法[J]. 大连海事大学学报, 2020, 46(1): 1-9. |
[5] |
张岳星, 王轶群, 李硕, 等. 基于海图和改进粒子群优化算法的AUV全局路径规划[J]. 机器人, 2020, 42(1): 120-128. |
[6] |
曾勇, 张金奋, 张明阳, 等. 基于粒子群-遗传优化算法的船舶避碰决策[J]. 中国航海, 2020, 43(1): 1-6+28. DOI:10.3969/j.issn.1000-4653.2020.01.001 |
[7] |
潘明阳, 刘乙赛, 李琦, 等. 基于改进A~*算法的内河水网航线规划及应用[J]. 上海海事大学学报, 2020, 41(1): 40-45. |
[8] |
陈可嘉, 陈琳琳. 基于改进人工势场法的动态改航规划[J]. 飞行力学, 2020, 38(5): 84-89. |