一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于改进遗传算法的船舶航行实时最优航线规划方法与流程

2021-11-06 03:34:00 来源:中国专利 TAG:


1.本发明涉及船舶航线设计技术领域,具体涉及一种基于改进遗传算法的船舶航行实时最优航线规划方法。


背景技术:

2.目前,根据船舶能否对周围环境实现感知,可将航线规划方法分为静态(全局)和动态(局部)路径规划两类。静态路径规划主要是根据自身地理坐标定位结果和给定目标点,根据规划任务的要求来计算求解出一条适合航行的无碰航线。全局路径规划方法的研究已经取得了一些成果。常用的研究方法可分为图的搜索算法、元启发算法、启发式算法、神经网络算法等,具体为可视图法、dijkstra算法、蚁群算法、遗传算法、模糊算法、a*算法、人工势场法、粒子群算法、人工神经网络算法等等。动态路径规划是指船舶在遭遇全局环境信息中没有考虑或随机出现的障碍物(如其它航行中的船只等),采取适当的规划方法,及时调整航速、航向、航姿,以保障船舶安全航行。而考虑水流影响的航线规划研究,目前多集中在对航行时间、航行过程的能耗和躲避障碍物效果等方面的优化,仍然还属于静态离线的全局路径规划问题。整体而言,内河船的静态航线规划必须考虑气象条件、船舶特性、水流动态变化的影响,现有航线规划算法还不能完全满足应用。
3.对于内河船舶,因航道基本固定从而降低了静态航线规划的难度,但是狭窄的航道、交汇的河道、跨河桥梁、船闸以及其他通航船舶的存在造成内河航道条件复杂多变,紊流、泡旋等复杂流态非常常见,船舶航行阻力亦收到诸多因素的影响,无法实现可视化,船舶航行多依赖有经验的舵手凭借经验进行判断,存在不确定性,再加上部分河段水流速度较大以及内河船舶相对较差的欠驱动操纵特性进一步加剧了内河航行的安全风险,因而对内河船舶的动态航线规划能力提出了相当高的要求。
4.船舶航线动态规划是实现船舶智能航行的关键技术,目前国内外研究多针对实验室开展流态的测量研究,海域、湖泊、运河等良好水域,采用蚁群算法、粒子群算法、大数据分析等,从货物流、航程等并部分考虑风浪等要素规划船舶经济航线,或是针对无人驾驶避障需求的实时航线规划与动态调整。内河航道航行条件复杂、船舶操控性相对较差,航线规划技术研究尚处于起步阶段,在智能化飞速发展的阶段,实现船舶航线动态规划指日可待。
5.如三峡水库175m蓄水后,由于水库调度,处于库尾的变动回水区河段在175m蓄水期可达到i级航道标准,但消落期低水位时逐渐恢复天然河道属性,部分河段、部分时段通航条件仍然较差,不能达到维护标准,影响航道通过能力,限制了三峡航运效益的充分发挥。因此,航运企业对改善航道条件的呼声日益强烈,三峡变动回水区航道问题也已经引起了国家与地政府的高度重视。


技术实现要素:

6.本发明针对现有技术的不足,提出一种能够充分考虑航道水流条件、船舶特性等对航行的影响,满足航行条件的实时最优航线的基于改进遗传算法的船舶航行实时最优航
线规划方法,具体技术方案如下:
7.一种基于改进遗传算法的船舶航行实时最优航线规划方法,采用步骤为:
8.步骤一:构建二维河道流场数据库;
9.步骤二:实时航道水文要素计算;
10.步骤三:船舶航行阻力计算;
11.步骤四:基于卫星影像图结合二维流场数据生成正交贴体网格;
12.步骤五:采用改进遗传算法优化航线集合;
13.步骤六:判断航线的转向角度是否大于船舶允许转向角阈值,是则进入步骤七,否则进入步骤八;
14.步骤七:删除转向角度大于船舶允许转向角阈值的航线;
15.步骤八:保留转向角度小于船舶允许转向角阈值的航线;
16.步骤九:更新航线集合;
17.步骤十:得到满足船舶航线约束条件的实际航行路径最短及阻力最小的航线。
18.作为优化:所述步骤五具体为;
19.5.1:根据航线的路经点之间各个航路段的航线距离构建船舶实际航行路径长度和阻力最小确定目标函数;
20.5.2:根据背景网格,对船舶航行的可选择路径点进行实值编码;
21.5.3:根据水深和阻力大小产生初代种群;
22.5.4:基因型按照设定的规则进行部分的结构交换,重新组合成新的基因型;
23.5.5:变异,随机的改变基因型中的某个位置的编码,从而产生新的可能更优的基因型;
24.5.6:通过对航线基因个体进行解码后,求出各个表现型的航线长度,首先考虑船舶最大允许转向角约束条件,筛选满足条件的种群;再对筛选后的种群,按照解码后的总航线长度进行从小到大排序,取出前2q个表现型进行总阻力从到大排序;再取出阻力排序前q个表现型,编码成基因型后,作为下一代种群,其中q为指定的应选择作为下一次进行遗传操作的基因表现型个数;
25.5.7:确定优化一次后的种群后,将该优良的种群进行下一次迭代,重复步骤一到步骤六,达到设定的迭代次数后,得到满足船舶航线约束条件的实际航行路径最短及阻力最小的航线。
26.作为优化:所述步骤一具体为;
27.建立二维非恒定水流数学模型计算分析非恒定流条件下各水位

