一种基于粒子群算法的船舶推力分配方法
文献发布时间:2023-06-19 19:30:30
技术领域
本发明涉及动力定位船舶推力分配技术领域,具体涉及一种基于粒子群算法的船舶推力分配方法。
背景技术
动力定位系统作为一种高技术科技装备被广泛应用于各类船舶中,其在海洋探索特别是在深海探测领域发挥着重要作用。推力分配是船舶动力定位系统中的一个关键环节,开展船舶动力定位系统推力分配机制的应用研究具有非常现实意义,可以提高船舶的定位精度,延长推进设备的使用寿命,实现节能减排等。动力定位船舶推力分配是一种复杂的高度非线性优化问题,传统推力分配方法计算较复杂且性能指标选择灵活性较差,近几十年兴起的群智能算法能很好解决这些问题。本发明运用粒子群算法从全局优化角度出发,在综合考虑能耗、机械磨损、奇异性和偏差性能指标前提下进行推力分配求解,提出基于粒子群算法的船舶推力分配方法,该推力分配方法可以从全局角度监督偏差和能耗,进而提高定位精度、实现节能减排,实验也表明该算法能满足工程应用实时性需求又能灵活优化推力分配各项指标。
发明内容
针对上述现有技术存在的缺点,本发明提供了一种基于粒子群算法的船舶推力分配方法,能够在考虑全局性和灵活性情况下、获取更可靠和优化的推力分配结果,从而提高推力分配精度、降低能耗。
为了实现上述目的,本发明采用的技术方案如下:
一种基于粒子群算法的船舶推力分配方法,包括如下步骤:
步骤1、初始化船舶各类参数:结构参数、状态参数、物理条件约束参数、权值参数、最优角度区界定参数;
步骤2、判别是否执行最优角度搜寻,是则运用PSO算法进行最优角度求解,否则保留前一时刻最优角度解;
执行最优角度区搜寻条件为:当前推力和力矩与上一时刻的推力和力矩不相同;
PSO算法实施步骤如下:
步骤2.1、初始化参数;
步骤2.2、以能耗项、偏差项和奇异项为代价函数计算粒子适应度值,并计算全局最优值;
步骤2.3、运用带权重系数的PSO算法进行种群进化,粒子更新;
步骤2.4、判别迭代次数是否达设定值,是则执行步骤2.5,否则执行步骤2.3;
步骤2.5、输出最优角度区相关数值:最优角度值、合力与力矩值以及功率;
步骤3、根据切换标志Tflag的值判别推力分配求解方法,值为0则执行步骤4,值为1则执行步骤5;
步骤4、运用SQP算法进行推力分配求解,然后执行步骤6,SQP算法具体实施方法为:
构建增量式二次型推力分配数学模型为:
其中ΔT为推力变化量,S为松弛变量,B(α)为推进器配置控制矩阵,T
根据所构建的增量式二次型推力分配数学模型运用SQP算法进行推力分配求解并输出推力分配结果;
步骤5、运用PSO算法进行推力分配求解,具体实施步骤如下:
步骤5.1、初始化参数;
步骤5.2、以能耗项、偏差项、机械磨损项和奇异项为代价函数计算粒子适应度值,并计算全局最优值;
步骤5.3、运用带权重系数的PSO算法进行种群进化,粒子更新;
步骤5.4、判别迭代次数是否达设定值,是执行步骤5.5,否执行步骤5.3;
步骤5.5、输出推力分配结果;
步骤6、运用最优角度区界定机制进行最优角度区更新,具体实施方法为:
假设前一时刻选择的最优角度区最优角度为α
步骤6.1、判别α
步骤6.2、判别当前角度α
步骤6.3、判别α
条件1:(e
条件2:P
条件3:α
P
步骤6.4、α
步骤7、输出推力分配结果,更新船舶状态参数,跳至步骤2进行下一个周期推力分配计算。
优选的,所述步骤2和步骤5中,PSO算法中粒子的范围界定方法如下:
假设(l
求上述非齐次线性方程组的通解和特解,其中通解的基础解为Y
T
假设扩展推力的极小值和极大值分别为T
T
假设扩展推力变化量的极小值和极大值分别为ΔT
ΔT
针对上述不等式约束矩阵方程运用“消元法”获得粒子r
优选的,所述步骤4中,方位角变化量Δα具体计算方法为:
其中α
优选的,所述步骤6中,判别α
/>
f
与现有技术相比,本发明具有以下有益效果:
本发明所提出的推力分配方法能够从全局角度对偏差和能耗进行监督,故可以提高推力分配精度和实现节能减排,此外基于粒子群的推力分配算法可以灵活考虑偏差、能耗、机械磨损和奇异性指标,进而获取更可靠及更优化的推力分配结果。
附图说明
图1是本发明的流程示意图;
图2是本发明纵向力输出曲线图;
图3是本发明横向力输出曲线图;
图4是本发明力矩输出曲线图;
图5是本发明推力输出曲线图;
图6是本发明方位角输出曲线图;
图7是本发明推进器消耗功率输出曲线图。
具体实施方式
下面结合附图1-7和船模实例对本发明的技术方案进行详细说明:
一种基于粒子群算法的船舶推力分配方法,包括如下步骤:
步骤1、初始化船舶各类参数:结构参数、状态参数、物理条件约束参数、权值参数、最优角度区界定参数,具体参数如下所示:
表1推进器的部分参数:
最优角度区偏移量为0.17,Tflag=0,t
步骤2、判别是否执行最优角度搜寻,是则运用PSO算法进行最优角度求解,否则保留前一时刻最优角度解;
执行最优角度区搜寻条件为:当前推力和力矩与上一时刻的推力和力矩不相同;
PSO算法实施步骤如下:
步骤2.1、初始化参数:种群大小为40,最大迭代次数为10,粒子维数为2,B
步骤2.2、以能耗项、偏差项和奇异项为代价函数计算粒子适应度值,并计算全局最优值;
步骤2.3、运用带权重系数的PSO算法进行种群进化,粒子更新;
步骤2.4、判别迭代次数是否达设定值,是则执行步骤2.5,否则执行步骤2.3;
步骤2.5、输出最优角度区相关数值:最优角度值、合力与力矩值以及功率;
步骤3、根据切换标志Tflag的值判别推力分配求解方法,值为0则执行步骤4,值为1则执行步骤5;
步骤4、运用SQP算法进行推力分配求解,然后执行步骤6,SQP算法具体实施方法为:
构建增量式二次型推力分配数学模型为:
其中ΔT为推力变化量,S为松弛变量,B(α)为推进器配置控制矩阵,T
其中α
根据所构建的增量式二次型推力分配数学模型运用SQP算法进行推力分配求解并输出推力分配结果;
步骤5、运用PSO算法进行推力分配求解,具体实施步骤如下:
步骤5.1、初始化参数:种群大小为40,最大迭代次数为10,粒子维数为2,B
步骤5.2、以能耗项、偏差项、机械磨损项和奇异项为代价函数计算粒子适应度值,并计算全局最优值;
步骤5.3、运用带权重系数的PSO算法进行种群进化,粒子更新;
步骤5.4、判别迭代次数是否达设定值,是执行步骤5.5,否执行步骤5.3;
步骤5.5、输出推力分配结果;
步骤6、运用最优角度区界定机制进行最优角度区更新,具体实施方法为:
假设前一时刻选择的最优角度区最优角度为α
步骤6.1、判别α
判别α
f
步骤6.2、判别当前角度α
步骤6.3、判别α
条件1:(e
条件2:P
条件3:α
P
步骤6.4、α
步骤7、输出推力分配结果,更新船舶状态参数,跳至步骤2进行下一个周期推力分配计算。
结果说明:
图2至图4中曲线1、2分别对应期望值和实际输出值,图5中曲线1、2、3分别对应推进器1、2、3的推力值,图6中曲线1、2分别对应推进器1、2的角度值,由图2至图7可以看出该算法获得了较好的推力分配效果,其中合力和力矩除了在干扰或突变发生情况下几乎无偏差的进行推力分配,且推力和方位角的组合有利于能耗的极小化(不考虑奇异性时前100采样周期平稳状态情况下理论最优功率为8.96W、后100采样周期为3.1688W,而实际消耗为9.106W和3.441W,都非常靠近理论最优功耗),推力在第50采样周期时X轴力发生反向干扰,推力分配结果仅此时刻受到影响,在下一时刻干扰消除后,推力分配结果迅速恢复正常,可见该算法具备较好的抗干扰能力,在采样周期51至60时纵向力线性增加,理想情况下最优角度区并不会发生变化故推进器方位角保持不变,该算法实际输出与理想情况保持一致,故有利于降低推进器的机械磨损,推力在采样周期101时产生突变(该突变使得最优解方向正好与原最优方位相反,最优角度区发生大范围变化,存在一段时间难以满足期望合力和力矩需求)情况下,推进器能以最快速度达到新的稳定态,且在过渡过程中尽量把能耗降到最低,图6的角度变化趋势可以看出推力分配结果避免了一定的奇异性,图7表明在满足一定偏差要求情况下达到能耗最小化。
综上所述,本发明所提出的推力分配方法能够从全局角度出发对偏差和能耗进行监督,提高推力分配精度和实现节能减排,此外基于粒子群的推力分配算法可以灵活考虑偏差、能耗、机械磨损和奇异性指标,进而获取更可靠和优化的推力分配结果。实验也表明该算法能满足工程应用实时性需求又能灵活优化推力分配各项指标。
以上对本发明的一个实施例进行了详细说明,但所述内容仅为本发明的较佳实施例,不能被认为用于限定本发明的实施范围。凡依本发明申请范围所作的均等变化与改进等,均应仍归属于本发明的专利涵盖范围之内。
- 一种基于粒子群算法的计及产能节点使用寿命的产能分配方法
- 一种基于粒子群算法的焊接生产线工类分配系统与方法
- 一种船舶推力分配系统及推力分配方法
- 一种基于模型预测控制的船舶电力推进系统推力分配方法