基于分阶段搜索连续蚁群算法的船舶纵向运动参数辨识

2010-06-07 07:54戴运桃赵希人刘利强
船舶力学 2010年8期
关键词:分阶段蚂蚁动力

戴运桃 , 赵希人 , 刘利强

(哈尔滨工程大学a.理学院;b.自动化学院,哈尔滨 150001)

基于分阶段搜索连续蚁群算法的船舶纵向运动参数辨识

戴运桃a,b, 赵希人b, 刘利强b

(哈尔滨工程大学a.理学院;b.自动化学院,哈尔滨 150001)

提出了一种分阶段搜索的连续蚁群算法,并成功应用于求解船舶纵向运动参数辨识问题。首先将船舶纵向运动的参数辨识问题转化为参数空间非线性优化问题,然后在优化问题求解过程中,依据待辨识参数对待优化问题影响的大小,将所有参数进行动态分组,依据影响由大到小的顺序,利用连续蚁群算法依次对各组参数进行寻优,确定各组参数的范围,最后对所有参数进行小范围精细搜索,从而使算法最终收敛到最优解。求解结果表明,该算法能够快速地辨识出满足精度要求的船舶纵向运动水动力参数,验证了算法的有效性。

参数辨识;分阶段搜索;连续蚁群;纵向运动

1 引 言

船舶运动模型描述了船舶在运动过程中对控制输入(舵角)的响应特性,了解和掌握船舶运动模型是对船舶进行操纵控制的前提条件,也是研究船舶操纵性能和设计自动舵的基础。船舶运动模型获得的方法主要包括:细长船理论,切片理论、半经验方法以及最近提出的一种采用参数辨识的方法。由于参数辨识方法能够实时辨识,从而使船舶在航行过程中可以实时更新模型,能够更好地控制船舶的航行,因此,通过辨识方法获得的船舶水动力参数就有重要的实际应用意义。Abkowitz[1]于1980年首先应用扩展Kalman滤波方法估计船舶运动的水动力参数。但由于船舶纵向运动状态对某些水动力参数极不敏感,各参数间耦合紧密,因此,采用扩展Kalman滤波方法辨识的精度不高,致使阻尼力矩等参数无法得到真值。Clarke[2]于1982年首次运用人工神经网络辨识船舶运动中的非线性参数。此后,Haddara利用从自由响应中获得自由衰减信号的方法对横摇进行辨识[3],并扩展到横荡和艏摇耦合方程以及纵摇和升沉耦合方程的参数辨识中[4]。Haddara等人[5]提出了将船舶纵向运动状态看作是马尔科夫链过程,对纵向运动方程进行简化,然后利用神经网络对船舶纵向运动参数进行辨识。Mahfouz等[6]通过将经典辨识算法和神经网络方法混合,提出了一种采用RDLRNNT技术的水动力参数辨识方法,具有较好的鲁棒性。神经网络方法解决了对不敏感非线性水动力参数的辨识问题,但利用神经网络进行水动力参数辨识需要大量的实航数据对网络进行训练,否则难以达到要求的精度。

蚁群算法由Dorigo等人[7]提出,是模拟自然界中真实蚁群的觅食行为而形成的一种模拟进化算法,不依赖具体数学模型,尤其适合于求解复杂非线性问题。蚁群算法已广泛应用于各种离散组合优化问题。一些学者通过对蚁群算法系统不同侧面的算法模拟,提出了不同的连续蚁群算法[8-10],在连续域寻优问题上也得到应用。汪镭等[11]还将连续域蚁群算法应用于系统辨识中。蚁群算法能够搜索到精度较高的解,但如果某些参数对适应值函数不敏感,算法需要更多的搜索时间。为了提高算法的收敛速度,保证全局收敛精度,本文提出一种分阶段搜索的连续蚁群算法,对各参数进行分组,然后分阶段搜索各参数最优值。将船舶纵向运动的水动力参数辨识问题转化为参数空间优化问题,然后利用分阶段搜索的连续蚁群算法进行寻优。仿真试验证明,该方法能够直接有效地辨识出船舶纵向运动水动力参数。

2 船舶纵向运动数学模型

2.1 状态方程

在海上航行的船舶升沉和纵摇运动可以通过以下两个耦合的二阶微分方程来描述[12]:

其中:z表示船体的升沉,θ表示船体的纵摇,I5表示纵摇惯性矩,m表示船的质量,FR表示水平舵升力,XR为舵升力中心至船体重心的纵向距离,F3(t)、F5(t)分别表示海浪干扰力干扰力矩;a33表示附加质量;a35,a53表示质量矩(kg.m); a55表示转动惯量(kg.m2);b33,b35表示阻尼力系数;c33,c35表示复原力系数;b53,b55表示阻尼力矩系数;c53,c55表示复原力矩系数。 a33,a35,a53,a55,b33,b35,b53,b55,c33,c35,c53,c55统称为水动力参数。