流量组合的航道要素变化情况,包括河道内的位置信息、及其对应的流速、水位、水深、河底高程、船长范围内的比降信息等,构成流场数据库;
28.平面二维水流数学模型的控制方程包括动量方程和水流连续方程;其中动量方程是根据时均雷诺方程沿水深方向平均而得到;在正交贴体坐标系下,不可压缩,忽略水面风应力考虑弯道二次流影响的非恒定平面二维浅水方程为:
29.[0030][0031][0032]
式中,
[0033][0034][0035][0036][0037]
式中:ξ、η为正交曲线坐标;h1、h2为拉梅系数;u、v分别为ξ、η坐标曲线方向的水深平均流速分量,分别为ξ、η方向的时间平均流速分量,单宽流量为z为相对于参考基准面的水位坐标;h为总水深;β为垂线流速分布不均匀的校正系数;f为coriolis参数;g为重力加速度;c为chezy系数;ν
e
为水深平均的有效涡粘度;z
s
、z
b
分别为水面和床面水位;d
11
,d
22
,d
12
,d
21
为水深平均的弥散应力项;
[0038]
网格划分采用结构网格中的交错网格:把u,v,p分别存储于三套不同网格上的网格系统;相对于基准面的水面高程z,谢才系数c,涡粘性系数ν
e
都存储在网格中心,为主控制单元;ξ方向水深平均流速u、水深h
x
和单宽流量q=uh
x
,η方向水深平均流速v、水深h
y
和单宽流量p=vh
y
,分别位于网格边的中心线上,它们各自的控制单元为主控制单元分别向ξ,η方向移动1/2单元所形成的网格系统。
[0039]
作为优化:所述步骤二具体为;
[0040]
首先通过域名访问对应的水文网,然后找到坝前水位、寸滩流量这两项数据在网页源码中的具体表单位置,读取这一位置的数据即可得到此时的水文信息,通过编写代码获取关键水文站的实时水文要素获取;
[0041]
再采用编程语言将实时坝前水位h与数据库中水位键值相匹配,得到一个最接近且低于实时水位的坝前水位h1,得到一个最接近且大于h的一个坝前水位h2,调用h1、h2两个文件,其每列的单个结果分别与线性系数k1、k2相乘得到一个以实时坝前水位为标准的航道要素,实现实时航道要素计算;
[0042]
其中:系数系数
[0043]
作为优化:所述步骤三具体为;
[0044]
通过计算船舶航行上滩指标拟合得出流速、比降、阻力之间的关系式为:
[0045]
u=0.0985j2‑
1.1887j f
ꢀꢀ
(8)
[0046]
式中,u为水流的流速大小,单位m/s,j为船长范围内的比降,f为阻力系数;
[0047]
其中,u和j为根据实时水位流量数据调用的流场文件中的已知参数,因此在该式中作为自变量,f为因变量,采用该公式对阻力进行计算,得出河道范围内的阻力数据,并在河道内以阻力云图的形式显示,再采用本文改进的遗传算法进行航线的最优规划。
[0048]
作为优化:所述步骤四具体为;
[0049]
4.1、基于航道中心线进行一维插值离散化航道中心线,沿河道划分3m个点,其中m为整数,其值代表贴体网格的纵向维度,值越大网格约密,值越小网格越稀疏,影响算法计算速度;
[0050]
4.2、用离散后的航道中心线计算航道中心线的斜率,3个点为一组,共m组,计算公式如下:
[0051][0052]
k=1/k
[0053]
其中:x,y为横坐标和纵坐标,k为各离散化线段的切线斜率,k为各线段的垂线斜率;
[0054]
4.3、定义切线长度l以计算左右临界边界,限定范围,提高搜索速度,l范围需保证在航道范围内;
[0055]
xl=x

