一种基于遗传算法的辛烷值损失模型参数优化方法技术

技术编号:28678568 阅读:41 留言:0更新日期:2021-06-02 02:56
本发明专利技术公开了一种基于遗传算法的辛烷值损失模型参数优化方法,该方法包括以下步骤:初始化种群参数;初始化种群;计算种群每个个体的适应度;对种群中的个体执行选择操作,个体适应度越大,选择该个体的概率就越大;对种群中的个体进行交叉操作;对种群的个体进行变异操作;算法终止判断,如果满足条件则终止算法,输出最优适应度和对应参数。本发明专利技术的基于遗传算法的辛烷值损失模型参数优化方法,优化的模型是多目标优化问题,最终得到的解是一组解。

【技术实现步骤摘要】
一种基于遗传算法的辛烷值损失模型参数优化方法
本专利技术属于对模型参数优化的遗传算法的
,尤其涉及一种基于遗传算法的辛烷值损失模型参数优化方法。
技术介绍
汽油是小型汽车的主要燃料,汽油燃烧产生的尾气对大气环境有重要影响,所以汽油清洁化对保护环境有重要意义。汽油清洁化重点是降低汽油中的硫、烯烃含量,同时尽量保持其辛烷值。辛烷值(以RON表示)是反映汽油燃烧性能的最重要指标,并作为汽油的商品牌号(例如89#、92#、95#)。现有技术在对催化裂化汽油进行脱硫和降烯烃过程中,普遍降低了汽油辛烷值。辛烷值每降低1个单位,相当于损失约150元/吨。以一个100万吨/年催化裂化汽油精制装置为例,若能降低RON损失0.3个单位,其经济效益将达到四千五百万元。在化工过程中一般通过建立辛烷值损失预测模型,然后对模型中的参数进行优化来降低辛烷值的损失。辛烷值损失预测模型的参数优化的是一个多参数优化问题,而且这些参数之间也具有高度非线性。常用的优化方法有梯度下降法、牛顿法等。但这些优化算法的效果却在本专利技术解决的问题中不尽人意:梯度下降法的目标函数是凸函数,通常情况下得到的解往往是局部最优值,而且优化速度也很慢;牛顿法在靠近极值时收敛速度减慢,优化过程可能会出现锯齿形下降。还有利用BP神经网络优化模型参数的方法,但神经网络对于超参数的调节是一个手动尝试的过程,费时费力,同时BP算法本质上也属于梯度下降,而问题中的模型参数又很复杂,因此必然会出现“锯齿形现象”,这使得优化过程十分低效。针对上述问题,有必要设计一种可以快速优化辛烷值损失预测模型参数的方法。遗传算法是模拟自然界遗传选择与淘汰的生物进化计算模型,由于生物进化与某些问题的最优求解过程存在共通性,即都是在产生或寻找最优的个体(或者问题的解),这就产生了基于自然选择、基因重组、基因突变等遗传行为来模拟生物进化机制的算法,它最终发展成为一种随机全局搜索和优化的算法。遗传算法研究的对象是种群,即很多个体的集合,个体由染色体组成,染色体由基因编码组成。对于多目标优化问题,一个染色体代表一个优化目标,一组染色体代表一组解。当然,开始的时候,也许所有的解不是最优的,经过将这些解进行编码、选择、交叉、变异之后,逐代进化,从子代中可以找到求解问题的全局最优解。
技术实现思路
基于以上现有技术的不足,本专利技术所解决的技术问题在于提供一种基于遗传算法的辛烷值损失模型参数优化方法,优化的模型是多目标优化问题,最终得到的解是一组解。为了解决上述技术问题,本专利技术通过以下技术方案来实现:本专利技术提供的基于遗传算法的辛烷值损失模型参数优化方法,包括以下步骤:步骤S1:初始化种群参数。population_size种群大小,一般为300~500;chromosome_num染色体数,对应优化的目标个数;iter_num种群迭代次数,一般为200~500;pc交叉概率阈值(0<pc<1),一般取值0.4~0.99;pm变异概率阈值(0<pm<1),一般取值0.0001~0.1。步骤S2:初始化种群population。种群由个体组成,个体由染色体组成,个体拥有的染色体数为chromosome_num,每条染色体可能的取值个数为population_size;染色体由基因组成,基因是二进制数,染色体长度chromosome_length等于基因的二进制数位数。种群初始化从每个个体的基因开始。每条染色体可能的取值数为population_size,即种群大小。每条染色体具体的长度由该染色体对应优化目标的取值范围决定。步骤S3:计算种群每个个体的适应度。步骤S4:对种群中的个体(染色体组)执行选择操作。个体适应度越大,选择该个体的概率就越大。步骤S5:对种群中的个体进行交叉(交配)操作。步骤S6:对种群的个体进行变异操作。由于每个个体的每条染色体都有可能发生变异,所以变异操作是对所有个体的所有染色体进行的。如果适应度在更新过程中发现更新缓慢,有可能是落入局部最优导致,此时可适当增大种群的变异概率阈值pm。步骤S7:算法终止判断。如果满足条件(迭代次数,一般是200~500)则终止算法,输出最优适应度和对应参数。否则从步骤S3开始对种群进行下一轮更新。进一步的,所述步骤S2的具体步骤为:步骤S21:计算第i条染色体population[i]用二进制表示时实际所需要的长度chromosome_length[i],并把其中最大的长度记为max_cd;上式中,mmi[i]表示第i条染色体的十进制取值下限,mma[i]表示第i条染色体的十进制取值上限;m为染色体的小数点精度。步骤S22:按照从低位到高位的顺序对种群中每个个体的染色体进行二进制化,如果第i条染色体的长度chromosome_length[i]小于最大的染色体长度max_cd,用二进制初始化第i条染色体的chromosome_length[i]个低位,并用0填充max_cd-chromosome_length[i]个高位;否则直接初始化全部基因位。需要说明的是,为了程序更容易实现且不影响其正确性,初始化时所有染色体的长度取了最大的染色体的长度max_cd,对于那些用二进制表示实际所需长度小于max_cd的染色体,初始化时低位正常初始化,高位用0补充。接着用步骤S21,步骤S22初始化所有个体。进一步的,所述步骤S3的具体步骤为:步骤S31:将第i条染色体的每个取值解码为十进制,并转换到第i条染色体对应优化参数的十进制区间:上式中,population_decimalism[i][j]表示第i个染色体第j个取值解码后的十进制数;value[i][j]表示第i条染色体第j个可能取值转换区间后的十进制取值;。步骤S32:计算所有个体的适应度f:f[j]=w*value[j]+bf[j]为第j个个体的适应度,w为模型参数的权重参数,b为模型的偏置参。步骤S33:最好适应度fitness_best的更新,如果f[j]大于种群当前最好的适应度fitness_best,说明第j组染色体的适应度更好,用f[j]替换种群当前的最优适应度fitness_best,并替换f[j]对应的第j组染色体的取值。进一步的,所述步骤S4的具体步骤为:步骤S41:首先计算出群体的适应度总和F=∑f[j];步骤S42:其次计算出第j组染色体的选择概率步骤S43:计算出第j组染色体的累积概率步骤S44:再产生一个0到1之间的随机数r;步骤S45:若r<q[1],选择第一组染色体;若q[j-1]<r<q[j],选择第j组染色体;步骤S46:重复步骤S44、步骤S45共population_size次,随后将选择到的染色体组作为新种群,淘汰没选择到的染色体组,以此模拟自然选择过程。进一步的,所述步骤S5的具体步骤为:本文档来自技高网
...

【技术保护点】
1.一种基于遗传算法的辛烷值损失模型参数优化方法,其特征在于,包括以下步骤:/nS1、初始化种群参数;/nS2、初始化种群;/nS3、计算种群每个个体的适应度;/nS4、对种群中的个体执行选择操作,个体适应度越大,选择该个体的概率就越大;/nS5、对种群中的个体进行交叉操作;/nS6、对种群的个体进行变异操作;/nS7、算法终止判断,如果满足条件则终止算法,输出最优适应度和对应参数,否则返回步骤S2。/n

【技术特征摘要】
1.一种基于遗传算法的辛烷值损失模型参数优化方法,其特征在于,包括以下步骤:
S1、初始化种群参数;
S2、初始化种群;
S3、计算种群每个个体的适应度;
S4、对种群中的个体执行选择操作,个体适应度越大,选择该个体的概率就越大;
S5、对种群中的个体进行交叉操作;
S6、对种群的个体进行变异操作;
S7、算法终止判断,如果满足条件则终止算法,输出最优适应度和对应参数,否则返回步骤S2。


2.如权利要求1所述的基于遗传算法的辛烷值损失模型参数优化方法,其特征在于,所述步骤S2的具体步骤为:
步骤S21:计算第i条染色体population[i]用二进制表示时实际所需要的长度chromosome_length[i],并把其中最大的长度记为max_cd;



上式中,mmi[i]表示第i条染色体的十进制取值下限,mma[i]表示第i条染色体的十进制取值上限;m为染色体的小数点精度;
步骤S22:按照从低位到高位的顺序对种群中每个个体的染色体进行二进制化,如果第i条染色体的长度chromosome_length[i]小于最大的染色体长度max_cd,用二进制初始化第i条染色体的chromosome_length[i]个低位,并用0填充max_cd-chromosome_length[i]个高位;否则直接初始化全部基因位;
步骤S23:接着用步骤S21,步骤S22初始化所有个体。


3.如权利要求1所述的基于遗传算法的辛烷值损失模型参数优化方法,其特征在于,步骤S3的具体步骤为:
步骤S31:将第i条染色体的每个取值解码为十进制,并转换到第i条染色体对应优化参数的十进制区间:



上式中,population_decimalism[i][j]表示第i个染色体第j个取值解码后的十进制数;value[i][j]表示第i条染色体第j个可能取值转换区间后的十进制取值;
步骤S32:计算所有个体的适应度f:
f[j]=w*value[j]+b
f[j]为第j个个体的适应度,w为模型参数的权重参数,b为模型的偏置参数;
步骤S33:最好适应度fitness_best的更新,如果f[j]大于种群当前最好的适应度f...

【专利技术属性】
技术研发人员:张兴
申请(专利权)人:辽宁工程技术大学
类型:发明
国别省市:辽宁;21

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

1