含RDX的改性双基推进剂燃速智能设计
2023-01-16郭延芝吴艳玲赵凤起宋秀铎徐司雨蒲雪梅
郭延芝,吴艳玲,赵凤起,宋秀铎,徐司雨,蒲雪梅
(1. 四川大学 化学学院,四川 成都 610064;2.西安近代化学研究所 燃烧与爆炸技术重点实验室,陕西 西安 710065)
引 言
改性双基推进剂通常由黏合剂、增塑剂、含能添加剂和工艺助剂等多种材料组成[1-2]。推进剂的燃烧性能直接决定了导弹和火箭的弹道性能,影响着武器装备的作战效能和军队战斗力的发挥,在众多性能指标中占据重要位置[3-4]。推进剂的各种成分组合及其比例是影响推进剂性能的主要因素,因此在推进剂各种组成物质种类确定后,重要的是要通过配方优化,确定各种成分含量,使得推进剂达到较优的性能值。近年来研究中用到的配方优化方法可分为两类:一是基于数理统计的传统式优化方法;二是基于机器学习和智能优化算法的优化方法。传统优化方法要在大量试错实验的基础上进行回归分析,再应用如梯度法、约束变尺度法、牛顿法和模式搜索法等处理得到优化配方。其中前三种方法是利用数学中的求导、级数展开和矩阵构造等途径来逼近得到最优解;模式搜索法首先围绕基点探索有利的方向,然后使用加速过程在确定的有利方向上进行加速搜索以得到最优值[5]。这些方法都存在着模型精度低、使用范围窄及耗时费力的局限性[6]。近年来,计算机技术飞速发展,越来越多的研究者开始关注机器学习模型与智能优化算法在此领域的应用。机器学习最突出的特点之一就是不需要像传统数理方法一样在材料性能与各个特征参量间建立繁复的数学关系式,完全基于已有数据进行学习,在解决一些复杂困难的实际问题时具有优秀的性能表现。大自然中,各种生物体依赖本能对自身的生存状态进行优化以适应环境,智能优化算法则模拟大自然中的生物行为,按照一定的思想规则在可行解空间中进行搜索、更新等过程来获得满足实际需求的解。鉴于该类方法的优越性,近年来,机器学习和智能优化算法不断发展完善,已经在合金设计、水利工程、场地布置、气候、热电及光电材料等多个领域取得了一系列成果[7-8],这使得利用计算机技术对固体推进剂性能进行有效预估从而进一步辅助配方设计成为可能。
在之前的工作中,本课题组基于支持向量回归算法构建了准确度高、推理能力较强的预测模型,该模型以推进剂成分含量及压强为输入变量,推进剂燃速值为输出量,实现了对改性双基推进剂燃速值的快速预测[9]。本研究以该模型为基础,以燃速作为代表性目标性能,去探索适合推进剂配方设计的智能优化算法,并相应地开发了一套智能计算软件,为固体推进剂燃速优化提供一种智能的辅助手段。作为一个探索性工作,本研究只选择了燃速作为配方性能的一个代表,假设其他性能不变的情况下以提升燃速作为配方优化设计的目标,以期为机器学习和优化算法在推进剂配方设计中的应用提供研究思路和方法上的参考。但实际应用中推进剂的配方优化是需要考虑其他重要性能,因此需要进一步基于机器学习和优化算法探索配方综合性能的优化设计。
1 实 验
1.1 试验材料
改性双基推进剂由不同比例的硝化纤维素(NC)、硝化甘油(NG)、某酯类增塑剂2(D2)、N,N′-二甲基-N,N′二苯脲(C2)、凡士林(V)、三亚甲基三硝胺(RDX)、Al2O3、某有机铜盐(XCu)、某有机铅盐(XPb)和碳黑(carbon)等混合制成。不同压强下22组改性双基推进剂的配方数据及燃速值构成数据集,共计152个样本。样本经标准化处理之后,采用基于poly核函数的支持向量回归算法(SVR)建立了燃速预测模型,其留一法交叉验证R2可达0.9927[9]。该模型对152样本的预测中,有138个样本预测值与实际值的相对偏差在10%以内,即超过90%的样本达到了模型10%以内的误差要求,证实了所构建的燃速预测模型的可靠性。
1.2 智能优化算法
智能优化算法又称为启发式算法,能够考虑全局的状态对性能进行优化,通用性强而且适合并行处理。与单纯的依据专家经验设计相比,这种算法的理论依据更强,可以在一定的时间内找到最优解或者近似最优解。本研究中,选取了4种不同的智能优化算法进行配方筛选与优化。包括遗传算法、差分进化算法、粒子群优化算法和鲸鱼优化算法。
1.2.1 遗传算法(Genetic Algorithm, GA)
遗传算法[10-12]将大自然物种进化过程中竞争、选择与变异等操作与编码技术结合,进行随机全局搜索得到最优解。在遗传算法中,首先设置需优化的各自变量范围并随机产生N个可行解;再使用编码技术用字符串表示每个解,以模拟生物体内的染色体,这样就构成了含有N个个体的种群;同时为了模拟生物个体的生存竞争过程,算法使用适应度来衡量个体对环境的适应程度,适应度越大,个体越优;再进行遗传算法的关键操作:选择、交叉与变异。选择操作按照一定的挑选规则决定进入下一代的个体;交叉操作将两个染色体对应的基因片段按照设定交叉率进行交换;变异操作根据变异率对染色体的单个或多个基因进行改变。经过上述操作后产生子代种群,在达到停止条件前(如迭代次数或目标值大小),不断进行上述3个关键操作,直到最后输出最优个体。
1.2.2 差分进化算法(Differential Evolution Algorithm, DE)
差分进化算法[13]的计算流程与遗传算法十分相似,但其一般使用浮点矢量进行编码,这样空间中的每一个解都可用一个向量表示,并在变异过程中引入差分向量。遗传算法变异操作是对某个染色体上的基因进行突变,比如在二进制编码中将原本某一个位置的0改为1(如011110→011111),只与单个个体有关,差分进化算法变异时则涉及到了3个个体,其变异过程为:
cm=c3+F(c1-c2)
(1)
式中:c1、c2、c3为从种群中选择的3个个体,括号中代表两个向量的差;F为缩放因子,取值区间为[0,1],控制差分向量对变异结果的影响程度大小;cm为变异操作后得到的新个体。
1.2.3 粒子群优化算法(Particle Swarm Optimization Algorithm, PSO)
粒子群优化算法[14-16]是模拟自然界鸟类觅食的一种模型方法,收敛速度快、参数可调节但是易陷入局部最优。实际问题中,每个可行解被看作空间中具有速度和位置属性的一个粒子(即一只小鸟),使用适应度值来衡度当前位置的好坏,小鸟在觅食的过程中根据其他鸟儿共享的信息更新调整自身的速度和位置,不断向食物所在地点逼近,食物的位置即为最终搜寻出来的最优解组合。算法中粒子的更新方式见公式(2)和(3)。
速度更新公式:
Vk+1=wVk+c1r1(Pk-Xk)+c2r2(Gk-Xk)
(2)
位置更新公式:
Xk+1=Xk+Vk+1
(3)
式中:Xk为粒子第k次的位置;Vk为粒子第k次的速度;Pk为当前粒子自身经过的最佳位置;Gk为当前整个种群搜索到的全局最佳位置;w为惯性权重;c1、c2分别为认知学习因子、社会学习因子;r1、r2为取值区间为[0,1]的两个随机数。
1.2.4 鲸鱼优化算法(Whale Optimization Algorithm, WOA)
鲸鱼优化算法[17]是由Mirjalili和Lewis于2016年提出的一种新颖的优化技术,模拟了座头鲸特殊的泡泡网狩猎方式。这种狩猎方式通过沿着一个圆圈或9字形路径吐出独特的泡泡,从而形成一种气泡网来紧紧包围猎物。在鲸鱼算法中,每个鲸鱼的位置即代表了实际问题的一个可行解,目标猎物即为最优解,通过数学建模和编程实现来模拟鲸鱼的包围猎物、泡泡网攻击和搜索猎物等过程,以更新当前位置来接近最优解。
1.3 软件环境
本研究使用到的所有代码均基于Python语言,使用Anaconda Spyder工具运行。软件的建立主要借助了PyQt5工具和PyInstaller工具, PyQt5用于创建图形用户界面,PyInstaller用于打包代码生成可执行软件。
2 结果与讨论
2.1 配方的设计与优化
2.1.1 基于统计筛选的初始配方优化
利用Python的random模块,根据已建立的支持向量回归模型,结合实际数据,产生随机配方的初始限定条件(质量分数):NC (70%~15%)、NG (35%~15%)、RDX (70%~15%)、D2 (1%~7%)、C2 (0~3%)、V(0.5%)、Al2O3(2%)、XPb (0~5%)、XCu (0~3%)、carbon (0~1.5%),随机产生200个初始配方。将200个配方数据进行标准化处理之后输入到建立好的支持向量机模型,预测出相应的燃速值。将各配方与燃速对应,建立大小为200的初始配方库,以燃速作为目标性能进行配方优化,使设计的改性双基推进剂燃速达到预定的数值,并结合推进剂其他性能对配方进行优化,实现新设计的推进剂配方达到实际应用的可行性。需要说明的是,虽然在实际配方设计中并不是燃速最高为最佳配方,但理论上采用最大燃速进行目标巡的可作为方法适应性验证的突破方向。
经过对随机配方数据的进一步分析,得到一个显著的规律:压强为2、4、5、6、8、10MPa时,燃速取得最大值所对应的配方是同一个配方——配方1;压强为12、13、14、16、18、19、20、22MPa时,燃速取得最大值所对应的配方是另一个相同的配方——配方2。配方1与配方2的具体组成见表1。
表1 统计筛选不同压强段的最优配方Table 1 The optimal formulations at different pressure stages obtained by statistical screening
表2给出了配方1与配方2在不同压强下的燃速预测值及已做配方在相应压强下的燃速实验值的最大值。
表2 统计筛选最优配方燃速值Table 2 The burning rate values of the optimal formulations obtained by statistical screening
由表2可以看出,配方1与配方2的燃速预测值均随着压强的增大而增大,同时在相同的压强条件下,两个新配方对应的各燃速预测值均比已做配方的燃速实验值高, 说明这两个新配方在提升燃速性能方面效果较优。
2.1.2 智能算法优化
基于统计筛选的方法需要依靠人工进行,且得到的最优配方是相对于产生的一定数量的初始种群而言的,构建的初始种群不同,得到的最优配方也有所不同。为了解决这些问题,以统计筛选得到的最优配方作为前期探索,使用智能优化算法进行更合理的配方优化。
首先,从智能优化方法中挑选出适合本研究的算法。智能优化算法大致可以分为9大类:基于进化论、基于种群、基于物理、基于人体行为、基于系统(生态系统、免疫系统、网络系统等)、基于生物学、基于音乐、基于数学和基于概率的算法。目前使用较为广泛且经实验验证表现结果较好的是基于进化论和基于种群的算法,因此分别从基于进化论和基于种群的算法中各挑选两种方法进行比较。基于进化论的算法种数不多,挑选出在以往文献报道中表现较为良好的遗传算法和差分进化算法作为代表。而基于种群的算法则个数繁多,除了常用的粒子群算法,还有近年来新开发的表现较好的如灰狼优化算法、蜂群算法、鲸鱼优化算法等,且对于不同问题算法表现也各有差异,因此先在基于种群的算法内部进行初步的挑选。
先对灰狼优化算法、相量粒子群算法、带惯性权重的粒子群算法、具有时变加速系数的自组织分层粒子群算法和鲸鱼优化算法共6种算法进行参数优化,再对配方优化运行结果进行比较,最终挑选出表现较好的带惯性权重的粒子群算法和鲸鱼优化算法作为基于种群算法的代表。
最后在Python环境下分别调用meal_py工具库中的遗传算法、差分进化算法、带惯性权重的粒子群算法和鲸鱼优化算法,依次在实验数据中涉及的14个压强条件下进行配方优化,搜索得到每个压强下的最优配方,优化结果比较如图1所示。
图1 4种智能算法优化结果比较Fig.1 The comparison of the optimized results of four intelligent algorithms
由图1可见,差分进化算法在14个压强下的优化结果都远超过其他3种算法,因此最终选择差分进化算法进行配方智能优化。进而将其得到的14个压强下的优化结果与已做实验配方和统计筛选方法作比较,如图2所示。
图2 智能优化与统计优化方法的最大燃速值与实验值的比较Fig.2 The comparison of the maximum burning rates by using the intelligent and statistical optimized methods with experimental data
由图2可见,统计优化和智能优化方法得到的优化配方其燃速预测值均较已做实验配方的燃速实测值高,而差分进化算法优化得到燃速预测值显著高于统计筛选所得到的,并且智能优化方法简捷方便,只需设定压强条件,即可给出直观的配方与燃速值,免除了统计优化过程中人工筛选的劳动过程,工作效率大大提高,进一步体现了机器学习方法的优越性。表3详细给出了差分优化算法在14个压强下的最优配方。
表3 差分进化算法在14个压强下得到的最优配方Table 3 The optimal formulations obtained by DE algorithm at 14 pressures
2.2 燃速预测与优化智能软件建立
在对改性双基固体推进剂燃速预测和配方优化进行方法探索和过程完善后,为了使研究成果更直观、更便于应用,建立了一款可以实现推进剂燃速快速预测和配方优化的智能计算软件。
2.2.1 软件建立过程
首先借助PyQt5中的Qt designer模块进行软件界面设计,添加输入框、功能按钮、输出显示框等等,完成界面构建后保存为一个ui(用户界面)文件;接下来使用pyuic5命令将ui格式的文件转换为可以进行代码编写的py文件,在Python环境下,对文件中的代码进行完善,以实现软件中各个按钮的功能;保证代码无误后,使用PyInstaller工具将代码及其所依赖的表格数据、预测模型以及各个模块工具等资源一起打包到一个可执行文件中。运行PyInstaller命令后会生成3个文件夹:dist、build和.spec文件,只需将dist文件夹中的exe程序文件发给用户,用户双击程序即可使用。
2.2.2 软件使用说明
用户双击程序启动后,会弹出一个黑色的命令行窗口,如果程序运行出错,黑框中会显示报错信息;程序运行成功,黑框中则暂时显示为空白。启动程序后,会先在运行该程序的电脑上生成一个临时文件,将软件所依赖的资源解压释放出来,并在电脑上创建一个临时的Python环境,这样用户不需要额外安装Python等工具就可运行软件,较为方便。软件界面主要分为3大板块:数据输入区、功能选择按钮和结果显示区,见图3。
图3 软件界面Fig.3 The software interface
软件有燃速预测和配方优化两个功能。在进行燃速预测时,需输入各化学成分比例(应为小数,且加和为1)和压强,点击燃速预测按钮后,软件调用训练好的支持向量回归模型进行燃速预测,结果将显示在最下方的显示框中,如图4所示。
图4 燃速预测界面Fig.4 The burning rate prediction interface
在使用配方优化功能时,只需输入压强,软件则会调用差分进化算法,以支持向量回归模型预测值为目标函数,在空间中进行搜索迭代,最终在显示区返回搜寻到该压强下的一组最优配方,如图5所示。
图5 配方优化界面Fig.5 The formulation optimization interface
调用差分进化算法时,会进行1000次迭代,在命令行窗口中可以看到当前迭代次数及该次迭代的结果(即该次迭代所搜寻到的燃速最优值,窗口显示的Best fit为该次燃速优化值的倒数),如图6所示。
图6 命令行窗口显示迭代进度Fig.6 The iteration progress displayed in the command line window
如此操作,完成一次预测或优化,若需继续进行预测,则可以将输入框清空,重新输入数据、点击功能按钮即可。
3 结 论
(1)基于构建好的支持向量回归模型,以统计筛选得到的初始优化配方作为基础条件,利用智能优化算法得到14组优化配方,在相同的压强条件下,与已做实验配方相比,其燃速性能提升显著。智能优化算法运行快速且应用便捷,良好的优化结果表明了方法的有效性。
(2)将完善后的支持向量回归模型与差分进化算法整合构建成了一套能实现改性双基固体推进剂燃速快速准确预测以及配方智能优化设计的计算机软件。
致谢:感谢装发重点实验室基金(No. 6142603190305)对本研究的基金支持。