发明名称 一种基于自组织神经网络的污水处理过程控制方法
摘要 本发明公开了一种基于自组织神经网络的污水处理过程控制方法,属于水处理和智能信息控制领域。该方法主要包括两个部分:自组织机制对模糊规则的调整与T-S模糊神经网络自适应学控制部分。基本T-S模糊神经网络控制器;模糊机制的自组织调整;神经网络的自适应学;得到k时刻的模糊规则m,并完成k时刻的污水处理过程控制。本方法能够根据环境状态实时的对控制器内部结构进行调整,实现对目标的稳定控制。利用自组织机制对控制器结构进行实时的调整使控制器能够更好的满足环境的需要;利用智能控制方法对污水处理过程进行稳定控制,使出水水质满足排放标准。该方法克服了固定网络结构控制器对环境适应差的缺点。
申请公布号 CN105676649A 申请公布日期 2016.06.15
申请号 CN201610219336.6 申请日期 2016.04.09
申请人 北京工业大学 发明人 乔俊飞;付文韬;韩红桂;蒙西;王亚清
分类号 G05B13/04(2006.01)I 主分类号 G05B13/04(2006.01)I
代理机构 北京思海天达知识产权代理有限公司 11203 代理人 沈波
主权项 一种基于自组织神经网络的污水处理过程控制方法,其特征在于,包括以下步骤:步骤1基本T‑S模糊神经网络控制器将k时刻的溶解氧浓度及硝态氮浓度与二者的浓度设定值进行对比作差,可定义误差为:e<sub>do</sub>(k)=r<sub>do</sub>‑y<sub>do</sub>(k)           (1)e<sub>no</sub>(k)=r<sub>no</sub>‑y<sub>no</sub>(k)           (2)将k时刻的溶解氧浓度误差e<sub>do</sub>(k)或硝态氮浓度误差e<sub>no</sub>(k)与k‑1时刻的溶解氧浓度误差e<sub>do</sub>(k‑1)或硝态氮浓度误差e<sub>no</sub>(k‑1)分别进行对比作差,可定义误差变化量为:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mover><mi>e</mi><mo>&CenterDot;</mo></mover><mrow><mi>d</mi><mi>o</mi></mrow></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>e</mi><mrow><mi>d</mi><mi>o</mi></mrow></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>e</mi><mrow><mi>d</mi><mi>o</mi></mrow></msub><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000961480980000011.GIF" wi="1090" he="70" /></maths><maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mover><mi>e</mi><mo>&CenterDot;</mo></mover><mrow><mi>n</mi><mi>o</mi></mrow></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>e</mi><mrow><mi>n</mi><mi>o</mi></mrow></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>e</mi><mrow><mi>n</mi><mi>o</mi></mrow></msub><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000961480980000012.GIF" wi="1090" he="70" /></maths>式中r<sub>do</sub>和r<sub>no</sub>分别为溶解氧浓度和硝态氮浓度的期望值,y<sub>do</sub>(k)和y<sub>no</sub>(k)分别为k时刻溶解氧浓度和硝态氮浓度的实际测量值,e<sub>do</sub>(k)和e<sub>no</sub>(k)分别为k时刻溶解氧浓度和硝态氮浓度与其设定值的误差值,e<sub>do</sub>(k‑1)和e<sub>no</sub>(k‑1)分别为k‑1时刻溶解氧浓度和硝态氮浓度与其设定值的误差值,<img file="FDA0000961480980000013.GIF" wi="133" he="63" />和<img file="FDA0000961480980000014.GIF" wi="134" he="64" />分别为k时刻溶解氧浓度或硝态氮浓度的误差变化量,步骤1.1T‑S模糊神经网络的前件部分进行的是模糊规则的推理过程,输入量有两个,一个是k时刻的溶解氧浓度的误差值e<sub>do</sub>(k)或硝态氮浓度的误差值e<sub>no</sub>(k),另一个是溶解氧浓度的误差变化量<img file="FDA0000961480980000015.GIF" wi="133" he="64" />或硝态氮浓度的误差变化量<img file="FDA0000961480980000016.GIF" wi="149" he="63" />则T‑S模糊神经网络前件部分的输入为:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>x</mi><mrow><mi>d</mi><mi>o</mi></mrow></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mfenced open = '[' close = ']'><mtable><mtr><mtd><mrow><msub><mi>x</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></mtd><mtd><mrow><msub><mi>x</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open = '[' close = ']'><mtable><mtr><mtd><mrow><msub><mi>e</mi><mrow><mi>d</mi><mi>o</mi></mrow></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></mtd><mtd><mrow><msub><mover><mi>e</mi><mo>&CenterDot;</mo></mover><mrow><mi>d</mi><mi>o</mi></mrow></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000961480980000017.GIF" wi="1262" he="63" /></maths><maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msub><mi>x</mi><mrow><mi>n</mi><mi>o</mi></mrow></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mfenced open = '[' close = ']'><mtable><mtr><mtd><mrow><msub><mi>x</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></mtd><mtd><mrow><msub><mi>x</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open = '[' close = ']'><mtable><mtr><mtd><mrow><msub><mi>e</mi><mrow><mi>n</mi><mi>o</mi></mrow></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></mtd><mtd><mrow><msub><mover><mi>e</mi><mo>&CenterDot;</mo></mover><mrow><mi>n</mi><mi>o</mi></mrow></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000961480980000018.GIF" wi="1270" he="63" /></maths>则前件部分的输出为:<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msubsup><mi>y</mi><mi>j</mi><mrow><mi>r</mi><mi>u</mi><mi>l</mi><mi>e</mi></mrow></msubsup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><munderover><mo>&Pi;</mo><mi>i</mi><mi>n</mi></munderover><mi>exp</mi><mrow><mo>(</mo><mo>-</mo><mfrac><msup><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>(</mo><mi>k</mi><mo>)</mo><mo>-</mo><msub><mi>c</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>(</mo><mi>k</mi><mo>)</mo><mo>)</mo></mrow><mn>2</mn></msup><msup><mrow><mo>(</mo><msub><mi>&sigma;</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>(</mo><mi>k</mi><mo>)</mo><mo>)</mo></mrow><mn>2</mn></msup></mfrac><mo>)</mo></mrow><mo>/</mo><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><munderover><mo>&Pi;</mo><mi>i</mi><mi>n</mi></munderover><mi>exp</mi><mrow><mo>(</mo><mo>-</mo><mfrac><msup><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>(</mo><mi>k</mi><mo>)</mo><mo>-</mo><msub><mi>c</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>(</mo><mi>k</mi><mo>)</mo><mo>)</mo></mrow><mn>2</mn></msup><msup><mrow><mo>(</mo><msub><mi>&sigma;</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>(</mo><mi>k</mi><mo>)</mo><mo>)</mo></mrow><mn>2</mn></msup></mfrac><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000961480980000019.GIF" wi="1454" he="159" /></maths>式中,n代表的是输入变量的总数,m代表模糊规则总数,<img file="FDA0000961480980000021.GIF" wi="90" he="71" />代表第j条模糊规则的输出,x<sub>i</sub>代表第i个输入变量,c<sub>ij</sub>为第i个输入的第j个隶属度函数的中心值,σ<sub>ij</sub>为第i个输入的第j个隶属度函数的宽度值,x<sub>do</sub>(k)为k时刻控制溶解氧浓度时的输入量,x<sub>no</sub>(k)为k时刻控制硝态氮浓度时的输入量,步骤1.2T‑S模糊神经网络的后件部分进行的是控制器的输出过程,输入量与前件部分的输入量相同,后件部分的输出则为:<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><msup><mi>y</mi><mrow><mi>o</mi><mi>u</mi><mi>t</mi></mrow></msup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><mrow><mo>(</mo><msubsup><mi>y</mi><mi>j</mi><mrow><mi>r</mi><mi>u</mi><mi>l</mi><mi>e</mi></mrow></msubsup><mo>(</mo><mi>k</mi><mo>)</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>w</mi><mrow><mi>j</mi><mi>i</mi></mrow></msub><msub><mi>x</mi><mi>i</mi></msub><mo>(</mo><mi>k</mi><mo>)</mo><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000961480980000022.GIF" wi="1150" he="134" /></maths>式中,y<sup>out</sup>为T‑S模糊神经网络控制器的总输出,w<sub>ji</sub>为后件部分第i个输入到第j个隐含层神经元的连接权值,m为后件网络隐含层神经元总数(与前件部分模糊规则数相同);步骤2模糊机制的自组织调整不同的模糊规则存储着污水处理过程中所产生的不同信息,对于固定结构的模糊神经网络来说,由于模糊规则数是固定不变的,所以需要人工进行不断地调整已选出合适的模糊规则,然而如果模糊规则数太多,会使系统的逻辑关系过于庞大,计算量呈指数级递增;如果模糊规则数太少,使得网络的表达性下降,因此选择合适的模糊规则数对于整个模糊神经网络的性能尤为重要;通过将自组织机制引入到T‑S模糊神经网络中,自组织的根据处理的实际情况对控制器结构进行调整、学习和记忆,从而选择出合适的模糊规则数,模糊规则的选择方法如下:步骤2.1由于每条模糊规则都存储着处理过程中不同的知识,从而根据不同的处理情况进行相应的反应,根据强度的不同来判断模糊规则的激活程度,因此选取激活强度最大的模糊规则:<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><mi>p</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mi>m</mi><mi>a</mi><mi>x</mi><mrow><mo>(</mo><munderover><mo>&Pi;</mo><mi>i</mi><mi>n</mi></munderover><mi>exp</mi><mo>(</mo><mrow><mo>-</mo><msup><mrow><mo>(</mo><mrow><msub><mi>x</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>c</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub></mrow><mo>)</mo></mrow><mn>2</mn></msup><mo>/</mo><msup><mrow><mo>(</mo><msub><mi>&sigma;</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow><mo>)</mo><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000961480980000023.GIF" wi="1245" he="125" /></maths>对贡献最大的模糊规则进行判断是否满足当前环境的变化,因此定义阈值r,则自组织机制为:<img file="FDA0000961480980000031.GIF" wi="1094" he="151" />式中,p(k)为k时刻最大的激活强度;步骤2.2在k时刻,模糊规则的变化导致整个控制器内部结构的改变,进而需要对模糊规则进行相应的调整,调整过程分为两部分:模糊规则不变时,对所有模糊规则的中心值进行调整:<maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><mi>c</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mi>N</mi><mi>c</mi><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow><mrow><mi>N</mi><mo>+</mo><mn>1</mn></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000961480980000032.GIF" wi="1102" he="119" /></maths>模糊规则增加时,对新增模糊规则进行初始化:<maths num="0009" id="cmaths0009"><math><![CDATA[<mrow><mfenced open = '{' close = ''><mtable><mtr><mtd><mrow><msup><mi>c</mi><mrow><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><msup><mi>&sigma;</mi><mrow><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mi>&sigma;</mi><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><msup><mi>w</mi><mrow><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mi>w</mi><mrow><mo>(</mo><mi>j</mi><mo>=</mo><mn>1</mn><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000961480980000033.GIF" wi="1022" he="246" /></maths>式中,N为输入样本总数,c(k)和c(k‑1)分别为k、k‑1时刻隶属度函数的中心值矩阵,x(k)为k时刻的输入矩阵,c<sup>j+1</sup>(k)为k时刻新增隶属度函数的中心值矩阵,σ<sup>j+1</sup>(k)为k时刻新增隶属度函数宽度矩阵,w<sup>j+1</sup>(k)为k时刻后件部分新增隐含层神经元的权值矩阵,σ(k‑1)为k‑1时刻隶属度函数宽度矩阵,w(j=1)表示第一条模糊规则时后件部分隐含层神经元的权值矩阵;步骤3神经网络的自适应学习将k时刻的输入量输入到控制器中,得到在k时刻的性能指标函数值E<sub>I</sub>(k),调整神经网络权值的指标函数为:<maths num="0010" id="cmaths0010"><math><![CDATA[<mrow><msub><mi>E</mi><mi>I</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mrow><mo>(</mo><msup><mi>e</mi><mn>2</mn></msup><mo>(</mo><mi>k</mi><mo>)</mo><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>13</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000961480980000034.GIF" wi="1078" he="116" /></maths>式中,e<sup>2</sup>(k)为k时刻溶解氧或硝态氮浓度的误差值的平方,权值调整公式为:<maths num="0011" id="cmaths0011"><math><![CDATA[<mrow><msub><mi>w</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><msub><mi>w</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><mi>&eta;</mi><mfrac><mrow><mo>&part;</mo><msub><mi>E</mi><mi>I</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow><mrow><mo>&part;</mo><msub><mi>w</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>14</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000961480980000041.GIF" wi="1174" he="134" /></maths>中心值调整公式为:<maths num="0012" id="cmaths0012"><math><![CDATA[<mrow><msub><mi>c</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><msub><mi>c</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><mi>&eta;</mi><mfrac><mrow><mo>&part;</mo><msub><mi>E</mi><mi>I</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow><mrow><mo>&part;</mo><msub><mi>c</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>15</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000961480980000042.GIF" wi="1154" he="135" /></maths>宽度值调整公式为:<maths num="0013" id="cmaths0013"><math><![CDATA[<mrow><msub><mi>c</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><msub><mi>c</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><mi>&eta;</mi><mfrac><mrow><mo>&part;</mo><msub><mi>E</mi><mi>I</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow><mrow><mo>&part;</mo><msub><mi>c</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>16</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000961480980000043.GIF" wi="1158" he="134" /></maths>学习率调整公式为:<maths num="0014" id="cmaths0014"><math><![CDATA[<mrow><mi>&eta;</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><mi>&eta;</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><mi>&eta;</mi><mfrac><mrow><mo>&part;</mo><msub><mi>E</mi><mi>I</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow><mrow><mo>&part;</mo><mi>&eta;</mi></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>17</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000961480980000044.GIF" wi="1125" he="127" /></maths>步骤4通过步骤2得到k时刻的模糊规则m,通过步骤1和步骤3完成k时刻的污水处理过程控制。
地址 100124 北京市朝阳区平乐园100号