一种基于FPAA模拟神经网络的空分装置快速模型预测控制方法转让专利

申请号 : CN201810780959.X

文献号 : CN108873701B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 徐祖华赵均黄彦春陈铭豪邵之江

申请人 : 浙江大学

摘要 :

本发明公开了一种基于FPAA模拟神经网络的空分装置快速模型预测控制方法。该方法分为离线计算和在线计算两部分。离线计算包括MPC控制参数的计算和模拟电路QP求解器的构建。在线计算包括状态更新、无约束优化、计算平移变换和尺度变换参数、模拟电路求解QP构成。本方法采用连续神经网络求解QP问题,具有天然并行性;通过平移变换和尺度变化解决了模拟电路实现连续神经网络的信号限制;在此基础上,采用FPAA设计了模拟电路,从而实现了MPC中QP的快速求解。相对于已有技术,本发明有效解决了离散神经网络的缺点,且较好地解决了基于传统数值方法的MPC求解速度慢、实时性较差的问题。

权利要求 :

1.一种基于FPAA模拟神经网络的空分装置快速模型预测控制方法,其特征在于,该方法包括以下步骤:步骤(1):通过系统辨识的手段,获取空分装置的阶跃响应模型,结合工艺约束,对MPC控制参数进行离线计算,离线计算出在线求解中要用的参数,即:预测时域;控制时域;被控变量加权阵;控制增量加权矩阵;预测方程中的系数;QP问题中的系数;采用FPAA模拟电路实现的简化对偶神经网络SDNN对MPC进行QP求解;在实现模拟电路QP求解器搭建前,对SDNN进行了平移变换和尺度变换;具体为:根据空分装置的阶跃响应模型,给出MPC参数:预测时域P、控制时域M、被控变量加权阵Qy、控制增量加权矩阵QΔu、MPC的控制变量个数nu、被控变量个数ny、状态变量个数nx;用状态空间模型描述被控过程如下:其中,k表示时刻,Am为状态矩阵,Bm为输入矩阵,Cm为输出矩阵, 是被控变量,y(k)表示k时刻的被控变量; 是控制变量,u(k)表示k时刻的控制变量; 是状态变量,xm(k+1)表示(k+1)时刻的状态变量;

新的状态变量x(k)=[Δxm(k)T η(k)T]T;

其中η(k)=y(k),从而得到状态空间的增量模型为:其中,Δu(k)控制变量的增量;A为新的状态矩阵,B为新的输入矩阵,C为新的输出矩阵,I表示单位阵;

将被控过程模型的状态矩阵A,输入矩阵B,输出矩阵C,以及约束条件输入到MPC控制器中,MPC控制器在每个周期要求解的QP命题如下:其中,x(k|k)表示当前时刻的状态量;Yr(k)和YP(k)分别是被控变量在预测时域内的期望轨迹和实际轨迹,ΔUM(k)是控制时域内的控制增量,即Yr(k)=[yr(k+1)T yr(k+2)T … yr(k+P)T]TYP(k)=[y(k+1|k)T y(k+2|k)T … y(k+P|k)T]TΔUM(k)=[Δu(k)T Δu(k+1)T … Δu(k+M-1)T]Tyr(k)表示k时刻被控变量的设定值;Umin和Umax分别是控制变量的上下限约束;YP(k)=Fx(k|k)+ΦΔUM(k)是基于被控过程模型对被控变量进行预测的多步预测方程,其中式(3)写成如下QP形式:其中,

以及,U(k-1)=[u(k-1)T u(k-1)T … u(k-1)T]T为nu×nu的单位阵;

SDNN为:

其中,v表示决策变量,dt表示对时间求导;P=W-1ET,s=W-1c,ε>0是调节简化对偶神经T网络模型收敛速度的缩放因子;g(z)=[g(z1) g(z2) … g(zp)]是分段线性向量函数,定义如下:li表示l中第i个分量;zi表示z中第i个分量;hi表示h中第i个分量;

对式(5)进行平移变换,可得:

其中,

g(z)=[g(z1) g(z2) … g(zp)]T是分段线性向量函数,定义如下:αi为α的第i个分量;

