基于NSGA-II算法的船舶推力分配方法组成比例

技术编号:13620240 阅读:70 留言:0更新日期:2016-08-31 11:57
本发明专利技术提供一种基于NSGA‑II算法的船舶推力分配方法,确定推力分配输入量即动力定位系统控制器发出的推力指令:纵向合力、横向合力和艏摇力矩并设定为已知变量;分析目标船所受合力;建立推力分配数学模型,运用NSGA‑II算法进行推力分配得到最优推力分配解等一系列步骤。本发明专利技术采用NSGA‑II算法在进行推力分配的过程中不需要人为的设定各个目标函数权重值,从而能够更精确的寻找到使得推进系统能耗最小、推力误差最小和推进器磨损最小时每个推进器的最优转速和方向角。

【技术实现步骤摘要】

本专利技术涉及一种船舶动力定位系统推力分配方法,尤其涉及一种基于NSGA-II算法的船舶推力分配方法
技术介绍
船舶动力定位系统利用自身推进器产生的力矩和反力矩来抗衡外界力和力矩来保持平台定位在期望的位置上。推进器的推力分配问题是一个多目标优化问题。推力分配的优化问题可以定义为:根据船舶配置的推进器类型和数目,在满足推进器转速变化率、方位角变化率、推力禁区和死区约束条件下,寻找使得推进系统能耗最小、位置误差最小和推进器磨损最小时每个推进器的最优转速和方向角。遗传算法(GA),粒子群算法(PSO),蚁群算法(ACO),模拟退火算法(SA)都属于进化算法,并且已用来解决多目标优化问题。进化算法在20世纪80年代中期作为解决多目标优化问题的候选方法受到了研究者们的广泛关注。近年来,涌现出的多种进化多目标优化算法逐渐形成了一个新的热门研究和应用领域。其目前主要的代表算法有Strength Pareto Evolutionary Algorithm(简称SPEA)、SPEA-II、Pareto Archived Evolution Strategy(简称PAES)、(PESA)、和Non-dominated Sorting Genetic Algorithm(NSGA-II)等,其中NSGA-II算法在进化多目标优化领域被SCI引用的次数最多。经对现有技术文献的检索发现,中国专利公开号:CN102508431A,专利名称:一种海洋钻井平台动力定位系统推力分配方法;中国专利公开号:CN102385665A,专利名称:采用遗传算法的船舶动力定位系统推力分配方法;运用遗传算法和粒子群算法对动力定位系统推力分配优化,本专利将一种新的进化算法NSGA-II算法用来解决动力定位系统的推力分配问题。
技术实现思路
本专利技术的目的是为了提供一种基于NSGA-II算法的船舶推力分配方法,针对船舶的动力定位系统,设计一种推力分配优化方法,寻找使得推进系统能耗最小、推力误差最小和推进器磨损最小时每个推进器的最优转速和方向角。本专利技术的目的是这样实现的:包括如下步骤:步骤1:确定推进器配置,建立推力分配模型,确定输入指令即控制器输出的推力指令τ=[Fx Fy Fz],其中:Fx、Fy、Mz分别表示平台所需的纵向、横向力和回转力矩,且有:其中:lxi、lyi分别是第i个推进器安装位置与船舶
重心之间的距离;u是表示由每个推进器产生的输出推力的向量;αi表示每个推进器输出力的方向;步骤2:初始化算法参数:NSGA-II算法的初始化参数包括种群规模M和迭代次数N,M代表有多少个初始的推进器分配方案,N表示在分配方案空间中搜索的次数;步骤3:将步骤1和步骤2所述的参数信息读入NSGA-II算法中;步骤4:根据推进器的配置进行编码:编码采用十进制编码方式,其中染色体的长度为染色体上基因的个数,染色体上基因的个数等于推进器的数目,每个基因包含推力幅值和方向两个参数;步骤5:计算种群个体的目标函数值并进行快速非支配集排序:目标函数的要求是能量消耗、推力误差和推进器磨损最小化,建立推力分配优化问题的数学模型为: min f 1 ( T , s ) = Σ i = 1 n T i 2 + s T Q s min f 2 ( T ) = Σ i = 1 n ( T i - T i , 0 ) 2 min f 3 ( α ) = Σ i = 1 n ( 本文档来自技高网
...

【技术保护点】
基于NSGA‑II算法的船舶推力分配方法,其特征在于:包括如下步骤:步骤1:确定推进器配置,建立推力分配模型,确定输入指令即控制器输出的推力指令τ=[Fx Fy Fz],其中:Fx、Fy、Mz分别表示平台所需的纵向、横向力和回转力矩,且有:其中:lxi、lyi分别是第i个推进器安装位置与船舶重心之间的距离;u是表示由每个推进器产生的输出推力的向量;αi表示每个推进器输出力的方向;步骤2:初始化算法参数:NSGA‑II算法的初始化参数包括种群规模M和迭代次数N,M代表有多少个初始的推进器分配方案,N表示在分配方案空间中搜索的次数;步骤3:将步骤1和步骤2所述的参数信息读入NSGA‑II算法中;步骤4:根据推进器的配置进行编码:编码采用十进制编码方式,其中染色体的长度为染色体上基因的个数,染色体上基因的个数等于推进器的数目,每个基因包含推力幅值和方向两个参数;步骤5:计算种群个体的目标函数值并进行快速非支配集排序:目标函数的要求是能量消耗、推力误差和推进器磨损最小化,建立推力分配优化问题的数学模型为:min f1(T,s)=Σi=1nTi2+sTQsmin f2(T)=Σi=1n(Ti-Ti,0)2min f3(α)=Σi=1n(αi-αi,0)2]]>s.ts=BT-τcTmin≤Ti≤TmaxΔTmin≤Ti-Ti,0≤ΔTmaxαmin≤αi≤αmaxΔαmin≤αi-αi,0≤Δαmax]]>其中:T是推进器输出推力;s是松弛变量;Q是对角线正定矩阵;α是推进器方向角;Ti,0表示前一个时刻的推力值,Ti表示的是当前时刻的推力值;αi,0表示的是前一个时刻的推进器的角度,αi表示的是当前时刻的推进器的角度;f1表示的是推进器的功率;f2表示的是推力变化率;f3表示的是推进器角度变化率;s.t中的第二个约束方程为推进器推力Ti的上下限、第三个约束方程为推进器推力的变化率、第四个约束方程为禁止角αi的上下限、第五个约束方程为推进器方位角的变化率,且Tmin为最小推力,Tmax为最大推力;αmin为最小方位角,αmax为最大方位角,ΔTmin为推力最小变化值,ΔTmax为推力最大变化值;Δαmin为方位角变化的最小速度,Δαmax为方位角变化的最大速度;τc为控制器输出的推力指令;步骤6:对种群进行选择、交叉、变异遗传操作,产生子种群:选择操作采用锦标赛法来对个体进行选择;交叉操作采用模拟二进制交叉法;变异操作采用多项式变异方法;步骤7:合并初始种群和子种群产生新种群,对新种群进行快速非支配集排序,计算拥挤距离并排序:对于每个目标函数,先根据该目标函数的大小对非支配解集中的个体进行排序,然后再对每个解i计算由解i+1和i‑1构成的超立方体的平均边长即为解i的拥挤距离进行排序;步骤8:保留精英,选前N个个体作为新的初始种群;步骤9:重复步骤5到步骤7的过程,判断迭代次数是否达到最大迭代次数N,达到则结束算法,否则重复上述过程;步骤10:输出NSGA‑II算法寻找到的最优分配方案,即每个推进器产生的推力和方向角。...

