一种基于分量热力学基因表达式编程的矿岩强度预测方法转让专利

申请号 : CN201210261469.1

文献号 : CN102854299B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郭肇禄吴志健董晓健李元香张勇

申请人 : 武汉大学

摘要 :

本发明涉及一种基于分量热力学基因表达式编程的矿岩强度预测方法。本发明利用提出的分量热力学基因表达式编程算法以矿岩试件的吸水率、干密度、波阻抗、动泊松比、动弹性模量为输入变量,抗压强度为输出变量,自动智能地挖掘出矿岩强度的数学模型,从而预测矿岩的抗压强度。本发明能定量地协调基因表达式编程中选择压力和种群多样性之间的平衡,从而提高了传统基因表达式编程应用于矿岩强度预测的收敛速度、求解精度和算法的稳定性。

权利要求 :

1.一种基于分量热力学基因表达式编程的矿岩强度预测方法,其特征在于,包括以下步骤:步骤1,采集N个矿岩样本,并针对N个矿岩样本的吸水率、干密度、波阻抗、动泊松比、动弹性模量以及抗压强度进行实验后获得每一个矿岩样本的试验数据;并将N个矿岩样本的试验数据记为矩阵A;

步骤2,用户自定义初始化参数,所述初始化参数包括种群大小PS,子种群大小M,最大评价次数MAX_FE,比例因子α,等级数K,Markov链长LK,初始温度T0,函数符和终结符,基因长度,基因个数,变异概率,插串概率,插串长度以及重组概率;

步骤3,令当前演化代数t=0;温度下降因子k=0;温度T=T0;

步骤4,产生初始化种群Pt,对每个个体的染色体解码成数学表达式,并利用矩阵A评价每个个体的适应值,其中吸水率、干密度、波阻抗、动泊松比、动弹性模量为输入变量,抗压强度为输出变量;然后保存最优个体,并计算第0代的活跃窗口W0;

步骤5,依次执行基因表达式编程的选择、变异、插串、重组算子后生成M个新个体,该M个新个体由种群Pt中的PS个个体生成;并将M个新个体组织成子种群Ot,对Ot中的每个个体进行适应值评价;然后保存适应值最大的个体为最优个体;

步骤6,将种群Pt中的PS个个体和子种群Ot中的M个个体组织成临时种群P’t,然后计算第t+1代的活跃窗口Wt+1,并计算临时种群P’t的中的每个个体的自由能分量,再找出自由能分量值最大的前M个个体,然后删除这M个个体,得到由PS个个体组成的新一代种群Pt+1;

步骤7,重复步骤5至步骤6直至评价次数达到MAX_FE后结束,将执行过程中得到的最优个体的染色体解码成数学表达式就可以得到以吸水率、干密度、波阻抗、动泊松比、动弹性模量为输入变量,抗压强度为输出变量的矿岩强度数学模型,利用获得的矿岩强度数学模型就可以预测矿岩的抗压强度。

2.根据权利要求1所述的一种基于分量热力学基因表达式编程的矿岩强度预测方法,其特征在于,所述步骤4的具体操作步骤如下:对每个个体的染色体解码成数学表达式,并利用矩阵A评价每个体的适应值,并保存适应值最大的个体为最优个体,设任意个体j的染色体解码成数学表达式记为fj,其适应值计算公式为:其中,N为矿岩样本总数,

Ai1,Ai2,Ai3,Ai4,Ai5,Ai6,分别为矩阵A中存储的第i矿岩样本的吸水率、干密度、波阻抗、动泊松比、动弹性模量和抗压强度,最优个体的判断标准是:在所有个体中适应值最大的个体。

3.根据权利要求1所述的一种基于分量热力学基因表达式编程的矿岩强度预测方法,其特征在于,所述步骤5中的具体操作步骤如下:步骤5.1,判断当前评价次数是否大于等于最大评价次数MAX_FE,若是则转到步骤7,否则执行以下步骤;

步骤5.2i=0;其中,i为临时变量,为记数器;

步骤5.3,判断i是否大于等于Markov链长LK,若是则执行温度下降因子k=k+1;当前温度T=T/(1+k),后执行步骤5.1,否则执行以下步骤;

