发明名称 遗传算法优化的RBF神经网络的焦化炉温度预测方法
摘要 本发明公开了一种遗传算法优化的RBF神经网络的焦化炉温度预测方法。对于焦炭炉温度的动态特性,RBF神经网络模型具有良好的逼近速度,同时可以提高温度预测模型的精度,又可以简化模型结构,但是参数初值选取没有规律可循,不适当的选取会使网络收敛慢,甚至造成网络发散。本发明首先通过系统的输入输出数据建立径向基函数神经网络模型,然后利用RNA遗传算法来优化网络模型的参数,从而得到焦化炉的温度预测方法。本发明可以有效减小预测误差和模型结构的复杂度,达到很好的预测效果。
申请公布号 CN104318303A 申请公布日期 2015.01.28
申请号 CN201410489516.7 申请日期 2014.09.23
申请人 杭州电子科技大学 发明人 张日东;薛安克;王建中;陈华杰;邹琴
分类号 G06N3/02(2006.01)I;G06N3/12(2006.01)I 主分类号 G06N3/02(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 杜军
主权项 遗传算法优化的RBF神经网络的焦化炉温度预测方法,其特征在于:该方法的具体步骤包括:步骤1、通过系统的输入输出数据,建立RBF神经网络模型,具体步骤是:1.1、由包含输入层、输出层和隐含层的RBF神经网络结构,得到网络的映射关系即系统的输入输出模型,形式如下:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>Y</mi><mrow><mo>(</mo><mi>x</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>n</mi><mi>r</mi></msub></munderover><msub><mi>&omega;</mi><mi>i</mi></msub><mi>&phi;</mi><mrow><mo>(</mo><mfrac><mrow><mo>|</mo><mo>|</mo><mi>x</mi><mo>-</mo><msub><mi>c</mi><mi>i</mi></msub><mo>|</mo><mo>|</mo></mrow><msup><msub><mi>&sigma;</mi><mi>i</mi></msub><mn>2</mn></msup></mfrac><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000575502560000011.GIF" wi="514" he="153" /></maths>其中,x(t)=(x<sub>1</sub>,x<sub>2</sub>…,x<sub>n</sub>)表示n个输入结点向量,Y(x(t))表示网络的输出变量,c<sub>i</sub>∈R<sup>n</sup>表示第i个隐含层神经元的中心向量,R<sup>n</sup>是欧式空间,<img file="FDA0000575502560000012.GIF" wi="266" he="152" />是一个高斯函数,||x(t)‑c<sub>i</sub>||表示x(t)到c<sub>i</sub>的径向距离,ω<sub>i</sub>表示第i个隐含层和输出层之间的连接权,σ<sub>i</sub>是高斯函数的基宽,1≤i≤n<sub>r</sub>,n<sub>r</sub>是隐含层的结点数;1.2、将系统输入和输出值组成输入向量,并依次选取输入向量,利用穷举法列出其结构,形式如下:x(t)=[u(k),y(k‑1)],n=2<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>x</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mo>[</mo><mi>u</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>,</mo><mi>u</mi><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>,</mo><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>]</mo></mtd></mtr><mtr><mtd><mo>[</mo><mi>u</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>,</mo><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>,</mo><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>2</mn><mo>)</mo></mrow><mo>]</mo></mtd></mtr></mtable></mfenced><mo>,</mo><mi>n</mi><mo>=</mo><mn>3</mn></mrow>]]></math><img file="FDA0000575502560000013.GIF" wi="813" he="187" /></maths>x(t)=[u(k),u(k‑1),y(k‑1),y(k‑2)],n=4<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>x</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mo>[</mo><mi>u</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>,</mo><mi>u</mi><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>,</mo><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>,</mo><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>2</mn><mo>)</mo></mrow><mo>,</mo><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>3</mn><mo>)</mo></mrow><mo>]</mo></mtd></mtr><mtr><mtd><mo>[</mo><mi>u</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>,</mo><mi>u</mi><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>,</mo><mi>u</mi><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>2</mn><mo>)</mo></mrow><mo>,</mo><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>,</mo><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>2</mn><mo>)</mo></mrow><mo>]</mo></mtd></mtr></mtable></mfenced><mo>,</mo><mi>n</mi><mo>=</mo><mn>5</mn></mrow>]]></math><img file="FDA0000575502560000014.GIF" wi="1181" he="184" /></maths>其中,u(k)是k时刻系统的输入控制量,y(k)是k时刻系统的实际输出值;步骤2、利用RNA遗传算法优化RBF神经网络模型的参数,具体步骤是:2.1、首先对神经网络模型参数进行四进制编码,得到如下形式的第l代染色体:<img file="FDA0000575502560000015.GIF" wi="696" he="530" />其中,l=1,2,…,N,N是种群规模大小,1≤n<sub>r</sub>≤D,D是隐含层结点的最大值,C<sub>l</sub>是D×(n+1)矩阵,<img file="FDA0000575502560000016.GIF" wi="96" he="85" />表示矩阵C<sub>l</sub>中位于第n列的第n<sub>r</sub>个隐含层神经元的中心向量;2.2、选取RBF神经网络的目标函数,形式如下:<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mi>J</mi><mrow><mo>(</mo><msub><mi>C</mi><mi>l</mi></msub><mo>,</mo><msub><mi>&omega;</mi><mi>l</mi></msub><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>t</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>N</mi><mn>1</mn></msub></munderover><msup><mrow><mo>|</mo><msub><mi>Y</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>-</mo><msub><mover><mi>Y</mi><mo>^</mo></mover><mn>1</mn></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>|</mo></mrow><mn>2</mn></msup><mo>+</mo><munderover><mi>&Sigma;</mi><mrow><mi>t</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>N</mi><mn>2</mn></msub></munderover><msup><mrow><mo>|</mo><msub><mi>Y</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>-</mo><msub><mover><mi>Y</mi><mo>^</mo></mover><mn>2</mn></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>|</mo></mrow><mn>2</mn></msup><mo>+</mo><mi>&lambda;</mi><mrow><mo>(</mo><msub><mi>n</mi><mi>r</mi></msub><mo>+</mo><mi>n</mi><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000575502560000021.GIF" wi="1189" he="144" /></maths>其中,λ是0到1之间的系数,Y<sub>1</sub>(t)、Y<sub>2</sub>(t)分别是RBF神经网络的神经元在k时刻对k+t时刻的预测输出值,<img file="FDA0000575502560000022.GIF" wi="246" he="77" />是与预测输出值Y<sub>1</sub>(t)、Y<sub>2</sub>(t)对应的神经网络的期望输出值,N<sub>1</sub>、N<sub>2</sub>分别是从N中选取的两个种群样本;2.3、选取RNA遗传算法的适应度函数,并计算个体的适应度值,形式如下:f=1/J(C<sub>l</sub>,ω<sub>l</sub>)其中,f是个体的适应度函数;当适应度函数值大于适应度预设值f<sub>z</sub>时,遗传算法终止;2.4、利用轮转法来确定选择算子,形式如下:<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mi>P</mi><mrow><mo>(</mo><msub><mi>C</mi><mi>l</mi></msub><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mi>f</mi><mrow><mo>(</mo><msub><mi>C</mi><mi>l</mi></msub><mo>)</mo></mrow></mrow><mrow><munderover><mi>&Sigma;</mi><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mi>f</mi><mrow><mo>(</mo><msub><mi>C</mi><mi>l</mi></msub><mo>)</mo></mrow></mrow></mfrac></mrow>]]></math><img file="FDA0000575502560000023.GIF" wi="376" he="203" /></maths>其中,P(C<sub>l</sub>)是个体C<sub>l</sub>的选择概率,f(C<sub>l</sub>)是个体C<sub>l</sub>的适应值;2.5、利用步骤2.4中的选择算子将染色体适应度较高的个体选择出来以交叉概率p<sub>c</sub>进行交叉操作,产生下一代个体;2.6、选取合适的变异算子,形式如下:<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><msub><mi>p</mi><mi>m</mi></msub><mo>=</mo><msub><mi>a</mi><mn>0</mn></msub><mo>+</mo><mfrac><msub><mi>b</mi><mn>0</mn></msub><mrow><mn>1</mn><mo>+</mo><msup><mi>e</mi><mrow><mi>a</mi><mrow><mo>(</mo><mi>g</mi><mo>-</mo><msub><mi>g</mi><mn>0</mn></msub><mo>)</mo></mrow></mrow></msup></mrow></mfrac></mrow>]]></math><img file="FDA0000575502560000024.GIF" wi="419" he="128" /></maths>其中,a<sub>0</sub>表示变异概率p<sub>m</sub>的初始值,b<sub>0</sub>是变异概率的程度,g是进化的代数,g<sub>0</sub>是变异概率改变很大的进化代数,a是变异速率;2.7、在个体数目大于种群规模N时,得到剪接算子,形式如下:<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><msub><mi>Af</mi><mi>i</mi></msub><mo>=</mo><msup><mi>&rho;e</mi><mrow><mo>-</mo><mo>|</mo><mo>|</mo><mi>x</mi><mo>-</mo><msub><mi>c</mi><mi>i</mi></msub><mo>|</mo><mo>|</mo></mrow></msup><mfrac><mrow><msub><mi>&phi;</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>n</mi><mi>r</mi></msub></munderover><msub><mi>&phi;</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow></mfrac><mo>,</mo><mrow><mo>(</mo><mi>i</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msub><mi>n</mi><mi>r</mi></msub><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000575502560000025.GIF" wi="768" he="201" /></maths>其中,ρ取正数;2.8、依照步骤2.3计算每个个体的适应度值,并判断是否满足终止条件,如果满足,则为参数的最优解,进行下一步操作;如果不满足,则执行步骤2.3到2.7,直到找到满足终止条件为止;2.9、对染色体进行解码,形式如下:<maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><msub><mi>c</mi><mi>ij</mi></msub><mo>=</mo><msub><mi>x</mi><mrow><mi>j</mi><mo>,</mo><mi>min</mi></mrow></msub><mo>+</mo><mfrac><mi>Q</mi><mrow><msup><mn>4</mn><mi>L</mi></msup><mo>-</mo><mn>1</mn></mrow></mfrac><mo>&CenterDot;</mo><mrow><mo>(</mo><msub><mi>x</mi><mrow><mi>j</mi><mo>,</mo><mi>max</mi></mrow></msub><mo>-</mo><msub><mi>x</mi><mrow><mi>j</mi><mo>,</mo><mi>min</mi></mrow></msub><mo>)</mo></mrow><mi></mi><mn>1</mn><mo>&le;</mo><mi>i</mi><mo>&le;</mo><msub><mi>n</mi><mi>r</mi></msub><mo>,</mo><mn>1</mn><mo>&le;</mo><mi>j</mi><mo>&le;</mo><mi>n</mi></mrow>]]></math><img file="FDA0000575502560000026.GIF" wi="1111" he="117" /></maths><maths num="0009" id="cmaths0009"><math><![CDATA[<mrow><msub><mi>&sigma;</mi><mi>j</mi></msub><mo>=</mo><mfrac><mi>Q</mi><mrow><msup><mn>4</mn><mi>L</mi></msup><mo>-</mo><mn>1</mn></mrow></mfrac><msub><mi>w</mi><mi>max</mi></msub></mrow>]]></math><img file="FDA0000575502560000027.GIF" wi="326" he="110" /></maths>其中,Q是长度为L的四进制解码产生的整数,x<sub>j,min</sub>和x<sub>j,max</sub>分别为输入变量的最小值和最大值,w<sub>max</sub>是高斯函数的基宽的最大值;2.10、依照步骤1中的步骤1.2依次选取n=2,3,4和5时的输入结点向量x(t),并重复步骤2.1到2.9中的步骤,优化神经网络的参数;步骤3、将通过步骤2优化后的神经网络参数带入步骤1中求解出预测模型,并利用该预测模型对过程输出进行预测;在下一时刻,依照步骤1到步骤2中的步骤继续对实际过程进行预测,依次循环。
地址 310018 浙江省杭州市下沙高教园区2号大街