发明名称 基于仿生智能蚁群算法的工业软测量方法
摘要 本发明公开了一种基于仿生智能蚁群算法的工业软测量方法,包括如下步骤:(1)确定软测量过程中所用的关键变量,从关键变量的历史数据库中采集系统正常时的变量数据作为训练样本;(2)在软测量智能处理器中对训练样本的变量数据进行归一化处理,以使处理后的关键变量的均值为0、方差为1;(3)建立RBF神经网络函数得到软测量模型,用归一化后的变量数据对所述RBF神经网络进行训练,然后由仿生智能蚁群优化算法确定RBF神经网络的隐层节点数和基函数中心点。本发明方法的控制参数确定方便,适用范围广,可推广到各种工业过程中;采用RBF神经网络建模效果好,对数据的拟合精度高,避免复杂的机理建模,操作简捷方便。
申请公布号 CN101799888A 申请公布日期 2010.08.11
申请号 CN201010101164.5 申请日期 2010.01.22
申请人 浙江大学 发明人 刘波;王宁
分类号 G06N3/00(2006.01)I;G06N3/08(2006.01)I 主分类号 G06N3/00(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 林怀禹
主权项 1.一种基于仿生智能蚁群算法的工业软测量方法,其特征在于包括如下步骤:(1)确定软测量过程中所用的关键变量,从关键变量的历史数据库中采集系统正常时的变量数据作为训练样本;(2)在软测量智能处理器中对训练样本的变量数据进行归一化处理,以使处理后的关键变量的均值为0、方差为1;(3)建立RBF神经网络函数得到软测量模型,用归一化后的变量数据对所述RBF神经网络进行训练,然后由仿生智能蚁群优化算法确定RBF神经网络的隐层节点数和基函数中心点;在得到所述软测量模型的过程中,RBF神经网络实现如式①所示的非线性自回归模型,y(k)=f(x)①式①中,x确定了RBF神经网络的输入层单元,且x=[y(k-1),…y(k-m),u(k-1),…u(k-n)],m和n分别表示过去m个输入和n个输出通过RBF神经网络实现对建模系统将来输出的映射;所述RBF神经网络在所述训练过程中完成如下式②所示的f<sub>r</sub>:R<sup>n</sup>→R的非线性映射:<maths num="0001"><![CDATA[<math><mrow><msub><mi>f</mi><mi>r</mi></msub><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><msub><mi>n</mi><mi>r</mi></msub></munderover><msub><mi>w</mi><mi>i</mi></msub><mi>&phi;</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><mo>)</mo></mrow></mrow></math>]]></maths>②式②中,x是输入矢量,φ(·)为R<sup>n</sup>→R的非线性函数,w<sub>i</sub>为权值,w=[w<sub>1</sub>,w<sub>2</sub>,…w<sub>n</sub>],c<sub>i</sub>为基函数中心点,n<sub>r</sub>为隐层节点数;在所述RBF神经网络训练过程中,RBF神经网络的隐层单元将归一化后的变量数据空间映射到高维的径向基函数空间内,选用薄板样条函数φ(v)=v<sup>2</sup>ln(v)作为RBF神经网络的激活函数;所述RBF神经网络的隐层节点数n<sub>r</sub>和基函数中心点c<sub>i</sub>按以下步骤得到:a)根据RBF神经网络确定仿生智能蚁群优化算法的最大循环次数G<sub>max</sub>和蚁群的蚂蚁数量M,先设定循环次数为1;b)根据下式③得到仿生智能蚁群优化算法的适应度函数,<maths num="0002"><![CDATA[<math><mrow><mi>min</mi><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>N</mi></munderover><mo>|</mo><mi>error</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>|</mo></mrow></math>]]></maths>③式③中,error表示网络的训练误差;c)确定所述关键变量的历史数据中隐层节点数n<sub>r</sub>和基函数中心点c<sub>i</sub>的取值范围[Start,End]<sub>2×2</sub>,在该取值范围内随机放置M只蚂蚁,以每只蚂蚁所放置的初始位置作为该蚂蚁进行搜索的起点,所述隐层节点数n<sub>r</sub>和基函数中心点c<sub>i</sub>在取值范围内的移动步长如式④所示<maths num="0003"><![CDATA[<math><mrow><mi>Len</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mi>End</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>-</mo><mi>Start</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow><mi>M</mi></mfrac><mo>,</mo><mi>i</mi><mo>=</mo><mn>1,2</mn></mrow></math>]]></maths>④所述每只蚂蚁的初始位置如式⑤分布X<sub>j</sub>=(rand(Start(1),End(1)),rand(Start(2),End(2))...rand(Start(n),End(n)))⑤式⑤中,rand(Start(k),End(k))为[Start(k),End(k)]区间上的一个随机数,蚂蚁在初始位置时产生的信息素量的大小如式⑥所示<maths num="0004"><![CDATA[<math><mrow><mi>&Delta;&tau;</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>=</mo><msup><mi>ka</mi><mrow><mo>-</mo><mi>f</mi><mrow><mo>(</mo><msub><mi>X</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow></msup></mrow></math>]]></maths>⑥式⑥中,a,k均为大于0的常数;d)根据式⑥确定得到仿生智能蚁群优化算法中当前循环中信息素量最多的蚂蚁所在位置;e)对每只蚂蚁进行全局搜索,更新蚂蚁所在位置,完成一次循环后,由式(7)得到每只蚂蚁向上一次循环中信息素量最多的蚂蚁位置的转移概率,各蚂蚁根据各自的转移概率向上一次循环中信息素量最多的蚂蚁所在位置进行全局转移,<maths num="0005"><![CDATA[<math><mrow><mi>P</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>BestIndex</mi><mo>)</mo></mrow><mo>=</mo><mfrac><msup><mi>e</mi><msub><mtext>&tau;</mtext><mrow><mi>i</mi><mo>,</mo><mi>BestIndex</mi></mrow></msub></msup><msup><mi>e</mi><mi>Best</mi></msup></mfrac></mrow></math>]]></maths>⑦式⑦中,P表示蚂蚁的转移概率,τ<sub>i,BestIndex</sub>=τ(BestIndex)-τ(i),τ(i)为第i只蚂蚁所在位置的信息素大小,BestIndex为信息素量最多的蚂蚁所在的位置,且i≠BestIndex;第i只蚂蚁向本次循环中信息素量最多的蚂蚁位置的转移方式如式⑧所示<img file="FSA00000014217700032.GIF" wi="994" he="135" />⑧式⑧中,P<sub>0</sub>和λ为常数,且0<P<sub>0</sub><1,0<λ<1;f)在小邻域范围内按式⑨所示的方法对当前信息素量最多的蚂蚁进行随机的局部搜索,更新当前信息素量最多蚂蚁所在的位置,若搜索后该蚂蚁所在位置的信息素量比搜索之前多,则以搜索后该蚂蚁所在位置取代搜索之前该蚂蚁所在的位置;否则该蚂蚁停留在搜索之前所在的位置;<img file="FSA00000014217700033.GIF" wi="1173" he="131" />⑨式⑨中,w为搜索步长;g)在所有蚂蚁完成全局搜索和局部搜索后,对每只蚂蚁所在位置的信息素量的大小按式⑩所示的规则进行更新,τ(i)=ρ·τ(i)+Δτ(i)⑩式⑩中,ρ为信息素挥发系数,且0<ρ<1;h)仿生蚁群智能优化算法的循环次数自加1;i)若步骤h)得到的仿生智能蚁群优化算法的循环次数未达到最大循环次数,则重复步骤c)至h);若步骤h)得到的仿生智能蚁群优化算法的循环次数到达最大循环次数,则仿生智能蚁群优化算法结束,即得到所述RBF神经网络的隐层节点数n<sub>r</sub>和基函数中心点c<sub>i</sub>。
地址 310027 浙江省杭州市西湖区浙大路38号