令 x1=z,x2=θ,设状态变量为

则得到系统状态方程如下:

其中,

2.2 观测方程

选择状态x1、x2为测量状态,则

Y为观测向量,V为二维测量噪声,通常情况下可以认为是白噪声。

3 船舶纵向运动参数辨识方法

船舶纵向运动水动力参数辨识问题可以描述为根据观测到的船舶运动状态,来估计水动力参数向量para。如果将辨识出的参数向量para代入方程(2)中,则计算出的运动状态数据应该和观测到的运动状态数据接近。因此,我们可以将观测数据和模型计算输出的误差的平方和作为评价的准则,误差的平方和越小,则说明此时辨识的参数与真实参数越接近。当平方和为零时,辨识出的参数即为真实参数。

其中,dataNum为观测次数,Yreali是根据实船试验得到观测值,YModeli是根据辨识得到的水动力参数代入模型中计算得到的值。

这样,我们就将水动力参数辨识问题转换成带约束的非线性优化问题,即所求的水动力参数必须满足在约束条件(2)、(3)下,并使(4)式的值达到最小。

经典的辨识方法需要知道系统的输入值和输出值,但船舶在实际航行中,系统的输入值是很难计算出的。因此,本文的辨识方法中,将海浪对船舶的随机扰动作为输入。

对于充分成长的海浪,采用ITTC单参数谱作为海浪扰动,其公式如下。

其中,g为重力加速度,w为波浪自然角频率,h1/3为1/3有效波高,对于三级海情,ITTC推荐值h1/3值为1.25m;对于五级海情,推荐值为3.75m。

各级谐波的幅值如公式(6)所示:

取谐波级数为30,则随机海浪扰动力和力矩的一个现实计算如下:

其中,φi是0-2π之间均匀分布的随机初相位。

4 辨识算法

4.1 分阶段搜索连续域蚁群算法

经试验分析,在辨识参数向量中,不同的参数对适应值函数的影响不一样,由于连续蚁群寻优时总是向着适应值大的方向进行(如果是求最小问题,适应值越大对应着函数值越小),因此,对适应值影响较大的参数容易收敛,而对适应值影响较小的参数往往需要更多的迭代次数才能收敛。为了减少迭代次数,加快收敛速度,本文提出一种分阶段搜索连续蚁群算法,其基本思想如图1所示。

算法依据待求解参数对待优化问题影响的大小,将所有参数进行动态分组,依据对适应值影响由大到小的顺序,依次对各组参数进行寻优。在对任意一组参数寻优时,固定其它各组参数值,以降低算法搜索空间,加快搜索效率。在算法完成对各组参数的一次寻优后,以各组参数的当前值为中心缩小各组参数的搜索范围,再次重复执行对各组参数的寻优,直到在每组参数的寻优过程中,全局最优适应值gbest在设定次数内均不再变化为止。

本文的连续蚁群算法在文献[10]提出的算法基础上进行改进设计,具体算法内容如下:

每组蚁群对应一个信息素密度分布函数,对于连续问题,认为信息素的分布也是连续的。蚁群中的每一只蚂蚁位置(食物源所在)对应于求解空间中的一个点,采用适应度函数来评价蚂蚁位置的优劣程度,依据伪随机比例规则在所有蚁群中选择位置较好的蚁群作为种子蚁群,然后由种子蚁群依据其信息素密度分布函数产生子代蚁群,从而实现蚁群位置更新,并最终在整个连续空间中搜索到质量最高的食物源。

(1)信息素分布模型

信息素分布模型采用高斯函数,在该模型下,任意蚁群i中的蚂蚁j对应的信息素分布密度函数可表示为

式中:μij表示蚁群i中蚂蚁j的位置,即分布中心;σjσj>()0 表示分布函数的宽度。

(2)状态转移策略

蚂蚁感知整个蚁群中其它蚂蚁所在点的信息素大小,按一定方式向信息素浓度高的位置移动。其策略是首先寻找一个优良的种群,称为种子蚁群,然后根据种子蚁群S中各蚂蚁的信息素分布密度函数τsj()

x进行抽样,得到各子代蚁群。

各组蚁群的适应值概率如公式(9)所示。

种子蚁群的选择概率如下:

其中,q00≤q0≤()1 是事先给定的参数;q为均匀分布在[0,1]中的一个随机变量;P是根据公式(9)给出的概率分布产生的一个随机变量。q≤q0则选择适应值最大蚁群的作为种子蚁群,否则,根据公式(9)给出的概率采用轮盘赌的方法选择种子蚁群S。

(3)蚂蚁位置的更新