对式(6)进行尺度变换,可得:

其中

μ为尺度因子;

g(z)=[g(z1) g(z2) … g(zp)]T是分段线性向量函数,定义如下:表示 的第i个分量;

采用FPAA搭建模拟电路,实现MPC的QP求解;

步骤(2):判断是否初始化;若初始化,则进行初始化工作,包括:检测输出的实际值y(k),输入的实际值u(k-1);初始化状态变量x(k|k)=[0 y(k)T]T,然后根据检测结果直接进入无约束优化;若不初始化,则更新状态变量;

步骤(3):对于可测量的状态,直接用测量得到的状态值对当前时刻的状态进行更新;

对于不可测的状态,引入状态观测器利用被控过程的输入输出数据对状态进行观测,得到状态的估计值x(k|k),然后采用观测值对当前时刻的状态进行更新,具体步骤如下:测量:

检测实际值y(k),u(k-1),计算Δu(k-1)=u(k-1)-u(k-2);

预测:

x(k|k-1)=Ax(k-1|k-1)+BΔu(k-1)y(k|k-1)=Cx(k|k-1)

校正:

x(k|k)=x(k|k-1)+L(y(k)-y(k|k-1));

其中,x(k|k-1)为k-1时刻对k时刻的预测值;

步骤(4):在对被控过程的QP问题进行有约束优化前,求解当前QP问题的一个无约束优化问题,并检查该解是否满足当前QP问题的约束条件,如果满足约束就直接将该解输出,如果不满足约束就进入有约束优化的过程;具体为:对于式(4),当不存在约束时,最优解可以通过解析的方法直接求出:当式(4)求得的解满足l≤ExQP≤h的约束时,不进行有约束优化而直接输出QP问题的解步骤(5):有约束优化采用FPAA模拟电路实现的SNDD进行QP求解,其过程依次包括:计算平移变换和尺度变换参数、DA输出电压、AD采样判断是否收敛,具体是:(5.1)计算平移变换和尺度变换参数:对SDNN进行平移变换,使得其中的饱和环节关于原点对称;对SDNN进行尺度变换,使得其中所有信号量的取值均在模拟电路信号允许范围内;具体步骤如下:更新:

计算平移变换参数:

计算尺度变化参数:

(5.2)DA输出电压:上位机通过DA模块输出模拟电压至模拟电路QP求解器,以电压形式输出的参数包括(5.3)AD采样判断是否收敛:通过AD模块对模拟电路QP求解器的输出进行采样,判断模拟电路的QP求解过程是否收敛;若没有收敛,则继续进行AD采样,若已经收敛,对结果进行尺度反变换,得到QP的最优解;具体步骤如下:采样:

对QP决策变量 进行AD采样,记作 表示对 的第i次采样得到的量;

计算相对误差:

其中

判断: 表示尺度变换后的决策变量初始值;

判断error≤εQP是否满足,若满足,对结果进行尺度反变换,得到QP的最优解;若不满足,继续下一次AD采样判断是否收敛;

步骤(6):从QP问题的解中选取当前时刻的控制增量,然后将当前时刻的控制增量与之前时刻的控制量叠加得到当前时刻的控制量,将该控制量输出到调节阀,从而调节空分装置的氧、氮、氩产品纯度,减小产品质量波动;返回步骤(3),进入下一个控制周期的计算,从而实现被控过程的MPC控制。

说明书 :

一种基于FPAA模拟神经网络的空分装置快速模型预测控制

方法

技术领域

[0001] 本发明涉及空分装置的快速模型预测控制(Fast MPC)领域,特别是涉及一种基于FPAA模拟神经网络的快速模型预测控制框架,其特点是采用FPAA模拟神经网络求解MPC中的QP问题,具有较高的实时性。

背景技术