l*cos(arctan(k))
[0056]
yl=y

l*sin(arctan(k))
[0057]
xr=x l*cos(arctan(k))
[0058]
yr=y l*sin(arctan(k))
[0059]
4.4、将1.1

4.3步骤循环m次,得到了矩阵长度为m的左右边界坐标,ldd,rdd;
[0060]
4.5、根据需求划分贴体网格的横向维度n
[0061]
ctx=linspace(ldd(i,1),rdd(i,1),n);i=1:m
[0062]
cty=linspace(ldd(i,2),rdd(i,2),n);i=1:m
[0063]
4.6、最后,形成垂直于航道中心线的矩阵维度为m
×
n的正交贴体网格,为航线规划建立了规划背景。
[0064]
本发明的有益效果为:综合考虑了船舶航行阻力及航行里程等因素;改进了传统算法在内河航道船舶航线规划上的基因编码形式,提高了收敛速度;解决了不同组合条件水流动力对船舶航线复杂性,以及船舶驾驶困难的问题;该方法解决了航线实时、动态规划的问题;通过该方法规划出的最优航线指导船舶航行,可提高航道通过能力和安全管理与维护水平,缩短船舶等待及通过时间,降低船舶航运运输成本、增加航运生态效益。
附图说明
[0065]
图1为本发明中交错网格示意图。
[0066]
图2为本发明中切线计算示意图。
[0067]
图3为本发明的基于遗传算法的路径最短及阻力最小的航线规划方法步骤图。
[0068]
图4为本发明的目标函数值计算流程图。
具体实施方式
[0069]
下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
[0070]
如图1、图2、图3和图4所示:
[0071]
本实施例以长江三峡段航道为例进行说明,三峡水库175m蓄水后,由于水库调度,处于库尾的变动回水区河段在175m蓄水期可达到i级航道标准,但消落期低水位时逐渐恢复天然河道属性,部分河段、部分时段通航条件仍然较差,不能达到维护标准,影响航道通过能力,限制了三峡航运效益的充分发挥。因此,航运企业对改善航道条件的呼声日益强烈,三峡变动回水区航道问题也已经引起了国家与地政府的高度重视。
[0072]
(一)数据准备
[0073]
1.流场数据库的构建
[0074]
根据历史三峡坝前水位及流量组合一共365组,以重庆王家滩河段为计算实例,建立二维非恒定水流数学模型计算分析非恒定流条件下各组合的航道要素变化情况。包括河道内的位置信息、及其对应的流速、水位、水深、河底高程、船长范围内的比降信息等,构成流场数据库。
[0075]
平面二维水流数学模型的控制方程包括动量方程和水流连续方程。其中动量方程是根据时均雷诺方程沿水深方向平均而得到。在正交贴体坐标系下,不可压缩,忽略水面风应力考虑弯道二次流影响的非恒定平面二维浅水方程为:
[0076][0077][0078][0079]
式中,
[0080]
[0081][0082][0083][0084]
式中:ξ、η为正交曲线坐标;h1、h2为拉梅系数;u、v分别为ξ、η坐标曲线方向的水深平均流速分量,分别为ξ、η方向的时间平均流速分量,单宽流量为z为相对于参考基准面的水位坐标;h为总水深;β为垂线流速分布不均匀的校正系数;f为coriolis参数;g为重力加速度;c为chezy系数;ν
e
为水深平均的有效涡粘度。z
s
、z
b
分别为水面和床面水位;d
11
,d
22
,d
12
,d
21
为水深平均的弥散应力项。动量方程(2)和(3)比传统二维水流模型中多了等号右边的后四项。
[0085]
如图1所示:网格划分采用结构网格中的交错网格:把u,v,p分别存储于三套不同网格上的网格系统。相对于基准面的水面高程z,谢才系数c,涡粘性系数ν
e
都存储在网格中心,为主控制单元如图1(a);ξ方向水深平均流速u、水深h
x
和单宽流量q=uh
x
,η方向水深平均流速v、水深h
y
和单宽流量p=vh
y
,分别位于网格边的中心线上,它们各自的控制单元为主控制单元分别向ξ,η方向移动1/2单元所形成的网格系统,如图1(b)(c)。通过模型计算得到的流场数据将以二维正交网格。
[0086]
2.实时航道要素计算
[0087]
获取实时水文信息的方法为网络数据抓取技术,基本步骤为首先通过域名访问长江水文网,然后找到坝前水位、寸滩流量这两项数据在网页源码中的具体表单位置,读取这一位置的数据即可得到此时的水文信息,通过编写代码获取关键水文站的实时水文要素获取。
[0088]
再采用编程语言将实时坝前水位h与数据库中水位键值相匹配,得到一个最接近且低于实于时水位的坝前水位h1,得到一个最接近且大于h的一个坝前水位h2,调用h1、h2两个文件,其每列的单个结果分别与线性系数k1、k2相乘得到一个以实时坝前水位为标准的航道要素,实现实时航道要素计算。
[0089]
其中:系数系数
[0090]
3.阻力计算
[0091]
目前,内河航道的船舶多为5000吨级以下,船舶吨级小于5000吨级的船舶航行阻力越小,因此,以5000吨级船舶为航行阻力计算的代表性船舶,通过计算船舶航行上滩指标拟合得出流速、比降、阻力之间的关系式为:
[0092]
u=0.0985j2‑
1.1887j f
ꢀꢀ
(8)
[0093]
式中,u为水流的流速大小,单位m/s,j为船长范围内的比降,f为阻力系数。
[0094]
其中,u和j为根据实时水位流量数据调用的流场文件中的已知参数,因此在该式中作为自变量,f为因变量,采用该公式对阻力进行计算,得出河道范围内的阻力数据,并在
河道内以阻力云图的形式显示,再采用本文改进的遗传算法进行航线的最优规划。
[0095]
(二)基于流场数据的贴体网格生成
[0096]
航线规划必须在航道范围内进行,水深需满足船舶吃水及安全航行需求,在此基础上考虑船舶航行阻力。因此在航线路径规划时首先要获取环境信息,建立环境地图,合理的环境表示有利于建立规划方法和选择合适的搜索算法,最终规划出较为满意的路径。通过本文的二维水流数学模型计算的流场信息,包含了河道的底高程、水深、比降、流速等信息,这些信息即构成了船舶航行的环境信息,因此,根据该流场信息限定了船舶航线规划的范围,以有效提高算法效率。
[0097]
具体步骤包括:
[0098]
(1)基于航道中心线进行一维插值离散化航道中心线,沿河道划分3m个点,其中m为整数,其值代表贴体网格的纵向维度,值越大网格约密,值越小网格越稀疏,影响算法计算速度;
[0099]
(2)用离散后的航道中心线计算航道中心线的斜率,3个点为一组,共m组,计算公式如下:
[0100][0101]
k=1/k
[0102]
其中:x,y为横坐标和纵坐标,k为各离散化线段的切线斜率,k为各线段的垂线斜率。
[0103]
(3)定义切线长度l以计算左右临界边界,限定范围,提高搜索速度,l范围需保证在航道范围内;
[0104]
xl=x

