[0003] 本发明针对现有技术的不足,提供了一种电加热炉的遗传优化的多模型预测函数控制方法。
[0004] 本发明首先将电加热炉划分为若干个子工作区间,分别建立相应的子区间上的分数阶模型,再通过Oustaloup近似方法线将其转换为高阶的整数模型,并通过遗传算法选择一组最优的输入基函数作为系统的输入函数,然后求解预测函数的性能指标函数得到最优的一组基函数的系数,从而得到当前时刻的控制量,最后根据模型切换函数计算当前的控制器的输入量,改善了系统的计算时间和控制的性能。
[0005] 本发明方法的步骤:
[0006] 1建立被控对象的多模型。
[0007] 1.1根据工作区域按照工作的温度范围进行i等分,i是要进行工作区域划分的个数。
[0008] 1.2在每个工况区间中采集实际过程对象的实时阶跃响应数据,利用该数据建立被控对象的分数阶传递函数模型Mi,形式如下:
[0009]
[0010] 其中,Mi为第i个子模型,α1,i为第i个系统的微分阶次,T1,i为相应的系数,S为拉普拉斯变换算子,Km,i为模型比例增益系数,τm,i为模型的滞后时间常数。
[0011] 1.3通过Oustaloup近似方法可以将分数阶模型数值化处理为:
[0012]
[0013] 其中,α为分数阶微分阶次,0<α<1,N为选定的近似阶次,Kα=Whα,Wn′=WbWu(2n-1-α)/N,Wn=WbWu(2n-1+α)/N, Wh和Wb分别为拟合频率的上限值和下限值。
[0014] 1.4根据步骤1.3中Oustaloup近似方法,将步骤1.2中的分数阶模型转化为整数高阶模型,再通过采样时间TS和零阶保持器后离散化得到如下形式:
[0015]
[0016] 其中,fj,hj(j=1,2,…,l)均为离散近似后得到的系数,d=τ/TS为过程的滞后时间,l为离散模型的长度,y(k)为k时刻的过程模型输出,u(k-d-1)为过程模型在k-d-1时刻的输入值。
[0017] 为了减少误差通过对模型进行一阶向后差分,得到如下形式:
[0018]
[0019] 1.5选取系统的状态变量如下:
[0020] ΔXm(k)=[Δy(k),Δy(k-1),…,Δy(k-l),Δu(k-1),…,Δu(k-l+1-d)]T (5)[0021] 结合步骤1.4,得到被控对象的状态空间模型,形式如下:
[0022]
[0023] 其中,T为矩阵的转置符号,ΔXm(k)的维数为(2l+d-1)×1;
[0024]
[0025] Bm=[0 … 0 1 0 … 0]T
[0026] Cm=[1 0 … 0 0 … 0]
[0027] 输出的误差可以定义为:
[0028] e(k)=y(k)-r(k) (7)
[0029] 其中r(k)为参考轨迹。
[0030] 1.6预测函数控制的输入量是由一组相对应的基函数线性组合,可以表述为:
[0031]
[0032] 其中μi为基函数的系数,fj(i)是基函数在i时刻的值
[0033] 1.7由于实际的过程存在误差,实际与模型之间的误差为:
[0034]
[0035] 1.8通过滚动优化,为了求取当前最优的控制量,目标函数选择如下:
[0036]
[0037] 2.利用遗传算法优化预测函数中基函数的个数。
[0038] 2.1设定种群染色体大小为N,进化的最大迭代次数为N1,随机初始化种群。通过适应度函数优化基函数个数目可得目标函数:
[0039] f=J+ω·nr
[0040] 其中ω为权重系数,J最优目标函数。
[0041] 2.2采用十进制编码方式对染色体进行编码,第i个的染色体可以表示为:
[0042]
[0043] 其中i=1,2,…,N,N是种群的大小,nr是基函数的个数,1≤nr≤D,D是基函数的最大个数。染色体Ci′中的元素为:
[0044] ci=fmin+r(fmax-fmin),1≤i≤nr
[0045] 其中r是位于[0,1]之间的随机变量fmax,fmin分别为基函数的最大值和最小值。
[0046] 2.3选取染色体的操作算子的具体步骤为:
[0047] 2.3.1染色体交叉运算。选取交叉算子Pc,使染色体Ci′和下一个染色体Ci+1′以概率Pc进行交叉运算,产生下一代染色体。
[0048] 2.3.2染色体修剪因子运算。为了得到更优的基函数个数的解,以Pn的概率修改基函数的个数nr,进而改变染色体中的元素Ci′,从而完成染色个体变异的操作。
[0049]
[0050] 2.4依照步骤2.2到2.3中的步骤进行循环重复优化搜索,如果达到最大的进化次数N1结束优化搜索计算,得到经过遗传算法优化后的染色体Ci′,进而可以得到最优的基函数个数nr′。
[0051] 2.5在求取最优的基函数的个数的情况下,求取目标函数的最优值从而可以得到控制量的参数为:
[0052]
[0053] 其中:
[0054] μj=-(0,…,1,0)(GTQG)-1GTQ[Yr(k)-Fu(k-1)+SΔR]
[0055] 3.多模型的切换
[0056] 3.1计算当前时刻每个子模型的输出yi(t),并计算此时子模型的输出与当前时刻对象的实际输出的偏差如下:
[0057] ei(t)=yout(t)-yi(t),i=1,2,…N (15)
[0058] 其中yout(t)为对象的实际输出,ei(t)代表当前时刻第i个子模型与对象实际输出的偏差。
[0059] 3.2计算切换指标函数。
[0060]
[0061] 其中α表示当前时刻的误差权重,β表示过去时刻的误差权重,ρ表示性能指标的记忆效应,L表示所取得过去时刻的长度,N表示模型的个数,Ji(k)表示第i个子模型的切换指标函数,因此可以根据求出模型性能指标函数中的最小的性能指标,确定当前时刻的模型的控制器:
[0062] min(i)=min(Ji(k)) (17)
[0063] 因此当前控制器的输入量为当前时刻性能指标函数最小的所对应的控制器:
[0064] u(t)=umin(i)(t) (18)
[0065] 3.3在下一时刻到来时依照步骤2.1到3.2中的方法求解分数阶的多模型预测函数控制器的控制量,再将控制量作用于被控对象,并按照此步骤循环操作下去。
[0066] 本发明主要是针对电加热炉温度控制系统,提出了一种遗传算法优化的多模型预测函数控制的方法。这种控制的优点在于把分数阶模型引入到了传统的整数阶减少了模型的误差,利用遗传算法从一组设定的基函数中选择当前最优的基函数作为系统的输入组合,减少对基函数选择使系统的控制能力降低,并且减少了计算量。这种方法在实际的应用中与传统的预测函数相比较,把遗传算法引入到预测函数的基函数的选取中,增加了对系统结构的要求,降低了系统的计算,并利用分数阶模型提高了模型的精确度,最后通过在每个时刻根据切换函数选择当前的控制器。