[0002] 模型预测控制(Model Predictive Control,简称MPC)由于在复杂多变量系统上具有出色的约束优化控制能力,因此在石油,化工等过程领域中获得了广泛的应用。本质上,MPC的约束优化控制能力主要产生于在线求解带约束的二次规划(Quadratic Programming,QP)问题。二次规划的传统数值求解算法虽然适用范围广,但是大多涉及矩阵求逆、分解等操作,因此实时性较低,使得MPC现在的主要应用还局限于流程工业等控制周期较长的慢速系统。
[0003] 近年来,基于神经网络的二次规划求解提供了另一条实现途径。神经网络的优势在于具有天然并行性、自适应性和电路可实现性。早期,学者们为了得到求解优化问题的神经网络模型,主要做法为:引入惩罚项,将有约束优化问题等价转化为无约束优化问题,基于梯度法推导神经网络模型。有时,还会同时引入拉格朗日函数以提高计算精度。因为采用了罚函数法,该类型的网络需要考虑惩罚因子的参数选择问题。这不仅使得网络实施起来更加困难,而且还只能收敛到最优解的近似值。为了得到最优解的精确值,学者们不再采用罚函数法,而是通过投影定理将不等式约束转化为等式约束,基于对偶原理和KKT条件直接构造神经网络模型。
[0004] 神经网络是建立在微分方程基础上的网络模型,需要采用模拟电路来实现。模拟电路实现方式难度较大,因此,目前广泛对神经网络进行离散化,采用数字电路方式实现。然而,相对于QP的传统数值求解算法,数字电路实现的神经网络并没有展现出明显的优势。
具体表现为离散神经网络存在收敛性问题,即离散神经网络的步长超出某一阈值时,离散神经网络不再收敛;而在此阈值之内,无论初始迭代点是多少,离散神经网络仍然是收敛的;另外,数字电路在单核实现方式下,退变为串行计算,没有了模拟电路的并行性优势。实际上,
[0005] 采用模拟电路实现神经网络可归为模拟优化研究领域。目前,虽然也有不少关于模拟优化的研究工作,但是仍然存在以下问题:
[0006] ●模拟电路的设计复杂,对于高维优化问题,模拟电路规模很大。因此,目前已有的模拟电路大多数只适用于非常简单的优化问题。
[0007] ●模拟电路有工作电压范围的限制,而优化问题的参数取值范围可能很大,即模拟电路和优化问题的尺度可能不同。目前已有的研究大多只是针对具体的优化问题进行研究,而没有给出较通用的尺度变化方法。
[0008] ●在MPC优化控制中,优化问题的参数需要在线更新调整。目前已有的模拟优化研究中,模拟电路参数大多无法在线更新。
[0009] 随着可编程模拟器件(PDA)的发展,出现了现场可编程模拟阵列(Field Programmable Analog Array,FPAA)。由于其既具有模拟电路经济、简洁、低功耗以及高速的优点,又具有可编程配置能力,因此,在各领域中已经有不少应用。

发明内容

