欢迎来到利索能及~ 联系电话:18621327849
利索能及
我要发布
收藏
专利号: 2016112522887
申请人: 杭州电子科技大学
专利类型:发明专利
专利状态:已下证
专利领域: 控制;调节
更新日期:2024-09-06
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.遗传算法优化的多模型预测控制方法,其特征在于该方法包括以下步骤:

1建立被控对象的多模型,具体是:

1.1根据工作区域,按照工作的温度范围进行i等分,i是要进行工作区域划分的个数;

1.2在每个工况区间中采集实际过程对象的实时阶跃响应数据,利用该数据建立被控对象的分数阶传递函数模型Mi,形式如下:

其中,Mi为第i个子模型,α1,i为第i个系统的微分阶次,T1,i为相应的系数,S为拉普拉斯变换算子,Km,i为模型比例增益系数,τm,i为模型的滞后时间常数;

1.3通过Oustaloup近似方法将分数阶模型数值化处理为:

其中,α为分数阶微分阶次,0<α<1,N为选定的近似阶次,Kα=Whα,Wn'=WbWu(2n-1-α)/N,Wn=WbWu(2n-1+α)/N, Wh和Wb分别为拟合频率的上限值和下限值;

1.4根据步骤1.3中Oustaloup近似方法,将步骤1.2中的分数阶模型转化为整数高阶模型,再通过采样时间TS和零阶保持器后离散化得到如下形式:

其中,fj,hj(j=1,2,…,l)均为离散近似后得到的系数,d=τ/TS为过程的滞后时间,l为离散模型的长度,y(k)为k时刻的过程模型输出,u(k-d-1)为过程模型在k-d-1时刻的输入值;

2.控制器设计

2.1根据对象的模型和输入控制量对未来过程对象的输出进行预测:为了减少误差通过对模型进行一阶向后差分,得到如下形式:

2.2选取系统的状态变量如下:

△Xm(k)=[△y(k),△y(k-1),…,△y(k-l),△u(k-1),…,△u(k-l+1-d)]T  (5)结合步骤1.4,得到被控对象的状态空间模型,形式如下:

其中,T为矩阵的转置符号,△Xm(k)的维数为(2l+d-1)×1;

Bm=[0 … 0 1 0 … 0]TCm=[1 0 … 0 0 … 0]输出的误差定义为:

e(k)=y(k)-r(k)   (7)其中r(k)为参考轨迹;

2.3预测函数控制的输入量是由一组相对应的基函数线性组合,表述为:u(k+i)=…=u(k)   (8)

2.4由于实际的过程存在误差,实际与模型之间的误差为:

2.5通过滚动优化,求取当前最优的控制量,目标函数选择如下:J=min[yr(k+p)-y(k+p)]2   (10)得到每个控制器的控制量分别为:

u(k)=-S-1[y(k)-yr(k)+G△x(k)-L△R]+u(k-1)   (11)其中S=CAP-1B+CAP-2B+…+CB,△R=[△yr(k+1),△yr(k+2),…,△yr(k+p)]TL=[1 1 … 1],G=CAP+CAP-1+…+CA;

3.利用遗传算法优化多模型的个数和工况点的范围;

3.1通过选取高斯核函数对每个模型的工况点进行评价;

其中y是当前时刻系统的输出量,mi是第i个模型的工作点,σi为其相应模型的核宽度;

3.2通过模型的评价函数求取系统中每个模型加权系数

其中nr为模型的个数,wi(k)为第i个模型的加权系数;

3.3设定种群染色体大小为N,进化的最大迭代次数为N1,随机初始化种群;通过适应度函数优化模型个数和核宽度可得目标函数:

其中ω为权重系数,yi(k+1)是第i个模型下一时刻的输出量,yr(k+1)是对象的参考轨迹未来预测的输出量;

3.4采用十进制编码方式对工作点范围的宽度进行编码,第i个的染色体表示为:

其中i=1,2,…,N,N是种群的大小,nr是模型中模型的个数,1≤nr≤D,D是模型集的最大个数;染色体Ci′中的元素为:σi=fmin+r(fmax-fmin),1≤i≤nr  (16)其中r是位于[0,1]之间的随机变量fmax,fmin分别为核宽度的最大值和最小值;

3.5选取染色体的操作算子的具体步骤为:

3.5.1染色体交叉运算;选取交叉算子Pc,使染色体Ci′和下一个染色体Ci+1′以概率Pc进行交叉运算,产生下一代染色体;

3.5.2染色体修剪因子运算;以Pn的概率修改模型的个数nr,进而改变染色体中的元素Ci′,从而完成染色个体变异的操作;

3.6依照步骤2.2到2.3进行循环重复优化搜索,如果达到最大的进化次数N1结束优化搜索计算,得到经过遗传算法优化后的染色体核宽度Ci′,进而可以得到最优的模型个数nr'

3.7在求取最优的模型个数和核宽度的情况下,求取目标函数的最优值从而得到控制量的参数为:

3.8在下一时刻到来时依照步骤2.1到3.7中的方式求解分数阶的多模型预测函数控制器的控制量,再将控制量作用于被控对象,并按照此步骤循环操作下去。