发明内容
本发明的目的就是针对现有的间歇过程优化技术的不足之处,提出一种结合中期修正策略的间歇过程批到批优化方法,在利用批到批优化得到当前最优控制策略的基础上,利用当前批次所获得的信息,采用中期修正策略,对后面的控制策略进行修正,从而可以处理当前批次的过程干扰,提高了控制性能。
本发明的技术方案是通过数据采集、数据驱动、过程优化等手段,首先基于过程数据库建立基于非线性部分最小二乘(NLPLS)的质量变量预测模型,根据过程的控制操作变量对最后的产品质量进行预测。基于该模型,计算出最优控制策略并在实际装置上实施。为了解决模型和对象失配并且存在未知扰动的问题,采用递推算法,在每个批次结束后根据新得到的数据和旧模型参数对原NLPLS模型进行更新。然后,重新求解最优控制策略并在对象上实施。通常经过几个批次,控制策略将收敛到一个满意解。同时为了处理批次内的干扰,采用中期修正策略,利用当前批次所获得的新信息对后面的控制策略进行修正,从而提高了控制性能。
本发明方法的具体步骤是:
步骤(1)基于过程数据库建立基于非线性部分最小二乘(NLPLS)质量变量预测模型,具体方法是:
a.通过数据采集装置采集过程运行数据,将采集的过程运行数据作为数据驱动的样本集合,以控制操作变量作为输入,最终产品质量变量作为输出,用于建立NLPLS质量变量预测模型;每一批次的数据对表示为{x(k)}和{y(k)},x(k)表示第k批次控制操作变量数据,y(k)表示第k批次产品质量变量数据;将输入数据构成输入矩阵X、将输出数据构成输出矩阵Y;
b.基于输入输出数据建立NLPLS质量变量预测模型,方法是:
对矩阵X和Y进行归一化处理,使之均值为0,方差为1;然后将输入矩阵进行列扩展,扩展项为径向基函数(RBF)神经网络的隐节点输出矩阵G和元素全为1的列向量1,其中G的每一行对应一个输入向量作用下的隐节点的输出g,隐节点的偏置项系数为1;对如下增广输入矩阵和输出矩阵进行部分最小二乘(PLS)回归:
{[1 X G],Y},得到的NLPLS质量变量预测模型表示为:
式(1)中,XE表示增广输入矩阵,A和H分别为对应原始输入向量和对应RBF网络隐节点输出向量的权值系数矩阵,b为输出偏置向量,T表示转置。
NLPLS质量变量预测模型中的未知参数为隐节点中心向量c、相应宽度向量σ、权值系数矩阵A与H、模型偏置向量b,这些参数按如下步骤确定:
①用k-means聚类算法对输入数据进行聚类,得到隐节点中心c;该算法能确定最优的聚类中心数,同时可使聚类中心合理地分布在数据空间中。
②采用p近邻规则计算隐节点宽度:
其中N为隐节点中心的个数,ci为距离第j个隐节点中心最近的p个隐节点中心。
③采用PLS回归确定权值系数矩阵A、H和偏置向量b:
根据得到的隐节点中心和宽度计算隐节点输出矩阵G,然后对输入矩阵进行扩展,得到增广输入矩阵[1 X G]。对数据对{[1 X G],Y}进行PLS回归,得到PLS模型参数矩阵{T,W,P,B,Q}。为了在后面的模型更新中保留所有的信息,提取特征变量个数等于增广输入矩阵[1 X G]的秩,而最终用于预测的模型所保留的特征向量个数a采用交叉校验法确定,得到的参数矩阵记为{Ta,Wa,Pa,Ba,Qa},由它们计算出PLS回归系数矩阵β,从而得到A,H和b。
将上述建立的应用所有的过程控制操作变量预测最后的质量指标的NLPLS模型记作模型I。如果在反应过程中的某些中间时刻可以得到质量变量测量值,可利用它们来修正控制变量,以改善控制性能:在每一个中间测量时刻θi,建立另外两个NLPLS模型,分别记作模型II和模型III。模型II用来预测中间时刻θi的质量变量,输入变量包括从反应开始到时刻θi的所有过程变量的测量值和时刻θi前的质量变量测量值。模型III用来预测反应结束时的质量变量,输入变量包括所有控制操作变量和从反应开始到时刻θi的所有质量变量测量值。
步骤(2)根据步骤(1)中得到的模型I,计算得到初始的最优控制策略,具体方法是:
间歇过程优化的目标通常是寻找一组控制变量使得某目标函数最小化,而该目标函数通常是关于反应结束时刻质量变量的函数,采用如下数学形式描述:
其中,t
f为反应时间,u
k为需要优化的控制变量,Δu
k为控制变量的变化量,定义为:Δu
k=u
k-u
k-1,y
sp为最终产品质量变量的设定值,
为所建软测量模型对最终产品质量变量的预测值,软测量模型以u
k作为模型的输入。Q
1和Q
2为对角加权矩阵。上式中的第二项是为了限制控制变量的变动,从而输出变量在前后两个批次间不会波动太大。为了反映物理限制,可以对控制变量引入硬限制:u
min≤u
k≤u
max。对式(3)进行求解,得到优化的控制变量,具体采用成熟的优化方法,例如序列二次规划(SQP)算法。
步骤(3)将得到的最优控制策略在新的批次上实施。当在θi时刻得到质量变量测量值时,将其与由模型II得到的预测值进行比较:
如果模型II的预测误差大于设定阈值,说明过程存在较大变化,这样应用原有的最优控制策略将不能不到最优的最终产品质量。这时,采用中期修正策略对操作变量进行调整,使最终产品质量回到目标值,具体方法是:采用步骤(2)中的优化方法,用模型III代替模型I,重新计算θi时刻后的最优控制操作变量,然后将其应用到当前批次。
如果模型II的预测误差小于等于设定阈值,说明过程变化不大,模型I就可能给出准确的预测结果,不必再利用模型III对模型进行修正。
步骤(4)在一个批次结束后,得到实际的最终产品质量变量。利用获得的新批次数据结合原来的NLPLS模型,采用递推算法对模型I,II和III进行更新,具体方法是:
设经过k-1个批次后得到的NLPLS模型中,RBF网络隐节点中心矩阵为
每一行对应一个中心向量;相应宽度向量为
每一元素对应一个隐节点的宽度。{W(k-1),P(k-1),B(k-1),Q(k-1)}为PLS模型参数矩阵。第k个批次结束后,得到新的输入输出变量x(k)和y(k),
a.采用与步骤(1)中一样的方法对新数据进行数据预处理。计算原NLPLS模型隐节点对于新样本x(k)的输出向量,记为g(k)。
b.判断是否增加新的隐节点:
如果g(k)的所有元素都小于设定值,则加入新的隐节点。新的隐节点中心取为x(k),相应的宽度σ采用最近邻规则计算:
σ=zc-ησc (4)
其中,zc为x(k)到最近的隐节点中心的距离,η为重叠参数,取值范围为[0,1],σc为离x(k)最近的隐节点的宽度。从而得到新的隐节点中心矩阵和宽度向量:
同时对参数矩阵P(k-1)和向量g(k)扩展如下:
式中,0为全部元素都为0的行向量。
如果g(k)的所有元素都大于等于设定值,则不需要增加隐节点,Cg、σg、P、g保持不变。
c.对x(k)进行扩展,得到增广输入向量:xE(k)T=[1x(k)Tg(k)T]。
d.将新数据xE(k)和y(k)与旧PLS模型参数矩阵结合,然后进行PLS回归,形式如下:
按照步骤③方法,计算得到PLS回归参数A(k),H(k)和b(k)。保存新的模型参数
供预测和下一次模型更新时使用。
步骤(5)利用更新后的模型,返回步骤(2),通过求解式(3)得到新的最优控制策略。
以上步骤在批次间不断重复。通常经过几个批次,控制策略就会收敛到最优解,最终产品质量将达到最优。
本发明提出的结合中期修正策略的间歇过程批到批优化方法,采用递推算法,在每个批次结束后根据新得到的数据和旧模型参数对原模型进行更新。然后,重新求解最优控制策略并在对象上实施。解决了模型和对象失配并且存在未知扰动的问题。同时利用当前批次所获得的新信息对后面的控制策略进行修正,克服了批次内的干扰,从而提高了控制性能。
具体实施方式
一种结合中期修正策略的间歇过程批到批优化方法,具体步骤是:
步骤(1)基于过程数据库建立基于非线性部分最小二乘(NLPLS)质量变量预测模型,具体方法是:
a.通过数据采集装置采集过程运行数据,将采集的过程运行数据作为数据驱动的样本集合,以控制操作变量作为输入,最终产品质量变量作为输出,用于建立NLPLS质量变量预测模型;每一批次的数据对表示为{x(k)}和{y(k)},x(k)表示第k批次控制操作变量数据,y(k)表示第k批次产品质量变量数据;将输入数据构成输入矩阵X、将输出数据构成输出矩阵Y;
b.基于输入输出数据建立NLPLS质量变量预测模型,方法是:
对矩阵X和Y进行归一化处理,使之均值为0,方差为1;然后将输入矩阵进行列扩展,扩展项为径向基函数(RBF)神经网络的隐节点输出矩阵G和元素全为1的列向量1,其中G的每一行对应一个输入向量作用下的隐节点的输出g,隐节点的偏置项系数为1;对如下增广输入矩阵和输出矩阵进行部分最小二乘(PLS)回归:
{[1 X G],Y},得到的NLPLS质量变量预测模型表示为:
式(1)中,XE表示增广输入矩阵,A和H分别为对应原始输入向量和对应RBF网络隐节点输出向量的权值系数矩阵,b为输出偏置向量,T表示转置。
NLPLS质量变量预测模型中的未知参数为隐节点中心向量c、相应宽度向量σ、权值系数矩阵A与H、模型偏置向量b,这些参数按如下步骤确定:
①用k-means聚类算法对输入数据进行聚类,得到隐节点中心c。
②采用p近邻规则计算隐节点宽度:
其中N为隐节点中心的个数,ci为距离第j个隐节点中心最近的p个隐节点中心。
③采用PLS回归确定权值系数矩阵A、H和偏置向量b:
根据得到的隐节点中心和宽度计算隐节点输出矩阵G,然后对输入矩阵进行扩展,得到增广输入矩阵[1 X G]。对数据对{[1 X G],Y}进行PLS回归,得到PLS模型参数矩阵{T,W,P,B,Q},提取特征变量个数等于增广输入矩阵[1 X G]的秩,而最终用于预测的模型所保留的特征向量个数a采用交叉校验法确定,得到的参数矩阵记为{Ta,Wa,Pa,Ba,Qa},由它们计算出PLS回归系数矩阵β,从而得到A,H和b。
将上述建立的应用所有的过程控制操作变量预测最后的质量指标的NLPLS模型记作模型I。如果在反应过程中的某些中间时刻可以得到质量变量测量值,可利用它们来修正控制变量,以改善控制性能:在每一个中间测量时刻θi,建立另外两个NLPLS模型,分别记作模型II和模型III。模型II用来预测中间时刻θi的质量变量,输入变量包括从反应开始到时刻θi的所有过程变量的测量值和时刻θi前的质量变量测量值。模型III用来预测反应结束时的质量变量,输入变量包括所有控制操作变量和从反应开始到时刻θi的所有质量变量测量值。
步骤(2)根据步骤(1)中得到的模型I,计算得到初始的最优控制策略,具体方法是:
间歇过程优化的目标通常是寻找一组控制变量使得某目标函数最小化,而该目标函数通常是关于反应结束时刻质量变量的函数,采用如下数学形式描述:
其中,t
f为反应时间,u
k为需要优化的控制变量,Δu
k为控制变量的变化量,定义为:Δu
k=u
k-u
k-1,y
sp为最终产品质量变量的设定值,
为所建软测量模型对最终产品质量变量的预测值,软测量模型以u
k作为模型的输入。Q
1和Q
2为对角加权矩阵。上式中的第二项是为了限制控制变量的变动,从而输出变量在前后两个批次间不会波动太大。为了反映物理限制,可以对控制变量引入硬限制:u
min≤u
k≤u
max。对式(3)进行求解,得到优化的控制变量,具体采用成熟的优化方法,例如序列二次规划(SQP)算法。
步骤(3)将得到的最优控制策略在新的批次上实施。当在θi时刻得到质量变量测量值时,将其与由模型II得到的预测值进行比较:
如果模型II的预测误差大于设定阈值,采用中期修正策略对操作变量进行调整,使最终产品质量回到目标值,具体方法是:采用步骤(2)中的优化方法,用模型III代替模型I,重新计算θi时刻后的最优控制操作变量,然后将其应用到当前批次。
如果模型II的预测误差小于等于设定阈值,说明过程变化不大,模型I就可能给出准确的预测结果,不必再利用模型III对模型进行修正。
步骤(4)在一个批次结束后,得到实际的最终产品质量变量。利用获得的新批次数据结合原来的NLPLS模型,采用递推算法对模型I,II和III进行更新,具体方法是:
设经过k-1个批次后得到的NLPLS模型中,RBF网络隐节点中心矩阵为
每一行对应一个中心向量;相应宽度向量为
每一元素对应一个隐节点的宽度。{W(k-1),P(k-1),B(k-1),Q(k-1)}为PLS模型参数矩阵。第k个批次结束后,得到新的输入输出变量x(k)和y(k),
a.采用与步骤(1)中一样的方法对新数据进行数据预处理。计算原NLPLS模型隐节点对于新样本x(k)的输出向量,记为g(k)。
b.判断是否增加新的隐节点:
如果g(k)的所有元素都小于设定值,则加入新的隐节点。新的隐节点中心取为x(k),相应的宽度σ采用最近邻规则计算:
σ=zc-ησc (4)
其中,zc为x(k)到最近的隐节点中心的距离,η为重叠参数,取值范围为[0,1],σc为离x(k)最近的隐节点的宽度。从而得到新的隐节点中心矩阵和宽度向量:
同时对参数矩阵P(k-1)和向量g(k)扩展如下:
式中,0为全部元素都为0的行向量。
如果g(k)的所有元素都大于等于设定值,则不需要增加隐节点,Cg、σg、P、g保持不变。
c.对x(k)进行扩展,得到增广输入向量:xE(k)T=[1x(k)Tg(k)T]。
d.将新数据xE(k)和y(k)与旧PLS模型参数矩阵结合,然后进行PLS回归,形式如下:
按照步骤③方法,计算得到PLS回归参数A(k),H(k)和b(k)。保存新的模型参数供预测和下一次模型更新时使用。
步骤(5)利用更新后的模型,返回步骤(2),通过求解式(3)得到新的最优控制策略。
以上步骤在批次间不断重复。通常经过几个批次,控制策略就会收敛到最优解,最终产品质量将达到最优。