﻿ 基于自适应变异PSO-BP算法的船舶横摇运动预测
 舰船科学技术  2016, Vol. 38 Issue (12): 69-73 PDF

Ship rolling forecasting based on self-adapting PSO-BP algorithm
ZHANG Ze-guo, YIN Jian-chuan, LIU Cheng
Navigation College, Dalian Maritime University, Dalian 116026, China
Abstract: In order to predict the navigation state of ship in the wind and waves accurately, timely and efficient and ensure the safety of personnel, cargo and ship. We propose a self-adapting particle swarm optimization (SAPSO) algorithm to optimize the back propagation (BP) neural network model. The proposed model is referred to as SAPSO-BP model which employs PSO to adjust control parameters of BP network. This method overcomes the shortcomings of traditional BP neural network, which is sensitive to the threshold value of the initial value and is easy to fall into local minimum. At the same time, it also overcomes the shortcomings of the traditional PSO algorithm, such as premature convergence, low accuracy, and low efficiency and so on. The measurement data from scientific research and training ship Yukun was chosen as the test database. Simulation results have demonstrated that the proposed method can give predictions for ship rolling motion in real time with high accuracy and satisfactory stability.
Key words: ship rolling motion     BP neural network     self-adapting     particle swarm optimization     time series prediction
0 引 言