[0010] 基于上面所述的一些研究热点和问题,本发明提出一种基于FPAA模拟神经网络的空分装置快速模型预测控制方法,有效解决了离散神经网络的缺点,且具有较高的实时性,使得精馏塔的温度控制具有更高的时效性。
[0011] 本发明通过以下技术方案予以实现:一种基于FPAA模拟神经网络的空分装置快速模型预测控制方法,该方法包括以下步骤:
[0012] 步骤(1):通过系统辨识的手段,获取空分装置的阶跃响应模型,结合工艺约束,对MPC控制参数进行离线计算,离线计算出在线求解中要用的参数,即:预测时域;控制时域;被控变量加权阵;控制增量加权矩阵;预测方程中的系数;QP问题中的系数。采用FPAA模拟电路实现的简化对偶神经网络(Simplified Dual Neural Network,SDNN)对MPC进行QP求解。在实现模拟电路QP求解器搭建前,对SDNN进行了平移变换和尺度变换。
[0013] 步骤(2):判断是否初始化。若初始化,则进行初始化工作,包括:检测输出的实际值y(k),输入的实际值u(k-1);初始化状态变量x(k|k)=[0 y(k)T]T,然后根据检测结果直接进入无约束优化;若不初始化,则更新状态变量。
[0014] 步骤(3):对于可测量的状态,直接用测量得到的状态值对当前时刻的状态进行更新;对于不可测的状态,引入状态观测器利用被控过程的输入输出数据对状态进行观测,然后采用观测值对当前时刻的状态进行更新。
[0015] 步骤(4):在对被控过程的QP问题进行有约束优化前,求解当前QP问题的一个无约束优化问题,并检查该解是否满足当前QP问题的约束条件,如果满足约束就直接将该解输出,如果不满足约束就进入有约束优化的过程。
[0016] 步骤(5):有约束优化采用FPAA模拟电路实现的SNDD进行QP求解,其主要过程依次包括:计算平移变换和尺度变换参数、DA输出电压、AD采样判断是否收敛,具体是:
[0017] (5.1)计算平移变换和尺度变换参数:
[0018] 对SDNN进行平移变换,使得其中的饱和环节关于原点对称。对SDNN进行尺度变换,使得其中所有信号量的取值均在模拟电路信号允许范围内。
[0019] (5.2)DA输出电压:
[0020] 上位机通过DA模块输出模拟电压至模拟电路QP求解器。
[0021] (5.3)AD采样判断是否收敛:
[0022] 通过AD模块对模拟电路QP求解器的输出进行采样,判断模拟电路的QP求解过程是否收敛。若没有收敛,则继续进行AD采样,若已经收敛,对结果进行尺度反变换,得到QP的最优解。
[0023] 步骤(6):从QP问题的解中选取当前时刻的控制增量,然后将当前时刻的控制增量与之前时刻的控制量叠加得到当前时刻的控制量,将该控制量输出到调节阀,从而调节空分装置的氧、氮、氩产品纯度。返回步骤(3),进入下一个控制周期的计算,从而实现被控过程的MPC控制。
[0024] 进一步地,步骤(1)具体是:
[0025] 根据空分装置的阶跃响应模型,给出MPC参数:预测时域P、控制时域M、被控变量加权阵Qy、控制增量加权矩阵QΔu、MPC的控制变量个数nu、被控变量个数ny、状态变量个数nx。用状态空间模型描述被控过程如下:
[0026]
[0027] 其中,k表示时刻,Am为状态矩阵,Bm为输入矩阵,Cm为输出矩阵, 是被控变量,y(k)表示k时刻的被控变量; 是控制变量,u(k)表示k时刻的控制变量;是状态变量,xm(k+1)表示(k+1)时刻的状态变量;
[0028] 新的状态变量x(k)=[Δxm(k)T η(k)T]T。其中η(k)=y(k),从而得到状态空间的增量模型为:
[0029]
[0030] 其中,Δu(k)控制变量的增量;A为新的状态矩阵,B为新的输入矩阵,C为新的输出矩阵,
[0031]
[0032] I表示单位阵。
[0033] 将被控过程模型的状态矩阵A,输入矩阵B,输出矩阵C,以及约束条件输入到MPC控制器中,MPC控制器在每个周期要求解的QP命题如下:
[0034]
[0035] 其中,x(k|k)表示当前时刻的状态量;Yr(k)和YP(k)分别是被控变量在预测时域内的期望轨迹和实际轨迹,ΔUM(k)是控制时域内的控制增量,即
[0036] Yr(k)=[yr(k+1)T yr(k+2)T … yr(k+P)T]T
[0037] YP(k)=[y(k+1|k)T y(k+2|k)T … y(k+P|k)T]T
[0038] ΔUM(k)=[Δu(k)T Δu(k+1)T … Δu(k+M-1)T]T
[0039] yr(k)表示k时刻被控变量的设定值;Umin和Umax分别是控制变量的上下限约束;YP(k)=Fx(k|k)+ΦΔUM(k)是基于被控过程模型对被控变量进行预测的多步预测方程,其中[0040]
[0041] 式(3)写成如下QP形式:
[0042]
[0043] 其中,
[0044]
[0045] 以及,U(k-1)=[u(k-1)T u(k-1)T … u(k-1)T]T
[0046]
[0047] 为nu×nu的单位阵。
[0048] SDNN为:
[0049]
[0050] 其中,v表示决策变量,dt表示对时间求导;P=W-1ET,s=W-1c,ε>0是调节简化对偶神经网络模型收敛速度的缩放因子。g(z)=[g(z1) g(z2) … g(zp)]T是分段线性向量函数,定义如下:
[0051]
[0052] li表示l中第i个分量;zi表示z中第i个分量;hi表示h中第i个分量;
[0053] 对式(5)进行平移变换,可得:
[0054]
[0055] 其中,
[0056] g(z)=[g(z1) g(z2) … g(zp)]T是分段线性向量函数,定义如下:
[0057]
[0058] α为α的第i个分量;
[0059] 对式(6)进行尺度变换,可得:
[0060]
[0061] 其中
[0062] μ为尺度因子。
[0063] g(z)=[g(z1) g(z2) … g(zp)]T是分段线性向量函数,定义如下:
[0064]
[0065] 表示 的第i个分量;
[0066] 采用FPAA搭建模拟电路,实现MPC的QP求解。
[0067] 进一步地,步骤(2)具体是:
[0068] 若初始化,则进行初始化工作,包括:检测输出的实际值y(k),输入的实际值u(k-1);初始化状态变量x(k|k)=[0 y(k)T]T,然后直接进入无约束优化;若不初始化,则更新状态变量。
[0069] 进一步地,步骤(3)具体是:
[0070] 对于可以测量的状态,直接用测量得到的状态值对当前时刻的状态进行更新;对于不可测的状态,需要通过观测器方法得到状态的估计值x(k|k),具体步骤如下:
[0071] 测量:
[0072] 检测实际值y(k),u(k-1),计算Δu(k-1)=u(k-1)-u(k-2);
[0073] 预测:
[0074] x(k|k-1)=Ax(k-1|k-1)+BΔu(k-1)
[0075] y(k|k-1)=Cx(k|k-1)
[0076] 校正:
[0077] x(k|k)=x(k|k-1)+L(y(k)-y(k|k-1));
[0078] 其中,x(k|k-1)为k‐1时刻对k时刻的预测值;
[0079] 进一步地,步骤(4)具体是:
[0080] 对于式(4),当不存在约束时,最优解 可以通过解析的方法直接求出:
[0081]
[0082] 当式(4)求得的解满足l≤ExQP≤h的约束时,不进行有约束优化而直接输出QP问题的解
[0083] 进一步地,步骤(5)中采用FPAA模拟电路实现的SNDD进行QP求解。
[0084] 进一步地,步骤(5.1)具体是:
[0085] 为了使用模拟电路QP求解器求解QP问题,需要对SDNN进行平移变换和尺度变换,具体步骤如下:
[0086] 更新:
[0087]
[0088] 计算平移变换参数:
[0089]
[0090] 计算尺度变化参数:
[0091]
[0092] 进一步地,步骤(5.2)具体是:
[0093] 上位机通过DA模块输出模拟电压至模拟电路QP求解器,以电压形式输出的参数包括
[0094] 进一步地,步骤(5.3)具体是:
[0095] 通过AD模块对模拟电路QP求解器的输出进行采样,判断模拟电路的QP求解过程是否收敛。若没有收敛,则继续进行AD采样,若已经收敛,对结果进行尺度反变换,得到QP的最优解。具体步骤如下:
[0096] 采样:
[0097] 对QP决策变量 进行AD采样,记作 表示对 的第i次采样得到的量。
[0098] 计算相对误差:
[0099]
[0100] 其中
[0101]
[0102] 判断: 表示尺度变换后的决策变量初始值;
[0103] 判断error≤εQP是否满足,若满足,对结果进行尺度反变换,得到QP的最优解;若不满足,继续下一次AD采样判断是否收敛。
[0104] 本发明的有益效果是:本发明采用SDNN求解MPC控制的QP问题,以控制空分装置的氧、氮、氩产品纯度,具有天然并行性、自适应性和电路可实现性;通过平移变换和尺度变化解决了模拟电路实现SDNN的信号限制;在此基础上,采用FPAA设计了模拟电路,从而实现了MPC中QP的快速求解。当QP问题的无约束解恰好是QP问题的解时,通过引入约束检查直接输出QP问题的解,可以在控制器实际应用中进一步提高计算速度。从整体而言,这种方法有效解决了离散神经网络的缺点,可以提高MPC控制器的求解速度,提高MPC的控制频率,从而减小气体产品质量波动。MPC控制器可以应用到动态过程较快的被控过程上,而不是局限于慢采样过程上。

