1. 引言
广泛存在于生产实践中的物理、化学过程(如:石油炼制、化学制药、工业催化等)都是分布参数系统(distributed parameter system, DPS)。由于其输入输出的非线性时空耦合特性和无穷维特性,基于集中参数系统的传统建模方法无法对此类时空分布系统进行准确建模。虽然偏微分方程(partial differential equations, PDE)能够准确描述分布参数系统的内部机理,但受限于数值计算能力和实际系统中有限的执行机构和检测机构,而很难得到实际应用。因此,有必要对模型进行降维,建立可行的有限维模型。
如果分布参数系统的偏微分方程描述为可知的,则使用传统方法(如:有限差分法和有限元法等)通过离散化将原微分方程转化为差分方程组,但是为了保证模型精度,通常会产生一个高维的常微分方程 [1] (ordinary differential equation, ODE),这将直接导致模型设计困难同时难以实际应用。在特定条件下,基于正交分解(proper orthogonal decomposition, POD)的Galerkin方法 [2] 、近似惯性流形法 [3] 等加权残差法可以将无穷维的分布参数系统降为有限维系统。然而在实际工业过程中,通常无法直接得到系统的结构和参数,同时还会受到复杂的边界条件和外部干扰的影响,导致无法直接得到系统模型。因此,对于未知的非线性分布参数系统,有必要对输入输出进行观察得到系统的低阶模型。
主元分析方法 [4] - [9] (principal component analysis, PCA)又被称为:K-L分解法,是一种基于数据建模的常用方法,K-L分解可对非线性DPS的时间和空间进行变量分离。通过选取合适的主导空间基函数,利用时空分解获得系统时间系数并结合系统输入信号构成非线性自回归各态经历模型(nonlinear autoregressive exogenous, NARX)模型 [10] 的输入输出信息。
Elman神经网络 [11] 是一种动态递归神经网络,其结构简单,运算量小,非常适合于实时非线性动态系统辨识,因此本文使用Elman神经网络对NARX模型进行估计。然而常规Elman神经网络学习算法存在极易陷入局部最优,收敛速度慢等特点,因而考虑使用一种全局优化算法对Elman神经网络的权值和阀值进行全局优化。果蝇优化算法(Fruit Fly Optimization Algorithm, FOA) [12] [13] 是一种新的全局优化算法,具有收敛速度快,精度高的特点。因此,本文使用FOA-Elman神经网络 [14] 估计NARX模型。
本文将介绍一种基于时空FOA-Elman的分布参数建模方法。本方法主要包含两个过程,首先通过K-L分解对分布参数系统的输出进行时空分解。然后基于所得时间系数和系统激励使用FOA-Elman辨识NARX模型。
2. 问题描述
对于一个非线性分布参数系统,系统输入控制为具有特定空间分布的时间输入信号,
为系统时空输出,其中:
为空间变量,
为时空域,为时间变量。由于分布参数系统的无穷维特性,为实现高精度建模,需要无穷多个执行和检测机构,但是受限于技术和成本,在实际应用中仅使用有限个检测和执行机构,其数量取决于过程复杂度和建模要求。本文研究目的为从时间输入
和时空输出
辨识出一个低维时空模型,其中
表示在时间上的
个离散采样点,
表示分布在空间上的
个检测装置。为此,首先通过K-L分解从系统的时空输出数据中提取表征系统绝大部分能量的空间主导基函数
,然后使用snapshots方法,利用空间基函数和系统在各个时刻的输出数据点,获得与空间位置无关的系统时间系数
。最后根据系统输入信号和所得到的时间系数
,利用系统辨识方法,如本文采用的FOA-Elman神经网络等,得到一个与空间位置无关的时域NARX模型。系统结构如图1所示:
Figure 1. Spatial-temporal NARX modelling for distributed parameter system
图1. 分布参数系统的时空NARX建模
3. 时空分离及FOA-Elman模型辨识
3.1. 时空分离
在所有通过线性展开对时间和空间进行分离的方法中,K-L分解是获取低维模型是最为有效的方法。换言之,即对于给定的建模误差,通过K-L分解得到的基函数个数是最少的。
3.1.1. 时空分离方法
为简化处理过程,假设系统输出
均匀地分布在时间和空间中。假设系统正交空间基函数为
,时间系数为:,则系统空间输出可以表示为如下形式:
(1)
由于空间基函数的正交特性,即
(2)
为了求得系统的主导空间基函数,可以转化为求解式(3)所述最小化问题:
(3)
其中
为集合均值的定义。该最小化问题对应的拉格朗日函数约束优化问题为:
(4)
针对上述的最优化问题,其极值存在的必要条件为:
(5)
其中
为空间两点的相关函数。因此,求解式(4)最优化问题转化为求解必要条件式(5)的解。
我们测得的数据总是离散地分布在空间中,因此必须使用数值法求解式(5)。通过离散化积分方程,式(5)转化为
矩阵的特征值问题,这样可以在
个空间采样点上获得
个特征值。对于无法获取样本点的地方可以采用插值法获得。
3.1.2. 快照(Snapshots)法
当时间节点数
小于空间节点数
时,使用“snapshots” [15] 方法可以快速有效求得式(5)的解。假设空间基函数
是snapshots的线性组合:
(6)
将式(6)带入式(5),可得:
(7)
定义空间两点相关函数为:
(8)
因此,式(5)的
矩阵特征值问题转化为如下
矩阵的特征值求解问题:
(9)
其中
为第
个特征向量。分别将特征向量
带入式(6)即可求得对应的空间基函数
。因为矩阵
为对称半正定,因此由式(9)所得的特征向量所对应的空间基函数
为正交的,后对其进行标准化处理即可获得空间基函数
。
当求得空间基函数,就可以使用式(10)求得相应的时间系数:
(10)
在建模中,系统空间输出一般由反映系统主要能量的前
个主导空间基函数构成,即:
(11)
3.1.3. 维数n的选取
对于建模选取的主导空间基函数个数
而言,其个数越多,所能反映的系统能量就越多,但会增加系统建模的复杂度 [13]。定义系统全部能量为所有特征值之和,则最大特征值对应的空间基函数所反映的系统能量是最多的。对于每个空间基函数,基于其特征值,所占系统能量为:
(12)
一般来说,当前
个空间基函数所占系统总能量的百分比大于99.9或99.99时,则认为该组空间基函数可以反映出系统绝大部分能量。下文中将通过仿真实例来说明,只要选取合适的空间基函数个数
,模型就可以达到要求的精度 [16]。
3.2. FOA-Elman模型辨识
假设
和
可以由NARX模型描述:
(13)
其中,
和
分别表示时间输入和输出,
和
分别表示最大输入和输出滞后。
NARX模型为黑箱模型,建模过程无需知道其内部机理,可以利用输入、输出数据建立数学模型。由于神经网络具有强大的非线性逼近能力、快速并行运算能力、较强的容错性和鲁棒性等特点,因而在非线性系统辨识领域有着广泛的应用。其中Elman神经网络是一种典型的动态神经网络,能够直接反映系统的动态特性,广泛应用于动态系统建模中,然而常规Elman神经网络学习算法存在极易陷入局部最优,收敛速度慢等特点,一种新的全局优化算法——FOA算法,可对Elman神经网络的权值和阀值进行全局优化。在本文中,我们将利用基于FOA的Elman神经网络对NARX模型进行辨识。
3.2.1. Elman神经网络
Elman神经网络由四层网络组成:输入层、隐含层(中间层)、承接层和输出层。Elman神经网络是在前馈神经网络的隐含层中增加一个承接层,隐含层的输出通过承接层连接到隐含层的输入。承接层作为一步时移算子使网络具有记忆功能,增强了系统对历史数据的敏感性,进而使模型具有动态处理数据的能力,能直接反映动态过程的系统特性。
Elman神经网络的非线性状态空间表达式如下:
(14)
(15)
(16)
式中
为输入向量;
为隐含层节点输出向量,
为输出节点向量,
为状态反馈向量。
为承接层到隐含层的连接权值;
为输入层到隐含层连接权值;
为隐含层到输出层连接权值。
为输出神经元的传递函数,是隐含层输出的线性组合;
为隐含层神经元的传递函数,常采用
函数。
3.2.2. 果蝇优化算法
果蝇优化算法是由台湾学者潘文超博士通过对果蝇觅食过程的模拟,提出的一种全新的寻找函数全局最优解的迭代智能优化算法。果蝇凭借着敏锐的嗅觉器官可以分辨数十公里外的各种气味,然后向该位置飞去,也可以利用视觉器官飞向食物和其它果蝇。按照果蝇寻找食物的过程,可以将FOA算法总结为以下步骤:
Step 1:设定群体规模,最大迭代次数,随机初始化果蝇群体位置
,
。
Step 2:随机果蝇个体搜索方向和搜索距离:
(17)
Step 3:因无法获得食物位置,先计算当前果蝇个体位置与原点的距离,后取距离的倒数作为果蝇个体的味道浓度判定值:
(18)
(19)
Step 4:将味道浓度判定值
代入适应度函数,求出味道浓度
:
(20)
Step 5:找出该果蝇群体中味道浓度值最佳的果蝇个体:
(21)
Step 6:记录并保留最佳味道浓度值
与其
、
坐标,此时果蝇群体将向该位置飞去:
(22)
Step 7:迭代寻优,重复执行Step 2~Step 6,并判断当前最佳味道浓度值是否优于前一迭代,并且判断是否达到最大迭代次数,若是停止运行。
3.2.3. 基于FOA算法的Elman神经网络预测模型
本文中,定义适应度函数为预测值与实际值的均方根误差:
(23)
式中,
为预测样本数量;
、
分别为实际值和预测值。
Elman神经网络的相关参数由味道浓度判定值
来表示,在每次迭代中,将获得的当前最佳味道浓度判定值
代入Elman神经网络进行建模预测,并计算适应度值,重复执行Step 2~Step 6。当FOA算法到达最大迭代次数或终止条件时,迭代终止,得到Elman神经网络最优参数,将网络权值和阀值赋给Elman神经网络,进行训练及预测输出。
基于FOA-Elman的时空建模如图2所示,通过FOA-Elman神经网络估计获得NARX模型输出
与上文获得的空间基函数
进行时空综合,即可获得分布参数系统时空FOA-Elman模型,完整的时空FOA-Elman模型如下式所示:
(24)
Figure 2. Structure chart for spatial-temporal FOA-Elman model
图2. 时空FOA-Elman模型结构图
综合以上所述建模方法,分布参数系统的时空分解建模方法步骤总结如下:
Step 1:为分布参数系统施加激励,获得系统输出
,利用snapshots法得到系统空间基函数
和时间系数
。
Step 2:在每个采样点处,对激励信号
和时间系数
,利用FOA-Elman进行模型辨识。
Step 3:系统重构,得到建模输出。
4. 仿真研究
4.1. 系统描述
对如下分布参数系统—催化过程 [17] 进行建模研究,验证建模方法的准确度。如图3所示,催化棒放置于一管式反应器中,物料A从一端进入经催化反应生成物料B从另一端排出。反应过程为放热反应,因而为保证反应器中的温度恒定,需要外界提供冷却介质。因此,控制目标为:控制冷却介质温度,使反应器在各空间位置和各时刻的温度都保持恒定。
在一定条件下,该反应过程可以用如下偏微分方程和边界条件描述:
(25)
边界条件为:
、
,初始条件为:
,式中
、
、
、
、
、
、
分别为反应器内温度、冷却介质温度、执行器空间分布函数、反应热量、导热系数、活化能量及反应器空间长度。
假设在管式反应器中等间隔的分布着4个控制器:
,其空间分布函数为:
,其中,
,
为单位阶跃函数。
4.2. 时空FOA-Elman建模
为获得系统的snapshots,通过控制器对系统进行充分激励,选择激励信号为:
。仿真过程主要参数设置如表1所示。
Table 1. Simulation parameters setting
表1. 仿真参数设置
通过高阶有限差分法求解式(25)所示偏微分方程,获得系统真实响应值。在使用snapshots方法进行K-L时空分离时要求时间节点数要小于空间节点数。因此在本文中选择时间节点数L为100,空间节点
数N为120。经过有线差分法获得系统响应为:
,系统响应如图4所示:
Figure 4. Simulation result by finite difference
图4. 系统有限差分法求解结果
为了比较所取空间基函数个数n对建模精度的影响,定义如下性能指标:
(26)
其中
。
FOA-Elman神经网络模型中的模型阶数
分别为3和4。FOA算法参数设置为多次运行最佳值,取Elman神经网络隐含层数量为7。在获得FOA-Elman模型之后,对其使用空间基函数进行时空综合,即可得到完整的时空FOA-Elman神经网络模型。图5为
时的空间基函数,表2为取不同个数的空间基函数
时FOA-Elman-PCA和Elman-PCA的RMSE对比。
Figure 5. Spatial basis function (n = 4)
图5. 空间基函数(n = 4)
Table 2. RMSE comparison for Elman-PCA and FOA-Elman-PCA
表2. Elman-PCA与FOA-Elman-PCA的RMSE对比
从表2中可以看出,数据在经过PCA降维后,使用3个空间主导基函数,时空模型就可在整个空间上获得较高的建模精度;同时取得的主导空间基函数个数越多,建模精度越好,但是在n大于3后,建模精度的提升效果就不再明显。当所取主导空间基函数个数相同时,FOA-Elman-PCA的RMSE要小于Elman-PCA的RMSE。因此,在使用相同的主元数提取特征值,FOA-Elman-PCA具有更强的建模能力。因此,本文综合建模精度和复杂度,选取n = 3对系统进行建模仿真,其建模输出和建模误差分别如图6,图7所示。
为验证模型泛化能力,改变模型激励信号为:
,经运算模型RMSE为0.0209。因此,本文所提出的建模方法有很好的建模精度和泛化能力。
Figure 6. Spatial-temporal FOA-Elman model output (n = 3)
图6. 时空FOA-Elman模型输出(n = 3)
Figure 7. Spatial-temporal FOA-Elman model error (n = 3)
图7. 时空FOA-Elman模型误差(n = 3)
5. 结论
本文给出了一种基于分布参数系统输入输出数据驱动的FOA-Elman时空分解建模方法。首先使用K-L分解对系统降维获得主导空间基函数,随后利用时空分解求得系统时间系数,并结合系统输入激励辨识出一个Elman神经网络模型,最后对系统进行模型重构,获得预测输出。本文研究方法不需要知道模型内部机理,仅仅依靠模型输入输出数据即可实现建模,同时具有建模方法简单、运算量小、精度高等特点,通过对催化反应过程的仿真表明,该方法对分布参数系统具有良好的建模能力和泛化能力。