步骤5.4,通过执行基因表达式编程的选择、变异、插串、重组算子生成M个新个体;

步骤5.5,将M个新个体组织成子种群Ot,然后按公式:

计算Ot中的每个个体的适应值,并且保存适应值最大的个体为最优个体。

4.根据权利要求1所述的一种基于分量热力学基因表达式编程的矿岩强度预测方法,其特征在于,所述步骤6的具体操作步骤如下:步骤6.1,计算第t+1代的活跃窗口Wt+1;并令临时种群P’t=Pt∪Ot;,其中Pt是当前种群,Ot是子种群:步骤6.2,计算P’t中的PS+M个个体的相对能量;

步骤6.3,根据步骤6.2中计算的相对能量,计算P’t中的PS+M个个体的自由能分量;

步骤6.4,从P’t中找出自由能分量最大的前M个个体;

步骤6.5,将步骤6.4中找出的M个具有最大自由能分量的个体从P’t中删除;

步骤6.6,当前演化代数t=t+1;,下一代新种群Pt=P’t;i=i+1,后执行步骤5.3。

5.根据权利要求4所述的一种基于分量热力学基因表达式编程的矿岩强度预测方法,其特征在于,所述步骤6.2中,计算每个个体的相对能量方法如下:其中F(X)为个体X的适应值函数,且其特性为个体越优,则

适应值越大。

6.根据权利要求4所述的一种基于分量热力学基因表达式编程的矿岩强度预测方法,其特征在于,所述步骤6.1中,计算第t代的活跃窗口Wt的方法如下:当t=0时,W0=[l0,u0],其中:

l0=min{-F(X)|X∈P0},u0=max{-F(X)|X∈P0};当t>0时,若Wt-1=[lt-1,ut-1],且第t代子种群:Ot(XN+1,XN+2,…,XN+M)∈S,则Wt=[lt,ut],其中:lt=min(lt-1,min{-F(X)|X∈Ot}),ut=max(ut-1,max{-F(X)|X∈Ot})。

7.根据权利要求4所述的一种基于分量热力学基因表达式编程的矿岩强度预测方法,其特征在于,所述步骤6.3中,计算个体的自由能分量方法如下:其中,T为当前温度,个体X在种群Pt的等级为b,种群Pt中落入Wt的第b个等级 中的个体数目为nb,且其中,a为比例因子,K为等级数。

说明书 :

一种基于分量热力学基因表达式编程的矿岩强度预测方法

技术领域

[0001] 本发明涉及一种矿岩强度预测方法,尤其是涉及一种基于分量热力学基因表达式编程的矿岩强度预测方法。

背景技术

[0002] 矿岩强度问题是矿业工程中的基本问题,但是由于传统的矿岩强度预测方法需要进行大量的现场试验,从而导致人力、资金等急剧增加。在实际工程实践中受资金、设备等条件的制约,往往无法进行大量的现场试验。因此如何高效、准确地预测矿岩强度,是许多工程人员十分关注的重要问题。目前,用于矿岩强度的预测方法有很多,主要可以分为:数学物理预测方法和智能预测方法。数学物理预测方法需要工程人员掌握比较多的专业知识,因此普适性不是很强。而智能预测方法则是融合计算机科学技术,尤其是智能计算技术而发展的一种简单易行,无需工程人员掌握很多的领域知识,并且具有灵活、通用性强,可满足复杂多样的实际工程需求等优点。因此智能预测方法具有广阔的前景,是当前矿岩强度预测研究的热点。
[0003] 目前,矿岩强度的智能预测方法主要是神经网络,支持向量机等方法。但这些方法存在着很多不足,实际工程效果并不是很理想。神经网络和支持向量机的方法存在的主要问题是需要采集矿岩试件数量较多,当矿岩试件数量较少容易过度拟合,所获得的模型精度很有限,往往无法达到实际工程要求。而当矿岩试件数量较多时,一方面会导致人力、资金等增加;另一方面也增加了算法学习过程的复杂性,从而导致学习时间长。可以参见有关文献:基于粒子群支持向量机的矿岩强度指标的超声预测.近年来,智能计算技术的迅速发展,出现了基因表达式编程算法。基因表达式编程算法是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的一种有效的智能计算方法,它采用固定长度的线性字符串表示解,因此它具有简洁、高性能和强鲁棒性等优点,已经成功应用到众多的实际工程领域中。然而在实际工程实践中发现,传统基因表达式编程算法应用于矿岩强度预测时,存在着收敛速度慢和容易陷入局部最优的问题。这两个问题的原因在很大程度上是由于在传统基因表达式编程算法的演化操作过程中,无法定量地协调选择压力和种群多样性之间的平衡,从而容易导致选择压力和种群多样性出现随意抖动,影响了传统基因表达式编程算法的收敛速度和求解精度。当传统基因表达式编程算法应用于矿岩强度预测时,选择压力和种群多样性两者之间是相互冲突的。在通常情况下,当选择压力过大时,种群中接近于当前最优个体的个体就越多,种群的平均适应值就越优秀,可以使基因表达式编程算法收敛速度加快,但会导致种群中大部分的个体都趋向于当前最优个体的附近,种群多样性变差,增加算法陷入局部最优的概率;当选择压力过小时,虽然可以使得种群中个体分布趋于分散,种群多样性变好,增加算法收敛到全局最优解的概率,但这样会减慢基因表达式编程算法的收敛速度。目前,如何定量地协调基因表达式编程算法的选择压力和种群多样性之间平衡的研究成果还很缺乏。

