发明名称 一种氢氰酸生产过程的在线自适应建模方法
摘要 本发明公开一种氢氰酸生产过程的在线自适应建模方法,其特征在于按如下步骤进行:确定氢氰酸生产过程的输入变量子空间;对氢氰酸生产过程进行数据采集;对氢氰酸生产过程数据进行预处理,得到受噪声影响最小,最能反映出生产过程实际特性的有效数据;采用无迹卡尔曼神经网络对预处理后的数据[X″MT,Y″](T≤H)进行建模,以得到氢氰酸转化率的精确模型。本发明的有益效果是:能够有效获得受噪声影响最小,最能反映出生产过程实际特性的有效数据,再通过在输入变量子空间采用无迹卡尔曼神经网络来精确逼近氢氰酸生产过程,有效解决氢氰酸复杂非线性动态生产过程的建模难题。
申请公布号 CN103116272A 申请公布日期 2013.05.22
申请号 CN201310031774.6 申请日期 2013.01.28
申请人 重庆科技学院 发明人 李太福;侯杰;易军;辜小花;姚立忠
分类号 G05B13/00(2006.01)I 主分类号 G05B13/00(2006.01)I
代理机构 重庆为信知识产权代理事务所(普通合伙) 50216 代理人 余锦曦
主权项 1.一种氢氰酸生产过程的在线自适应建模方法,其特征在于按如下步骤进行:步骤1:确定氢氰酸生产过程的输入变量子空间:选择氢氰酸生产过程中能够被有效控制的M个控制变量作为模型输入变量,以建立氢氰酸生产过程的转化率模型,其中M=9,输入变量分别为:x<sub>1</sub>表示氨的补偿温度,x<sub>2</sub>表示氨的流量,x<sub>3</sub>表示天然气氨气流量比,x<sub>4</sub>表示空气氨气流量比,x<sub>5</sub>表示氨的补偿压力,x<sub>5</sub>表示天然气的补偿压力,x<sub>7</sub>表示空气的补偿压力,x<sub>8</sub>表示气泡压力,x<sub>9</sub>表示大混合器出口温度;步骤2:对氢氰酸生产过程进行数据采集,所得数据为[X<sub>MN</sub>,Y],其中:M为输入变量数,N为采集数据样本数,X为输入变量子空间,Y为氢氰酸转化率;步骤3:对氢氰酸生产过程数据进行预处理,得到受噪声影响最小,最能反映出生产过程实际特性的有效数据:3.1:对输入变量数据进行粗大误差数据剔除,粗大误差数据剔除后,[X<sub>MN</sub>,Y]减少为[X<sub>MH</sub>,Y](H≤N);3.2:对输入变量数据进行3σ准则处理,3σ准则处理后,[X<sub>MH</sub>,Y](H≤N)减少为[X<sub>MT</sub>,Y](T≤H);3.3:对输入变量数据进行五点三次平滑处理,利用最小二乘法原理对数据[X<sub>MT</sub>,Y](T≤H)进行五点三次最小二乘多项式平滑,五点三次平滑处理后,得到[X′<sub>MT</sub>,Y](T≤H);3.4:进行数据归一化处理,得到新数据为[X″<sub>MT</sub>,Y″](T≤H);具体归一化处理方法如下:<maths num="0001"><![CDATA[<math><mrow><msubsup><mi>x</mi><mi>i</mi><mrow><mo>&prime;</mo><mo>&prime;</mo></mrow></msubsup><mo>=</mo><mn>0.002</mn><mo>+</mo><mfrac><mrow><mn>0.95</mn><mo>&times;</mo><mrow><mo>(</mo><msubsup><mi>x</mi><mi>i</mi><mo>&prime;</mo></msubsup><mo>-</mo><msubsup><mi>x</mi><mi>min</mi><mo>&prime;</mo></msubsup><mo>)</mo></mrow></mrow><mrow><msubsup><mi>x</mi><mi>max</mi><mo>&prime;</mo></msubsup><mo>-</mo><msubsup><mi>x</mi><mi>min</mi><mo>&prime;</mo></msubsup></mrow></mfrac><mo>,</mo></mrow></math>]]></maths><maths num="0002"><![CDATA[<math><mrow><msubsup><mi>y</mi><mi>i</mi><mrow><mo>&prime;</mo><mo>&prime;</mo></mrow></msubsup><mo>=</mo><mn>0.05</mn><mo>+</mo><mfrac><mrow><mn>0.9</mn><mo>&times;</mo><mrow><mo>(</mo><msubsup><mi>y</mi><mi>i</mi><mo>&prime;</mo></msubsup><mo>-</mo><msubsup><mi>y</mi><mi>min</mi><mo>&prime;</mo></msubsup><mo>)</mo></mrow></mrow><mrow><msubsup><mi>y</mi><mi>max</mi><mo>&prime;</mo></msubsup><mo>-</mo><msubsup><mi>y</mi><mi>min</mi><mo>&prime;</mo></msubsup></mrow></mfrac></mrow></math>]]></maths>其中:x′<sub>i</sub>:归一化前的输入变量;y′<sub>i</sub>:归一化前的氢氰酸转化率;x″<sub>i</sub>:归一化后的输入变量;y″<sub>i</sub>:归一化后的氢氰酸转化率;x′<sub>min</sub>:归一化前输入变量x′<sub>i</sub>的最大值;x′<sub>max</sub>:归一化前输入变量x′<sub>i</sub>的最小值;y′<sub>min</sub>:氢氰酸转化率的最大值;y′<sub>max</sub>:氢氰酸转化率的最小值;步骤4:采用无迹卡尔曼神经网络对预处理后的数据[X″<sub>MT</sub>,Y″](T≤H)进行建模,以得到氢氰酸转化率的精确模型:通过无迹卡尔曼滤波对神经网络权值、阈值进行估计,将神经网络权值、阈值作为无迹卡尔曼滤波的状态变量,神经网络的输出作为无迹卡尔曼滤波的测量变量,从而得到氢氰酸转化率的精确模型;所述无迹卡尔曼神经网络为3层神经网络,其中:隐含层传递函数为S型函数,输出层传递函数为Purelin函数,该3层神经网络函数表达式如下:<maths num="0003"><![CDATA[<math><mrow><mi>y</mi><mo>=</mo><mi>h</mi><mrow><mo>(</mo><msub><mi>w</mi><mi>k</mi></msub><mo>,</mo><msub><mi>x</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>=</mo><msup><mi>F</mi><mn>2</mn></msup><mrow><mo>(</mo><msubsup><mi>w</mi><mi>k</mi><mn>2</mn></msubsup><mo>,</mo><msup><mi>F</mi><mn>1</mn></msup><mrow><mo>(</mo><msubsup><mi>w</mi><mi>k</mi><mn>1</mn></msubsup><mo>,</mo><msub><mi>x</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>q</mi></munderover><mfrac><msubsup><mi>w</mi><mi>i</mi><mn>2</mn></msubsup><mrow><mn>1</mn><mo>+</mo><mi>e</mi><mo>[</mo><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><msub><mi>w</mi><mi>ij</mi></msub><msub><mi>x</mi><mi>i</mi></msub><mo>+</mo><msub><mi>b</mi><mrow><mn>1</mn><mi>i</mi></mrow></msub><mo>]</mo></mrow></mfrac><mo>+</mo><msub><mi>b</mi><mi>q</mi></msub></mrow></math>]]></maths>其中:M=9,为输入层神经元数目;q为隐含层神经元数目,采用试凑法公式<img file="FDA00002784094200024.GIF" wi="310" he="62" />来确定神经网络隐含层神经元数目,K为1~10之间的常数,通过训练模型效果比较,选择最佳的q值作为神经网络隐含层神经元数目;采用无迹卡尔曼滤波神经网络建立氢氰酸转化率模型时,无迹卡尔曼滤波的状态初始协方差、均值,以及无迹卡尔曼滤波中UT变换中扩展因子的取值范围均在0-1的范围内随机给定。
地址 401331 重庆市沙坪坝区虎溪大学城重庆科技学院电气与信息工程学院