根据种子蚁群中各蚂蚁的信息素分布密度函数τsj()x进行抽样,得到子代蚁群。在抽样过程中,使用函数τsj()x所对应的随机数生成器进行。该生成器如公式(11)所示。

式中:randl为均匀分布在[0,1]中的一个随机变量。

(4)信息素更新规则

在设定的迭代次数中全局最优适应值gbest连续不变化,则按公式(12)更新σj,算法开始在更小范围内进行精细搜索。

其中,ρ 0<ρ<()1 为收缩因子。

4.2 基于分阶段搜索连续域蚁群算法的船舶纵向运动参数辨识

由文献[13]可知,在船舶纵向运动水动力参数向量para中,c33,c35,c53,c55为常数,因此,在辨识过程中,将 c33,c35,c53,c55当作已知参数,然后对 a33,a35,a53,a55,b33,b35,b53,b55进行辨识。 大量试验证明,在不同海况下和不同的遭遇频率下,b53对适应值的影响相对于其他参数的影响而言非常小,因此,在搜索过程中几乎总是在最后才收敛。为了减少搜索时间,参数向量para分为两组进行辨识。第一组:para1= [ a33,a53,a35,a55,b33,b35,b55],第二组:para2=[b53],在对para1中参数进行辨识时,para2中参数的取值可以经验参数、船模试验得到的数据或者是用对应的搜索范围内的一个随机值,而在对第二组参数进行搜索时,将第一组搜索到的para1中各参数的最优值作为已知参数,仅对para2进行搜索。在第二组参数搜索结束时,收缩para中各参数的搜索范围,重新对第一组参数进行搜索,此时para2中的参数用新搜索到的最优值替代。如此反复,直到满足退出条件。

基于分阶段搜索连续蚁群算法的船舶纵向运动参数辨识的具体流程如下:

(1)完成对算法各参数的初始设置;产生antin(蚁群总数)组初始位置;

(2)第一组参数的搜索

将初始化产生的para2的值作为已知值,待辨识参数为para1中各参数。

a.按公式(4)计算各组蚁群对应的解的适应度值。

其中,fanti为蚁群i对应的解的函数值,fmax为本次迭代中最大函数值,fmin为本次迭代中最小函数值。

b.按照公式(9)计算各组蚁群的选择概率,使用公式(10)给出的伪随机比例规则选定种子蚁群S。

c.对种子蚁群中每只蚂蚁的信息素密度分布函数进行采样,得到子代蚁群。

d.按照公式(12)更新信息素。

e.判断算法是否满足停止条件,若满足则输出最优结果,并执行(3)第二组参数的搜索;否则,算法跳到a重复运行。

(3)第二组参数的搜索

将搜索到的para1的最优值作为已知值,仅对para2中各参数进行搜索。具体步骤同第一组参数搜索过程。满足停止条件后转入(4)。

(4)收缩para1,para2中各参数的搜索范围,将(3)中辨识得到的para2的最优值作为已知值,重复步骤(2)中 a-e.搜索结束后重复步骤(3)。

(5)判断是否满足停止条件,如果不满足,重复步骤(4)。

5 仿真计算及结果

为了验证上述设计的参数辨识算法的有效性,本文使用VC++和MATLAB作为工具进行了计算机仿真。

表1和表2分别列出了文献[10]所提连续域蚁群算法CACA以及本文的分阶段搜索连续蚁群算法PSCACA在三级海情下、五级海情下对船舶纵向运动水动力参数的辨识结果、算法收敛速度及计算成功率。连续蚁群算法参数设置如下:蚂蚁数量为100,收缩因子ρ=0.9,q0=0.1。各参数的搜索范围为±200%,每一组算法寻优结束标准是如果连续30次全局最优值的改变量小于1e-5。各算法迭代最大次数为1 500次,对于每个算法独立运行100次。

表1 三级海情下CACA、PSCACA算法对船舶纵向运动水动力参数辨识结果对比Tab.1 Comparison between CACA and PSCACA in parameter identification of Ship Longitudinal Motions for 3 sea condition

表2 五级海情下CACA、PSCACA算法对船舶纵向运动水动力参数辨识结果对比Tab.2 Comparison between CACA and PSCACA in parameter identification of Ship Longitudinal Motions for 5 sea condition

从仿真结果可以看出,利用连续蚁群算法CACA辨识的结果中,在para1中各参数误差已经很小时,para2中参数b53仍然存在很大误差,如果要使b53达到更高精度,需要更多的迭代次数和运算时间,这是非常不利于在线辨识的。而分阶段搜索的连续蚁群算法很好地克服了这个缺点,尤其是在高海情下效果更明显。虽然分阶段搜索可能损失了部分参数的辨识精度,但是保证了整体参数的收敛速度,收敛精度也达到了工程所需的要求,具有较好的实际应用能力。

6 结 论

