张焱飞, 李荣宗, 文逸彦, 乔继潘
(上海船舶运输科学研究所 航运技术与安全国家重点实验室,上海 200135)
海洋运输是国际货物运输的重要方式,海洋货物运输量占世界货物运输总量的80%以上,我国90%以上的国际货物运输都是通过海洋运输完成的[1]。随着2008年的全球经济危机持续影响海上贸易,如何降低海上运输成本成为航运公司最关心的问题。通常而言,船舶燃料费用占船舶营运成本的30%~60%[2]。因此,开发船舶油耗预估模型对于降低船舶营运成本而言具有重要意义。
根据国际拖曳水池会议(International Towing Tank Conference,ITTC)的实船测试专家委员会在2012年颁布的实船快速性试验修正准则7.5-04-01-1.2(ITTC:2012)版本[3],影响船舶功率的因素主要有船舶总阻力和航速,其中:船舶总阻力受风、浪、水温和船舶排水量等因素的影响;航速受水流和浅水效应等因素的影响。将能耗预估模型看成一个整体系统,该系统的输入量为风速、风向、浪高、浪周期、水温、艏艉吃水、流速、流向、航速和水深,整个系统的目标输出量为船舶在实际海况下的主机功率。
图1 船舶主机能耗预估自学习模型基本框架
尽管ITTC:2012中的实船试航功率修正法已对各物理量对能耗模型的影响作出准确定义,但在实际运用过程中需得到较多的模型试验数据,通用性较差[4]。为提高能耗模型的预估精度,提升其通用性,建立基于实船测试数据的自学习模型。图1为船舶主机能耗预估自学习模型基本框架。
人工神经网络算法的原理是从信息处理的角度对人体大脑的神经元进行仿真,从而建立起简单的数学模型[5]。这种计算模型由大量的节点组成,节点之间相互关联,构成特定的输出函数,称为激励函数[6]。人工神经网络无需确定反映输入与输出之间的映射关系的数学方程,通过训练采集数据即可获得准确的学习规则。在给定模型输入量之后,按照已获得的学习规则即可得到最优的学习结果[7]。
本文采用BP神经网络算法。BP神经网络是一种有监督的、信号前向传播和误差反向传播的多层前馈网络,包括输入层、隐含层和输出层。BP神经网络计算学习过程分为2个阶段,其中:第1个阶段是信号的前向传播,从输入层开始,经过隐含层,最后在输出层得到前向传播的结果;第2个阶段是误差的反向传播,从输出层开始,经过隐含层,最后达到输入层。在反向传播的过程中,依次优化隐含层到输出层的权重和偏置及输入层到隐含层的权重和偏置[8]。图2为3层BP神经网络结构,其中:xj为输入层第j个节点的输入(j=1,…,M);wij为隐含层第i个节点与输入层第j个节点之间的权值;θi为隐含层第i个节点的阈值;Ψ(x)为隐含层的激励函数;wki为输出层第k个节点与隐含层第i个节点之间的权值(i=1,…,q);ak为输出层第k个节点的阈值(k=1,…,L);ψ(x)为输出层的激励函数;Ok为输出层第k个节点的输出。
图2 3层BP神经网络结构
信号的前向传播过程输出层第k个节点的输出Ok的计算式为
(1)
误差的反向传播过程就是对权值和阈值进行修正的过程,使修正后的网络输出值最大限度地接近期望值。样本p的2次型误差准则函数Ep的计算式为
(2)
修正后各节点的权值和阈值的计算式为
(3)
(4)
(5)
(6)
为提高训练得到的能耗模型的精度,需通过学习实测数据中较为合理的数据训练人工神经网络中的参数,确保该能耗预估模型的能耗预估结果达到精度要求。因此,对目标船的实测数据进行筛选有利于该能耗模型自学习的进行。当功率转速相关因子Cp和Cn约为1时,主机输出功率为最佳功率。本文通过对模型试验结果进行对比,得到实船模型的功率转速相关因子Cp和Cn,进行实测数据筛选。通过实船营运监测平台获取某集装箱船10个月的监测数据(总计约40 000条),根据这些数据对实船船模进行相关分析。首先对船舶营运监测数据进行修复、插补和删除等清洗处理,提高数据的质量;随后对预处理的数据进行质量分析和分类汇总,了解数据的主要特征。营运监测数据的修正计算分析采用与ISO 15016—2015相似的方法。由于营运数据相比试航数据有一定的特殊性(仅有单次航行数据,无往返数据),因此在流速和风阻修正方面与ISO 15016—2015方法有一些不同[3]。营运监测数据修正计算分析采用直接功率法,分别将风、波浪、水温、盐度和排水量偏差转化为总阻力增加,乘以对应的航速,并考虑推进效率、传递效率和变载荷系数等,得到总的功率修正量。浅水效应和流(通过特殊方法分析)的影响用于修正航速。将最终得到的数据与模型试验结果相对比得到实船模型的功率转速相关因子Cp和Cn。通过筛选原始采集的数据,可得到1 500组数据Cp和Cn约等于1,这1 500组数据是较为合理的数据点,可在训练能耗模型的过程中应用。图3为实船测试数据筛选流程图。
图3 实船测试数据筛选流程图
能耗模型的设计框架如图1所示,其中:输入层包含船舶航行状态监测数据和船舶环境监测数据等13个输入参数(见表1);输出层的输出参数为船舶的主机功率。该模型的输入层有13个节点,输出层有1个节点;模型有3个隐含层,每个隐含层有20个节点。
表1 能耗模型输入层输入参数
从1 500组数据中随机抽取1 200组作为训练数据,通过决定系数R2来判断训练结果的精度。决定系数R2的计算式可表示为
(7)
式(7)中:yi为第i组训练数据的原始输出参数;fi为第i组训练结果的输出参数。
学习训练输出数据与原始采集数据对比见图4。从图4中可看出:训练输出的主机功率与采集得到的主机功率几乎相同,模型的训练精度达到了0.999 57。因此,经过训练得到的能耗模型可精确地表达训练参数输入与输出的关系。
为准确评估该能耗模型的精确性,利用训练样本以外的300组数据进行能耗模型预报。预报数据与实测数据对比见图5。从图5中可看出:预报得到的主机功率与实测的主机功率基本一致,预报的精度可以达到0.999 49;与训练的精度相比,预报的精度下降0.000 08,下降值不超过1/10 000。以上数据说明,基于BP神经网络算法的能耗模型可达到预报标准。
图4 学习训练输出数据与原始采集数据对比
图5 预报数据与实测数据对比
本文基于人工神经网络算法开发船舶油耗预测模型,并利用某集装箱船的实测数据对该模型进行训练。根据训练结果和预报结果得出以下结论:
1) 基于BP神经网络算法的油耗预测模型利用采集到的实船航行数据,能准确地预测船舶的主机功率,可为后续的航速优化和船舶能耗管理提供依据。
2) 预报的精度低于训练的精度,主要原因是该模型的训练参数依然偏少。因此,要精确地获得预报结果,应增加训练数据的数量。
3) 该模型采用的BP神经网络算法仍存在许多缺点,特别是在修正权值过程中可能会出现陷入局部最小的情况,从而降低训练模型的精度。将优化算法与BP神经网络算法相结合,可进一步优化能耗模型。