发明内容

[0004] 本发明主要是解决现有技术所存在的技术问题;提供了一种定量地协调基因表达式编程中选择压力和种群多样性之间的平衡,以提高传统基因表达式编程的收敛速度、求解精度和算法的稳定性。利用提出的分量热力学基因表达式编程算法以矿岩试件的吸水率、干密度、波阻抗、动泊松比、动弹性模量为输入变量,抗压强度为输出变量,自动智能地挖掘出矿岩强度的数学模型,从而预测矿岩的抗压强度的一种基于分量热力学基因表达式编程的矿岩强度预测方法。
[0005] 本发明的上述技术问题主要是通过下述技术方案得以解决的:
[0006] 一种基于分量热力学基因表达式编程的矿岩强度预测方法,其特征在于,包括以下步骤:
[0007] 步骤1,采集N个矿岩样本,并针对N个矿岩样本的吸水率、干密度、波阻抗、动泊松比、动弹性模量以及抗压强度进行实验后获得每一个矿岩样本的试验数据;并将N个矿岩样本的试验数据记为矩阵A;
[0008] 步骤2,用户自定义初始化参数,所述初始化参数包括种群大小PS,子种群大小M,最大评价次数MAX_FE,比例因子α,等级数K,Markov链长LK,初始温度T0,函数符和终结符,基因长度,基因个数,变异概率,插串概率,插串长度以及重组概率;
[0009] 步骤3,令当前演化代数t=0;温度下降因子k=0;温度T=T0;
[0010] 步骤4,产生初始化种群Pt,对每个个体的染色体解码成数学表达式,并利用矩阵A评价每个个体的适应值,其中吸水率、干密度、波阻抗、动泊松比、动弹性模量为输入变量,抗压强度为输出变量;然后保存最优个体,并计算第0代的活跃窗口W0;
[0011] 步骤5,通过执行基因表达式编程的选择、变异、插串、重组算子对种群Pt中的PS个个体生成M个新个体,并将M个新个体组织成子种群Ot,对Ot中的每个个体进行适应值评价;然后保存适应值最大的个体为最优个体;
[0012] 步骤6,将种群Pt中的PS个个体和子种群Ot中的M个个体组织成临时种群P’t,然后计算第t+1代的活跃窗口Wt+1,并计算临时种群P’t的中的每个个体的自由能分量,再找出自由能分量值最大的前M个个体,然后删除这M个个体,得到由PS个个体组成的新一代种群Pt+1;
[0013] 步骤7,重复步骤5至步骤6直至评价次数达到MAX_FE后结束,将执行过程中得到的最优个体的染色体解码成数学表达式就可以得到以吸水率、干密度、波阻抗、动泊松比、动弹性模量为输入变量,抗压强度为输出变量的矿岩强度数学模型,利用获得的矿岩强度数学模型就可以预测矿岩的抗压强度。
[0014] 在上述的一种基于分量热力学基因表达式编程的矿岩强度预测方法,所述步骤4的具体操作步骤如下:
[0015] 对每个个体的染色体解码成数学表达式,并利用矩阵A评价每个体的适应值,并保存适应值最大的个体为最优个体,设任意个体j的染色体解码成数学表达式记为fj,其适应值计算公式为: 其中,N为矿岩样本总数,Ai1,Ai2,Ai3,Ai4,Ai5,Ai6,分别为矩阵A中存储的第i矿岩样本的吸水率、干密度、波阻抗、动泊松比、动弹性模量和抗压强度,最优个体的判断标准是:在所有个体中适应值最大的个体。
[0016] 在上述的一种基于分量热力学基因表达式编程的矿岩强度预测方法,所述步骤5中的具体操作步骤如下:
[0017] 步骤5.1,判断当前评价次数是否大于等最大评价次数MAX_FE,若是则转到步骤7,否则执行以下步骤;
[0018] 步骤5.2,i=0;其中,i为临时变量,为记数器;
[0019] 步骤5.3,判断i是否大于等于Markov链长LK,若是则执行温度下降因子k=k+1;当前温度T=T/(1+k),后执行步骤5.1,否则执行以下步骤;
[0020] 步骤5.4,通过执行基因表达式编程的选择、变异、插串、重组等算子生成M个新个体;
[0021] 步骤5.5,将M个新个体组织成子种群Ot,然后按公式:
[0022]
[0023] 计算Ot中的每个个体的适应值,并且保存适应值最大的个体为最优个体。
[0024] 在上述的一种基于分量热力学基因表达式编程的矿岩强度预测方法,所述步骤6的具体操作步骤如下:
[0025] 步骤6.1,计算第t+1代的活跃窗口Wt+1;并令临时种群P’t=Pt∪Ot;,其中Pt是当前种群,Ot是子种群:
[0026] 步骤6.2,计算P’t中的PS+M个个体的相对能量;
[0027] 步骤6.3,根据步骤6.2中计算的相对能量,计算P’t中的PS+M个个体的自由能分量;
[0028] 步骤6.4,从P’t中找出自由能分量最大的前M个个体;
[0029] 步骤6.5,将步骤6.4中找出的M个具有最大自由能分量的个体从P’t中删除;
[0030] 步骤6.6,当前演化代数t=t+1;,下一代新种群Pt=P’t;i=i+1,后执行步骤5.3。
[0031] 在上述的一种基于分量热力学基因表达式编程的矿岩强度预测方法,所述步骤6.2中,计算每个个体的相对能量方法如下:
[0032] 其中F(X)为个体X的适应值函数,且其特性为个体越优,则适应值越大。
[0033] 在上述的一种基于分量热力学基因表达式编程的矿岩强度预测方法,所述步骤6.1中,计算第t代的活跃窗口Wt的方法如下:
[0034] 当t=0时,W0=[l0,u0],其中:
[0035] l0=min{-F(X)|X∈P0},u0=max{-F(X)|X∈P0};当t>0时,若Wt-1=[lt-1,ut-1],且第t代子种群:Ot(XN+1,XN+2,...,XN+M)∈S,则Wt=[lt,ut],其中:
[0036] lt=min(lt-1,min{-F(X)|X∈Ot}),ut=max(ut-1,max{-F(X)|X∈Ot})。
[0037] 在上述的一种基于分量热力学基因表达式编程的矿岩强度预测方法,所述步骤6.3中,计算个体的自由能分量方法如下:
[0038]
[0039] 其中T为当前温度,个体X在种群Pt的等级为b,种群Pt中落入Wt的第b个等级中的个体数目为nb,且
[0040] a>1,0≤b≤K-1,K≥2。
[0041] 其中,a为比例因子,K为等级数。
[0042] 因此,本发明具有如下优点:将基因表达式编程中的选择压力和种群多样映射为热力学中的能量和熵,基于自由能极小定律的原理,选择出若干个个体复制到新一代种群中进行演化操作,通过这种选择方法使得新一代种群的自由能极小化,而新一代种群的自由能极小化也就是选择出来的新一代种群的个体尽可能最优,同时种群多性尽可能好,从而定量地协调基因表达式编程中选择压力和种群多样性之间的平衡,以提高传统基因表达式编程的收敛速度、求解精度和算法的稳定性。利用提出的分量热力学基因表达式编程算法以矿岩试件的吸水率、干密度、波阻抗、动泊松比、动弹性模量为输入变量,抗压强度为输出变量,自动智能地挖掘出矿岩强度的数学模型,从而预测矿岩的抗压强度。