附图说明

[0105] 图1是基于FPAA模拟神经网络的空分装置快速模型预测控制方法流程图;
[0106] 图2是FPAA模拟电路实现SDNN的原理图;
[0107] 图3是硬件平台架构示意图;
[0108] 图4(a)是测试用例的输出曲线比较示意图;左图为模拟电路QP求解器的输出曲线,右图为QuadProg QP求解的输出曲线。
[0109] 图4(b)是测试用例的输出曲线比较示意图;左图为模拟电路QP求解器的输出曲线,右图为QuadProg QP求解的输出曲线。
[0110] 图5(a)是测试用例的输入曲线比较示意图;左图为模拟电路QP求解器的输入曲线,右图为QuadProg QP求解的输入曲线。
[0111] 图5(b)是测试用例的输入曲线比较示意图;左图为模拟电路QP求解器的输入曲线,右图为QuadProg QP求解的输入曲线。
[0112] 图6是测试用例的QP求解时间比较示意图。

具体实施方式

[0113] 如图1所示,本发明采用SDNN求解MPC控制的QP问题,以控制空分装置的产品纯度,基于FPAA模拟神经网络的快速MPC控制方法,实施步骤如下:
[0114] (1)离线计算和模拟电路QP求解器搭建
[0115] 给定MPC参数:预测时域P;控制时域M;被控变量加权阵Qy;控制增量加权矩阵QΔu。根据被控过程的模型,对MPC的控制变量个数nu,被控变量个数ny,状态变量个数nx等参数进行初始化。这里考虑用状态空间模型描述的被控过程,即:
[0116]
[0117] 其中, 是被控变量, 是控制变量, 是状态变量。实际应用中,常需要控制增量,因此为了得到状态空间的增量模型,定义新的状态变量x(k)=[Δxm(k)T η(k)T]T。其中η(k)=y(k),从而得到状态空间的增量模型为:
[0118]
[0119] 其中,I表示单位阵,
[0120]
[0121] 输入被控过程模型的状态矩阵A,输入矩阵B,输出矩阵C,以及约束条件。
[0122] MPC控制器在每个周期要求解的QP命题如下:
[0123]
[0124] 其中,Yr(k)和YP(k)分别是被控变量在预测时域内的期望轨迹和实际轨迹,ΔUM(k)是控制时域内的控制增量,即
[0125] YP(k)=[y(k+1|k)T y(k+2|k)T … y(k+P|k)T]T
[0126] ΔUM(k)=[Δu(k)T Δu(k+1)T …Δu(k+M-1)T]T
[0127] Umin和Umax分别是控制变量的上下限约束;YP(k)=Fx(k|k)+ΦΔUM(k)是基于被控过程模型对被控变量进行预测的多步预测方程,其中
[0128]
[0129] 式(3)可以写成如下QP形式:
[0130]
[0131] 其中,
[0132]
[0133] 以及,
[0134] U(k-1)=[u(k-1)T u(k-1)T … u(k-1)T]T
[0135]
[0136] 为nu×nu的单位阵
[0137] SDNN为:
[0138]
[0139] 其中,P=W-1ET,s=W-1c,ε>0是调节简化对偶神经网络模型收敛速度的缩放因子。gT(z)=[g(z1) g(z2) … g(zp)]是分段线性向量函数,定义如下:
[0140]
[0141] 对式(5)进行平移变换,可得:
[0142]
[0143] 其中
[0144]
[0145] g(z)=[g(z1) g(z2) … g(zp)]T是分段线性向量函数,定义如下:
[0146]
[0147] 对式(6)进行尺度变换,可得:
[0148]
[0149] 其中
[0150]
[0151] g(z)=[g(z1) g(z2) … g(zp)]T是分段线性向量函数,定义如下:
[0152]
[0153] 采用FPAA搭建模拟电路,实现式(7)所示的微分方程组,图2给出了FPAA模拟电路实现SDNN的原理图。
[0154] (2)判断是否初始化
[0155] 若初始化,则进行初始化工作,包括:检测输出的实际值y(k),输入的实际值u(k-1);初始化状态变量x(k|k)=[0 y(k)T]T,然后直接进入无约束优化;若不初始化,则更新状态变量。
[0156] (3)更新状态变量
[0157] 对于可以测量的状态,直接用测量得到的状态值对当前时刻的状态进行更新;对于不可测的状态,需要通过观测器方法得到状态的估计值x(k|k),具体步骤如下:
[0158] 测量:
[0159] 检测实际值y(k),u(k-1),计算Δu(k-1)=u(k-1)-u(k-2);
[0160] 预测:
[0161] x(k|k-1)=Ax(k-1|k-1)+BΔu(k-1)
[0162] y(k|k-1)=Cx(k|k-1)
[0163] 校正:
[0164] x(k|k)=x(k|k-1)+L(y(k)-y(k|k-1));
[0165] 其中, 是最简单的选取方式。
[0166] (4)无约束优化
[0167] 对于式(4),当不存在约束时,最优解可以通过解析的方法直接求出:
[0168]
[0169] 如图1所示,当式(4)求得的解满足l≤ExQP≤h的约束时,可以不进行有约束优化而直接输出QP问题的解 在实际的求解中,直接输出QP问题的解将会节省大量的时间开销。
[0170] (5)计算平移变换参数和尺度变换参数
[0171] 为了使用模拟电路QP求解器求解QP问题,需要对SDNN进行平移变换和尺度变换,具体步骤如下:
[0172] 更新:
[0173]
[0174] 计算平移变换参数:
[0175]
[0176] 计算尺度变化参数:
[0177]
[0178] (6)DA输出电压
[0179] 上位机通过DA模块输出模拟电压至模拟电路QP求解器,以电压形式输出的参数包括
[0180] (7)AD采样判断是否收敛
[0181] 通过AD模块对模拟电路QP求解器的输出进行采样,判断模拟电路的QP求解过程是否收敛。若没有收敛,则继续进行AD采样,若已经收敛,对结果进行尺度反变换,得到QP的最优解。具体步骤如下:
[0182] 采样:
[0183] 对QP决策变量 进行AD采样,记作 表示对 的第i次采样得到的量。为了保证实时性和求解精度,尽量采用高频率、高精度的AD模块。
[0184] 计算相对误差:
[0185]
[0186] 其中
[0187]
[0188] 判断:
[0189] 判断error≤εQP是否满足,若满足,对结果进行尺度反变换,得到QP的最优解;若不满足,继续下一次AD采样判断是否收敛。
[0190] 本发明进行实施和仿真的硬件平台是装有Windows7系统的PC机,由FPAA开发板构成的模拟电路QP求解器以及具有AD/DA功能的数据采集卡,图3给出了硬件平台架构示意图。
[0191] 本发明实施例应用于一个多入多出(MIMO)系统,其传递函数矩阵为:
[0192]
[0193] 控制参数为预测时域P=10;控制时域M=2;采样时间为0.02秒;尺度变换因子μ=0.2;控制量的约束为|u1(k)|≤10、|u2(k)|≤6。
[0194] 分别采用本发明模拟电路QP求解和基于QuadProg QP求解器的MPC控制方法对测试用例进行控制,可得测试结果如图4-6所示。测试结果表明,采用模拟电路QP求解器MPC仿真和采用QuadProg QP求解器的MPC仿真的结果几乎是一致的。模拟电路QP求解器相对于QuadProg QP求解器,在求解QP时存在大约3.91%的误差。而模拟电路QP求解器的平均求解时间为58.36us,QuadProg QP求解的平均求解时间为3.32ms,平均求解时间降低了98.24%。
[0195] 由此可见,将上述MPC控制方法用于空分装置的气体分离控制,可大大提高QP问题的求解速率,从而减小气体产品质量的波动。
[0196] 上述实施例并非是对于本发明的限制,本发明并非仅限于上述实施例,只要符合本发明要求,均属于本发明的保护范围。