1 船舶横摇运动

 ${I'}_{xx}\ddot \varphi + 2N\dot \varphi + Dh\varphi = Dh{a_m}\sin \omega t{\text{。}}$ (1)

 ${\varphi _t} = f({\varphi _{t-1}},{\varphi _{t-2}}){\text{。}}$ (2)

2 SAPSO-BP 算法的实现 2.1 BP 神经网络算法

BP 算法本质是将样本仿真的输入输出映射为非线性优化问题，也就是将网络的连接权值作为变量，将网络训练的误差函数作为目标函数的多元变量求极值问题，传统的 BP 网络模型通常由输入层、输出层和隐含层 3 层构成，网络的仿真实验使用选定的训练样本进行学习训练，从而确定训练模型的模型参数。BP 网络模型仿真训练过程包括输入信息正向传播和误差信息反向传播，在一定的迭代循环条件下，2 个过程反复执行，直到模型结果收敛。输入数据经输入层进入隐含层，经隐含层节点激活函数计算进入输出层，得到正向传播结果。网络模型的第j 个神经元的输出可表示为：

 $y_j^k = \left( {f\sum\limits_{i = 1}^{k-1} {w_{ij}^{k-1}y_j^{k-1}-\theta _j^k} } \right){\text{。}}$ (3)

 $w(k + 1) = w(k)-\eta \partial E/\partial W(k) + \alpha \Delta w(k){\text{。}}$ (4)

2.2 粒子群优化算法

 ${V_{{i_d}}} = w{V_{{i_d}}} + {c_1}{r_1}({P_{{i_d}}}-{X_{{i_d}}}) + {c_2}r{}_2({P_{{g_d}}}-{X_{{i_d}}}){\text{，}}$ (5)
 ${X_{{i_d}}} = {X_{{i_d}}} + {V_{{i_d}}}{\text{。}}$ (6)

PSO 优化算法是一种全局迭代寻优的工具，寻优开始时，算法将每个粒子初始化为一组初始随机解，根据优化问题选择适应度函数，设定迭代寻优次数，根据适应度函数计算每个粒子的适应度值从而进行迭代寻优，搜寻到最优粒子（即最优解）。

2.3 SAPSO 优化算法

PSO 算法的寻优收敛速度较快，但也存在着在寻优过程中容易早熟收敛、搜索准确度低、循环后期迭代效率较低等缺点。仿照遗传算法（Genetic Algorithm，GA）中的变异操作，在 PSO 算法中加入变异算子，对初始随机变量再一次重新随机初始化。引入的变异算子将初始随机变量再次随机初始化，扩展了在寻优中不断缩小的种群搜寻空间，使得已寻优得到的粒子跳出之前寻优得到最优位置，从而在更大的搜寻空间中进行迭代寻优，增加了算法寻找到更优值的概率。因此，在传统 PSO 算法的基础上加入变异算子，实质就是在每次粒子迭代更新之后，将迭代更新后的粒子再以一定的概率随机初始化。其中自适应变异算子公式为：

 $pop(j,pos) = \lambda \times rands(1,1){\text{，}}\;\;{\text{if}}\;\;rand ＞ c{\text{。}}$ (7)

 图 1 SAPSO-BP 模型和 PSO-BP 模型之间的适应度函数曲线比较 Fig. 1 The comparison of fitness function curve between SAPSO-BP model and PSO-BP model
 $error = \left| {{Y_k}-{O_k}} \right|{\text{。}}$ (8)

2.4 SAPSO 优化算法训练 BP 神经网络

1）载入并初始化船舶的实测横摇数据，创建 BP 神经网络并设置 SAPSO 算法的参数：c1 = 1.5，c2 = 1.494 45，种群迭代次数为 100，种群规模数量为 10。并将每个粒子的速度和位置进行限定。

2）将 BP 神经网络的权值和阈值作为 SAPSO 算法的粒子种群位置进行随机初始化，根据选定的适应度函数计算每 1 个粒子种群的适应度函数值。

3）通过方程（5）和（6）更新每个粒子的速度和位置，然后计算粒子更新之后的适应度函数值并通过方程（7）更新粒子搜寻到的个体最优值Pi 和全局最优值Pg

4）判断每个粒子的适应度函数值是否满足误差要求，或者算法是否达到最大迭代次数。如果满足要求，算法执行下一步，否则将返回上一步继续迭代循环寻优。

5）结束 SAPSO 算法的迭代寻优，进而将算法寻优得到的最优权值阈值赋给 BP 神经网络以便行仿真实验。

6）BP 神经网络模型的参数设置如下：迭代次数为 100，学习率为 0.1，训练目标为 0.000 01。然后将 SAPSO 优化算法寻优得到的权值和阈值赋给 BP 神经网络进行船舶横摇运动预测仿真。

3 仿真结果与讨论 3.1 BP，SAPSO-BP 模型的仿真实验

 $RMSE = \sqrt {\frac{{\sum\limits_{k = 1}^n {{{\left( {{y_k}-{{\hat y}_k}} \right)}^2}} }}{N}} {\text{。}}$ (9)

 图 2 BP 网络模型的仿真实验结果 Fig. 2 Simulation results of BP network model

 图 3 SAPSO-BP 网络模型的仿真实验结果 Fig. 3 Simulation results of SAPSO-BP network model

 图 4 BP 网络模型的预测误差曲线 Fig. 4 Prediction error curve of BP network model
3.2 BP，SAPSO-BP 模型的仿真实验误差

 图 5 SAPSO-BP 网络模型的预测误差曲线 Fig. 5 Prediction error curve of SAPSO-BP network model

3.3 预测模型的对比分析

4 结 语

 [1] FOSSEN T I. Handbook of marine craft hydrodynamics and motion control[M]. Hoboken N.J, USA:John Wiley & Sons Ltd., 2011:20-80. [2] FOSSEN T I. Guidance and control of ocean vehicles[M]. Chichester, New York, USA:John Wiley & Sons Ltd., 1994:10-100. [3] 郑丽颖. 混沌神经网络及模糊混沌神经网络的研究与应用[D]. 哈尔滨:哈尔滨工程大学, 2002. [4] 席剑辉. 混沌时间序列的长期预测方法研究[D]. 大连:大连理工大学, 2005. [5] LIN Y J. Prevention of transient instability employing rules based on back propagation based ANN for series compensation[J]. International Journal of Electrical Power & Energy Systems , 2011, 33 (10) :1776–1783. [6] BASERI H, BAKHSHI-JOOYBARI M, RAHMANI B. Modeling of spring-back in V-die bending process by using fuzzy learning back-propagation algorithm[J]. Expert Systems with Applications , 2011, 38 (7) :8894–8900. DOI:10.1016/j.eswa.2011.01.102 [7] 贾嵘, 薛建辉, 张文宇, 等. 基于邻域粒子群优化神经网络的异步电动机振动故障诊断[J]. 西安石油大学学报(自然科学版) , 2010, 25 (2) :73–75. [8] YIN J C, ZOU Z J, XU F, et al. Online ship roll motion prediction based on grey sequential extreme learning machine[J]. Journal of Neurocomputing , 2014, 129 :168–174. DOI:10.1016/j.neucom.2013.09.043 [9] KENNEDY J, EBERHART R. Particle swarm optimization[C]//Proceedings of IEEE international conference on neural networks. Perth, WA, Australia:IEEE, 1995(4):1942-1948. [10] 刘永清, 孙江龙, 王嘉俊, 等. LNG船运动响应数值计算与试验研究[J]. 舰船科学技术 , 2016, 38 (3) :25–30. LIU Yong-qing, SUN Jiang-long, WANG Jia-jun, et al. Numerical and experimental study of LNG ship motion response[J]. Ship Science and Technology , 2016, 38 (3) :25–30. [11] 刘胜, 邢博闻, 陈潇. 船舶信息系统数据流设计方案研究[J]. 舰船科学技术 , 2016, 38 (4) :110–115. LIU Sheng, XING Bo-wen, CHEN Xiao. Design of data flow for ship information system[J]. Ship Science and Technology , 2016, 38 (4) :110–115.