发明名称 农药生产废液焚烧炉炉温最佳化系统及方法
摘要 一种农药生产废液焚烧炉化学耗氧量排放最小化系统,包括与农药生产废液焚烧炉连接的现场智能仪表、DCS系统以及上位机,上位机包括:标准化处理模块,用于从数据库中采集系统关键变量的训练样本TX,训练样本TX对应的化学耗氧量数据Y,对训练样本TX进行标准化处理;支持向量机模块,用于软测量建模;粒子群算法模块,用于求解如下最小问题;迭代终止时的pgK即为使化学耗氧量最小的操作变量值。以及提出了一种农药生产废液焚烧炉炉温最佳化方法。本发明提供了一种农药生产废液焚烧炉炉温最佳化系统及方法。
申请公布号 CN101763085A 申请公布日期 2010.06.30
申请号 CN200910155668.2 申请日期 2009.12.29
申请人 浙江大学 发明人 刘兴高;闫正兵;潘华丰
分类号 G05B19/418(2006.01)I 主分类号 G05B19/418(2006.01)I
代理机构 杭州天正专利事务所有限公司 33201 代理人 王兵;王利强
主权项 1.一种农药生产废液焚烧炉炉温最佳化系统,包括与工业过程对象连接的现场智能仪表、DCS系统以及上位机,所述的DCS系统包括控制站和数据库;所述现场智能仪表与DCS系统连接,所述DCS系统与上位机连接,其特征在于:所述的上位机包括:标准化处理模块,用于对训练样本进行标准化处理,得到输入矩阵X,采用以下过程来完成,其算式为(1)、(2)、(3):3.1)计算均值:<maths num="0001"><![CDATA[<math><mrow><mover><mi>TX</mi><mo>&OverBar;</mo></mover><mo>=</mo><mfrac><mn>1</mn><mi>N</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>TX</mi><mi>i</mi></msub><mo>,</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow></math>]]></maths>3.2)计算标准差:<maths num="0002"><![CDATA[<math><mrow><msubsup><mi>&sigma;</mi><mi>x</mi><mn>2</mn></msubsup><mo>=</mo><mfrac><mn>1</mn><mrow><mi>N</mi><mo>-</mo><mn>1</mn></mrow></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mrow><mo>(</mo><msub><mi>TX</mi><mi>i</mi></msub><mo>-</mo><mover><mi>TX</mi><mo>&OverBar;</mo></mover><mo>)</mo></mrow><mo>,</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow></math>]]></maths>3.3)标准化:<maths num="0003"><![CDATA[<math><mrow><mi>X</mi><mo>=</mo><mfrac><mrow><mi>TX</mi><mo>-</mo><mover><mi>TX</mi><mo>&OverBar;</mo></mover></mrow><msub><mi>&sigma;</mi><mi>x</mi></msub></mfrac><mo>,</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中,TX为训练样本,对应的炉温数据为Y,N为训练样本数,TX为训练样本的均值,σ<sub>x</sub>为数据样本的标准差;支持向量机建模模块,用于建立软测量模型,其具体过程如下:其算式为:(4)、(5):<maths num="0004"><![CDATA[<math><mrow><munder><mi>max</mi><mrow><mi>&alpha;</mi><mo>,</mo><msup><mi>&alpha;</mi><mo>*</mo></msup></mrow></munder><mo>{</mo><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><mrow><mo>(</mo><msub><mi>&alpha;</mi><mi>i</mi></msub><mo>-</mo><msubsup><mi>&alpha;</mi><mi>i</mi><mo>*</mo></msubsup><mo>)</mo></mrow><mrow><mo>(</mo><msub><mi>&alpha;</mi><mi>j</mi></msub><mo>-</mo><msubsup><mi>&alpha;</mi><mi>j</mi><mo>*</mo></msubsup><mo>)</mo></mrow><mi>K</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>,</mo><msub><mi>x</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>-</mo><mi>&epsiv;</mi><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><mrow><mo>(</mo><msub><mi>&alpha;</mi><mi>i</mi></msub><mo>+</mo><msubsup><mi>&alpha;</mi><mi>i</mi><mo>*</mo></msubsup><mo>)</mo></mrow><mo>+</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><msub><mi>y</mi><mi>i</mi></msub><mrow><mo>(</mo><msub><mi>&alpha;</mi><mi>i</mi></msub><mo>-</mo><msubsup><mi>&alpha;</mi><mi>i</mi><mo>*</mo></msubsup><mo>)</mo></mrow><mo>}</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow></math>]]></maths>约束条件:<maths num="0005"><![CDATA[<math><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><mrow><mo>(</mo><msub><mi>&alpha;</mi><mi>i</mi></msub><mo>-</mo><msubsup><mi>&alpha;</mi><mi>i</mi><mo>*</mo></msubsup><mo>)</mo></mrow><mo>=</mo><mn>0</mn></mrow></math>]]></maths>0≤α<sub>i</sub>≤γ<maths num="0006"><![CDATA[<math><mrow><mn>0</mn><mo>&le;</mo><msubsup><mi>&alpha;</mi><mi>i</mi><mo>*</mo></msubsup><mo>&le;</mo><mi>&gamma;</mi></mrow></math>]]></maths>求解可得待估计函数f(x):<maths num="0007"><![CDATA[<math><mrow><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><mrow><mo>(</mo><msubsup><mi>&alpha;</mi><mi>i</mi><mo>*</mo></msubsup><mo>-</mo><msub><mi>&alpha;</mi><mi>i</mi></msub><mo>)</mo></mrow><mi>K</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><msub><mi>x</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中,M是支持向量的数目,α<sub>i</sub>和α<sub>j</sub>是拉格朗日乘子,i=1,…,N,j=1,…,N;α<sub>i</sub><sup>*</sup>和α<sub>j</sub><sup>*</sup>是支持向量,i=1,…,M,j=1,…,M;x<sub>i</sub>和x<sub>j</sub>是输入矩阵X的列向量,i=1,…,N,j=1,…,N;K(x,x<sub>i</sub>)=exp(-||x-x<sub>i</sub>||/θ<sup>2</sup>)为支持向量机的核函数,θ是核参数,ε是不敏感系数,y<sub>i</sub>是输出变量Y的列向量,γ是惩罚系数;优化求解模块,其具体过程如下:其算式为(6):<maths num="0008"><![CDATA[<math><mrow><munder><mi>min</mi><mi>MX</mi></munder><mo>|</mo><mi>f</mi><mrow><mo>(</mo><mfrac><mrow><mi>KX</mi><mo>-</mo><mover><mi>TX</mi><mo>&OverBar;</mo></mover></mrow><msub><mi>&sigma;</mi><mi>x</mi></msub></mfrac><mo>)</mo></mrow><mo>-</mo><mo>-</mo><msub><mi>T</mi><mi>opt</mi></msub><mo>|</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中MX是操作变量,KX是实时采集的输入变量,T<sub>opt</sub>表示需要逼近的最佳炉温;所述粒子群求解流程如下:5.1)初始化n个随机粒子,每个粒子表示为MX<sub>k</sub><sup>0</sup>,每个粒子对应的速度表示为v<sub>k</sub><sup>0</sup>,令<maths num="0009"><![CDATA[<math><mrow><msubsup><mi>p</mi><mi>k</mi><mn>0</mn></msubsup><mo>=</mo><msubsup><mi>MX</mi><mi>k</mi><mn>0</mn></msubsup><mo>,</mo></mrow></math>]]></maths>其中,n是群体规模,p<sub>k</sub>表示第k各粒子自己搜索到的历史最优值,上标0表示初始值,下标k=1,…,n,令迭代步数K=0;5.2)将每个粒子MX<sub>k</sub><sup>K</sup>代入函数<maths num="0010"><![CDATA[<math><mrow><mo>|</mo><mi>f</mi><mrow><mo>(</mo><mfrac><mrow><mi>KX</mi><mo>-</mo><mover><mi>TX</mi><mo>&OverBar;</mo></mover></mrow><msub><mi>&sigma;</mi><mi>x</mi></msub></mfrac><mo>)</mo></mrow><mo>-</mo><msub><mi>T</mi><mi>opt</mi></msub><mo>|</mo></mrow></math>]]></maths>进行计算得到其适应度,并将其与p<sub>k</sub><sup>K</sup>的适应度进行比较,将适应度较小的粒子作为新的p<sub>k</sub><sup>K</sup>,比较当前迭代步所有n个粒子的适应度,将适应度最小的粒子记为pg<sup>K</sup>;5.3)根据下式更新每个粒子的速度和位置:<maths num="0011"><![CDATA[<math><mrow><msubsup><mi>v</mi><mi>k</mi><mrow><mi>K</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>=</mo><mi>&omega;</mi><msubsup><mi>v</mi><mi>k</mi><mi>K</mi></msubsup><mo>+</mo><msub><mi>c</mi><mn>1</mn></msub><mi>&xi;</mi><mrow><mo>(</mo><msubsup><mi>p</mi><mi>k</mi><mi>K</mi></msubsup><mo>-</mo><msubsup><mi>MX</mi><mi>k</mi><mi>K</mi></msubsup><mo>)</mo></mrow><mo>+</mo><msub><mi>c</mi><mn>2</mn></msub><mi>&eta;</mi><mrow><mo>(</mo><msup><mi>pg</mi><mi>k</mi></msup><mo>-</mo><msubsup><mi>MX</mi><mi>k</mi><mi>K</mi></msubsup><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow></math>]]></maths><img file="F2009101556682C00025.GIF" wi="800" he="29" />其中,ω是惯性权重,c<sub>1</sub>是认知系数,c<sub>2</sub>是社会系数,ξ和η是[0,1]区间内的均匀分布的随机数,Υ是约束因子;5.4)判断是否满足终止条件,如果达到最大迭代次数或pg<sup>K</sup>对应的适应度小于预定阈值,则终止迭代,否则,令K=K+1,返回步骤5.2)继续迭代;迭代终止时的pg<sup>K</sup>即为使炉温最佳的操作变量值。
地址 310027 浙江省杭州市西湖区浙大路38号