基于人工鱼群算法的加农炮内弹道参数优化研究

2022-02-28 12:54何新佳马中亮代淑兰
火炮发射与控制学报 2022年1期
关键词:弹道适应度鱼群

何新佳,马中亮,代淑兰

(中北大学 环境与安全工程学院,山西 太原 030051)

火炮设计需要以内弹道计算为基础,在内弹道计算中,火药装填条件或膛内构造诸元的改变都会使内弹道的计算结果大不相同[1]。装填条件中只有装药量和火药弧厚等少部分参数能得到较精确的值,而大多数参数值都是一个范围,不易得到较精确的值,例如燃速系数和燃速指数等,其值大多通过密闭爆发器实验得到。然而密闭爆发器和火炮膛内的实际情况不一样,因此需要对燃速系数和燃速指数进行修正,以往大多靠经验求得,缺乏一定的合理性。尤其是对于一些用来进行科学研究的新型发射药,其配方复杂,加入的一些氧化剂等势必会对发射药的内部结构产生影响,导致燃速系数值和燃速指数值发生较大的改变,这时仅凭经验修正费时费力,因此需要采用一些合理的优化方法来对这些参数进行修正,以达到提高内弹道模型的精度和预示性的目的[2-3]。

近年来,各种优化算法不断涌现,如模拟退火算法、遗传算法、粒子群算法等,这些方法具有良好的全局性、鲁棒性强以及收敛速度较快的特点,均得到了广泛地应用。相比上述算法,人工鱼群算法对初值的要求不高,随机产生或者固定为常数值均可,且全局寻优能力强,能够快速跳出局部最优解,因此该算法在优化设计方面得到了广泛应用。冷杉等[4]将人工鱼群算法结合粒子群算法应用到弹道优化中,设计得出了导弹滑翔段的优化弹道。李晓苏等[5]将人工鱼群算法应用到运载火箭上升段的弹道优化设计中,结果表明了鱼群算法能有效求解多级固体火箭上升段的弹道优化问题。基于此,笔者以100 mm加农炮内弹道数学模型为算例,采用人工鱼群算法对内弹道参数进行优化。

1 内弹道数学模型

100 mm加农炮采用的发射药是单一的管状药,因此不需要考虑发射药的燃烧分裂点问题。在经过一系列简化假设的基础上,100 mm加农炮经典内弹道方程组可以写为

(1)

式中:lψ=l0[1-Δ(1-ψ)/ρp-αΔψ],l0为药室容积缩径长,l0=V0/S,V0为药室容积;Δ=ω/V0;Ik为压力全冲量,Ik=e1/u1;θ=k-1;Z为火药燃去的相对厚度;p为加农炮膛内压力;l为弹丸的行程;ω为发射药装药量;m为弹丸质量;φ为次要功计算系数;α为火药气体余容;ρ为发射药固体颗粒的密度;χ,λ,μ为火药的形状特征量;k为火药气体绝热指数;f为火药力;u1为发射药的燃速系数;e1为管状发射药弧厚的一半;n为燃速指数;S为炮膛横截面面积;lψ为药室的自由容积缩径长。

2 内弹道参数优化过程描述

内弹道数学模型描述了系统的已知量和未知量的关系,用数学方程的形式给出了装填条件和火炮构造诸元与内弹道性能的关系。对内弹道参数进行优化时,需要在满足内弹道性能指标的条件下,找到优化目标函数的装填条件和火炮构造诸元[1]。

2.1 确定设计变量

内弹道参数优化时,对内弹道计算结果影响较大的有燃速系数、燃速指数、装填密度、相对装药量和绝热指数等。由于燃速系数和燃速指数相比火药弧厚、相对装药量等其他参数更加难以得到较精确的值,因此以火药的燃速系数u1和燃速指数n作为需要优化的参数。

2.2 建立约束条件

约束条件是对内弹道参数优化时参数取值的限制,或是对参数本身提出的限制条件。参考文献[1]确定火药燃速系数u1的取值范围为:8.3×10-10m/(s·Pan)≤u1≤9.0×10-10m/(s·Pan),燃速指数的取值范围为:0.92≤n≤1.0。

2.3 选择目标函数

