本发明涉及船舶技术领域,尤其是涉及一种船舶航速优化方法及装置。
背景技术:
目前,在船舶航速优化领域,通常结合天气情况对船舶进行分段航速优化,天气情况可以根据天气预报获得,但是,当航线太长时,气象预报信息可能无法覆盖全航程,船舶无法在气象预报时长范围内到达目的地,例如,气象预报时长为5天,当船舶跨太平洋航行时,5天内不可能到达目的地,这样就会导致航速优化结果不够准确可靠。
技术实现要素:
本发明的目的在于提供一种船舶航速优化方法及装置,以缓解由于航线太长,船舶无法在气象预报时长范围内到达目的地而导致航速优化结果不够准确可靠的技术问题。
第一方面,本发明实施例提供一种船舶航速优化方法,所述方法包括:
采用恒向线正反解算法将船舶的航线进行分割,得到多个分割点;
当所述船舶的预期航行总时长大于气象预报时长时,计算所述气象预报时长内所述船舶的航行距离;
分别计算航线起点与多个所述分割点之间的目标距离,确定使所述目标距离与所述航行距离最接近的目标分割点;
基于预先建立的航速优化模型,将所述目标分割点作为优化终点以及将目标时长作为优化航行时长,对所述船舶的航速进行求解,得到最优航速分布;其中,所述优化航行时长小于所述气象预报时长。
在可选的实施方式中,所述采用恒向线正反解算法将船舶的航线进行分割,得到多个分割点的步骤,包括:
采用恒向线正反解算法将所述船舶的多个航路点中的相邻航路点之间的航段进行分割,得到多个所述分割点。
在可选的实施方式中,所述当所述船舶的预期航行总时长大于气象预报时长时,计算所述气象预报时长内所述船舶的航行距离的步骤,包括:
当所述船舶的预期航行总时长大于气象预报时长时,计算所述气象预报时长与所述预期航行总时长的比值;
将所述比值乘以航行总距离,得到所述气象预报时长内所述船舶的航行距离。
在可选的实施方式中,所述基于预先建立的航速优化模型,将所述目标分割点作为优化终点以及将目标时长作为优化航行时长,对所述船舶的航速进行求解,得到最优航速分布的步骤,包括:
根据以下算式对所述船舶的航速进行求解,得到最优航速分布{u}opt:
其中,第j个分割点为目标分割点,ti为船舶到达第i个分割点的时间,ti-1为船舶到达第i-1个分割点的时间,f为油耗模型,ui为航速,δ为排水量,w(ti-1/2,li-1/2)为船舶在每两个分割点之间的航段上预期经历的平均环境状态,l表示分割点;si为航线起点到各个分割点的距离,0<β<1,tw为气象预报时长。
在可选的实施方式中,所述航速优化模型根据以下算法之一进行求解:
粒子群优化算法、遗传算法、蚁群算法、动态规划算法。
第二方面,本发明实施例提供一种船舶航速优化装置,所述装置包括:
分割模块,用于采用恒向线正反解算法将船舶的航线进行分割,得到多个分割点;
计算模块,用于当所述船舶的预期航行总时长大于气象预报时长时,计算所述气象预报时长内所述船舶的航行距离;
确定模块,用于分别计算航线起点与多个所述分割点之间的目标距离,确定使所述目标距离与所述航行距离最接近的目标分割点;
优化模块,用于基于预先建立的航速优化模型,将所述目标分割点作为优化终点以及将目标时长作为优化航行时长,对所述船舶的航速进行求解,得到最优航速分布;其中,所述优化航行时长小于所述气象预报时长。
在可选的实施方式中,所述分割模块,还用于:
采用恒向线正反解算法将所述船舶的多个航路点中的相邻航路点之间的航段进行分割,得到多个所述分割点。
在可选的实施方式中,所述计算模块,还用于:
当所述船舶的预期航行总时长大于气象预报时长时,计算所述气象预报时长与所述预期航行总时长的比值;
将所述比值乘以航行总距离,得到所述气象预报时长内所述船舶的航行距离。
第三方面,本发明实施例提供一种智能船舶,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现前述实施方式任一项所述的方法。
第四方面,本发明实施例提供一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现前述实施方式任一项所述的方法。
本发明提供的船舶航速优化方法及装置,采用恒向线正反解算法将船舶的航线进行分割,得到多个分割点;当船舶的预期航行总时长大于气象预报时长时,基于预先建立的航速优化模型,将目标分割点作为终点,将目标时长作为航行时长,对船舶的航速进行求解,得到最优航速分布,航线起点与目标分割点之间的距离与气象预报时长内船舶的航行距离最接近,上述优化航行时长小于气象预报时长。即不需要针对所有分割点进行航速优化,而是对目标分割点之前的分割点进行航速优化,这些分割点基本覆盖了天气预报信息,并且基于富余时间策略(优化航行时长小于气象预报时长),以船舶比约定时间稍早到达目的地为条件进行航速优化,从而可以在超长航线中天气预报时长无法覆盖全航程时,提高航速优化的准确性和可靠性,并且使得航速优化更加稳妥,更加适用于不确定性较高的超长航线问题,工程可行性更高。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的船舶航速优化方法流程图;
图2为本发明实施例提供的恒向线的示意图;
图3为本发明实施例提供的船舶航线离散化效果图;
图4为本发明实施例提供的船舶航速优化装置的示意图;
图5为本发明实施例提供的智能船舶的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,在船舶航速优化领域,通常结合天气情况对船舶进行分段航速优化,天气情况可以根据天气预报获得,但是,当航线太长时,气象预报信息可能无法覆盖全航程,船舶无法在气象预报时长范围内到达目的地,这样就会导致航速优化结果不够准确可靠。基于此,本发明实施例提供的一种船舶航速优化方法及装置,可以在超长航线中天气预报时长无法覆盖全航程时,提高航速优化的准确性和可靠性。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
图1示出了本发明实施例提供的船舶航速优化方法流程图。参照图1,本发明实施例提供一种船舶航速优化方法,包括以下步骤:
步骤s101,采用恒向线正反解算法将船舶的航线进行分割,得到多个分割点。
在船舶航行中,为便于操作,船舶通常沿着恒向线前行。在地球表面,恒向线指与经线处处保持等角的球面螺旋曲线;变换到墨卡托投影平面之后,恒向线被映射为一条直线,如图2所示,s为恒向线。为了将航线精确分割为若干小段,需要在恒向线上做椭球面几何计算,求得分割点坐标。本步骤中,船舶的航线由若干个航路点构成,可以表示为{p1,p2...,ptotal},total为航路点的数量,每两个相邻的航路点之间按恒向线航行。
利用恒向线正反解算法将航线分割为小段,得到多个分割点,实现船舶航线的离散化,如图3所示的船舶航线离散化效果。
步骤s102,当船舶的预期航行总时长大于气象预报时长时,计算气象预报时长内船舶的航行距离。
当前技术条件下,气象预报时长是有限的。根据相邻分割点之间的距离可以求得航行总距离,进而估算气象预报时长内船舶的航行距离。
步骤s103,分别计算航线起点与多个分割点之间的目标距离,确定使目标距离与航行距离最接近的目标分割点。
具体的,在利用恒向线正反解算法将航线进行分割时,可以得到相邻分割点之间的距离,通过距离叠加可以计算航线起点到各个分割点的目标距离,进而计算使目标距离最接近气象预报时长内船舶的航行距离时的目标分割点,这样,目标分割点之前的分割点基本覆盖了天气预报信息。
步骤s104,基于预先建立的航速优化模型,将目标分割点作为优化终点以及将目标时长作为优化航行时长,对船舶的航速进行求解,得到最优航速分布;其中,优化航行时长小于气象预报时长。
本步骤中,航速优化模型为已知的模型,本实施例在该航速优化模型的基础上,以目标分割点作为优化终点,对目标分割点之前的分割点进行航速优化,由于这些分割点基本覆盖了天气预报信息,并且优化航行时长小于气象预报时长,预留了富余时间,以船舶比约定时间稍早到达目的地为条件进行航速优化,从而可以在超长航线中天气预报时长无法覆盖全航程时,提高航速优化的准确性和可靠性,并且使得航速优化更加稳妥,更加适用于不确定性较高的超长航线问题,工程可行性更高。
需要说明的是,未来的气象环境是不确定的,如果按照“刚好在约定时间到达”来进行航速优化,可能会因为气象环境突变而无法按时到港。因此,本实施例基于富余时间策略,使得优化航行时长小于气象预报时长,富余时间可以根据需要进行调整,从而适用于不同航行场景。
在一些实施例中,步骤s101可以通过以下方式实现:
采用恒向线正反解算法将船舶的多个航路点中的相邻航路点之间的航段进行分割,得到多个分割点。具体过程为:
1)对任意两个相邻的航路点px、px+1,x=1、2…total-1,根据以下算式(1)~(6),求得两点间的航向角c和航程s,即恒向线反解过程。
恒向线反解过程为:已知恒向线航段起点纬度和经度
①等量纬度(纬度渐长率)通过下式(1)计算:
其中,
恒向线起点和终点纬度等量纬度之差通过下式(2)计算:
②子午圈弧长通过下式(3)计算:
其中,
那么恒向线起点的子午圈弧长
③恒向线航程和航向角通过下式(5)和(6)计算:
用dλ=λ2-λ1表示经差。将椭球面上的恒向线变换到墨卡托投影平面之后,恒向线与经线和纬线组成直角三角形,如图2所示,那么恒向线航向角c和航程s可表示为:
c=arctan(dλ/dmp)(5)
2)将pi和pi+1之间的航段,分割为ni个小段,那么每个小段长s/ni,然后顺序调用算式(6)、(3)和(7)求得各个分割点坐标,即恒向线正解过程。
恒向线正解过程为:已知起点坐标
①求
将
②求λ2。根据求得的dmp,由墨卡托投影三角形可以计算得到λ2,如下式(7):
λ2=λ1+dmptanc(7)
3)对所有航路点{p1,p2...,ptotal},重复1)和2)的计算过程,将船舶的航线分割为若干小段,自起点到终点重新排序后,所有分割点标记为l0,l1,...,ln,n+1为分割点的数量,相邻分割点之间的距离标记为s=[s1,s2,...,sn]t。
在一些实施例中,步骤s102可以包括以下步骤:
步骤1)当船舶的预期航行总时长大于气象预报时长时,计算气象预报时长与预期航行总时长的比值;
步骤2)将比值乘以航行总距离,得到气象预报时长内船舶的航行距离。
具体的,以tw和t分别表示气象预报时长和预期航行总时长,根据下式(8)计算气象预报时长与预期航行总时长的比值α:
α=tw/t(8)
若α<1,表明气象预报时长内,船舶无法到达目的港。可根据α估算tw时长内,船舶的航行距离sw,如以下式(9)所示:
其中,si为上述相邻分割点之间的距离,i=1,2,…,n,n为整数,
在步骤s103中,对各个分割点,根据以下式(10)计算航线起点至各个分割点的目标距离s_lj:
其中,si为上述相邻分割点之间的距离。
然后,根据以下式(11)计算j最小时,即s_lj与sw最接近时,目标分割点为航线上的第几个分割点:
在一些实施例中,基于预先建立的航速优化模型,将目标分割点作为优化终点以及将目标时长作为优化航行时长,对船舶的航速进行求解,得到最优航速分布的步骤,包括:
根据以下算式(12)对船舶的航速进行求解,得到最优航速分布{u}opt:
其中,第j个分割点为目标分割点,ti为船舶到达第i个分割点的时间,ti-1为船舶到达第i-1个分割点的时间,f为油耗模型,ui为航速,δ为排水量,w(ti-1/2,li-1/2)为船舶在每两个分割点之间的航段上预期经历的平均环境状态,l表示分割点;si为航线起点到各个分割点的距离,0<β<1,tw为气象预报时长。需要说明的是,β可取略小于1。
上述油耗模型f是航速优化功能的基础。船舶航行时,燃油消耗速率y与航速u、排水量δ、水深和风浪等环境参数w=[w1,w2,...wk]t有关。在智能船舶领域,可通过大量数据来推算燃油消耗速率y与各影响因子之间的关系,得到以下式(13):
y=f(u,δ,w)(13)
具体的,在大量数据的基础上,通过广义线性回归、决策树、贝叶斯线性回归、集成学习、神经网络等方法即可求得式(13)所示的参数关系。
在实际应用中,已知的航速优化模型如以下式(14)所示:
本实施例中引入富余时间策略,加入可调参数β,得到上述式(12)。
需要说明的是,若上述α≥1,表明气象预报时长内,船舶可以到达目的港,此时根据上述式(14)求解航速优化问题即可。
在一些实施例中,航速优化模型可以根据以下算法之一进行求解:
粒子群优化算法(particleswarmoptimization,pso)、遗传算法、蚁群算法、动态规划算法。
需要说明的是,本实施例并不限于上述优化算法,当然也可以采用其他优化算法。
下面以pso为例,详细说明一下航速优化模型的构建以及航速优化求解过程。
第一步:求总油耗
在一个航行任务中,船舶排水量δ基本不变。将航线划分为n段,获得n+1个分割点l0,l2,...,ln,各段的距离为s=[s1,s2,...,sn]t,各段的航速为u=[u1,u2,...,un]t。
在上述基础上,航行总油耗可以通过以下方法获得:
①由s和u求得船舶到达各个分割点的时间,如式(15)所示:
t0=now,ti=ti-1+si/ui,i=0,1,2,...,n(15)
②根据气象预报数据和水深,求得船舶预期经历的环境:
水深数据可以表示为经纬度(lon,lat)的离散函数,气象预报数据可表示为时间t和经纬度(lon,lat)的离散函数。通过数据插值可求得船舶到达各分割点时预期经历的环境状态w(ti,li),i=0,1,2,...,n,以及船舶在每一段小段上预期经历的平均环境状态w(ti-1/2,li-1/2),i=1,2,...,n。
③将w(ti-1/2,li-1/2),i=1,2,...,n带入油耗模型并积分,可获得总油耗,如式(16)所示:
第二步:构建优化问题
根据下式(17)构建船舶航速优化模型:
其中,约束条件为在βtw时间内到达目的地。
第三步:pso求解优化问题
式(18)表明,求解航速优化问题时,需要在n维空间{u}={u1,u2,...,un}中搜寻最优位置{u}opt,使得总油耗f(u,δ,w)最小。
a.pso初始化一组(m个)随机粒子
b.每一次迭代时,各粒子通过下面的式(18)来靠近{u}k,pbest和{u}gbest,不断搜寻全局最优:
其中,j为迭代次数,ω为惯性因子,c1和c2为学习因子,可人工调试。r1和r2是0~1之间的随机数,可以增加搜寻的随机性。
c.每一次迭代之后,更新{u}k,pbest和{u}gbest。这里,选取{u}k,pbest和{u}gbest时不仅要最小化目标函数f(u,δ,w),还需要排除不满足约束条件的解。
d.多次迭代之后,若{u}gbest趋于稳定,或者目标函数f(u,δ,w)足够小,可终止迭代,输出{u}gbest作为最终结果。
在上述实施例的基础上,本发明实施例还提供一种船舶航速优化装置,如图4所示,该装置包括:
分割模块41,用于采用恒向线正反解算法将船舶的航线进行分割,得到多个分割点;
计算模块42,用于当船舶的预期航行总时长大于气象预报时长时,计算气象预报时长内船舶的航行距离;
确定模块43,用于分别计算航线起点与多个分割点之间的目标距离,确定使目标距离与航行距离最接近的目标分割点;
优化模块44,用于基于预先建立的航速优化模型,将目标分割点作为优化终点以及将目标时长作为优化航行时长,对船舶的航速进行求解,得到最优航速分布;其中,优化航行时长小于气象预报时长。
在一些实施例中,分割模块41,还用于:
采用恒向线正反解算法将船舶的多个航路点中的相邻航路点之间的航段进行分割,得到多个分割点。
在一些实施例中,计算模块42,还用于:
当船舶的预期航行总时长大于气象预报时长时,计算气象预报时长与预期航行总时长的比值;
将比值乘以航行总距离,得到气象预报时长内船舶的航行距离。
在一些实施例中,优化模块44,还用于:
根据上述实施例的算式(12)对船舶的航速进行求解,得到最优航速分布{u}opt:
其中,第j个分割点为目标分割点,ti为船舶到达第i个分割点的时间,ti-1为船舶到达第i-1个分割点的时间,f为油耗模型,ui为航速,δ为排水量,w(ti-1/2,li-1/2)为船舶在每两个分割点之间的航段上预期经历的平均环境状态,l表示分割点;si为航线起点到各个分割点的距离,0<β<1,tw为气象预报时长。
在一些实施例中,航速优化模型根据以下算法之一进行求解:
粒子群优化算法、遗传算法、蚁群算法、动态规划算法。
本发明实施例提供的船舶航速优化方法及装置,采用恒向线正反解算法将船舶的航线进行分割,得到多个分割点;当船舶的预期航行总时长大于气象预报时长时,基于预先建立的航速优化模型,将目标分割点作为终点,将目标时长作为航行时长,对船舶的航速进行求解,得到最优航速分布,航线起点与目标分割点之间的距离与气象预报时长内船舶的航行距离最接近,上述优化航行时长小于气象预报时长。即不需要针对所有分割点进行航速优化,而是对目标分割点之前的分割点进行航速优化,这些分割点基本覆盖了天气预报信息,并且基于富裕时间策略(优化航行时长小于气象预报时长),以船舶比约定时间稍早到达目的地为条件进行航速优化,从而可以在超长航线中天气预报时长无法覆盖全航程时,提高航速优化的准确性和可靠性,并且使得航速优化更加稳妥,更加适用于不确定性较高的超长航线问题,工程可行性更高。
本发明实施例所提供的船舶航速优化装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
参见图5,本发明实施例还提供一种智能船舶500,包括:处理器501,存储器502,总线503和通信接口504,处理器501、通信接口504和存储器502通过总线503连接;存储器502用于存储程序;处理器501用于通过总线503调用存储在存储器502中的程序,执行上述实施例的船舶航速优化方法。
其中,存储器502可能包含高速随机存取存储器(ram,randomaccessmemory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口504(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线503可以是isa总线、pci总线或eisa总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器502用于存储程序,处理器501在接收到执行指令后,执行程序,前述本发明实施例任一实施例揭示的流程定义的装置所执行的方法可以应用于处理器501中,或者由处理器501实现。
处理器501可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器501中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器501可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessor,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器502,处理器501读取存储器502中的信息,结合其硬件完成上述方法的步骤。
本发明实施例还提供了一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现如上的船舶航速优化方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。