一种高维化工数据共轭粒子群算法处理方法技术

技术编号:20329365 阅读:25 留言:0更新日期:2019-02-13 05:53
本发明专利技术属于化工数据处理技术领域,公开了一种高维化工数据共轭粒子群算法处理方法。本发明专利技术将共轭方向法与粒子群算法相结合处理高维数据。当粒子群算法迭代了一定步数而陷入局部极值并得局部最优解x*时,以x*为初值,用共轭方向法对其求解,利用粒子群算法对低维优化问题的有效性,将得新的更优的当前最优解x**,从而使算法跳出局部极值;在新极值的条件下,又用粒子群算法对原问题求解,如此反复直至结束。通过经典的测试函数对其测试,结果表明这一尝试是有效的。最后将算法用于SO2催化氧化反应动力学模型的非线性参数估计,获得满意效果。

【技术实现步骤摘要】
一种高维化工数据共轭粒子群算法处理方法
本专利技术属于化工数据处理
,尤其涉及一种高维化工数据共轭粒子群算法处理方法。
技术介绍
化学反应的速率通常与反应物的浓度、压力、温度以及所用的催化剂等有关,建立反应速率模型,进而可用于预测与优化,亦可用于深入研究化学反应的内涵。建模可从机理出发;也可基于实验数据,先依据机理导出模型的函数形式,其中尚有的待定参数,以样本数据为基础进行估计,这种半机理半经验的模型往往是较好的选择。化工问题得到的样本数据多为高维数据,从而依据样本数据进行参数估计就为高维函数的优化问题。粒子群算法对维数较低的目标函数能取得良好的效果,而当目标函数的维数较高时则效果不如意。综上所述,现有技术存在的问题是:化工数据多为高维数据,而粒子群算法对求解高维优化问题易陷局部极值。
技术实现思路
针对现有技术存在的问题,本专利技术提供了一种高维化工数据共轭粒子群算法处理方法。本专利技术是这样实现的,一种高维化工数据共轭粒子群算法处理方法包括以下步骤:步骤一,粒子群算法迭代了一定步数而陷入局部极值并得局部最优解x*时,以x*为初值,用共轭方向法对其求解;步骤二,利用粒子群算法对低维优化问题的有效性,将得新的更优的当前最优解x**,从而使算法跳出局部极值;步骤三,在新极值的条件下,又用粒子群算法对原问题求解,如此反复直至结束。进一步,所述基本粒子群算法及其数学分析为:设优化问题表述为:(1)基本粒子群算法(PSO):粒子群算法(PSO)[1~3]是对鸟群等群体生物行为的仿生,称每个生物个体为粒子,PSO将由一组粒子在n维空间中搜索最优解,每个粒子所处的位置表示一解向量,作为智能体它能记住自身搜索到的最优解,并获取全粒子群所经历过的最优解,由此指导其移动,逐步迭代寻得最优解。记第i个粒子在第j代时的位置为xi(j),它本身和全粒子群所搜索到的最优解分别为pid(j)和pgd(j),它的移动速度矢量为vi(j),则在第j+1代时第i个粒子将移至:vi(j+1)=ωφ1vi(j)+η1φ2(pid(j)-xi(j))+η2φ3(pga(j)-xi(j))(2)xi(j+1)=xi(j)+vi(j+1)(3)其中:ω,η1,η2均为取值于[0,1]中的控制参数,其对算法性能有重要影响但很难确定适当的值,φ1,φ2,φ3是[0,1]区间的随机数;同时不同的邻域结构对于算法效率和收敛速度的影响。该算法概念简单,易于实现,因而得到很快发展,迅速得到了国际演化计算研究领域的认可,并在工程中得到广泛应用,但算法有存在易陷局部极值的不足,特别是对高维优化函数更是如此;为此有不少关于该算法改进策略的提出;主要的改进有:①改进控制参数;②对粒子状态变量重新赋值;③与其它进化算法结合;④使用新的位置或速度更新等式;⑤新的群体组织形式等。(2)粒子群算法的数学分析对于粒子群算法:①若算法只有一个粒子且不含1,把(2)式代入(3)式得:xi(j+1)=xi(j)+(η1φ1+η2φ2)(pid(j)-xi(j));从这个角度看,粒子群算法是爬山算法的一种推广,每次都朝最优方向前进;②从整个算法看,它可以看作以方向pid(j)-xi(j)与方向pgd(j)-xi(j)的加权作为搜索方向;pgd起引领作用,每个粒子在各自的某一范围内进行搜索;一般初始粒子是均匀分布在整个搜索域内,所以对目标函数不是很高时一般能得到问题的最优解。而当目标函数的维数较高时,若算法一旦陷入局部极值,由于各维变量之间的相互制约,并且若在几步中不变,例如第1步与第2步不变,即pid(1)=pid(2),则:xi(2)=xi(1)+(η1φ1+η2φ2)(pid(1)-xi(1))xi(3)=xi(2)+(η1φ1+η2φ2)(pid(1)-xi(2))=xi(1)+k(pid(1)-xi(1));其中:k=2(η1φ1+η2φ2)-(η1φ1+η2φ2)2,从这可看出,在pia(j)不变的情况下,算法的搜索方向也是不变的,从而pgd将很难有所改进,因此仅靠算法自身是很难跳出局部极值的。对含有ωφ1vi(j)项,情况也类似。为此对高维优化函数,算法易陷局部极值,只有引入新的机制,使之迅速跳出局部极值。才能最终获得更满意的解。进一步,所述共轭方向法为:共轭方向法是早在1964年由Powell提出的,对(1)式的问题,该方法的基本步骤是:步骤201,任选一点A作为起始位置,沿第一个坐标轴作一维优化,得到B点。在这一步只需1次一维寻优;步骤202,对个坐标逐个进行一轮一维优化,每次都从前一次得到的一维极值点出发,这样经过次一维优化得到C点,B和C的连线是这一轮结果得到的一个共轭方向,将取代第一个坐标方向并在方向作一次一维优化。在这一步需要n+1次寻优;步骤203,每进行一轮一维优化都将得到一个共轭方向,可用以取代一个原先采用的坐标方向;步骤204,经过1轮一维优化,结果得到D点,总共需作一维优化次数是:1+(n+1)(n-1)=n2;共轭方向法的性质是:如果式(1)的优化函数是二次函数,D点就是维空间中的最优点;如果不是二次函数,则D点比A点更接近最优点,可以由D点开始继续寻优。进一步,所述共轭方向粒子群算法为:(1)共轭方向粒子群算法(CDPSO)共轭方向法保证通过一次运算后所得到的点优于原来的初始点,初始点选得越好,则得到的点越好,算法越快收敛到全局最优点,可在优化运算中初值难选取,一般是随机选取,这使算法要收敛到最优点必须经过长时间的运算。粒子群算法是随机算法,算法的初始点(粒子)是任取的,算法是类似于爬山算法,初始点不只一个,各点之间相互协作,所以算法在开始阶段目标函数值下降很快,到一定程度后目标值下降速度越来越慢,最终可能陷入局部极值,特别对高维优化函数更是如此,根据上面的分析,这时算法很难依靠自身跳出局部极值,必须引入新的机制。为此,用共轭方向法改进粒子群算法,在粒子群算法陷入局部极值时,以这时所得到的局部极值点为初始点,用共轭方向法作一次运算,得到的结果记为;根据共轭方向法可知,将优于;这样就使算法跳出局部极值;再以作为全粒子群所搜索到的最优解,又用粒子群算法进行计算。如此反复,直到满足结束条件。(2)粒子群算法陷入局部极值的判定方法粒子群算法在运行过程中是否已陷入局部极值一般的判定方法是,当算法在运行过程中,在一定代数(一般取10代或20代)之内,最优值没有任何改变的就认为算法已陷入局部极值。(3)共轭方向粒子群算法计算步骤对于式(1)的优化问题,算法的主要步骤为:步骤301,随机产生规模为的初始种群;步骤302,按PSO方法计算一定的代数之后或计算到出现连续几代(一般20代)之内目标值均无改善之后,设这时的最优解为x*;步骤303,以x*为初始点,用共轭方向法对(1)式进行优化,同时对用共轭方向法所产生的一维优化问题仍用粒子群算法进行求解,由于只有一维,所以它的初始点不用很多(一般50即可),同时迭代代数也不用很大(一般50即可)。设最后得到结果为x**;步骤304,检查是否满足终止条件,若未满足,以x**为当前的全部粒子找到的最优,转至步骤2继续迭代;否则结束算法运行,输出最优解。本专利技术的优点及积极效果为:本专利技术将共轭方向法与粒子群算法相结合处理本文档来自技高网...

