[0003] 本发明的目的是针对蒸馏塔液位对象的建模过程比较困难这一问题,通过数据采集、模型建立、优化等手段,提供了一种基于遗传算法优化的蒸馏塔液位的ARX-模糊神经网络模型辨识方法。该方法通过采集过程对象的输入输出数据,结合ARX线性模型的简单结构和模糊神经网络对非线性特性的良好描述性能,利用最小二乘法建立了过程对象的ARX-模糊神经网络模型,然后利用遗传算法来优化ARX-模糊神经网络模型的参数,该方法建立的模型具有较高的精确性,能很好地描述过程对象的动态特性。
[0004] 本发明方法的步骤包括:
[0005] 步骤1、采集过程对象的实时运行数据,建立过程对象的ARX-模糊神经网络模型,具体步骤如下:
[0006] 1.1以u(q)为第q组的输入数据,y(q)为采集的第q组输出数据,通过数据采集装置采集实际过程的实时运行数据,K为采集的样本总数,采集得到的实时数据的样本集合{u(q),y(q)}(q=1,2,…,K)。
[0007] 1.2构建实际过程对象的模型,将其表示为ARX线性部分和非线性部分,其形式如下:
[0008] y(k)=-a1y(k-1)-…-any(k-n)+b1u(k-d)+…+bmu(k-d-m)+f(y(k),u(k))[0009] 其中,m,n,d分别为模型的输入阶次、输出阶次和时滞,a1,a2,…,an,b1,b2,…,bm为待辨识的模型系数,f为有界光滑非线性函数。
[0010] 1.3给定双曲正切函数φ(y(k),u(k)θ)的逼近范围ε,非线性部分可以用模糊神经网络结构来进行近似表示,即满足,
[0011] ||f(y(k),u(k))-φ(y(k),u(k)θ)||≤ε
[0012] 考虑线性参数的模糊神经网络映射,有
[0013] φ(y(k),u(k),θ)=φ(y(k),u(k))θ
[0014] 其中,θ为待辨识的模糊神经网络的参数向量,y(k),u(k)分别为k时刻的模型输出和输入。
[0015] 1.4利用步骤1.3可以将步骤1.2中构建的模型转换为如下形式,
[0016] y(k)=-a1y(k-1)-…-any(k-n)+b1u(k-d)+…+bmu(k-d-m)+φ(y(k),u(k))θ[0017] 1.5对步骤1.4中的模型参数进行模糊处理,选取如下形式的模糊规则,[0018] Rule j:If y(k) is A1j and u(k) is A2j,
[0019] then yj(k)=BTX(k)+ρ(X(k))θj,(j=1,2,…,M)
[0020] 其中,
[0021] X(k)=[y(k-1),…,y(k-n),u(k-d),u(k-d-1),…,u(k-d-m)]
[0022] B=[a1,…,an,b1,…,bm]T
[0023] θj=[θ1j,θ2j,…,θm+n,j]
[0024] A1j,A2j满足如下隶属度函数集:
[0025] A1j[y(k)]=exp(-||y(k)-c′1j||2/σ'21j)
[0026] A2j[u(k)]=exp(-||u(k)-c'2j||2/σ'22j)
[0027] c′1j,c'2j分别为隶属度函数的中心,σ'1j,σ'2j分别为隶属度函数的基宽,ρ为双曲正切函数,M为模糊规则的个数,T为矩阵转置符号。
[0028] k时刻第j条模糊规则的隶属度值为:
[0029]
[0030] 其中,∏为模糊算子。
[0031] 1.6基于步骤1.5中的模糊规则,对ARX-模糊神经网络模型进行处理,得到如下形式的过程模型:
[0032]
[0033] 其中,
[0034] 1.7选取参数集合向量,将步骤1.6中的模型写成如下矩阵形式:
[0035]
[0036]
[0037]
[0038] 结合步骤1.1中采集的K组数据样本,Y=[y(1),y(2),…,y(K)],利用最小二乘法进行K次迭代,可以辨识得到模型的参数向量θ。
[0039] 辨识手段如下:
[0040]
[0041] 其中,迭代初值K(0),P(0)为预先选定的(m+n)(M+1)×1维和(m+n)(M+1)×(m+n)(M+1)维的矩阵。
[0042] 步骤2、利用遗传算法优化ARX-模糊神经网络模型的参数,具体步骤如下:
[0043] 2.1对模糊神经网络模型的参数进行混合编码,则第i个染色体的编码方式为:
[0044]
[0045] 其中,i=1,2,…,N,N为染色体的规模大小,Ci的维数为4×(M+2),Ci中的元素包含的模糊规则的最大个数为r,1≤r≤M,Ci中第r+1行到M行的元素均为0,cM+1,1cM+1,2cM+1,3cM+1,4,cM+2,1cM+2,2cM+2,3cM+2,4分别为m,n的四位二进制编码形式。
[0046] Ci中待优化元素的初值为,
[0047]
[0048]
[0049] 其中,δ为0-1之间的随机数,umin,umax分别为采集的最小输入数据和最大输入数据,ymin,ymax为采集的最小输出数据和最大输出数据。
[0050] 2.2对优化后的元素进行解码,m,n的解码方式为:
[0051]
[0052]
[0053] 其中,m∈[1,mmax],n∈[1,nmax],mmax,nmax分别为预先设定的m,n的初值,<·>表示取最接近·的整数。
[0054] 2.3将采集的过程对象的数据样本分为两部分,前半部分Y1=[y1(1),y1(2),…,y1(N1)],用于辨识ARX-模糊神经网络模型的参数,另一部分为Y2=[y2(1),y2(2),…,y2(N1)],用于测试评估模型的性能。
[0055] 选取染色体个体Ci的目标函数J(Ci),形式如下:
[0056]
[0057] 其中,Min表示求最小值, 分别为基于两组数据样本Y1,Y2辨识得到的ARX-模糊神经网络模型的预测输出,N1为选取的数据样本的大小。
[0058] 2.4选取染色体的遗传算子和搜索空间,具体方法如下:
[0059] 2.4.1利用转轮选择法来确定选择算子,形式如下:
[0060]
[0061] 其中,p(Ci)为个体Ci的选择概率,个体Ci的适应度函数为
[0062] 2.4.2对个体Ci,以概率Pn产生一个邻域搜索空间,其邻域半径ΔCi为:
[0063]
[0064] 其中,Δr=δ1r,∈[1,M],Δcgh=δ1cgh(g=1,2,…,r),δ1为-0.1到0.1之间的随机数,ΔCi满足步骤2.1中的编码规则,邻域范围内新的可行解元素 (i1=1,2,3,4)分别为其最接近的整数。
[0065] 2.4.3利用步骤2.4.1确定的选择算子选择个体Ci和Ci+1,以交叉概率Pc将被选择的染色体进行交叉操作产生下一代子染色体C′i和C′i+1,得到子染色体为:
[0066] C′i=αCi+(1-α)Ci+1
[0067] C′i+1=(1-α)Ci+αCi+1
[0068] 其中,α∈(0,1)为随机数。
[0069] 2.4.4由于染色体中的基于会发生变异,以Pm表示染色体个体的变异率。个体Ci中的元素以Pm的概率进行变异后,用cgh+δ1cgh来代替变异后的元素cgh。
[0070] 2.4.5确定保留算子,基本操作规则如下:
[0071] (1)若σgh=0或Δcgh接近于0,删除个体Ci中的元素cgh,相应减小模糊规则的个数。
[0072] (2)若θj中的所有系数小于ε1,ε1为足够小的数,不考虑第j条模糊规则,即可以直接删除该条规则。
[0073] 2.5依照步骤2.3到2.4中的步骤进行循环重复优化搜索,达到允许的最大进化代数时结束优化搜索计算,得到经遗传算法优化后的染色体,结合步骤2.1中的编码方式和步骤2.2中m,n的解码方式,从而得到优化后的ARX-模糊神经网络模型的参数。
[0074] 本发明的有益效果:该方法通过采集过程对象的输入输出数据,结合ARX线性模型的简单结构和模糊神经网络对非线性特性的良好描述性能,利用最小二乘法建立了过程对象的ARX-模糊神经网络模型,然后利用遗传算法来优化ARX-模糊神经网络模型的参数,该方法建立的模型具有较高的精确性,能很好地描述过程对象的动态特性。