附图说明

[0043] 图1为本发明中个体解码成数学表达式的方法示意图。
[0044] 图2为本发明中个体自由能分量的计算流程示意图。

具体实施方式

[0045] 下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
[0046] 实施例:
[0047] 步骤1,采集数量为15-30的矿岩样本,并进行密度试验、三轴试验、超声波试验等系列试验,获得每一个矿岩样本的试验数据,主要包括吸水率、干密度、波阻抗、动泊松比、动弹性模量以及抗压强度,获得的试验数据记为矩阵A,设矩阵A中的任意行i,记为Ai,其值为第i个矿岩试件的六个属性:吸水率、干密度、波阻抗、动泊松比、动弹性模量以及抗压强度。
[0048] 步骤2,初始化参数:种群大小PS=100,最大评价次数MAX_FE=3000000,比例因子α=2,等级数K=20,Markov链长LK=100,初始温度T0=10,函数符={+、-、*、/、P、Q、S、C、L、E}其中P代表平方,Q代表开平方,S代表sin函数,C代表cos函数,L代表log函数,E代表exp函数,终结符={a、b、c、d、e}其中a代表吸水率、b代表干密度、c代表波阻抗、d代表动泊松比、e代表动弹性模量,基因长度=21,基因个数=3,变异概率=0.06,插串概率=0.1,插串长度=3,重组概率=0.3;
[0049] 步骤3,产生初始化种群P0,对每个个体的染色体按图1所示的方法解码成数学表达式,并利用矩阵A评价每个体的适应值,并保存最优个体,设任意个体j的染色体解码成数学表达式记为fj,其适应值计算公式为:
[0050]
[0051] 步骤4,t=0,k=0,T=T0;
[0052] 步骤5,按公式W0=[min{-F(X)|X∈P0},max{-F(X)|X∈P0}],计算第0代的活跃窗口W0;
[0053] 步骤6,判断当前评价次数是否大于等最大评价次数MAX_FE,若是则转到步骤20,否则转到步骤7;
[0054] 步骤7,i=0;
[0055] 步骤8,判断i是否大于等Markov链长LK,若是则转到步骤18,否则转到步骤9;
[0056] 步骤9,通过执行基因表达式编程的选择、变异、插串、重组等算子生成M个新个体;
[0057] 步骤10,将M个新个体组织成子种群Ot,然后按公式:
[0058]
[0059] 计算Ot中的每个个体的适应值,并且保存最优个体;
[0060] 步骤11,计算第t+1代的活跃窗口Wt+1,计算公式为:
[0061] Wt+1=[lt+1,ut+1],其中:
[0062] lt+1=min(lt,min{-F(X)|X∈Ot})
[0063] ut+1=max(ut,max{-F(X)|X∈Ot});
[0064] 步骤12,P’t=P’t∪Ot;
[0065] 步骤13,按公式:
[0066]
[0067] 计算P’t中的PS+M个个体的相对能量;
[0068] 步骤14,计算P’t中的PS+M个个体的自由能分量,计算公式为:
[0069]
[0070] 详细计算过程可参见图2;
[0071] 步骤15,从P’t中删除前M个具有最大自由能分量的个体;
[0072] 步骤16,t=t+1,Pt=P’t;
[0073] 步骤17,i=i+1,转到步骤8;
[0074] 步骤18,k=k+1;
[0075] 步骤19,T=T/(1+k),转到步骤6;
[0076] 步骤20,将最优个体的染色体按图1所示的方法解码成数学表达式就可以得到以吸水率、干密度、波阻抗、动泊松比、动弹性模量为输入变量,抗压强度为输出变量的矿岩强度数学模型,利用获得的矿岩强度数学模型就可以预测矿岩的抗压强度。
[0077] 本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。