目标函数是用来评价设计目标优劣的数学关系式,目标函数应是设计变量的函数。由加农炮内弹道数学模型可知,内弹道参数(如装药量,火药弧厚和燃速系数等)与内弹道计算结果(如膛压和初速等)呈隐式非线性关系,如果改变内弹道参数,内弹道计算结果也会随之改变。为了使内弹道计算结果与靶场试验结果尽量一致,以最大膛压、初速的计算值与靶场试验值的平均相对误差e为目标函数,其计算公式为

(2)

式中:p,vg为仿真值;psid,vg,sid为靶场试验值。

2.4 建立适应度函数

为了评价每次迭代后变量的优劣程度,且算法在接近收敛时,目标函数取值很小,继续优化的潜能降低,导致可能获得某个局部最优解,因此为了解决上述问题,需要建立适应度函数,其计算公式为

fFit=1/(1+e),

(3)

式中:fFit为适应度值;e为上述的平均相对误差。

为了使结果得到更好的精度,且尽量减少程序运行时间,因此在算法进行过程中,当fFit取值为0.999~1时,该算法就被认为终止。

3 人工鱼群算法

人工鱼群算法是一种基于模拟鱼群行为的优化算法。在一片水域中,鱼群生存数目最多的地方就是该水域营养物质最丰富的地方,根据这一特点来模仿人工鱼群的觅食行为,进而实现全局寻优,这就是人工鱼群算法的基本思想[6-7]。

3.1 觅食行为

设人工鱼当前状态为Xi,人工鱼Xi在视野内随机选择一个状态Xj,分别计算人工鱼适应度值并进行比较,如果发现Yj比Yi优(Yj和Yi分别为Xj和Xi的适应度值),则Xi向Xj移动一步:

Xj=Xi+RrandVs,

(4)

否则,人工鱼Xi继续在其视野范围内选择下一个状态Xnext:

(5)

反复尝试Tr次后,若仍没有满足前进条件,则人工鱼Xi随机继续向前移动一步:

Xnext=Xi+RrandSt,

(6)

式中:Rnext为0到1之间的随机数;St为移动步长。

如图1,假设一条虚拟人工鱼当前位置为X,Vs为人工鱼的视野范围,位置Xv为人工鱼Xi在某时刻的视点所在位置。若此时该位置食物浓度高于当前位置,则人工鱼向前移动一步,到达Xnext,否则人工鱼X继续寻求视野内的其他位置,判断是否满足前进条件[8-12]。若尝试Tr次后仍没有找到满足前进的条件,则按式(6)继续执行下一步。

3.2 聚群行为

人工鱼搜索视野范围内的鱼群数目nf及中心位置Xc,若Yc/nf<δYi,表明伙伴中心位置不太拥挤且该位置状态较优,则人工鱼Xi朝伙伴中心位置移动一步,否则执行觅食行为,其中δ为拥挤度因子。聚群行为可以促进陷于局部最优解的人工鱼群向全局最优解的人工鱼方向聚集,从而跳出局部最优解。

3.3 追尾行为

人工鱼Xi搜索其视野内适应度最高的个体Xj,其适应度值为Yj,并探索人工鱼Xj视野范围内伙伴数目nf,若Yj/nf<δYi,则表明Xj状态较优,且不太拥挤,Xi向Xj前进一步,否则执行觅食行为。

3.4 随机行为

随机行为指人工鱼Xi可以在其视野范围内随机移动,且会向食物较多的方向快速移动:

Xnext=Xi+VsRrand.

(7)

随机行为可以让人工鱼个体更好地跳出局部最优解。

3.5 加农炮内弹道参数优化算法

人工鱼群算法在运行过程中,人工鱼会同时随机的进行聚群行为和追尾行为,若发现聚群对象和追尾对象周围拥挤度过大时,人工鱼就会选择觅食行为,若人工鱼在觅食行为中没有发现比自身适应度更高的个体,则按步长随机移动一步,最后对聚群行为和追尾行为得到的适应度值进行比较[13-16]。为了使加农炮内弹道计算结果与测试结果的相对误差尽可能小,因此在本文中选择适应度值较大的人工鱼作为下一代的个体。

利用鱼群算法优化加农炮内弹道参数时,当要计算人工鱼个体适应度时,需调用内弹道方程组的求解程序,算出一系列约束条件范围内的燃速系数u1的值和燃速指数n的值,再代入人工鱼群算法的程序中计算出目标函数值,最后根据上述的转换关系式得到适应度值。这里人工鱼的个体代表需要优化的加农炮内弹道参数值,即燃速系数u1和燃速指数n的值。加农炮内弹道参数优化的流程图如图2所示,其中N为迭代次数,Nmax为最大迭代次数。