【技术特征摘要】
1.基于NSGA-II算法的船舶推力分配方法,其特征在于:包括如下步骤:步骤1:确定推进器配置,建立推力分配模型,确定输入指令即控制器输出的推力指令τ=[Fx Fy Fz],其中:Fx、Fy、Mz分别表示平台所需的纵向、横向力和回转力矩,且有:其中:lxi、lyi分别是第i个推进器安装位置与船舶重心之间的距离;u是表示由每个推进器产生的输出推力的向量;αi表示每个推进器输出力的方向;步骤2:初始化算法参数:NSGA-II算法的初始化参数包括种群规模M和迭代次数N,M代表有多少个初始的推进器分配方案,N表示在分配方案空间中搜索的次数;步骤3:将步骤1和步骤2所述的参数信息读入NSGA-II算法中;步骤4:根据推进器的配置进行编码:编码采用十进制编码方式,其中染色体的长度为染色体上基因的个数,染色体上基因的个数等于推进器的数目,每个基因包含推力幅值和方向两个参数;步骤5:计算种群个体的目标函数值并进行快速非支配集排序:目标函数的要求是能量消耗、推力误差和推进器磨损最小化,建立推力分配优化问题的数学模型为: min f 1 ( T , s ) = Σ i = 1 n T i 2 + s T Q s min f 2 ( T ) = Σ i = 1 n ( T i - T i , 0 ) 2 min f 3 ( α ) = Σ i = 1 n ( α i - α i , 0 ) 2 ]]> s . t s = B T - τ c T m i n ≤ T i ≤ T m a x ΔT m i n ≤ T i ...

【专利技术属性】
技术研发人员:夏国清刘彩云陈兴华薛晶晶
申请(专利权)人:哈尔滨工程大学
类型:发明
国别省市:黑龙江;23

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1