本发明涉及模型自动标定,特别涉及一种基于概率编码算法的三效催化器模型自动标定方法。
背景技术:
1、随着汽车排放法规日趋严格,汽油机后处理装置三效催化转化器得到广泛应用,其物理模型的精确标定对于设计与选型有重要意义。然而三效催化转换器物理模型标定参数繁多且复杂,包含数量众多的催化反应动力学参数与催化剂涂覆参数组合,现有技术手段为手工标定催化反应动力学参数,需要大量的先验知识与工程经验,且耗时耗力,无法保证最终优化结果。对于类似三效催化器模型标定的复杂标定问题,无法建立严格的函数关系模型,不能直接数学求解最优,因此现有技术借助封闭的优化工具包,使用启发式的优化算法,例如遗传算法、粒子群算法、模拟退火等进行动力学参数寻优,这种方法一定程度上提高了标定效率,降低了优化盲目性,然而现有工具包中的启发式优化算法,种群个体的多样性迅速消失,造成早熟收敛,对于有多个局部极值点的优化问题,容易陷入到局部最优解,无法获得最优参数组合,另外,对于三效催化转化器物理模型,某些参数组合可能由于数值方法、求解器设置导致迭代报错,现有的优化工具缺少抛错机制,一旦求解出错,程序停止,降低了优化效率与自动化程度。物理模型需要进行成百上千次的输出求解,相较于大数据模型,需要较长的累积优化周期,而现有技术中,存在个体重复求解,以及由于程序意外中断,无法恢复数据的问题,造成整体标定周期延长,以及计算资源的浪费。
技术实现思路
1、为了克服现有技术的上述缺点与不足,本发明的目的在于提供一种基于概率编码算法的三效催化器模型自动标定方法。
2、本方法克服了现有技术中手工优化标定,需要大量的先验知识与工程经验,且费时费力,盲目性较强,无法保证优化效果,对于复杂的优化问题,又无法建立具体的函数模型,直接数学求解,而现有的优化工具箱中,由于传统启发式算法的局限性,容易陷入局部最优解,标定效果欠佳,同时考虑到物理模型的求解时间长、求解数量多、优化工具箱功能欠缺,造成标定周期长,效率低,自动化程度不高。
3、本发明的目的通过以下技术方案实现:
4、一种基于概率编码算法的三效催化器模型自动标定方法,包括:
5、初始化操作,包括概率编码种群、二进制种群及十进制种群的初始化;
6、判断当前个体是否存在历史相同个体,如果是,则从历史适应度存储库中直接调取适应度值;否则将当前个体传递给三效催化器物理模型进行适应度计算;
7、汇总或计算当前个体适应度对概率编码种群整体进行适应度赋值;
8、输出当代最佳个体,然后进行概率旋转、变异、移民及灾变操作,直至达到收敛标准,完成模型的自动标定,所述标定包括催化反应动力学参数及催化剂涂覆参数。
9、进一步,还包括判断程序是否初次运行,如果是则执行初始化操作,否则读取本地保存数据进入判断当前个体是否存在历史相同个体步骤,所述数据包括上次程序执行终端时的中间变量与结果信息。
10、进一步,所述将当前个体传递给三效催化器物理模型进行适应度计算步骤之后还包括判断计算报错步骤,如果报错则执行抛错机制;否则输出适应度计算所需数据进入下一个步骤。
11、进一步,所述本地保存数据,具体是在固定的运行周期保存数据,并以最新的数据滚动覆盖,程序中断后,保存数据,所述数据为程序退出时的具体运行位置、及运行过程中的中间变量及结果信息。
12、进一步,所述抛错机制具体为:对于模型求解报错的参数组合,赋予极差的适应度,自动淘汰该个体,同时程序给出报错提示,不中断,继续完成剩余步骤。
13、进一步,本方法基于simulink平台实现。
14、进一步,所述变异操作随机选取概率编码种群中的若干个个体,然后对选中个体随机选取若干个概率编码位,交换上下概率编码位的数值。
15、进一步,所述赋予极差的适应度具体为99。
16、进一步,汇总或计算当前个体适应度对概率编码种群整体进行适应度赋值,具体为:
17、若判断物理模型求解正常,则通过simulink接收物理模型输出的co、hc、no三大排放物的瞬态累积排放量数组,分别计算各排放物累积排放物理模型输出与台架实验值的均方根误差,rmsei=sqrt(sum((expi-simi)2/
18、length(expi)),其中下标i表示排放物种类,expi与simi分别表示累积排放实验值与计算值,接下来对均方根误差加权求和,fitness=0.3*rmseco+
19、0.3*rmsehc+0.4*mseno,将求和结果赋值给个体适应度值,结合之前模型求解报错时的直接适应度赋值,完成整个种群的适应度评价。
20、一种基于所述的三效催化剂模型自动标定方法的系统,包括,
21、程序意外中断数据保存模块:采用固定的程序运行周期保存所有有效数据,当程序意外中断并再次进入时,程序读取保存的最新数据文件,并且根据保存数据特征判断程序中断的具体位置,根据不同的程序退出位置,继续完成相应的步骤;
22、初始化操作模块:用于对概率编码种群、二进制种群及十进制种群的初始化;
23、个体适应度历史值查询调用模块:将参数组合输入给物理模型之前,先查询当前个体是否已经存在于历史库中,如存在,则直接调用个体适应度历史库中的值,跳过物理模型求解,如不存在,则将参数输入给物理模型进行求解;
24、抛错机制模块:对于参数组合致使三效催化转化器物理模型求解报错的情况,直接赋予极差的适应度,自动淘汰此类个体,程序不会中断,继续完成剩余流程;
25、迭代寻优模块:汇总或计算当前个体适应度对概率编码种群整体进行适应度赋值;输出当代最佳个体,然后进行概率旋转、变异、移民及灾变操作,直至达到收敛标准,完成模型的自动标定。
26、与现有技术相比,本发明具有以下优点和有益效果:
27、(1)本方法使用概率编码算法耦合三效催化转化器物理模型对动力学参数进行全自动标定,相对于传统方法根据工程经验手动调整,大幅提升标定效率,缩短标定周期,提高标定准确率;
28、(2)本方法开发历史适应度查询功能,避免物理模型无效运行,缩短标定周期,节省计算资源;
29、(3)本方法开发抛错机制,对于物理模型求解出错的参数组合,抛出报错原因,自动舍弃该个体,保证标定过程完全自动化;
30、(4)本方法开发程序中断存档读取功能,防止算法运行过程中因为意外情况中断而导致的数据丢失,达到进一步提升标定效率的目的。
31、(5)本方法旨在提供一种基于概率编码算法的全自动三效催化转化器模型标定方法,具有高收敛率、高寻优效率、避免局部最优值的特点,同时开发了历史适应度调用、抛错机制、程序中断数据保存与读取模块,实现完全自动化标定,达到缩短优化周期,节省计算资源,提升优化效果的目的。
1.一种基于概率编码算法的三效催化器模型自动标定方法,其特征在于,包括:
2.根据权利要求1所述的三效催化器模型自动标定方法,其特征在于,还包括判断程序是否初次运行,如果是则执行初始化操作,否则读取本地保存数据进入判断当前个体是否存在历史相同个体步骤,所述数据包括上次程序执行终端时的中间变量与结果信息。
3.根据权利要求1所述的三效催化器模型自动标定方法,其特征在于,所述将当前个体传递给三效催化器物理模型进行适应度计算步骤之后还包括判断计算报错步骤,如果报错则执行抛错机制;否则输出适应度计算所需数据进入下一个步骤。
4.根据权利要求1所述的三效催化器模型自动标定方法,其特征在于,所述本地保存数据,具体是在固定的运行周期保存数据,并以最新的数据滚动覆盖,程序中断后,保存数据,所述数据为程序退出时的具体运行位置、及运行过程中的中间变量及结果信息。
5.根据权利要求3所述的三效催化器模型自动标定方法,其特征在于,所述抛错机制具体为:对于模型求解报错的参数组合,赋予极差的适应度,自动淘汰该个体,同时程序给出报错提示,不中断,继续完成剩余步骤。
6.根据权利要求1-5任一项所述的三效催化器模型自动标定方法,其特征在于,本方法基于simulink平台实现。
7.根据权利要求1所述的三效催化器模型自动标定方法,其特征在于,所述变异操作随机选取概率编码种群中的若干个个体,然后对选中个体随机选取若干个概率编码位,交换上下概率编码位的数值。
8.根据权利要求2所述的三效催化器模型自动标定方法,其特征在于,所述赋予极差的适应度具体为99。
9.根据权利要求1所述的三效催化器模型自动标定方法,其特征在于,汇总或计算当前个体适应度对概率编码种群整体进行适应度赋值,具体为:
10.一种基于权利要求1-9任一项所述的三效催化剂模型自动标定方法的系统,其特征在于,