4 算例及结果分析

4.1 初始参数

选用以100 mm加农炮内弹道的设计参数为初始参数,火炮所用的发射药为单一管状药。100 mm加农炮的初始参数如表1、2所示[1,17]。

表1 装填条件参数

表2 计算条件参数

4.2 仿真计算

为了达到精度要求,且尽量加快算法的收敛速度,取人工鱼个体数目N为100,算法迭代次数为50次,人工鱼视野Vs为1,拥挤度因子δ为0.618,人工鱼前进步长为0.5,人工鱼尝试次数Ntry为15次[18-20],计算得到的目标函数值要求不大于0.001,此精度在工程实际中已满足要求。在算法进行过程中,当连续多次所得的适应度值在0.999~1之间时,算法终止。仿真计算得到的适应度值随迭代次数的变化关系图如图3所示。由图中的变化曲线可知,当算法进行到第36次时,适应度值已在0.999~1之间,其值为0.999 09,该适应度对应的目标函数值的误差已经小于0.001,完全满足工程实际的要求。

为了更好地说明内弹道优化参数的变化情况,得到的燃速系数和燃速指数随迭代次数的曲线变化图,分别如图4、5所示。

从图4、5中可以看出,在迭代进行到第36次时,达到了所要求的精度,且燃速系数和燃速指数随迭代次数的变化情况与适应度值随迭代次数的变化情况完全相符。此时对应的燃速系数和燃速指数的值分别为

u1=8.602 0×10-10m/(s·Pan),n=0.971 3。

此时仿真得到的最大膛压值与初速值如表3所示。由表3可知,仿真得到的最大膛压和初速的相对误差均低于0.1%,与靶场射击试验结果符合得很好。

表3 最大膛压值与初速值

为了验证鱼群算法的可行性及实用性,将优化后的参数代入到加农炮内弹道数学模型,由于内弹道微分方程组只能运用数值计算的方法进行求解,因此选用四阶龙格-库塔法进行数值求解,并与参数优化前计算得到的结果进行比较,其膛内压力和弹丸速度随时间的变化曲线如图6、7所示。膛内压力和弹丸速度随弹丸行程的变化曲线如图8、9所示。

从图6~9中可以看出膛内最大压力值和炮口初速值在内弹道参数优化前后都有明显的变化,体现出燃速系数和燃速指数对内弹道性能影响较大的特点。

加农炮内弹道参数优化前后得到的最大压力与炮口初速如表4所示。从表中的参数优化前后结果看,优化后炮口初速的计算值与试验值的相对误差仅为0.017%,相比优化前,已经具有很高的精度。优化后的计算结果与靶场射击试验结果吻合得很好,该对比结果进一步证明人工鱼群算法应用到加农炮内弹道参数优化中的适用性。

表4 加农炮内弹道参数优化结果

5 结束语

笔者采用加农炮经典内弹道数学模型,利用人工鱼群算法对加农炮内弹道参数进行优化研究,该算法在迭代次数为36次时就已经达到所需的精度,体现了人工鱼群算法收敛速度较快的特点。计算得到的最大膛压相对误差以及初速相对误差均小于0.1%,满足工程实际要求。将优化后的参数代入到加农炮内弹道数学模型中进行内弹道计算,其最大膛压和初速的计算结果与靶场射击试验结果的相对误差均不超过0.1%,吻合得很好,显示了人工鱼群算法在内弹道参数优化中的可行性以及适用性。该算法对火炮的装药设计及改进火炮内弹道性能等具有重要指导意义。

猜你喜欢
弹道适应度鱼群
通过图像增强与改进Faster-RCNN网络的重叠鱼群尾数检测
一种基于遥测信息的外弹道择优方法
改进的自适应复制、交叉和突变遗传算法
弹道——打胜仗的奥秘
深空探测运载火箭多弹道选择技术全系统测试研究
奇妙的导弹弹道
鱼群漩涡
朱梦琪??《鱼群》
启发式搜索算法进行乐曲编辑的基本原理分析
基于人群搜索算法的上市公司的Z—Score模型财务预警研究