参数算法优化(共12篇)
参数算法优化 篇1
0 引言
在现代电力系统中,随着电网规模的不断扩大,机组单机容量的增加,以及快速励磁系统的投入,低频振荡问题已经成为影响互联电力系统稳定的重要原因之一。同时,低频振荡也是一个向远距离输电线路上增加输电容量的严重瓶颈。低频振荡的发生是由于在电力系统中,发电机经输电线路并列运行时,在小扰动作用下,发电机转子之间会发生相对摇摆,这时电力系统如果缺少必要的阻尼就会失去动态稳定。由于电力系统的非线性特性,动态失稳表现为发电机转子之间的持续的振荡,同时输电线路上功率也会发生相应的振荡,影响了功率的正常输送。由于这种持续振荡的频率很低,一般在0.2~2.5 Hz之间,故称为低频振荡[1]。其振荡时产生的能量通过机电联系来传递,因此又称为机电振荡,表现为发电机电功率和功角的变化。低频振荡严重时会导致系统解列或失去稳定。
为了抑制低频振荡,提高电力系统的动态稳定性,可以采用附加控制信号,通过励磁系统提供附加的正阻尼,以补偿原来的负阻尼,使得系统总的阻尼为正值。通过在发电机励磁系统中加装电力系统稳定器PSS(Power System Stabilizer)为系统提供正阻尼是抑制低频振荡的有效措施,合理配置PSS的参数可以取得理想的系统动态性能,提高系统的稳定性。
目前,国内外学者在PSS参数优化协调方面做了一定的研究工作。多种优化算法如遗传算法、免疫算法、进化规则和粒子群算法已经对PSS的参数进行了优化[2,3,4,5,6],并且起到了一定的优化效果,但是都存在可操作性差、收敛性差、容易陷入局部极值等缺点。
粒子群算法PSO(Particle Swarm Optimization)是美国Kennedy和Eberhart博士受鸟群觅食行为的启发,于1995年提出的一种生物进化算法[6]。PSO算法采用速度-位置搜索模型,每个粒子代表解空间的一个候选解,粒子在搜索空间以一定的速度飞行,飞行速度根据飞行经验进行动态调整。每个潜在解与粒子运行速度相联系,该速度不停地根据粒子经验以及与该粒子邻近的粒子经验来调整大小、方向,总是希望粒子能朝着更好的方向发展。因此,在搜索过程中全局搜索能力与局部搜索能力的平衡关系对于算法的成功起着至关重要的作用。
惯性权值自适应的粒子群算法PSO-ω(Particle Swarm Optimization)是在全局搜索与局部搜索平衡特性的基础上,得到的一种具有较好的全局搜索能力和寻优速度的群体智能优化算法。在标准PSO算法中,惯性权值ω是平衡算法的全局搜索能力和局部搜索能力的关键参数。PSO-ω算法中,惯性权值ω采用了自适应的方式,以达到更好的全局搜索能力。
本文在前述PSS优化研究工作的基础上,提出了一种PSO-ω算法的PSS设计,在这种方法中,不同于以往只寻找机电振荡模式下阻尼比最小的PSS优化方法[2,3,4,5,6],根据最优控制原理综合考虑PSS与励磁系统的性能,优化的控制目标设为系统输出按最小误差跟踪给定值的能力,将PSS参数优化协调转化为带有不等式约束的优化问题。用PSO-ω算法对该问题求解,不易使问题的解收敛于局部最优解,并且可以提高寻优速度,从而能够对系统所装PSS的参数进行很好优化,同时证明了该算法的有效性和优越性。再通过Prony[7,8]特征值分析以及故障测试的仿真,验证了所设计PSS的有效性和鲁棒性。
1 PSS的设计
1.1 电力系统模型
电力系统的数学模型用非线性微分方程组表示如下:
式中:X为状态变量向量;U为控制变量向量。
加装PSS后,系统在小扰动情况下,根据李雅普诺夫线性化方法,把描述系统动态特性的微分-代数方程组在平衡点(稳定运行点)处线性化,得到电力系统的状态方程为:
式中:A、B为平衡点估计值;∆X为状态变量的偏差量;∆U为控制变量的偏差量。
1.2 PSS模型
本文PSS采用超前-滞后校正模型,以发电机的转速偏差∆ωp为输入信号,传递函数如下:
式中:U为发电机的PSS输出信号;Tw为隔直环节的时间常数;T1、T2、T3、T4为超前-滞后环节的时间常数;K为PSS增益。
1.3 PSS优化的目标函数和约束条件
目前,大多数PSS优化问题仅仅是寻找机电振荡模式下阻尼比最小的参数,无法综合考虑PSS与励磁系统的性能。而根据最优控制原理,对有约束最优化问题借助于Pontryagin极小值原理[11,12],控制目标可描述为系统输出按最小误差跟踪给定值的能力,这样就考虑了综合性能指标,实现抑制系统中有功功率、频率等量的振荡,使其保持稳态值。
从动态角度考虑,ITAE准则在处理误差绝对值与时间乘积的积分时,兼顾了受扰动时系统在振荡过程中及趋于平稳时的输出误差[11,12],故本文选择它作为PSS作用效果的目标函数,误差为各转子角速度与它们各自稳态值的相对误差绝对值之和。对于单目标最优化问题,选取目标函数如下:
式中:ω1(t)为发电机在t时刻的转子角速度;ωs1为发电机转子角速度的稳态值;1a为可调权重因子。
考虑到PSS中各参数的限制,PSS设计问题可以表述为如下带约束的优化问题:
式中:K、T1、T3为待优化的参数。参数K的典型取值范围是[0.1,1000],T1的典型取值范围是[0.01,1.0],T3的典型取值范围是[0.01,1.0],Tw、T2、T4为给定值。
2 粒子群优化算法
2.1 PSO算法的基本原理
PSO算法是从生物种群行为特性中得到启发并用于求解优化问题。在PSO中,每个优化问题的潜在解都可以想象成D维搜索空间上的一个点,我们称之为“粒子”(Particle)。粒子在搜索空间中以一定的速度飞行,这个速度根据它本身的飞行经验和同伴的飞行经验来动态调整,所有的粒子都有一个被目标函数决定的适应值,并且知道自己到目前为止发现的最好位置(记为Pbest)和当前的位置。这个可以看作是粒子自己的飞行经验,除此之外,每个粒子还知道到目前为止整个群体中所有粒子发现的最好位置(记为Pbest),这个可以看作是粒子的同伴的经验。每个粒子使用下列信息改变自己的当前位置:1)当前位置;2)当前速度;3)当前位置与自己最好位置之间的距离;4)当前位置与群体最好位置之间的距离。优化搜索正是在由这样一群随机初始化形成的粒子而组成的一个种群中,以迭代的方式进行的。
假设在M维搜索空间(解空间)里,有s个粒子组成的粒子群,其中第i个粒子位置可以表示成M维向量,xi(n)=[xi1,xi2,…,xij,…,xiM],j表示变量ix的第j维分量;粒子的飞行速度为iv(n)=[vi1,vi2,…,vij,…,viM];该粒子所经历的个体最佳位置可表示为ip(n)=[pi1,pi2,…,pij,…,piM];在整个粒子群中,所有粒子经历过的最佳位置为g i(n)=[gi1,gi2,…,gij,…,giM],当第i个粒子从n-1代迭代到n代时,可采用下式进行其速度和位置的更新[6]:
式中:ω为惯性权值;Rand为在[0,1]范围内变化的随机数;n为迭代次数;粒子数i=1,2,…,s。
2.2 PSO-ω算法的基本原理
针对PSO算法搜索性能取决于对全局搜索和局部搜索能力的平衡这一特性,本文在其基础上进行改进,提出了一种具有较好的全局搜索能力和寻优速度的PSO-ω算法。
在PSO-ω中,惯性权重采用自适应的方式:
Maxit:最大迭代数;iter:迭代数;
其算法流程如下:
1)t←0;
2)初始化:在搜索空间均匀随机地产生s个初始位置,
3)评价:计算每个粒子个体的位置(解)的目标函数值;
4)比较粒子的适应值和自身最优粒子pbest的适应值,如果当前值比pbest更优,则以当前粒子替换pbest;
5)比较粒子适应值与种群最优值,如果当前值比gbest更优,则置gbest为当前粒子的矩阵下标和适应值;
6)位置更新:按式(8)和式(9)更新粒子的位移方向和步长,产生新种群X(t+1);
7)t←t+1;
8)若不满足进化结束条件,则转3),否则转8);
9)输出结果。
3 PSS参数优化与仿真结果
3.1 PSS参数优化结果
为了检验PSO-ω算法的性能以及PSS参数优化对系统暂态稳定的作用,本文使用Matlab7.0的电力系统仿真模块集Sim Power Systems Blockset(SPB),对标准的单机无穷大系统进行PSS参数优化和系统性能仿真。
单机无穷大系统仿真模型如图1所示,图中参数均为标么值,其额定容量均为200 MVA,并且均配有自并励静止励磁系统。其中Tw=5,T2=0.05,T4=0.05[7]。通过采用种群大小为100、进化代数为100的PSO-ω算法对Kp、T1、T3三个参数进行优化,且与在相同条件下的全面学习粒子群算法(CLPSO)[6]参数优化结果进行了比较。表1为两种优化算法的参数优化结果。图2所示是在随机选取初始解的条件下,随着进化代数的增加,PSO-ω算法搜索到相对最优参数对应的ITAE变化曲线。
表2为单机系统特征值,单机系统在无PSS时阻尼比为0.062 3,系统是处于临界稳定的状态,安装PSS后系统稳定,但是机电振荡模式下的阻尼比比较小,为0.15。用PSO-ω算法优化后的PSS的阻尼比提高到0.409 0,较大程度地提高了系统的阻尼。
3.2 动态仿真结果分析
为了评价基于PSO-ω算法优化的PSS性能,对系统励磁系统参考电压加5%的扰动、系统发生三相短路、三相断路故障的情况下,对配置了采用CLPSO、PSO-ω算法优化的PSS系统进行动态仿真。
3.2.1 小扰动情况下PSS有效性分析
机端电压参考值加5%方波电压阶跃,对比不同算法得出的PSS对提高静态稳定性的作用。
图3是测试励磁系统参考电压在12 s时发生5%的扰动并持续0.5 s的结果。这种干扰情况会使发电机机端电压产生变化,从而影响系统的暂态稳定。从图中可以看到采用PSO-ω算法优化的PSS,转子角速度摆动幅度比较小,发电机的转子角速度在12.7 s时达到稳定。与其比较,CLPSO算法优化的PSS的发电机在14.5 s才达到稳定。
图4所示为机组的电磁功率动态响应曲线。图中可见采用PSO-ω算法优化的PSS,电磁功率摆动幅度较小,发电机的电磁功率在12.5 s时达到稳定。与其比较,CLPSO算法优化的PSS的电磁功率在14.6 s才达到稳定。
3.2.2 大扰动情况下PSS有效性分析
对于PSS的暂态性能,通过发电机出口t=12 s发生三相短路和t=1 s发生三相断路故障的情况下进行仿真。
图5、6为三相短路故障持续0.1 s后重合闸成功后转子角速度和电磁功率变化的结果。图7、8为三相断路故障持续0.1 s后转子角速度和电磁功率变化的结果。从图中可见采用PSO-ω算法优化的PSS,转子角速度和电磁功率摆动幅度较小,发电机转子角速度、电磁功率达到稳定的时间均比CLPSO算法优化的要快。所以PSS能够很快地平息低频振荡,提高了转子的暂态特性。
4 结论
本文在Matlab环境下,将PSO-ω算法用于单机无穷大系统PSS的参数优化问题。不同于以往只寻找机电振荡模式下阻尼比最小的PSS优化方法,本文根据最优控制原理综合考虑PSS与励磁系统的性能,优化的控制目标设为系统输出按最小误差跟踪给定值的能力,将PSS参数优化协调转化为带有不等式约束的优化问题。通过采用电力系统仿真模块集SPB,单机无穷大系统进行PSS参数优化和系统动态性能仿真。仿真结果表明,经PSO-ω算法优化的PSS在不同的干扰下都具有良好的性能,采用Prony分析法提出的特征值也验证了系统阻尼得到了提升,从而使系统的低频振荡现象得到了很好抑制。对PSO-ω算法采用惯性权值ω自适应的方式,达到了全局搜索与局部搜索平衡的特性,是一种具有较好的全局搜索能力和寻优速度的群体智能算法。
摘要:粒子群算法(PSO-ω)是一种应用于连续空间的、具有较好的全局搜索能力和寻优速度的群体智能优化算法。基于单机无穷大系统模型,通过采用PSO-ω算法对电力系统稳定器(PSS)进行参数优化,以抑制低频振荡。该方法是以最优控制原理为基础,综合考虑PSS与励磁系统的性能,将PSS参数优化协调转化为带有不等式约束的优化问题,控制目标为系统输出按照最小误差跟踪给定值的能力(ITAE准则)。用Matlab软件进行仿真,结果表明,利用该方法设计的PSS,它的稳定性有了较大的提高。
关键词:电力系统稳定器,粒子群算法,单机系统,参数优化,ITAE准则
参数算法优化 篇2
基于遗传算法的小推力空间液体发动机参数优化
基于连续型遗传算法,与空间液体火箭发动机系统质量模型和长度模型相结合,建立了空间发动机系统优化模型.以发动机系统的质量为目标函数,对燃烧室压力和喷管扩张比进行了优化设计.计算结果表明,采用遗传算法能够有效地得到最小质量下设计变量的最优解.
作 者:李贺杰 关正西 LI He-jie GUAN Zheng-xi 作者单位:第二炮兵工程学院,西安,710025 刊 名:弹箭与制导学报 PKU英文刊名:JOURNAL OF PROJECTILES, ROCKETS, MISSILES AND GUIDANCE 年,卷(期):2007 27(2) 分类号:V434 关键词:液体火箭发动机 遗传算法 优化设计参数算法优化 篇3
关键词:神经网络;遗传算法;Matlab;组合式板齿;脱粒装置;参数优化
中图分类号:S226.1;S126 文献标志码:A 文章编号:1002-1302(2014)03-0351-04
组合式板齿脱粒装置是一个多输入、多输出的非线性系统[1]。人工神经网络简称神经网络(ANN),是基于现代生物学研究人脑组织的成果基础上,用大量简单的处理单元广泛连接组成的复杂网络,用于模拟人类大脑神经网络的学习、记忆、推理和归纳等功能。在神经网络模型中,前馈式的BP网络是一种简单而用途广泛的人工神经网络,它适用于非线性的模式识别和分类预测问题[2]。遗传算法是模拟生物在自然环境中的遗传和进化过程而形成的一种自适应全局优化概率搜索算法。遗传算法提供了一种求解复杂系统优化问题的模式,它不依赖于问题的具体领域,对问题的求解种类有很强的鲁棒性,现已几乎渗透到从工程到社会科学的诸多领域,广泛用于函数优化、组合优化、生产调度、机器学习、自动控制、图像处理和人工生命等领域[3]。应用BP神经网络对组合式板齿脱粒装置进行建模与目标优化,并利用遗传算法对已优化目标进行验证。
1 组合式板齿脱粒装置神经网络数学模型的建立
1.1 BP网络的实现
GA-BP神经网络的拓扑结构如图1所示,采用3层BP神经网络:第1层神经元数目为4个,传递函数为tansig,第2层神经元数目为15个,传递函数为tansig,第3层神经元数目为3个,传递函数为purelin,输入函数为P,输出目标是T。其中,x1为喂入量,x2为脱粒轴转速,x3为板齿螺旋角度,x4为排芯口压板压力,y1为果穗脱净率,y2为籽粒含杂率,y3为籽粒破碎率。
1.2 仿真结果及建模
根据BP网络原理,应用Matlab神经网络工具箱实现 BP 网络模型的创建、训练及仿真,其仿真结果如表1所示。
3 基于遗传算法的脱粒装置参数优化验证
应用遗传算法对“2”节中所优化的指标、因素自变量数值进行验证,建立M无约束函数文件与式(6)、(7)、(8)相同[10]。
由图4单目标参数优化结果可以看出,脱净率(fun1)=99.673%,x1、x2、x3、x4所对应的编码值分别为-1、-0.997、-0.14、0.992;应用线性插值法,即此时脱粒物料喂入量为 2.80 kg/s、脱粒轴转速为220.1 r/min、板齿螺旋角为8.58°、变刚度弹力为59.92 N。含杂率(fun2)=4.107%,此时x1、x2、x3、x4所对应的编码值分别为-0.422、-0.926、-0.101、-0.583;应用线性插值法,即此时脱粒物料喂入量为 2.967 8 kg/s、脱粒轴转速为221.85 r/min、板齿螺旋角为8697°、变刚度弹力为44.17 N。破碎率(fun3)=0.440 3%,此时x1、x2、x3、x4所对应的编码值分别为-0.442、-0.843、-0.047、-0.613;应用线性插值法,即此时脱粒物料喂入量为2.967 kg/s、脱粒轴转速为223.92 r/min、板齿螺旋角为886°、变刚度弹力为43.87 N。脱净率(fun1)、含杂率(fun2)、破碎率(fun3)与神经网络优化结果分别相差0023%、0.001%、0.001%。按照式(9)编写约束函数M文件myfun3_c.m求解运行结果(图5)。
函数求解运行结果(图5)显示,起点为[0 0 0 0],最优解为fun3=0.587 344 355 281 084 5,对应的x1、x2、x3、x4的编码值分别为0.282、0.229、1.000、-0.232;应用线性插值法,即此时脱粒物料喂入量为3.184 kg/s、脱粒轴转速为 250.73 r/min、板齿螺旋角为12°、变刚度弹力为47.68 N。此时fun1=99480 005 4,fun2=5.479 301 54,脱净率(fun1)、含杂率(fun2)、破碎率(fun3)与神经网络优化结果分别相差0001%、0.002%、0.001%。应用遗传算法优化验证结果表明,借助神经网络对组合式板齿脱粒装置建模与参数优化的方法可行,仿真结果可靠。
4 结论
以喂入量、脱粒轴转速、板齿螺旋角和排芯口压板压力为自变量,脱净率、籽粒含杂率、籽粒破碎率为响应值建立神经网络数学模型。利用BP神经网络及遗传算法优化的组合式板齿脱粒装置最佳工作参数为喂入量2.80~3.2 kg/s、脱粒轴转225~251 r/min、板齿螺旋角度 8.25~12.00°和排芯口压板压力 40.0~48.2 N。使用该参数较优化前脱净率减小015%~0.38%,含杂率减小0.97%~1.70%,破碎率减小0084%~0.274%,说明神经网络及遗传算法优化方法是可行的、合理的,为脱粒装置参数优化提供了一个新的方法。
参考文献:
[1]赵武云,郭康权. 组合式螺旋板齿种子玉米脱粒机工作参数优化[J]. 农业机械学报,2012,42(12):56-61.
[2]陈翠英,王志华,李青林. 油菜脱出物在气流中的运动分析[J]. 农业机械学报,2004,35(5):90-93.
[3]雷英杰,张善文,李续武,等. MATLAB遗传算法工具箱及其应用[M]. 西安:西安电子科技大学出版社,2005.
[4]赵武云,郭康权. 变径变间距螺旋板齿式玉米脱粒机设计与试验[J]. 干旱地区农业研究,2013,31(1):226-230.
[5]赵武云,王广万,刘国春,等. 低破碎种子玉米脱粒机的研制[J]. 机械研究与应用,2010(1):132-134.
[6]戴 飞,高爱民,孙 伟,等. 纵轴流锥型滚筒脱粒装置设计与试验[J]. 农业机械学报,2011,42(1):74-78.
[7]戴 飞,张锋伟,韩正晟,等. 自动跟踪式小型太阳能集热玉米果穗干燥装置设计[J]. 农业工程学报,2012,28(5):189-193.
[8]戴 飞,张锋伟,韩正晟,等. 玉米果穗机械干燥装置设计与试验研究[J]. 干旱地区农业研究,2011,29(3):260-264.
[9]戴 飞. 纵轴流锥型滚筒小区小麦种子脱粒装置设计与试验研究[D]. 兰州:甘肃农业大学,2012.
基于粒子群算法的铣削参数优化 篇4
粒子群优化是一种新兴的基于群智能方法的进化优化技术[3,4],其模拟鸟群和鱼群等人工生命系统进行寻优,相比于遗传算法,粒子群优化以其算法简单容易实现、调节参数少等特点,广泛应用于各种优化计算领域。
本文在考虑机床加工和工件的实际约束的基础上,建立以最大生产率为目标函数的铣削参数数学模型,然后应用粒子群算法对数控机床的铣削参数进行寻优,并进行了实例验证。
1 铣削切削参数数学模型
一般优化算法的数学表达为[4]:
设x=(x1,x2,…,xn)T为n维欧式空间Rn内的一点,f(x)、hi(x)(i=1,…,m)和gi(x)(i=1,…,p)为给定的n元函数,则一般的最优化问题的描述为:
下,求向量x,使函数f(x)为最小值(或最大值)。这里f(x)称为目标函数,式(1)称为等式约束条件,式(2)称为不等式约束条件,x=(x1,x2,…,xn)T称为设计变量或决策变量。
考虑约束条件时,最优化问题的适应度函数为[5]:
P(x)为惩罚项,δ为罚因子,C1、C2为等式约束与不等式约束的加权系数。
1.1 设计变量
在铣削加工中,影响加工生产率的主要因素为切削速度、铣刀每齿进给量、铣削深度和铣削宽度。铣削深度和铣削宽度一般由加工工件和刀具的实际情况决定,所以铣削加工的设计变量为x=(x1,x2)T,式中,x1:切削速度v;x2:铣刀每齿进给量fz。
1.2 目标函数
在批量生产时,完成一道铣削加工的总工时为[6]:
式中,ta:总时间;tm:切削时间;tl:换刀时间;to:工序辅助时间;th:由于刀具磨损的平均一道工序的换刀时间;
其中tl和to不受铣削参数的影响,tm和th的表达式分别为[6]:
式中,D:刀具直径;L:切削长度;Tt:刀具磨损的换刀时间;Z:铣刀刀齿数;ae,ap:铣削宽度和深度;Cv,m,y,p,u,k,q:铣刀刀具耐用度系数。
因此,根据最大生产率目标,其目标函数为:
1.3 约束条件
在实际加工过程中,由于受所选机床的主轴转速、进给量、进给力、切削扭矩、机床功率、工件质量等限制,设计变量应该满足如下的约束条件[7,8,9]。
(1)铣削速度约束:
式中,Nmin、Nmax为机床主轴最低、最高转速。
(2)进给量约束:
式中,Vfmin、Vfmax为机床最小、最大切削进给速度。
(3)铣削进给力约束
式中,Ffmax为机床主轴最大进给力,KFc,CF,xF,yF,uF,qF,wF为切削力系数。
(4)铣削扭矩约束
式中,Fc为铣削进给力,Mfmax为主轴最大扭矩。
(5)铣削功率约束
式中,Pmax为机床最大功率,!为机床有效系数。
(6)表面粗糙度约束
式中,Rmax为最低表面粗糙度。
由于没有等式约束,考虑不等式约束条件时,惩罚项的表达式为:
因此,适应度函数表达式为:
2 粒子群优化算法
2.1 标准粒子群算法
粒子群优化算法(Particle Swarm Optimizer,PSO)是Eberhart博士和Kennedy博士于1995年提出的一种基于群体智能的演化计算理论,源于对鸟群捕食行为的研究,主要用于函数优化等。PSO是一种基于迭代的优化工具,系统初始化为一组随机解,通过迭代在解空间搜索最优解。
PSO在求解优化问题时,问题的解对应于空间中一个“粒子”,每个粒子都有自己的位置和速度(决定飞行的方向和距离),以及一个由被优化函数决定的适应值。在优化过程中,粒子通过跟踪两个极值来更新自己,一个是粒子本身找到的最优解--个体极值pbest,另一个是整个种群目前找到的最优解——全局极值gbest。在标准的粒子群算法中,粒子的速度和位置更新方程为:
式中,Vtid、Vidt+1分别为粒子i在t和t+1代中第d维的速度,#为惯性权重,c1、c2为加速因子,一般取值在2左右,r1、r2为(0,1)之间的随机数,Xtid、Xidt+1分别为粒子i在t和t+1代中第d维的位置,pbesttid为第i个粒子的第t代个体极值的第d维,gbestdt为第t代全局极值的第d维位置。
2.2 粒子群算法的步骤
PSO算法的基本步骤如下:
(1)初始化所有粒子。在允许范围内随机设置粒子的初始位置和速度,每个粒子的pbest设为初始位置,pbest中的最好值设为gbest。
(2)评价粒子的适应值。计算每个粒子的适应度函数,如果优于pbest,则pbest被当前位置替换,如果所有粒子pbest中存在优于gbest的,则更新gbest。
(3)根据式(15)更新粒子的速度和位置。
(4)终止条件判断。如果达到最大迭代次数或者满足误差精度,算法结束,否则回到步骤(2)。
3 应用实例
以文献[2]中给出的实验条件进行计算。机床型号:TH5940立式加工中心;刀具:F2140.32.050.100$100端面铣刀,刀齿Z=4;加工材料:DIN 1725 GD Al Si12(Cu);屈服强度:140~220N/mm2;抗拉强度:220~300N/mm2;布氏硬度:HB60~100;加工余量:2.0mm,表面粗糙度Ra3.2。工件、刀具和机床参数、刀具耐用度和铣削系数详细数据见文献[2]。
粒子群优化的参数设置为:种群数N=80,迭代次数Tmax=200,c1=c2=2.05,w从0.9到0.2线性变化。
用粒子群算法优化铣削参数,粒子的位置为二维实数,分别对应待优化的设计变量x1(切削速度v)和x2(铣刀每齿进给量fz),粒子位置的范围根据约束条件式(1)和式(2)确定,粒子的速度的范围取相应维数上位置范围的最大值。粒子群优化铣削参数的流程图如图1所示。
通过以上的步骤,粒子群优化最终得到的优化结果见表1所示。
切削速度:x1=837.4932;每齿进给量:x2=0.1163。
把粒子群优化结果与文献[2]的结果进行对比,结果如表1。
由表1可以看出,采用粒子群算法对铣削参数进行优化,这道工序相对经验参数和遗传算法优化参数分别可以减少2.08s和0.66s的时间。在单个工件加工工序较多和工件批量生产的情况下,粒子群优化得到的参数可以大量缩短加工时间,提高加工效率。
4 结论
通过考虑机床、刀具和工件的实际约束条件,建立了以最大生产率为目标函数的铣削参数数学模型,应用粒子群算法对铣削参数进行寻优,并进行了实例验证。结果表明在优化切削参数中,粒子群算法优化的铣削参数可以大大缩短加工时间,提高生产率。
参考文献
[1]张培培,陶华,等.基于遗传模拟退货算法的铣削用量优化[J].组合机床与自动化加工技术,2007,26(4):26-29.
[2]段振云,赵绪平,等.数控铣削加工工艺参数优化[J].机械工程师,2006(2):35-37.
[3]周正武,李育红,等.基于GA自动化加工切削参数优化问题的研究[J].机械工程师,2007(5):125-127.
[4]Kennedy J,Eberhart R.Particle Swarm Optimization[C]//Proc IEEE Int Conf on Neural Networks.Perth,1995:1942-1948.
[5]唐焕文,秦学志.使用最优化方法[M].大连:大连理工大学出版社,2004.
参数算法优化 篇5
二维稳态对流-扩散方程参数反演的迭代算法
利用有限元法求解了二维稳态对流-扩散方程,并利用迭代法对二维稳态对流-扩散方程参数反演进行了研究,得出了此类反问题的数值解法.数值模拟结果表明,此方法在求解二维稳态对流-扩散方程参数反演问题时是可行的也是有效的.
作 者:闵涛 刘相国 张海燕 艾克锋 MIN Tao LIU Xiang-guo ZHANG Hai-yan AI Ke-feng 作者单位:西安理工大学,陕西西安,710054 刊 名:水动力学研究与进展A辑 ISTIC PKU英文刊名:JOURNAL OF HYDRODYNAMICS, SER.A 年,卷(期):2007 22(6) 分类号:O175.22 关键词:对流-扩散 有限元 参数 反问题 迭代法齿轮的参数优化设计 篇6
关键词:齿轮;直齿轮;斜齿轮;人字齿轮
齿轮的设计过程中,参数设计十分重要,参数的优化设计不仅会提高效率,还能提高齿轮模型的齿廓精度,进而尽可能的延长齿轮的工作寿命,将齿轮工作时发生危险的概率降到最低。参数化设计的意义是设计人员在CAD系统的帮助下,从而能更有效、更快捷的设计出新产品。
1 渐开线原理
参数化设计主要是通过对零件图形某一部分或某几个部分尺寸的改动,从而实现对零件相关部分尺寸的改动,达到尺寸对零件图形的驱动。
1.1 渐开线形成原理 如图1所示。任意一条直线,即下图中的直线BK沿一个圆作纯滚动时,直线上的任意一点K,它的运动轨迹称为该圆的渐开线,如图中线AK所示。那么这个被直线做纯滚动圆就被称为渐开线的基圆,半径用rb表示;这条直线就称为渐开线的发生线,即图中的直线BK;渐开线的展角是角pk;αk称为点K的压力角。
1.2 渐开线方程 由图所示和齿轮的渐开线的形成原理可知:
用极坐标的参数方程来表示渐开线,则方程为:
rK= PK=invαK=tanαK-αK
2 齿轮的参数
如下图2所示,标准圆柱直齿轮的各个几何参数的名称和定义如下。
2.1 齿数和齿距 齿数是指在齿轮上轮齿个数的总和。用z来表示。齿轮的其中一个基本参数就是齿数。齿轮的齿距是指在相邻的两个同侧轮齿齿廓之间的弧长,齿距用pK来表示。
则:pK=, 其中,dK为任意圆周上的直径。
2.2 模数
规定比值取有理数或者整数,并称该比值为模数。用m来表示。 即:m=。单位:毫米(mm)。
决定齿轮尺寸大小的一个关键的基本参数就是模数,斜齿轮的模数指的是其法面模数。
为了企业在齿轮的设计、制造、检验及使用的方便,我国国家标准规定的齿轮模数系列如表1所示。
表1 渐开线圆柱齿轮模数
注:1.优先选用第一系列,括号内的模数尽可能不用。2.对于斜齿轮是指法向模数。
2.3 分度圆和压力角 当齿槽宽和齿厚在齿轮任意一个圆上相等时,这个圆称为该齿轮的分度圆,直径用d来表示。在分度圆上齿槽宽用e来表示;齿厚用s来表示;齿距用p来表示。则:d==mz。
齿轮的压力角指的是在齿轮分度圆上的压力角。用来表示。我国的齿轮压力角已经标准化,并且国家标准规定:标准齿轮的压力角α=20°。
螺旋角β是斜齿轮的基本参数之一,不宜选的过大,常在8°~20°之间选取。
2.4 齿顶圆和齿根圆直径 齿轮轮齿的齿顶端所构成的一个圆,这个圆被称为齿轮的齿顶圆。其直径用da来表示。
齿轮轮齿的齿槽底端所构成的一个圆,这个圆被称为齿轮的齿根圆。其直径用df来表示。
2.5 齿顶高和齿根高 齿顶圆和分度圆之间的部分的高度称为齿顶高,用ha来表示。分度圆和齿根圆之间的部分的高度称为齿根高,用hf来表示。
齿顶高和齿根高之和称为齿全高,用h来表示,即:h=ha+hf。
2.6 顶隙系数 当一对齿轮正常啮合时,一个齿轮的齿顶端到另一个齿轮的齿底端有一段间隙,这段间隙就是齿轮的顶隙。用c*来表示顶隙系数,用ha*来表示齿顶高系数。
国家标准GB1365-88规定其标准值为:
正常齿:ha*=1, c*=0.25 短齿:ha*=0.8, c*=0.3
3 直齿轮的参数化設计
本文进行齿轮的参数化设计的软件平台是Unigraphics NX(简称UG)是Siemenes PLM Software公司推出的一个集成CAD/CAE/CAM的系统软件,涉及从产品的设计、分析到生产加工成产品的全过程,是当今世界上最先进的计算机辅助设计、分析和制造软件之一。
3.1 直齿轮参数化设计流程图
如图3所示:
斜齿轮的螺旋线方程:
x0=d/2*cos(α*t) y0=d/2*sin(α*t) z0=t*b/2
其中:b为齿轮的宽度。
其余的设计流程和直齿轮设计流程相同,完成斜齿轮的参数化设计。如图8所示。
由于斜齿轮存在一个螺旋角β,当斜齿轮在进行实际传动时会产生轴向力,这并不利于斜齿轮的传动,故斜齿轮的螺旋角不宜过大。
3.3 人字齿轮的参数化建模
在设计时,人字齿轮可以看做由两个斜齿轮求和而成。选择斜齿轮的一个侧面作为镜像面,镜像另一侧的齿轮,然后利用布尔求和,对两侧的齿轮进行求和运算,生成一个人字齿轮,如图9所示:
由于人字齿轮的左、右两排轮齿螺旋角大小相等、方向相反,因此在实际传动中人字齿轮可使左、右两侧的轴向力自动相互抵消。故螺旋角可以选的很大,通常在之间。但人字齿轮的制造比较困难。
4 结论
本文提供了基于UG软件平台的直齿轮和斜齿轮的参数建模方法。并对齿轮的各个参数及其各参数之间的相互关系进行了详细的表述。分析了直齿轮和斜齿轮在实际工作中的受力情况,并给出了其齿轮的强度计算公式。在实际应用过程中只需改变齿轮的一个或几个基本参数便可以生成不同参数、不同类型的齿轮。
总结如下:①介绍齿轮渐开线的形成原理和齿轮各个参数的含义。根据齿轮的建模流程图利用UG软件对齿轮进行建模。人字齿轮建模是可以看做由两个斜齿轮相互布尔求和而成。②对直齿轮和斜齿轮进行了受力分析并提供计算齿轮齿面接触和齿根弯曲的疲劳强度公式,以便检验设计的齿轮是否合格。③根据有限元分析的流程图,建立直齿轮的有限元模型,对齿轮进行有限元分析。
參考文献:
[1]郑文纬,吴克坚.机械原理[M].高等教育出版社,1997.7.
[2]陶栋材.现代设计方法[M].中国石化出版社,2010.1.
[3]吴宗泽,高志,罗圣国,李威.机械设计课程设计手册[M].高等教育出版社,2012.5.
[4]濮良贵,纪名刚,等.机械设计[M].高等教育出版社,2006.5.
[5]黄迎春.基于SolidWorks的齿轮参数化设计系统研究[D].大连理工大学.2008.12.
参数算法优化 篇7
无导师聚类算法与分类算法不同, 它没有预先定义好的类别, 其目标是将一个数据集划分成若干个类, 使得类内相似性尽可能大且类间相似性尽可能小。因此聚类过程中具体选取多少个中心是一个值得考虑的问题, 目前还没有较好的解决方法。本文针对K-均值 (K-means) 聚类算法来学习有关参数K值的确定。对于K-均值算法, 通过某种学习方法得到合适的K值是很有必要的。
粒子群优化 (Particle Swarm Optimization, PSO) 算法是由美国社会心理学家J.Kennedy和电气工程师R.Eberhart于1995年提出的一种进化计算方法。PSO算法根源于人工生命的研究, 特别是对鸟群、鱼群等群体行为机制的模仿, 并借鉴生物学家F.Heppner提出的生物群体模型, 同时也融入进化计算的思想。PSO算法作为一种仿生算法, 目前还没有完备的数学理论基础, 但其作为一种新兴的优化算法已在诸多领域展现了良好的应用前景。因此, 我们使用粒子群优化算法来学习参数聚类中心K值。
下面第二部分提出了对于参数K值的学习算法, 第三部分针对UCI机器学习数据库中的7个数据库进行了数值实验, 并对实验结果进行了分析, 第四部分是全文的结论。
(二) 使用粒子群优化算法学习K值
1. K-均值聚类算法
K-均值算法把n个向量xj (j=, 1, 2L, n) 分成c个类Gi (i=1, 2, L, c) , 并求每类的聚类中心, 使得非相似性 (或距离) 指标的目标函数达到最小。该算法的实现是一个迭代的过程, 旨在最后求得的目标函数符合某一个阈值则停止聚类。
无导师聚类算法没有预先定义好的类别个数, 聚类过程中具体选取多少个中心将直接影响聚类的有效性, 因此通过某种学习方法得到合适的K值是很有必要的。
2. 粒子群优化算法
1995年, 研究人员对鸟群觅食过程中的迁徙和群集进行模拟:鸟群觅食时, 从一地到另一地的迁徙过程中, 总是有一只鸟对食源的大致方向具有较好的洞察力, 同时, 在找寻食源的途中, 它们通过一套自己独有的方式随时相互传递着信息, 特别是较好的信息。在“好消息”的指引下, 导致鸟群“一窝蜂”的奔向食源, 达到在食源的群集。粒子群优化算法从中得到启示并用于解决优化问题。在粒子群优化算法中, 一只鸟称为“粒子”, 解群相当于一个鸟群, 从一地到另一地的迁徙相当于解群的进化, “好消息”相当于解群在每代进化中的最优解, 食源相当于全局最优解。
假设在一个N维目标搜索空间中, 有m个粒子组成一个群落, 其中第i个粒子在N维空间里的位置Xi= (xi1, xi2, ⋯, xiN) T, i=1, 2, …, m;飞行速度Vi= (vi1, vi2, ⋯, vi N) T, i=1, 2, …, m;适应值fitnessi=f (Xi) , 则Pbesti和XiPbest= (xi1Pbest, xi2Pbest, …, xi NPbest) T分别为第i个粒子曾经达到的最大适应值及其对应的位置。gbest为在群体所有粒子经历过的最好位置, 其索引号为g。则对每一代, 其第d维根据如下方程变化:
式中vid为粒子i飞行速度矢量的第d维分量;xid为粒子i位置矢量的第d维分量;r1, r2为[0, 1]之间的随机数;c1, c2为加速度系数;w为惯性权重。式 (1) 中, 首项为粒子先前的速度;c1r1 (xidpbest-xid) 项为“认知项 (Cognitive Term) ”, 该项与粒子的认知经验相关;c2r2 (xgdgbest-xid) 项为“社会项 (Social Term) ”, 它代表粒子间的信息共享与合作。式 (2) 为粒子i的新坐标位置。它们共同决定粒子i下一步的运动位置。
3. 使用粒子群优化算法学习K值
根据K-均值聚类算法的特点, 要找到最优的聚类, 就要找到最优的K值。K值是粒子群算法优化的对象, 编码即对K值的编码。通常情况下, 对于某类问题, 总有一个聚类的最大类数MAXClassnum, 这个值由用户输入。所以K是一个介于1和MAXClassnum之间的整数。
K值参数的学习是基于传统粒子群算法的思想, 并针对此参数优化问题进行了适当地修改, 具体算法如下:
(1) 初始化粒子群。设群体规模为m, 在允许的范围内随机设置粒子的初始位置和速度, 设置惯性权重;
(2) 评价每个粒子的适应值, 即计算每个粒子的目标函数fitnessi;
(3) 对所有的i∈{1, 2, ⋯, m}, 如果fitnessi>Pbesti, 则令fitnessi=Pbesti, XiPbest=Xi, 如果fitnessi>gbest, 则重新设置gbest的索引号g;
(4) 根据式 (1) 、 (2) 调整每一个粒子的位置和速度;
(5) 检查终止条件。如果达到最大迭代次数genmax或最好解停滞不再变化, 终止迭代, 否则返回 (2) 。
粒子群优化算法主要包括: (a) 粒子以随机的方式在整个问题空间中流动并且可以对自己所处的环境进行评价 (计算适应度) 。 (b) 每个粒子均可以记忆自己到过的最好位置和感知邻近粒子已达到的最好位置。 (c) 在改变速度的时候同时考虑自己到过的最好位置和邻近粒子已达到的最好位置。
因为本文是针对K-均值算法而言, 所以fitness函数的设计应当考虑到聚类算法本身的特点。fitness函数是通过使用K-均值算法对样本聚类结果的优劣来评价K值的, 因此首先要完成样本的聚类。对于每个粒子中的K值, 使用K-均值聚类算法将所有样本聚成K类。一个好的聚类结果应具有以下特点:类间距大、类内距小。根据以上准则, 我们设定fitness函数为:
其中centeri是第i类的聚类中心, dis (x, y) 是x, y的欧氏距离。
其中numi是第i类中的样本数, Samplei, j是属于第i类的第j个样本。NumDifference表示各类之间样本个数的差别统计。
fitness函数中的ω1、ω2是类间距与类内距的权重, 可以调节fitness值的范围及各类内样本个数的均匀度对fitness函数的影响。
(三) 数值实验及分析
我们从UCI机器学习数据库中选取了7个数据库, 分别为:1) Rice taste data, 2) Iris data, 3) BUPA liver disorders, 4) Liver-disorder data, 5) Glass, 6) Ecoli, 7) Wine。由于目前主要目的是学习参数K, 因此我们选择了100次实验中平均值较好的粒子群算法参数值, 主要研究参数K值的变化情况。
参数表示:w=0.8, c1=1.8, c2=1.8, m=50;1ω=9, ω2=36 (fitness函数的参数) 。
1. 实验结果
2. 实验分析
(1) 通过表1的数据结果显示, 使用粒子群优化算法学习各数据库聚类中心个数 (K值) 是比较成功的方法。例如对数据库Iris、BUPA、Liver、Glass、Ecoli学习得到的中心个数与实际类别个数保持一致。
(2) 粒子群优化算法搜索速度较快。在粒子群优化算法中, 粒子具有“记忆”的特性, 它们通过“自我”学习和向“他人”学习, 使其下一代解能够针对性的从“先辈”那里继承更多的信息, 从而能在较短的时间内找到最优解。
(3) K-均值聚类算法的性能好坏依赖于初始中心的选择。由于初始中心的不同, 将会导致fitness函数值在相同的参数下得到不同的结果。在设计粒子群优化算法中, 依据聚类算法的特性设计了相应的fitness函数, 对数据库Iris、BUPA、Liver、Ecoli等实验中得到了有效的证明。
(4) 确定fitness函数的参数ω1、ω2是根据实验结果逐次修正的, 一般是经验所得, 所以可能还会有其他适合值。例如在数据库Glass中我们修改ω2的值从20到1, 学习的K值仍然是9, 与实际结果偏差很大。限于我们现在的算法, 还不能很好的解决这个问题, 应该继续选择例如神经网络的思想学习合适的参数。
(5) 本算法对数据库Rice、Wine的结果与实际结果有一定的偏差。原因是由于数据库数据本身类的特征不明显、类内样本个数不均匀, 或者是由于K-均值算法本身是基于距离度量相似性的, 当存在无关属性时导致度量误差。因此说明当数据集类特征明显时本算法能比较准确的求得中心个数。
(四) 结论
由于无导师聚类算法的中心个数是一个很难确定的问题, 因此本文采用粒子群优化算法学习中心个数是一个很有意义的工作。实验表明通过学习得到的中心个数与实际结果基本一致, 因此证实了此方法的有效性, 同时提出了适应于适应于聚类参数学习的粒子群fitness函数算法设计。我们的进一步工作是找到确定参数更好的方法, 通过参数的优化完善聚类算法中心个数的选取, 同时可以分析与其他优化算法的比较, 比如遗传算法等, 继续研究聚类中心参数的学习算法。
参考文献
[1]王继成, 潘金贵.Web文本挖掘技术研究[J].计算机研究与发展, 2000, 37 (5) :513-520.
[2]H.B.Mitchell, P.A.Schaefer.A“soft”K-Nearest Neighbor Voting Scheme[J].International Journal of Intelligent Systems2001:459-468.
[3]J.-S.R.Jang, C.-T.Sun, E.Mizutani.Neuro-Fuzzy and Soft Computing[M].Prentice-Hall, 1997:423-433.
[4]Kennedy J, Eberhart R C.Particle swarm optimization[C].Proc.IEEE Int.Conf.on Neural Networks, Perth, WA, Australia, 1995:1942-1948.
参数算法优化 篇8
在工业过程控制的发展史上,PID控制是历史最悠久,生命力最强的控制方式,目前90%以上的控制回路仍采用PID控制器[1]。由于常规理论整定法复杂、繁琐且效果不佳,而工程整定法实际上属于人工整定法,需要实际操作者有一定的控制领域知识和丰富的经验,整定往往费时且难以满足控制要求。因此,研究智能控制优化PID参数具有十分重要的工程实际意义。
2 遗传算法的基本原理
常规遗传算法是1962年由美国的J.H.Holland提出的一种模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型。它的思想源于生物遗传学和适者生存的自然规律,是一种全局迭代搜索算法。遗传算法把待优化的参数编码,然后形成一个初始种群作为待求问题的候选解,并利用随机化技术指导对一个被编码的参数空间进行高效搜索。其中选择、交叉和变异构成了遗传算法的遗传操作;参数编码、初始群体的设定、适应度函数的设计、遗传操作设计、控制参数设定五个要素组成了遗传算法的核心内容。通过不断计算各个个体的适应值,选择最好的个体,获得最优解[2]。
3 应用浮点数遗传算法实现PID控制器参数寻优的过程
3.1 确定参数寻优范围和参数编码方式
确定参数寻优范围,按照经验公式计算出PID参数的参考值,然后将寻优范围设置在参考值附近,这样有利于缩小搜索空间,迅速找到最优解的位置。
迄今为止已提出遗传算法许多种编码方案,总体来说,这些编码方法可分为二进制编码方法、格雷码编码方法、浮点数编码方法、符号编码方法。目前常采用的编码方法主要是二进制编码和浮点数编码。
采用二进制编码的遗传算法,搜索能力较强,然而二进制编码不能反映问题的结构,并且个体长度大,占用计算机内存多,难以提高精度;十进制编码对于变异操作的种群稳定性比二进制编码好,且十进制编码的可操作性强,可以减少编、解码的计算时间,能使搜索效率增加,还可以避免二进制编码带来的“Hamming悬崖”现象的影响。本文采用浮点数编码方法。
3.2 选择控制参数
控制参数主要包括群体规模大小M,交叉概率Pc,变异概率Pm和最大进化代数G。在运行遗传算法程序时,需要对这些参数进行预先设置,它们对遗传算法的性能有很重要的影响。
一般来说,选择较大数目的初始种群可以同时处理更多的解,因而容易找到全局最优解,但这样会增加每次迭代的时间,一般M可取20-100;交叉概率的选择决定了交叉操作的频率,频率越高,可以越快的收敛到最有希望的最优解区域,因此一般选取较大的交叉概率,但是不能太大,否则可能导致过早收敛,一般Pc取值0.4-0.9。变异概率的选择一般受种群大小、染色体长度等因素的影响,通常取值很小,一般Pm取0.001-0.1。最大进化代数作为一种模拟终止条件,一般视情况而定,G取100-500代。
3.3 确定适应度函数
适应度是指优化计算中群体中各个个体接近最优解的优良程度。适应度高的个体遗传到下一代的概率较大,适应度小的个体就会被淘汰掉。遗传算法在搜索时基本不利用外部信息,仅以适应度函数为依据,利用种群中每个个体的适应度值来进行搜索。因此,适应度函数的选取至关重要,直接影响到遗传算法的收敛速度以及能否找到最优解。适应度函数是非负且数值越大越好。常用的性能目标函数有以下几种:
本文采用
作为目标函数,由于PID控制器参数寻优是求目标函数的极小值问题,即:
而遗传算法是寻找适合度最高的解。因而要将目标函数进行改造,将极小值问题转换为极大值问题。在此采用其倒数作为适应度函数:
这样,当找到有最大适合度的解,也就找到了最小目标函数值的解,寻优成功。
3.4 产生初始群体
根据群体规模大小,随机产生一个含M个个体的初始群体。
3.5 选择操作
选择又称复制,是在群体中选择生命力强的个体产生下一代群体的过程。遗传算法使用选择算子来对种群中的个体进行选择操作;根据每个个体的适应度大小来进行选择,适应度高的被遗传到下一代的概率较大,适应度小的被遗传到下一代的概率较小。选择操作的目的是为了避免有用的遗传信息的丢失,提高全局收敛性和计算效率。
选择操作用于保留高性能的个体,首先要计算个体的适配值,常用的方法是按比例选择,即个体适配值按比例转化为选中概率。若个体i,其适配值fi,则被选中的概率为
式中:M—种群规模;
fi—种群中第i个个体的适应度;
Pi—第i个个体被选中的概率。
然后对其父代进行选择,常用的选择方法为轮盘赌选择方法。
轮盘赌选择法,即将个体的Pi依次排列为一段[0,1]的区间,每轮产生一个[0,1]均匀随机数,这个随机数所在位置位于Pi范围内,则该范围对应的个体即被选中,就是将该随机数作为选中指针来确定被选个体。
3.6 交叉和变异,产生新一代群体
随机选择交叉父代,父代以线性交叉的方式产生子代,具体操作如下:
式中:x1和x2—交叉父代;
x'1和x'2—生成子代;
α—[0,1]之间的随机数。
变异操作即在该参数所在区间随机产生一个实数代替被选中的变异个体,具体操作如下:
式中:x—变异前个体;
x'—变异后生成个体;
β—[0,1]之间的随机数。
经过交叉和变异后产生新一代群体。
遗传算法引入变异运算有以下两个好处:
1)改善遗传算法的局部搜索能力,对于选择和交叉运算得来的优秀个体,已经很接近于最优解,通过变异算子来调整个体编码串中的部分基因值,就可以从局部的角度出发使个体更逼近最优解;
2)维持群体的多样性,防止出现早熟现象。变异算子用新的基因值替换原有的基因值,从而改变个体编码的结构,维持群体的多样性。
3.7 判断进化终止条件是否满足
对产生的新一代群体进行评价,判断进化终止条件是否满足,若满足则得到最优解,寻优结束。否则,返回步骤3.5。
4 仿真结果
根据算法流程,采用M语言编写相关程序,并对算法性能进行仿真测试。
对于工业上常用的二阶惯性对象和二阶惯性加纯迟延对象进行讨论,对于工业上某两个对象的传递函数为:
设计过程中采用J=∫0∞t2|e(t)|dt作为参数选择得最小目标函数,输入指令为阶跃信号r=1。
本文遗传算法程序中使用的群体规模大小M=8 0,交叉概率Pc=0.85,变异概率Pm=0.025,最大进化代数G=100。
PID的控制规律为:
在工业过程中PID控制器使用的PI作用最为广泛,采样PI作用基本可以达到控制要求,取Td=0,优化δ和Ti,δ取值范围设为[0.5,4],Ti取值范围设为[1,300]。
对于被控对象(1),遗传算法寻优得到:
仿真结果如图1所示:
对于被控对象(2),遗传算法寻优得到:
仿真结果如图2所示:
对于含有纯迟延的被控对象(2),与不含纯迟延的被控对象(1)相比,其调节时间延长,控制特性相对变差,但是仍能满足控制要求,具有良好的控制品质。
5 结束语
将遗传算法用到PID控制器参数的优化中去,无论是对于不含纯迟延的被控对象还是含有纯迟延的被控对象,都可使系统具有很好的动态品质。仿真结果表明,遗传算法在参数寻优速度和有效性方面具有明显的优势,寻优简单,效率高,不失为一种具有实用价值的PID参数优化方法,在很大程度上解决了PID控制器参数整定难的问题。
摘要:本文介绍了基于浮点数编码遗传算法寻优的PID参数优化方法,采用误差绝对值时间平方积分性能指标作为参数选择的目标函数,利用遗传算法的全局搜索能力,实现对全局最优解的寻优,以降低PID参数整定的难度,达到总体提高系统性能的目的。仿真结果表明,通过浮点数编码遗传算法进行PI参数优化可使系统具有很好的动态品质和稳态特性。
关键词:遗传算法,PID控制器,参数优化
参考文献
[1]刘金馄.先进PID控制及其Matlab仿真[M].北京:电子工业出版社,2003.
[2]玄光男,程润伟等.遗传算法与工程优化[M].北京:清华大学出版社,2004.
[3]邓华昌,方康玲,梁开,张鹏.一种混合遗传算法在PID参数优化中的应用[J].机械设计与制造,2009,(7):89-91.
[4]任志淼,卢慕超.遗传算法及其在PID参数优化中的应用[J].山西电子技术,2008,(3):43-44.
参数算法优化 篇9
演化算法是经典的不确定性算法, 通过将大自然中各类事物的演化规律与求解问题的过程相结合, 能够保证在多项式时间内得到实际问题的高精度近似解。其中遗传算法、模拟退火算法、蚁群算法等演化算法都在生产实践中得到了广泛的应用。而粒子群算法因其结构简单易于实现, 成为当今研究的热点。但是, 粒子群算法参数优化方案仍然处在热烈讨论之中。针对这个问题, 本文选择了Linwpso以及Asylncpso两种优化算法[1]进行实验对比, 提出了粒子群算法参数优化的研究方向。
2 粒子群算法
粒子群算法, 也称粒子群优化算法 (Particle Swarm Optimization) , 缩写为PSO, 属于进化算法的一种, 1995年由Eberhart博士和kennedy博士提出, 源于对鸟群捕食的行为研究[1,2]。群体中的个体通过对信息的共享使整个群体的运动在问题求解空间中产生从无序到有序的演化过程, 从而获得最优解。
PSO模拟鸟群的捕食行为, 每个粒子就是解空间的一个解, PSO初始化为一群随机粒子 (随机解) , 然后通过迭代找到最优解。在每一次迭代中, 每个粒子根据自己的飞行经验和同伴的飞行经验所产生的两个“极值”来调整自己的飞行。一个是粒子本身所找到的最优解叫做个体极值p Best, 另一个是整个种群目前找到的最优解叫全局极值g Best。实际操作中通过由优化问题所决定的适宜性 (fitness value) , 来评价粒子的“好坏”程度。
在找到这两个最优值时, 粒子根据如下的公式来更新自己的速度和新的位置, 标准粒子群算法表达式如下所示:
其中, v是粒子的速度, w是惯性权重, present是当前粒子的位置。pbest是个体极值。gbest是全局极值。c1, c2是学习因子, 通常c1=c2=2。rand是 (0, 1) 间的随机数。
3 优化方案
W惯性权重控制了粒子的全局搜索能力与局部搜索能力之间的平衡。w值较大, 全局寻优能力强, 局部寻优能力弱;w值较小反之。初始时, w取为常数, 后来实验发现, 动态能够获得比固定值更好的寻优结果。动态可以在PSO搜索过程中线性变化, 也可根据PSO性能的某个测度函数动态改变。
c1、c2协同控制算法向最优解演化, 决定了收敛精度。
3.1 惯性权重优化方案
惯性权重优化方案的优化函数如下所示:
其中wmax表示惯性权重系数最大值, wmin表示惯性权重系数的最小值, t表示当前迭代次数, M表示迭代总次数。由此方案可见, 迭代过程开始时, 惯性权重系数取最大值wmax, 且惯性权重系数随着迭代次数线性递减。
3.2学习因子优化方案
学习因子优化方案函数如下所示:
4实验分析
本实验以求解单目标函数作为实验对象求出该函数的低误差近似最优解为算法终止目标。设定优化算法最大迭代300次。实验将粒子群标准算法、惯性权重优化的粒子群算法以及学习因子优化的粒子群算法进行对比, 分别利用三种粒子群算法求解实验对象最优解300次, 比对各个算法获得最优解的迭代次数, 以此评价3种算法的执行效率;对比3种算法的求解过程, 以此评价算法的可靠性和有效性。
实验中所采用的测试函数如公式 (1) 所示:
该函数在x=0.9350-0.9450达到最大值y=1.3706。
首先, 在群体中个体数量为3、5和8的情况下执行300次实验得到的迭代次数平均计算结果曲线, 由结果可见学习因子优化方法在每个实验场景中都有最高的变化率, 而权重优化方法的变化率则相对稳定, 而标准PSO算法变化率介于两者之间。但是当群体个体数量为3时, 学习因子的变化率过快则更倾向于算法早熟, 收敛于局部最优解;而惯性权重优化方法则用比标准算法更少的迭代次数就得到了相对准确的最优解。而当种群数量增加到8的时候, 学习因子优化方法展示出了它极大的优越性, 算法利用更少的迭代次数求得了实验对象函数的最优解。
接下来我们对群体中含有8个个体的情况进行进一步分析。观察300次实验过程, 发现学习因子优化方案仅通过平均14次迭代就能获得最优解, 且最高经过49次迭代。而标准粒子群算法需要17次迭代, 且最高近70次迭代。惯性权重优化算法需要24次迭代, 最大83次迭代。
综上所述实验可见, 当个体数量较少时, 惯性权重优化方案能够有效的改善算法效率且保障算法的有效性, 而当个体数量较高时, 学习因子优化方案能够改善算法效率。
5总结与展望
通过实验我们发现权重优化方案会让我们得到稳定的优化效果, 但是如果需要更高的求解效率时, 学习系数优化方案是一个不错的切入点。但是要用更为有效的方法控制系数的变化率。智能算法能够有效的求解NP问题获得不错的近似解, 同时也很容易和机器学习算法相结合, 各取所长。
参考文献
[1]龚纯, 精通MATLAB最优化计算[M].北京:清华大学出版社, 279-291.
[2]R Eberhart, J Kennedy.A new optimizer using particle swarm theory.In:Proc of the 6th Int’l Symposium on Micro Machine and Human Science.Piscataway, NJ:IEEE Service Certer, 1995.39-43.
参数算法优化 篇10
系统辨识和参数优化一直是系统和控制科学等领域研究的重要问题。最小二乘法和极大似然估计法在系统辨识中要求目标函数连续可导, 而且基本上都是采用梯度信息进行局部搜索, 对于非线性时滞系统, 最小二乘法难以确定系统的时滞, 且在干扰严重的情况下, 几乎不能适用。当误差的性能指标是多峰值函数时, 这些方法很容易陷入局部最优。遗传算法[1]作为一种全局寻优的方法, 对目标函数没有特殊要求, 能够有效地应用在系统辨识和参数优化中, 但由于近亲繁殖等原因, 在多峰值函数寻优过程中也存在早熟收敛的问题, 很容易陷入局部最优, 从而得不到理想的结果。
粒子群优化 (Particle Swarm Optimization, PSO) 算法[2,3]是一种基于群体演化的随机全局优化算法, 具有算法简单、容易实现, 以及较好的全局搜索能力, 对优化目标函数形式没有特殊的要求, 已在函数优化、神经网络训练、参数整定和工业系统优化等许多领域中得到了广泛应用。但是, PSO在整个搜索寻优过程中, 群体中的各个粒子依据自己的前进速度跟随群体全局最优和粒子本身的个体最优, 在整个参数空间内并行寻找参数的最优解, 粒子对全局最优的不断追踪使粒子的速度越来越小, 在进化过程中表现出强烈的趋同性, 容易发生早熟收敛, 陷入局部最优。为了使PSO算法在寻优过程中摆脱陷入局部最优的缺点, 分析陷入局部最优的原因, 文献[4]和文献[5]提出了自适应粒子群优化 (Adaptive Particle Swarm Optimization, APSO) 算法, 根据群体早熟收敛程度、群体的多样性和粒子个体适应度函数值自适应地调整粒子的速度, 使群体在进化过程中始终保持粒子速度的惯性权重的多样性, 从而有效地避免群体陷入局部最优。本文基于APSO方法, 对一阶惯性滞后系统和非线性Hammerstein模型的辨识, 以及PID参数和多峰值函数的优化问题进行了仿真试验研究, 并与遗传算法方法及PSO算法进行了比较, 结果表明, 该方法在系统辨识与参数优化方面优于遗传算法和PSO算法, 说明APSO算法具有很好的参数辨识和参数优化能力。
1 APSO算法
粒子群优化 (PSO) 算法是一种进化算法, 其过程是首先在可行解空间中初始化一群随机粒子, 用相应的适应度函数值来确定寻优目标, 每个粒子将在可行解空间中运动, 并被当前的位置x和速度v定义, 通常粒子根据自己的速度将追随当前已知的最优位置, 经过迭代搜索, 最后得到最优解。
PSO算法作为一种进化算法, 在进化过程中保持群体的多样性是算法能够收敛到全局最优的前提条件。但是, 当某个粒子发现一个当前最优位置时, 其他粒子将迅速向其靠拢, 使群体的多样性丧失, 算法易于发生早熟收敛。利用自适应调节惯性权重和自适应变异全局极值的APSO算法, 在发生早熟收敛时, 能够跳出局部最优, 进入解空间中的其它区域继续进行搜索, 直到最后找到全局最优解。APSO算法的具体流程如下:
(1) 参数编码及初始化:种群中粒子及其速度都采用实数编码。根据实际对象设定粒子的维数m, 设定种群大小n, 迭代次数iterMax。初始化种群产生一个随机矩阵, 包括粒子的位置及其速度。根据实际对象选取优化目标函数J, 定义适应度函数值f。每个粒子的初始个体极值点pbest坐标设置为初始位置, 且计算出每个个体粒子的适应度值, 初始全局极值点gbest的适应度值就是个体极值中的最好的。
(2) 自适应调节惯性权重:设第k代粒子群由n个粒子x1 (k) , …, xi (k) , …, xn (k) 构成, fi为第i个粒子的适应度值, 粒子群的平均适应度值定义为:
定义粒子群的群体适应度方差为:
按照粒子群的平均适应度值将粒子分为适应度值fi优于粒子群的平均适应度值fAug和fi次于fAug的2个子群。
1) fi优于fAug
这些粒子为群体中较为优秀的粒子, 被赋予较小的惯性权重, 加快算法收敛, 进行局部寻优精细化。惯性权重w由最大惯性权重wmax线性减小到最小惯性权重wmin。即:
(3) 式中, iter为当前迭代数, 而itermax是总的迭代次数。
2) fi次于fAug
这些粒子为群体中较差的粒子, 其速度应该被赋予较大的惯性权重, 进行全局搜索, 当群体进入局部最优时, 帮助群体跳出局部最优。按照下式进行调节。
(4) 式中, 参数k1和k2的选择对算法的性能有较大的影响。k1主要用来控制w的上限, 为了能够提供大于1的惯性权重, 这里取k1=3, 则w∈ (0.5, 1.25]。k2主要用来控制调节能力。
(3) 自适应变异全局极值gbest:以粒子群的群体适应度方差σ2为评价标准, 当σ2小于某个允许的给定值时, 说明粒子可能进入局部最优, 这时给出一定的变异概率pm。 pm的计算公式如下:
(5) 式中, k取
对于gbest的变异操作设计分段随机扰动算子, 设置某一迭代次数iter1=0.5 itermax。设gbestk 为gbest的第k维取值, η是服从正态 (0, 1) 分布的随机变量, 则
(6) 式中, 当iter小于等于iter1时, α取0.5, 当iter大于iter1时, α取0.1。
(4) 粒子速度更新:根据下面的公式更新个体的速度:
(7) 式中, v (k) 为第k次迭代的速度, x (k) 为第k次粒子当前的位置, rand () 是 (0, 1) 之间的随机数, c1和c2被称作学习因子, 通常, c1=c2=2, w是惯性权重。在更新过程中每个粒子每一维的最大速率被限制为vmax, 粒子每一维的最小速率被限制为vmin。
(5) 粒子位置更新:根据下面的公式更新个体的位置:
在更新过程中每个粒子的每一维位置被限制在取值区间。
(6) 评价每个粒子:计算更新后的粒子适应度, 如果粒子适应度优于pbest的适应度, pbest设置为新位置;如果群体中最优粒子适应度优于gbest的适应度, gbest设置为新位置。
(7) 如果满足结束条件, 全局极值gbest就是所要求的最优解, 算法结束;否则, 转向 (2) 继续迭代运算。
2 应用APSO算法的系统辨识和参数优化
系统辨识是在模型输入输出数据的基础上, 应用辨识方法对模型参数进行辨识, 得到一个与所观测的系统在实际特性上等价的系统。利用APSO算法对系统作参数辨识实质上是将要辨识的参数在解空间中寻优的过程, 优化模型中的未知参数, 使之与所测系统模型数据拟合最好。系统的模型一般可描述为:
(9) 式中, y (t) 为系统输出, u (t) 为系统输入, θ= (θ1, θ2, …, θk) 为待辨识的参数。f为系统的关系函数, 可以是传递函数、状态空间方程或ARMA模型等。APSO算法系统辨识模型参数的原理如图1。
在大多数工业过程控制中, 通过现场采集的系统输入输出数据进行辨识系统模型, 不失一般性, 待辨识的对象函数均可转换为如下的离散差分方程数学模型描述:
(10) 式中, u (k) 和y (k) 为系统的输入和输出量, v (k) 为零均值的不相关随机噪声, z-1为延迟算子。
其中na≥nb, d表示待辨识的滞后时间参数, ai, bi为待辨识的动态参数。所以, 待辨识的参数向量θ= (a1, a2, …, ana, b1, b2, …, bnb, d) T, 则辨识的目标就是在给定输入信号u (k) 和系统输出y (k) 的情况下进行估计参数向量θ。
设参数向量θ的估计值
(13) 式中,
(14) 式中n为数据采集中的样本个数。在APSO算法辨识过程中, 令其适应度函数为:
(15) 式中分母加1是为了防止优化目标函数过小, 趋于0时, 出现除法出错。由于 (15) 式是一优化求极大值问题, 采用APSO算法求 (15) 式的极值及其对应的模型参数。在实现时需要估计待辨识模型参数的大致范围, 并强制粒子在这个范围内流动, 通过逐步迭代搜索, 最终将搜索出这个范围内的最优解, 即最能反映真实值的一组参数向量。
在工业过程中, 由于PID控制算法简单、鲁棒性好和可靠性高, 所以已得到了广泛的应用;然而PID控制参数的整定通常是根据经验和多次实验来获得的, 显然这些参数不是最优的。本文通过APSO算法在PID参数范围内寻找出最优的PID参数。
为获取满意的过渡过程动态特性, 这里采用误差绝对值时间积分性能指标作为参考选择的最小目标函数。为了防止控制能量过大, 在目标函数中加入控制输入的平方项, 采用下式作为参数选取的最优性能指标:
(16) 式中, e (t) 为系统误差, u (t) 为控制器的输出, tr为系统上升时间, ω1, ω2, ω3为权值。
为了避免超调, 采用惩罚功能, 即一旦产生超调, 即ey (t) <0, 将超调量作为最优指标的一项, 此时最优性能指标为:
(17) 式中, ω4为惩罚超调量的权值, 且ω4>>ω1, ey (t) =y (t) -y (t-1) , y (t) 为被拉对象输出。
同系统辨识的方法一样, 设计出优化的适应度函数, 经过迭代搜索, 最终在解空间内找到最优的PID参数。
3 仿真研究
3.1 系统辨识比较
为了验证APSO算法在系统辨识中的有效性, 选取工业控制中常见的一阶滞后系统和非线性系统中应用较为广泛的Hammerstein模型为例进行系统辨识的研究, 同时与遗传算法 (GA) 进行比较, 算法参数设置如下:GA算法的交叉算子为0.8, 变异算子为0.1;APSO算法的最大惯性权重wmax为0.9, 最小惯性权重wmin为0.1, k2为0.3, σd2为10×10-2, k为0.2。
例1 选取一阶滞后系统的数学模型为:
则估计模型为:
(19) 式中待估计的参数是比例系数K、惯性时间常数T和时滞时间τ。采样时间为1 s, 输入为阶跃信号。两种算法的群体规模都为30, 进化代数都为100次, 两种算法各运行30次, 取其平均值。辨识结果见表1, 从表中可以看出, 利用APSO对模型参数的辨识精度优于GA算法, 能够更准确地反映系统的实际特性。
例2 选取Hammerstein模型如下:
(20) 式中, A (z-1) =1+a1z-1+a2z-2=1-1.5z-1+0.7z-2, B (z-1) =b0+b1z-1=1+0.5z-1。采样为200次, 无记忆非线性输入φ[u (k) ]= (-1) k, k为第k次采样。两种算法的群体规模都为50, 进化代数都为100次。辨识结果见表2, 从表中可以看出, 利用APSO对Hammerstein模型参数的辨识精度优于GA算法。
3.2 参数优化比较
利用APSO算法进行PID控制器的参数优化。同时与遗传算法 (GA) 进行比较, 算法参数设置如下: GA算法的交叉算子为0.9, 变异算子为0.1; APSO算法的最大惯性权重wmax为0.9, 最小惯性权重wmin为0.1, k2为0.3, σd2为10×10-1, k为0.2。性能指标的权值ω1=1, ω2=0.001, ω3=0.02, ω4=100。
例3 选用二阶系统模型:
采样时间为1 ms, 输入指令为阶跃信号。两种算法的群体规模都为30, 进化代数都为50次。参数KP的取值范围为[0, 50], KI的取值范围为[0, 1], KD的取值范围为[0, 2]。获得的优化参数见表3。
优化后的PID控制阶跃响应曲线如图2, 说明用APSO算法整定的PID参数的系统动态过程优于GA算法整定的PID控制, 且克服了系统的超调。
例4 选取多峰值Griewank函数模型如下:
寻优空间为[-10, 10]n, 两个算法的群体数大小都为30, 两种算法各运行30次, 迭代次数都为400次。平均优化结果见表4, 当n为2时, APSO算法有效地避免了局部极值;当n为30时, APSO算法求解的极值精度远远优于PSO算法。
4 结 论
根据实际对象选择不同的适应度函数, 将APSO算法应用在系统辨识和参数优化中。通过对多种模型的仿真试验, 并与遗传算法和PSO算法相比较, 结果表明APSO算法在系统参数的辨识精度和优化中均优于遗传算法和PSO算法, 从而验证了APSO算法在系统辨识和参数优化问题中的有效性。
摘要:将自适应粒子群优化 (APSO) 算法应用在系统辨识和参数优化中, 定性地分析系统参数空间范围, 把系统辨识和参数优化问题转化为参数空间寻优, 利用APSO算法在寻优过程中有效避免局部最优的特点, 在整个参数空间内并行寻找获得系统参数的最优解。通过对多种模型的仿真实验研究表明, APSO算法在系统辨识和参数优化问题中优于原有的GA和PSO方法。
关键词:粒子群优化,自适应,系统辨识,参数优化
参考文献
[1]Kristinsson K, Dumont G A.System identification and control using genetic algorithms.IEEE Trans Systems Man andCybernetics, 1992;22 (5) :1033—1046
[2]Kennedy J, Eberhart R C.Particle swarm optimization.Proceedings of IEEE International Conference on Neural Networks.Piscataway, NJ:IEEE, 1995;1942—1948
[3]Shi Y, Eberhart R C.Particle swarm optimization:developments, applications and resource.In:Proc Congress on Evolutionary Compu-tation2001;NJ:Piscataway, Press, 2001:81—86
[4]吕振肃, 候志荣.自适应变异的粒子群优化算法.电子学报, 2004;32 (3) :416—419
参数算法优化 篇11
摘 要:井网加密是动用油藏剩余油、提高油藏采收率最直接有效的手段,对油田开发中后期改善开发效果及长期稳产具有重要意义。文章分析了胡尖山油田安201井区的油藏地质特征和开发概况,依据开发现状及储层特点,确定了加密开发方式,并对改造规模进行实时优化,取得了良好
国内外油田的开发实践表明,油田开发进入中高含水期后,及时对井网进行加密调整,对稳定油田产量,提高采油速度都是十分有益的。加密井网的布局在很大程度上取决于储层裂缝发育特征、水驱状况、剩余油饱和度等,储层改造的方式、规模对加密井的开发效果同样至关重要。目前,国外加密井主要两种:一种是点状注水井,以调整注采井井距;另一种是加密生产井,以缩小单井控制储量,改善平面矛盾,提高开采效果。
1 油藏地质特点及存在的问题
1.1 油藏地质特点
安201区油藏属于较典型的低渗透油藏,储层致密,非均质性强,存在大量的人工和天然裂缝,开发难度大。
1.2 存在的问题
目前暴露出的问题主要有:
①水驱动用程度不高;
②油井见水过早;
③油井动液面较低,井底流压过小,提液困难;
④采油速度递减过快。
2 加密方式选择
针对开发现状,为了提高剩余油动用程度,确定在原有菱形反九点井网的基础上,设计在原井网侧向油井之间加密2口油井,主向油井实施转注,形成排状注水井网,井距160 m,井排150 m。
3 压裂参数优化
一次加密井开采的主要对象是薄差油层。该类储层渗透率低、油层性质差、空间分布复杂。
从平面上看,加密井与老井的井距仅有100~200 m,目的油藏中有些油层已经水淹或与高含水层镶嵌、搭边;有些油层位于主力油层的变差部位;有些油层在平面上却是零星孤立地分布。
从纵向上看,由于加密井钻遇基础井网,目的油层分散于各油层组中,且与高含水层相间分布,油层与见水层隔层很薄。其改造难度在于裂缝半径难以控制,如果压裂措施不合理,会导致加密井投产后,含水上升快,甚至迅速水淹。
因此,为了控制裂缝走向,先对射孔方式进行优化;然后采用井下压力计+微地震监测来判断压裂时目的井裂缝走向、长度,追踪改造效果,优化压裂参数。
3.1 射孔方式的优化
目前直井常用的射孔方式分为常规电缆传输射孔和定向射孔。安201区块NE72 °方向存在天然大裂缝,易造成裂缝方向的油井见水,考虑到避开水线,加密井应采用定向射孔压裂,以单翼定向射孔和双翼定向射孔为主。双翼定向射孔即在射孔相位为180 °、射孔方位一定的条件下进行射孔。在减小见水风险的同时可有效扩大泄油面积,充分动用油藏从而提高单井产能。安201区块加密井与水线距离为150 m,见水风险较小,建议多实施定向NE162 °双翼射孔(垂直水线),增加油层动用率和泄油面积。对于目的井临近注水井或者邻井产水较多的井,根据实际情况选择合适的射孔方位进行定向射孔。
3.2 初始改造参数
选定1#、2#目的井,结合该区井网、水驱系统、地层压力等情况,控制压裂规模,优化泵注程序,在避免勾通水线的同时,提高单井产量。
1#目的井初始压裂改造参数如下:砂量15.0 m3、排量1.4 m3/min、射孔方式定向射孔,相位360度,方位NE297。
运用FracproPT压裂设计软件进行裂缝模拟的计算结果,见表1。
2#目的井初始压裂改造参数如下:砂量20.0 m3、排量1.8 m3/min、射孔方式定向射孔,相位360度,方位NE297。
运用FracproPT压裂设计软件进行裂缝模拟的计算结果,见表2。
监测井监测结果对比,如图1所示。
微地震监测数据表,见表3。
两口井都采取了定向射孔的方式,微地震事件较集中于东翼,分析可能是由于监测距离的限制,裂缝西翼远端大部分信号淹没在噪声中,所以造成裂缝东翼发育较西翼明显。由于提高了排量和砂量,2#井裂缝扩展更远,高度也相对大些。本次加密井裂缝走向北偏东79 °和北偏东74 °,说明裂缝仍主要受地应力影响,周围油井压裂、注水井注水对局部地应力影响很小
从试油成果来看, 2#井日产油18.6 m3,日產水0,1#井日产油17.0 m3,日产水0,2#井改造效果略好与1#井。建议加大压裂规模。排量定在(1.6~1.8 m3/min),加砂量增加到20~25 m3,提高改造效果。
4 储层改造效果评价
4.1 加密井不同规模效果对比
以上是22口加密井改造前期和后期的效果对比。
加砂量在25.0 m3以上的井有11口,从试油成果可以看出,多数均产水。从后期的产量来看,日产油1.0~3.0 m3,含水较高(23%~46%)。
加砂在20.0 m3左以下的井有11口,试油解释多数为纯油。从后期的产量来看,日产油2.0~6.0 m3,半数在3.0 m3以上,含水也不高(17%~22%)。
4.2 同井区单井产量对比
安201区块2009年投入开发,初期单井平均日产液4.9 m3,日产油3.3 m3,含水32.4%,目前单井平均日产液2.6 m3,日产油1.5 m3,含水47.3%。加砂量20.0 m3的五口加密井平均日产液
4.4 m3,日产油3.0 m3,含水18.6%。从短期来看,效果不错。可以初步判断,加密井的规模最好控制在加砂量15~20 m3,排量1.6~1.8 m/min。加砂量和排量不宜太大,有沟通水层的风险,会导致加密井投产后,含水上升快,甚至迅速水淹。
5 结论及建议
安201区块的储层特征适合布局加密井网,目前已取得较好效果。
初步认为压裂规模控制在砂量15~20 m3,排量1.6~
1.8 m3/min为宜。建议进一步跟踪投产后产量变化情况以更准确的评价改造效果。
参考文献:
[1] 谢正温.安塞油田加密调整井的增产措施及效果评价[J].油气井测试,
2001,(5):16-19+75.
[2] 程木林.加密井区油井压裂增产技术[J].石油钻采工艺,2006,(2),
69-71+86.
[3] 曹仁义,程林松,薛永超,等.低渗透油藏井网优化调整研究[J].西南石
参数算法优化 篇12
支持向量机[1]SVM是Vapnik等人基于统计学习理论和结构风险最小化原则提出来的一种强大的学习机器。相对于传统的学习方法,SVM能够很好地解决维数灾、小样本以及非线性等难题,目前已被 应用于图 像分类[2]、故障诊断[3]、模式识别[4]、交通流量预测[5]等领域。
SVM虽然有着完备的理论基础,但在应用中仍然存在问题,比如其参数的选取。实验表明,模型参数对SVM的性能有着至关重要的影响。传统的直观经验法或实验法不仅计算量大、效率低,而且选取的往往是局部最优参数。随着智能优化技术不断发展,智能优化算法为SVM参数选取提供了一条有效途径[6,7]。文献[8,9]提出两种基于遗传算法GA的SVM参数选择方法,结果表明利用GA对SVM参数优化不仅缩短了计算时间,还减少了对初值选取的依赖度,但是基于GA的方法需要针对不同的优化问题设计不同的交叉、变异算子。文献[10]利用粒子群算法PSO对SVM参数进行优化,取得了比较好的效果, 但是基于PSO的方法全局搜索能力差、易陷入局部最优。
受不同物种的启发,研究者们提出来许多基于不同搜索机制的智能优化算法,但在求解不同问题时,这些算法普遍存在一些缺陷。如GA与人工鱼群算法AFSA在算法后期收敛速度较慢,并且AFSA通常仅仅可以获取较为满意解的区域,很难得到精确解; PSO的单向信息共享虽然加快了收敛速度,但粒子过早的聚集使算法易陷入局部最优,同样人工蜂群算法ABC在迭代后期种群多样性缺失,也会遇到陷入局部最优的问题。事实上, 目前还没有一种算法可以完全满足人们的需要,因此,改进已有算法或提出基于不同机制的算法用于解决不同优化问题是一项具有重要现实意义的研究课题。
社会力模型[11]是Dirk Helbing等人提出来刻画人群动力学的仿真模型,模拟了人群疏散过程中自组织现象以及拥挤退避等行为。然而,社会力模型忽略了人类社会的协作互助行为。 将社会力模型同人类的协作互助行为相结合,本文在基于社会力模型群智能优化算法[12]SFSO的基础上进行了改进。改进后的SFSO算法在排斥力的作用下可以有效地避免算法陷入局部最优,单维协作与多维协作相结合,提高了算法的收敛速度和求解精度,使算法具有良好的“探索”和“开发”平衡能力。将该算法用于SVM参数优化,提高了分类精度,为SVM的参数选取提供了一种有效的方法。
1 基于社会力模型优化算法
1. 1 社会力模型
社会力模型作为一种多个自驱动系统的框架,体现了群集智能特性和自组织行为。行人在期望力的作用下向目标运动, 当行人间距离较小时,排斥力就会使行人的运动方向发生改变。 社会力模型用力的方法描述了行人之间以及行人与建筑之间的非线性作用,用期望力来反映个体对目标的期望作用,用排斥力来解释个体之间保持一定距离的原因,用个体与墙之间的排斥力来反映个体对墙的心理作用。
1. 2 改进 SFSO 算法
文献[12]提出的SFSO算法虽然在二维多模态函数求解的实验中表现出较强的搜索能力,但在实践中仍然存在很多问题, 比如对高维函数的求解精度较低、收敛速度慢、容易陷入局部最优。对于某些测试函数实验表明: ( 1) SFSO算法在目标选择时采用阈值因子线性调整策略,影响了算法的收敛效率; ( 2) 行人期望速度的确定不能根据优化问题的解空间大小进行自适应调整; ( 3) 在算法迭代后期,排斥力已经减至很小时,速度项仍然很大,使行人不能在目标附近求精,影响了最终的求解精度。
针对以上问题,本文对SFSO算法进行改进,主要包括: ( 1) 在目标选择阶段采用概率选择的机制,防止陷入局部最优; ( 2) 建立期望速度可以根据解空间大小自适应调整的机制; ( 3) 协作阶段采用单维更新和多维更新,加快了收敛速度并提高了求解精度。算法伪代码如下:
1. 2. 1 初始化
初始化主要包括行人的数量N,最大迭代次数tmax,当前位置pα,历史记忆hα,行人 α 的初始位置由式( 1) 随机生成:
式中pα,i为pα的第i维分量,i = 1,2,…,D,rand为[0,1]之间的随机数,ui和li分别为解空间上下限的第i维分量,可行解pα的适应度值计算公式为:
式中rank为目标函数值的排列序号。
1. 2. 2 目标选择阶段
为了防止陷入局部最优,保持目标集的多样性是求解的一个关键问题。本文采用概率选择机制,行人的历史记忆被选入目标集T的概率按式( 3) 计算:
式中fit( hα) 为行人 α 历史记忆的适应度值,fitmin为当代个体适应度最小值,max(·) 为取最大值运算。当随机数rand ≤ probα时,将行人 α 的历史记忆hα选入目标集T中。目标集T选定后通过计算行人 α 与目标集中每个目标的距离,从中选取距离最小的作为 α 的目标Tα。
1. 2. 3 社会力驱动
改进的SFSO算法在计算社会力之前,采用概率选择的方法将子群体Gk中的个体分为自由个体和非自由个体。在Gk中, 计算每个行人的当前位置与目标的距离,并求出行人对目标的相对距离RDα。依据每个个体的相对距离最终得到行人成为自由个体的概率:
式中 ρα为行人成为自由个体的概率,RDα为行人 α 对目标的相对距离。当随机数rand ≤ ρα时,行人 α 成为自由个体,否则为非自由个体。
群体被分为两类后,分别执行不同的搜索机制: 自由个体会放弃当前位置按式( 1) 执行随机搜索,提高算法的全局搜索能力; 非自由个体则会在社会力的驱动下朝着目标运动。行人 α 的社会力主要包括期望力fdα以及行人 β 对 α 的排斥力fγαβ,定义如式( 5) :
行人 α 的期望力fdα由式( 6) 定义:
式中acα( t) 和vα( t) 分别为t时刻行人 α 的加速度和速度,τ 为行人的适应时间,本文设为1。加速度acα( t) 由式( 7) 给出:
式中eα( t) 、vdα( t) 分别为t时刻行人 α 的期望方向和期望速度, u、l为解空间的上下限,Vfac为速度因子,本文设为5 × 10-6。 eα( t) 与vdα( t) 由式( 8) 、式( 9) 给出:
式中 λ 为期望因子,设置为6. 25 × 10-3,ε、η 为期望速度范围的控制参数。dα,Tk为行人 α 距目标Tk的距离,dξ,Tk为子群体中个体到目标距离的最大值。
行人 α 与 β 的排斥力由式( 10) 给出:
式中A、B为排斥力参数,设为A = 10-4,B = 0. 1,R为行人半径, dαβ为行人 α 和 β 之间的距离,ndαβ= dαβ/ max( | dαβ| ) 。
半径R与行人当前位置和历史记忆的标准差 δc、δh有关,每一代群体的标准差和半径的更新采用加权的方式,用权重因子 μ 对历史代和当前代的标准差、半径进行权重分配,标准差更新按下式求得:
式中 δcn、δnh为第n代当前种群位置和历史记忆位置的标准差, p( n+1)和h( n+1)分别为第( n + 1) 代的行人当前位置和历史记忆, std( ·) 为求标准差运算。半径的更新如式( 13) :
式中Rn为第n代的行人半径,RX为半径调整因子如式( 14) :
行人 α 的速度按式( 15) 进行更新:
式中,vα( t + Δt) 与vα( t) 分别为行人在t + Δt和t时刻的速度, fdα( t) 和fγαβ( t) 分别为行人在t时刻所受期望力和排斥力。
行人的位置按式( 16) 进行更新:
式中pα( t + Δt) 和pα( t) 分别是行人在t + Δt和t时刻的位置, vα( t) 是行人速度,本文中t为代次n,Δt为1。
1. 2. 4 历史记忆更新
经过行人的位置与速度更新之后,对行人的位置进行适应度值计算,通过如下方法选择是否进行个体历史记忆的更新: 当满足 δnh< δcn,且rand1< rand2,则更新该个体的历史记忆。
1. 2. 5 协作阶段
协作意味着行人间的信息彼此共享,主要包括两方面信息: 当前位置信息和历史记忆信息。为了得到更加优秀的解,若新产生解的适应度值高于历史记忆,则用新解更新历史记忆。
改进的SFSO算法采用单维协作与多维协作更新历史记忆,分别定义如式( 17) 、式( 18) 所示:
式中i,j代表随机选择的维数,h'α,i为新生成行人 α 历史记忆的第i维分量,pβ,i为行人 β 的当前位置的第i维分量,h'α表示新生成行人 α 的历史记忆,rand、a和b表示为[0,1]的随机数。如果两个随机数满足c < d时,则按式( 17) 进行单维协作,否则按式进行多维协作。
2 改进 SFSO 的 SVM 参数选择
2. 1 SVM 原理
SVM[13]的基本思想是将训练样本数据通过非线性映射函数 映射到特征空间H中。S = { ( xi,yi) | xi∈ H,yi{ ± 1} ,i = 1,2,…,l} 为给定训练集,其中xi表示输入向量,yi表示xi对应的输出值。SVM通过寻找满足分类要求的最优超平面,在保证该超平面正确分类的基础上,使得两类数据集的距离最大。因此,可以将SVM的学习过程转化为如下优化问题:
其中C为惩罚因子,w为超平面的法向量,ξi为松弛变量。
引入Lagrange函数,将二次规划问题转换为相应的对偶问题,如式( 20) :
其中,K( xi,xj) 为核函数,其值受核函数参数 σ 影响。
2. 2 改进 SFSO 算法优化 SVM 参数流程
Step1设置算法参数。种群大小N,行人的适应时间 τ,最大迭代次数tmax,速度因子Vfac,期望因子 λ,期望速度控制参数 ε、η,排斥力参数A、B,权重因子 μ 。
Step2读取样本数据并初始化种群。分别生成N个行人的当前位置和历史记忆,每个行人由( C,σ) 组成。
Step3适应度计算。对初始种群进行SVM训练并计算个体的适应度,本文采用SVM分类的正确率作为适应度函数。
Step4选择目标。按式( 3) 形成目标集T并为每个行人选定自己的目标Tα。
Step5计算期望力与排斥力。
Setp6行人的速度和位置更新。
Setp7更新历史记忆。计算更新后的种群个体适应度值, 以概率的方式进行历史记忆更新。
Step8协作。对历史记忆采用单维协作或多维协作,保留协作后适应度较高的历史记忆。
Step9终止条件判断。如果n > tmax,则算法停止,输出具有最大适应度个体作为最优参数。否则返回Step4。
3 仿真实验
3. 1 函数优化实验
为了测试改进后SFSO算法的有效性,本文选取6个benchmark函数[14]进行测试,其基本特性如表1所示。每种算法对6个函数独立运行30次,记录每次运行的最优值,最终得到平均值( Mean) 、标准偏差( Std) 、最优值( Best) 如表2所示。
从表2可以看出不论是低维还是高维函数,改进后的SFSO算法都表现出较好的求解效果,精度有了明显的提高。
为了进一步研究改进SFSO算法跳出局部最优的能力,选取30维Rastrigin函数进行测试,通过观察种群中某个行人的受力情况、适应度值以及种群方差变化来说明改进SFSO算法跳出局部最优的能力。
图3是种群在整个进化过程中的方差图,由图明显看出,在大约70代时,当前代种群整体方差水平较低, 说明大多数行人均集中在某区域搜索,而从图2看出此时适应度值并未达到全局最优值附近,由于行人大量聚集,从图1看出同一子群Gk中其他个体对 α 排斥力急剧增大, 使子群中的行人重新分布在解空间中搜索,重新分布的行人在改进SFSO搜索机制的引导下,使算法逐渐收敛到全局最优,如图2所示。综上所述,排斥力可以有效阻止算法陷入局部最优, 增强了算法的全局搜索能力,受排斥力作用的个体重新选定目标后,执行改进SFSO的搜索机制,再利用行人的单维协作与多维协作相结合,加快了算法的收敛速度并提高了求解精度。
3. 2 SVM 参数优化
3. 2. 1 参数设置
3. 2. 2 实验描述
为了验证改进SFSO算法优化的SVM对不同数据分类的准确性,本文选取UCI标准数据集中6个代表性的数据进行训练和测试,各类数据的属性如表3所示。实验中,为了消除不同量纲之间的数据差异对SVM预测精度和推广能力的影响,对数据进行归一化预处理。同时,为了说明本文算法的有效性,选择PSO、GA这两种经典的群智能优化算法进行对比。
3. 2. 3 实验结果与分析
通过对UCI标准数据集进行测试,三种方法对不同数据集的分类正确率以及对应的C、σ 如表4所示。由实验结果可以看出,对于Breast、Diabetes、Heart、Wine这4个数据集,通过改进SFSO算法优化的SVM最终得到的分类正确率高于GA和PSO优化后的结果。由于GA与PSO会出现不同程度的早熟收敛, 且易陷入局部最优,由前面的分析可知,改进SFSO借助排斥力的作用,可以有效地避免陷入局部最优,期望力与协作的共同作用,提高了算法的搜索能力以及求解精度,因而得到了更高的分类正确率。虽然对于Iris,改进SFSO算法与GA的分类正确率相同,而对于Iononsphere数据集,三种方法的分类正确率相同, 但是通过每种算法对这两个数据集独立运行10次,进一步观察分类准确率的箱线图( 如图4所示) ,发现改进SFSO算法优化的SVM分类稳定性高于其他两种算法。
为了进一步分析三种算法在SVM参数组合寻优的收敛性问题,作如图5 - 图10三种算法对6个数据集的分类对比图。
由图5 - 图10看出,通过对六个UCI数据集进行分类测试并选取最优的SVM参数组合的实验表明: 基于改进SFSO算法的SVM参数寻优比基于GA、PSO的参数寻优具有更好的分类准确率,同时具有更快的收敛速度。综合以上实验可以看出,基于改进SFSO算法的SVM参数寻优法具有更好的学习性能。
4结语
SVM的参数选择是一个既有实际价值又有理论意义的研究课题。本文针对SVM参数选择的问题提出一种改进基于社会力模型的群智能优化算法的SVM参数优化方法。在改进SFSO算法特有的搜索机制的引导下,使全局搜索和局部搜索建立了良好的平衡。实验结果表明改进后的SFSO算法不仅对于求解函数优化问题具有较强的鲁棒性和较高的求解精度,而且经改进SFSO算法优化后的SVM具有更快的收敛速度和更高的分类正确率。
摘要:为了解决支持向量机(SVM)参数优化的问题,提出一种改进的基于社会力模型群智能优化算法SFSO(Swarm Optimization algorithm based on Social Force Model)的SVM参数优化方法。SFSO通过期望力和排斥力使算法在全局搜索和局部搜索中能够较好的平衡,利用SFSO特有的搜索机制对SVM的惩罚因子和径向基函数进行优化,提高SVM的分类性能。通过对几个benchmark函数和常用的UCI数据集进行测试表明:改进后的SFSO算法不仅对于求解函数优化问题具有较强的鲁棒性和较高的求解精度,而且经改进SFSO算法优化后的SVM具有更快的收敛速度和更高的分类准确率。