l*cos(arctan(k))
[0105]
yl=y

l*sin(arctan(k))
[0106]
xr=x l*cos(arctan(k))
[0107]
yr=y l*sin(arctan(k))
[0108]
(4)将(1)

(3)步骤循环m次,得到了矩阵长度为m的左右边界坐标,ldd,rdd;
[0109]
(5)根据需求划分贴体网格的横向维度n
[0110]
ctx=linspace(ldd(i,1),rdd(i,1),n);i=1:m
[0111]
cty=linspace(ldd(i,2),rdd(i,2),n);i=1:m
[0112]
(6)最后,形成垂直于航道中心线的矩阵维度为m
×
n的正交贴体网格,为航线规划建立了规划背景。
[0113]
(三)算法设计
[0114]
1、目标函数确定
[0115]
本算法主要考虑的目标有两个,一是最短路径规划,二是最小阻力规划。因此,属于多目标规划的航线优化,目标函数如下:
[0116][0117]
[0118]
式中,f为航线的阻力和,f为路径点对应的阻力大小,w为路径点总数,i为路径点序列,g为航线长度,g为相邻路径点之间的长度,k为路径点序列。
[0119]
2、编码
[0120]
确定完问题的目标函数和变量后,对变量进行编码。在遗传算法中,通过编码来模拟染色体的形成。编码的排列形式等同于基因在染色体上的排列,不同的编码排列表示不同的解。编码方式有很多种,常用的编码方式有二进制编码和实数编码等。本算法采用的编码方式为实值编码。具体编码过程如下:
[0121]
1)根据构建的正交贴体网格划分网格图。将图像横向分n等份,划分线从上到下序列为j=1,2,...n。将图像纵向分m