【技术保护点】
1.一种高维化工数据共轭粒子群算法处理方法,其特征在于,所述高维化工数据共轭粒子群算法处理方法包括以下步骤:步骤一,粒子群算法迭代了一定步数而陷入局部极值并得局部最优解x*时,以x*为初值,用共轭方向法对其求解;步骤二,利用粒子群算法对低维优化问题的有效性,将得新的更优的当前最优解x**,从而使算法跳出局部极值;步骤三,在新极值的条件下,又用粒子群算法对原问题求解,如此反复直至结束。

【技术特征摘要】
1.一种高维化工数据共轭粒子群算法处理方法,其特征在于,所述高维化工数据共轭粒子群算法处理方法包括以下步骤:步骤一,粒子群算法迭代了一定步数而陷入局部极值并得局部最优解x*时,以x*为初值,用共轭方向法对其求解;步骤二,利用粒子群算法对低维优化问题的有效性,将得新的更优的当前最优解x**,从而使算法跳出局部极值;步骤三,在新极值的条件下,又用粒子群算法对原问题求解,如此反复直至结束。2.如权利要求1所述的高维化工数据共轭粒子群算法处理方法,其特征在于,所述基本粒子群算法及其数学分析为:设优化问题表述为:(1)基本粒子群算法:称每个生物个体为粒子,PSO将由一组粒子在n维空间中搜索最优解,每个粒子所处的位置表示一解向量,作为智能体它能记住自身搜索到的最优解,并获取全粒子群所经历过的最优解,由此指导其移动,逐步迭代寻得最优解;记第i个粒子在第j代时的位置为xi(j),它本身和全粒子群所搜索到的最优解分别为pid(j)和pgd(j),它的移动速度矢量为vi(j),则在第j+1代时第i个粒子将移至:vi(j+1)=ωφ1vi(j)+η1φ2(pid(j)-xi(j)计η2φ3(pgd(j)-xi(j))(2)xi(j+1)=xi(j)+vi(j+1)(3)其中:ω,η1,η2均为取值于[0,1]中的控制参数,其对算法性能有重要影响但很难确定适当的值,φ1,φ2,φ3是[0,1]区间的随机数;同时不同的邻域结构对于算法效率和收敛速度的影响;(2)粒子群算法的数学分析对于粒子群算法:①若算法只有一个粒子且不含1,把(2)式代入(3)式得:xi(j+1)=xi(j)+(η1φ1+η2φ2)(pid(j)-xi(j));从这个角度看,粒子群算法是爬山算法的一种推广,每次都朝最优方向前进;②从整个算法看,它可以看作以方向pid(j)-xi(j)与方向pgd(j)-xi(j)的加权作为搜索方向;pgd起引领作用,每个粒子在各自的某一范围内进行搜索;一般初始粒子是均匀分布在整个搜索域内,所以对目标函数不是很高时一般能得到问题的最优解;而当目标函数的维数较高时,若算法一旦陷入局部极值,由于各维变量之间的相互制约,并且若在几步中不变,即pid(1)=pid(2),则:xi(2)=xi(1)+(η1φ1+η2φ2)(pid(1)-·xi(1))xi(3)=xi(2)+(η1φ1+η1φ2)(pid(1)-xi(2))=xi(1)+k(pid(1)-x...

【专利技术属性】
技术研发人员:莫愿斌卢彦越张超群
申请(专利权)人:广西民族大学
类型:发明
国别省市:广西,45

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1