船舶水动力参数辨识是通过对船舶观测数据处理而获取船舶水动力参数的一种重要手段。本文根据水动力参数耦合性高,个别参数收敛速度慢等特点,对水动力参数进行分组,采用分阶段的搜索方式,利用连续蚁群算法对参数进行寻优。介绍了辨识算法的思想,给出了算法流程和适应值函数的选取,并进行了计算机仿真计算。仿真结果表明,本文设计的参数辨识算法能够正确、有效地解决船舶纵向运动水动力参数辨识问题,提高了算法的收敛速度和全局收敛精度,更有利于参数的实时辨识,为船舶水动力参数辨识方法的研究提供了一种新思路。

[1]Abkowitz M A.Measurement of hydrodynamic characteristics from ship manoeuvring trails by system identification[J].Transactio-ns-Society of Naval Architects and Marine Engineers,1980(88):283-318.

[2]Clarke D P,Hine G.The application of manoeuvring criteria in hull design using linear theory[J].Transactions of the Royal Institution of Naval Architects,1982:45-68.

[3]Haddara M R.On the use of neural network techniques for the identification of ship stability parameters at sea[C]//Proceedings of the Fourteenth International Conference on Offshore Mechanics and Arctic Engineering.Copenhagen,Denmark,1995,II:127-135.

[4]Haddara M R,Wang Y.Parametric identification of coupled sway and yaw motions[C]//Proceedings of the Fifteenth International Conference on Offshore Mechanics and Arctic Engineering.Florence,Italy,1996,I:267-273.

[5]Haddara M R,Xu Jinsong.On the identification of ship coupled heave-pitch motions using neural networks[J].Ocean Engineering,1997,26(5):381-400.

[6]Mahfouz A B,Haddara M R.Effect of the damping and excitation on the identification of the hydrodynamic parameters for an underwater robotic vehicle[J].Ocean Engineering,2003(30):1005-1025.

[7]Dorigo M,Maniezzo V,Colorni A.Ant system:Optimization by a colony of cooperating agent[J].IEEE Transactions on Systems,Man and Cybernetics-Part B(S1083-4419),1996,26(1):29-41.

[8]Socha K,Dorigo M.Ant colony optimization for continuous domains[J].European Journal of Operational Research,2008(185):1155-1173.

[9]Duran Toksar M.A heuristic approach to find the global optimum of function[J].Journal of Computational and Applied Mathematics,2007(209):160-166.

[10]刘利强,于 飞,谭佳琳.一种求解约束优化问题的连续域蚁群算法[J].系统仿真学报,2008,20(13):3404-3407.

[11]汪 镭,吴启迪.蚁群算法在系统辨识中的应用[J].自动化学报,2003,29(1):102-109.

[12]Lloyd A R J M.SEAKEEPING:Ship Behaviour in Rough Weather[M].Ellis HorwoodLtd.,1989:168-169.

[13]Dong R R,Katz J.On the structure of bow waves on a ship model[J].Journal of Fluid Mechanics,1997:346.

Parameter identification of ship longitudinal motions using continuous ant colony algorithm with period searching

DAI Yun-taoa,b,ZHAO Xi-renb,LIU Li-qiangb
(a.College of Science;b.College of Automation,Harbin Engineering University,Harbin 150001,China)

A continuous ant colony algorithm with period searching(PSCACA)is introduced.It was successfully applied in solving the problem of hydrodynamic parameter identification of ship longitudinal motions.Firstly,the problems of parameter identification of ship longitudinal motions are converted to nonlinear optimization problems in parameter space,and then,in the solving of the optimization problem,the parameters are dynamic grouped in the light of the importance of each parameter respectively.Furthermore,the ranges of the parameter are fixed and the search is practiced with high accuracy in these ranges.The result of hydrodynamic parameter identification of ship shows that the algorithm can recognize the hydrodynamic parameter of ship longitudinal motions in a satisfied precision.And the algorithm is proved to be effective.

parameter identification;period searching;continuous Ant Colony Algorithm;longitudinal motions

U61.32

A

1007-7294(2010)08-0872-07

2009-03-25

2009-12-01

国防科学技术工业委员会基础研究基金资助项目(41314020201)

戴运桃(1980-),女,博士生,研究方向为系统分析与建模;赵希人(1940-),男,教授,博导,研究方向为系统建模,预报及随机控制。

猜你喜欢
分阶段蚂蚁动力
学习动力不足如何自给自足
观察分阶段延伸护理对老年痴呆患者的影响
分阶段减少母猪限位栏的使用
胖胖一家和瘦瘦一家(10)
我们会“隐身”让蚂蚁来保护自己
蚂蚁
动力船
分阶段切开复位内固定治疗严重Pilon骨折临床观察
课堂巧分阶段 搞好英语教学
蚂蚁找吃的等