1等份,划分线从左到右序列为i=1,2,...m。
[0122]
2)船舶的位置可根据所构建的正交贴体网格图来确定。按网格图的每一行选择船舶位置的索引,选择时首先通过编程语言找到流场图中每一行水深大于船舶安全航行的保证水深hc,再根据找到的索引长度,随机选择该行的一个有水深的索引位置,即为当前船舶所在的位置,用x
ij
来表示。再按列循环以上操作,得到每一行船舶的位置索引,则构成一条航线的基因型编码可以表示:x
1j
x
2j
....x
mj

[0123]
3)根据阻力云图和栅格图,根据2)步中的基因编码位置,对应在阻力云图的坐标系中进行插值,用f
ij
表示当前位置x
ij
的船舶阻力大小。从而可以得出阻力表现型编码:f
1j
f
2j
....f
nj

[0124]
2、种群
[0125]
个体集合的总数称为种群。种群的大小即为初始解的个数q。初代的种群选择需要考虑的因素为水深h和阻力大小f。即:
[0126]
h
ij
>h
c
[0127]
f
ij
<f
c
[0128]
式中,h
c
为允许的最小适航水深,f
c
为允许的最大航行阻力。
[0129]
根据上述约束随机产生初代种群,并对初代种群进行基因型编码,种群大小为n。
[0130]
3、交叉
[0131]
交叉是模拟自然界生物遗传过程中的染色体交叉。在遗传算法中,经过编码后的基因型按照一定的规则进行部分的结构交换,重新组合成新的基因型,从而实现染色体的交叉模拟。交叉的目的是为了在产生的下一代基因型中,可能出现更优的解。在交叉过程中,交叉是在两个随机的基因型之间进行的,而交叉的基因位置也是随机的。交叉的概率可以进行人为的规定。本算法所采用的交叉方式为模拟二进制交叉,交叉方式如下:
[0132]
(1)根据种群大小n,在基因长度范围内,随机产生g个交叉点位,
[0133]
p1=randperm(n)
[0134]
p=p1(1:g)
[0135][0136][0137]
式中,和是交叉之后的个体,和是随机选择的两个个体,α是交叉的一个常数,取值为(0,1]。
[0138]
4、变异
[0139]
变异是模仿自然界生物遗传过程中基因的突变。以极小的概率,随机的改变基因型中的某个位置的编码,从而产生新的可能更优的基因型。通过变异过程,可以有效避免算法可能陷入局部最优解。本算法采用的变异方式如下:
[0140][0141]
是变异之后的个体,是变异之前的个体,k是变异的一个常数,取值为(0,1],x
max
是个体的上限,x
min
是个体的下限,r是产生的随机数,p为变异的概率。
[0142]
5、选择
[0143]
选择是模拟自然界中生物竞争的优胜劣汰。通过适应度函数来指定选择的方式,淘汰掉不满足适应度的基因型,筛选出有效的基因型。通过筛选的个体,将会被放入配对库中。本算法将原基因型、交叉基因型和交叉变异基因型分别进行阻力表现型解码和航线长度解码,筛选出满足小于船舶最大允许转向角θ
c
的种群,再求出筛选后种群的各个表现型的总航行阻力和总航线长度,并对解码后的总航线长度进行从小到大排序,取出前2q个表现型进行总阻力从到大排序。取出阻力排序前q个表现型,编码成基因型后,作为下一代种群,其中q为指定的应选择作为下一次进行遗传操作的基因表现型个数。并重复迭代,直到迭代结束。得到最优的航线即为最后一代的第一个基因型。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献