自适应混沌粒子群算法

2024-09-25

自适应混沌粒子群算法(共7篇)

自适应混沌粒子群算法 篇1

0 引言

电力系统无功优化[1],就是研究当系统结构参数和负荷情况己经给定的情况下,通过对系统中某些控制变量的优化计算,以找到在满足所有特定约束条件的前提下,使系统的某一个或多个性能指标达到最优时的运行控制方案。

在数学上,无功优化是典型的非线性规划问题,具有非线性、小连续、不确定因素较多等特点。目前求解无功优化的方法很多[2,3,4,5],传统的数学规划方法主要有非线性规划法和线性规划法等。常规方法存在的困难主要是离散变量的归整问题,易陷入局部最优以及产生“维数灾”问题。近些年来,为了弥补上述方法在无功优化中计算的不足,研究者将各种智能算法引入无功优化的计算中。

粒子群优化算法是一种基于迭代的多点随机搜索智能优化算法,具有简单易操作、所需设定参数较少等特点,已经被电力工作者应用于无功优化中,目前的粒子群无功优化算法是通过随机生成的初始粒子进行迭代,这对于多峰函数就有可能存在盲区而不被搜索到,易陷入局部解[6,7];此外,在迭代中不能自适应地调整权重系数,限制了全局搜索能力。

针对PSO算法在无功优化中的缺点,本文将混沌算法与粒子群结合,通过混沌算法进行粒子的初始化,并且通过自适应调节权重系数加快搜索能力,形成了自适应混沌粒子群(Adaptive Chaos Particle Swarm Optimization,ACPSO)算法进行多目标无功优化。

1 多目标无功优化的数学模型

1.1 目标函数

在电网有功潮流给定的情况下,多目标无功优化数学模型是在满足系统运行约束和发电机组运行约束的前提下,将系统有功网损Ploss最小、电压质量最好(即电压的偏移量d V最小)和静态电压稳定裕度VSM最大为目标,其中的静态电压稳定性指标采用常规收敛潮流雅可比矩阵的最小奇异值δmin来度量。则建立的多目标无功优化目标函数如下:

式中:Gij为节点i,j之间的电导;iV和Vj分别为节点i,j的电压幅值;θij为节点i,j之间的电压相角差;δmin为收敛潮流的雅克比矩阵的最小奇异值;lV为负荷节点l的实际电压,lVspec为期望电压值,∆Vlmax为最大允许电压偏差,其中∆Vlmax=Vlmax-Vlmin;NL为系统的负荷节点数。

1.2 功率方程约束

在无功优化的数学模型中,各个节点的有功和无功都必须满足系统的潮流方程,其表示为:

式中:PGi,QGi分别为发电机节点i上的有功和无功功率出力;PLi,QLi分别为负荷节点i上的有功和无功功率;Bij为节点i,j之间的电纳;N为系统的节点总数。

1.3 变量约束

无功优化的变量约束方程可分为控制变量约束和状态变量约束。控制变量为:发电机端电压GV,变压器的分接头tT和无功补偿容量CQ;状态变量为:可调发电机无功出力GQ和负荷节点运行电压VD。

满足控制变量的约束条件为:

满足状态变量的约束条件为:

式中:下标“max”、“min”分别表示上限和下限值;NG,NT,NC,ND分别为发电机数、可调变压器分接头数、无功补偿数、负荷节点数。

1.4 归一化处理及加权方法的采用

在多目标无功优化模型中,由于各个目标函数的量纲不同,不能直接进行加权。故先对三个目标进行归一化处理,使其具有可比性。

式中:Ploss 0,d V0,VSM 0分别取为初始状态下经潮流计算得到的有功网损、节点电压偏移量及静态电压稳定裕度;Plossmin,d Vmin,VSM max为分别对其进行单目标优化得到的最优值。Pl'oss,d V',VS'M均限定于0~1之间取值。

运用加权方法处理式(1)中的3个目标函数得到总的目标函数为

式中λ1、λ2、λ3为各个目标权重系数,其反映了对电网优化运行的经济性和电压稳定性的偏好,也称偏好系数,且满足λ1+λ2+λ3=1,其中λ1、λ2、λ3≥0,本文选取λ1=0.6,λ2=λ3=0.2。

2 粒子群无功优化算法

粒子群进行非线性规划的目标函数可以表示为

minF(x1,x 2,⋅⋅⋅,x n)

针对多目标无功优化问题式(7)中的F(x1,x2,⋅⋅⋅,x n)即为总目标函数式(6),x1,x 2,,xn为粒子群算法中的粒子结构,对应为无功优化的控制变量,每个粒子的维数为n,与发电机端电压、变压器分接头、无功补偿容量这些控制变量的个数相等。[aj,bj]为第j维控制变量的可行域即满足式(3)的约束条件;各个控制变量如表1所示,且n=G+T+C。其中,前G维是发电机端电压VG1~VGn;第G+1维到第G+T维是有载调压变压器的变比Tt1~Ttn;最后C维是无功补偿电容器容量QC1~QCn。

PSO算法进行优化问题的求解同其他智能群体优化算法相类似,首先在控制变量可行域的范围内随机地初始化m个粒子形成一个粒子群体。每个粒子由位置和速度两个变量控制其变化,在无功优化中位置代表相应控制变量每次迭代的解,可以用向量xi=[x i1,x i2,,x in]=[Q CT,V GT,T BT]表示,速度代表相应控制变量的迭代修正量,可以用向量vik=[v ki1,vki2,,v kin]=[∆QCT,∆VGT,∆TBT]表示。利用每次迭代得到的一组控制变量代入式(6)求出总目标函数的值作为粒子群算法中粒子的适应值,采用该数值的大小来衡量所求得解的优劣程度,通过k次迭代,得到当前为止控制变量的最优解为个体最优解,用向量Pbesti=[Pbest i1,Pbesti 2,,Pbestin]表示,m个粒子中最好的个体最优解为群体最优解,用向量gbestk=[Pbestk 1,Pbestk 2,,Pbestkn]表示,当找到了Pbesti和gbestk这两个最优解后,各组控制变量在每一次迭代过程中,根据公式(8)、(9)更新各控制变量的数值和迭代修正量:

式中:i=1,2,,m;j=1,2,,n;k为迭代次数;w为惯性权重;c1,c2为学习因子,表示每组控制变量追寻两个最好极值的加速系数;r1,r2为两个均匀分布在(01),之间的随机数;ivk,j表示第k次迭代时粒子速度,在[-Vjmax,Vjmax]之间取值,本文Vjmax取为控制变量取值范围的20%。

通过各组控制变量的不断迭代更新,反复进行潮流计算,最终找到优化问题的最优解。

无功优化中发电机端电压GV是连续控制变量,对其直接采用实数编码;变压器分接头tT和无功补偿容量cQ是离散控制变量,采用一定的映射方法将其转换为连续变化的整数变量,对其采用整数编码。采用这样的整实数混合编码更加符合电力系统无功优化的实际情况。

3 自适应混沌粒子群算法的无功优化

3.1 利用混沌算法初始化各控制变量

上述的粒子群无功优化算法,采用的是随机生成初始粒子,这样对于多峰函数就有可能存在盲区而不被搜索到。由于混沌优化算法具有对初值不敏感的特点,本文在利用粒子群进行无功优化的前期采用混沌算法进行初始化,优选初始粒子群体——无功优化控制变量。

(1)混沌初始化粒子群无功优化中发电机端电压、无功补偿容量和变压器分接头这些控制变量的位置和速度。随机产生一个n维且各分量值均在0~1之间的混沌矢量Z1=(z11,z12,,z1n),以Z1为初始值由Logistic完全混沌迭代公式zt+1=4zt(1-zt)t=0,1,2,计算得N个矢量Z1,Z2,,ZN。利用混沌变量进行迭代搜索,再通过公式xij=aj+(bj-aj)zij,(i=1,2,,N;j=1,2,,n)将混沌变量Zi(i=1,2,,N)的各分量变换到式(3)的约束范围,其中aj,bj与式(7)的含义相同,为无功优化控制变量约束式(3)的上下限值。

(2)根据多目标无功优化的总目标函数式(6)来计算各矢量所对应的适应度值,根据适应度值的大小从中择优选取前m个作为粒子群的初始位置,同时在无功优化控制变量的限制范围内随机生成m个初始速度,本文m取为30。

3.2 利用混沌算法对优选的控制变量值进行操作

由于粒子群算法进行无功优化在迭代后期产生“惰性”运动使各粒子趋于同一性(失去了多样性)而导致通过该算法无功优化得到各控制变量易陷入局部解区域,故对迭代更新后择优选取的前M(M=20)个较优控制变量值进行混沌操作。

(1)首先将群体中的每组控制变量Xp=(xp1,x p2,,xpn),(p=1,2,,M)的各分量x pj(j=1,2,,n)通过zpj=(xpj-aj()bj-aj)方程映射到混沌空间,再依据迭代公式zt+1=4zt(1-zt),t=0,1,2,产生混沌变量序列zp(sj),用混沌变量进行搜索寻优。

(2)将该序列通过逆映射方程xp(js)=aj+(bj-aj)·zpj(s)转回到原解空间得Xp(s)=(xp(1s),xp2(s),,xp(ns)),计算混沌变量经历的每一个可行解Xp(s)的适应度值并择优选取前M个解Xp*。

(3)用Xp*取代当前群体中任意M组控制变量值,若Xp*中存在适应值优于全局最优解的控制变量,则以其代替全局最优点gbest并更新全局极值。

3.3 自适应调节惯性权重

在PSO算法进行无功优化中,式(8)的惯性权重w的取值对算法的性能具有十分重要的作用,即平衡算法的全局寻优和局部寻优。w取值大时利于全局寻优,但很难得到精确的解;w取值小时利于局部寻优,但w易陷入局部极值点。为提高算法的性能,本文采用一种基于粒子个体适应值的自适应调节w的策略,即每个粒子的w依据其自身当前的适应值来进行调节变化,其公式表达为:

式中:wmin,wmax分别为惯性权重系数的最小值和最大值;fi为当前粒子的适应值;fav,fmin分别为当前整个粒子群体适应值的平均值和最小值。可见,个体适应值较好的粒子对当前最优解临近区域做局部细致搜寻,个体适应值差的粒子会以较大步长搜寻以便能找到更好解,进而保证了整个群体解的多样性及好的收敛性。

3.4 自适应混沌粒子群多目标无功优化的基本步骤

(1)读入原始数据,包括网络结构数据、构成无功优化解的可行域的各控制变量上下限约束。

(2)根据无功优化控制变量的个数确定粒子群体粒子的维数n,在三类控制变量即发电机端电压GV、变压器分接头tT和无功补偿容量CQ的上下限约束范围内进行混沌初始化粒子群中各粒子,即控制变量的位置和速度。

(3)根据粒子编码的控制变量值,对初始群体中的每个粒子利用粒子群无功优化算法进行无功优化,无功优化中采用牛顿拉夫逊法进行潮流计算。

(4)根据总目标函数式(6)来确定每个粒子的适应度值,比较粒子的优劣,进而更新群体中的个体最优解Pbesti及全局最优解gbestk,由式(10)自适应计算各粒子的惯性权重w。

(5)择优选取前M个较优粒子进行混沌优化。

(6)根据粒子群无功优化算法中的公式(8)和(9)更新粒子的速度和位置——即控制变量的迭代修正量和数值。

(7)若满足终止条件则停止运行,输出全局最优解,否则返回步骤(3)继续进行迭代计算。

4 算例分析

采用本文所提方法对IEEE 30节点系统和IEEE118节点系统进行多目标无功优化,并与PSO算法和文献[8]中的遗传算法(GA)进行比较,结果如表2所示。

IEEE 30节点数据参见文献[9],初始条件下,设发电机端电压在0.9~1.1 p.u.之间连续取值,可调变压器的变比调节步长为0.025,变比调节范围为0.9~1.1,分八个档,补偿电容的调节步长为0.05,分十个档,补偿上限为0.5 p.u.,发电机的初始电压及变压器的初始变比均为1.0,功率基准值SB=100MVA。

算法中相关参数设置如下:粒子群规模n=40,学习因子c1=c2=2,wmin=0.4,wmax=0.9,最大迭代次数iiter max=100,独立运行50次,表2给出了在相同基本条件下,各优化算法得到的平均优化结果。

从表2可以看出,采用本文提出的ACPSO算法进行多目标无功优化,计算后有功损耗由5.46MW降到4.87 MW,降幅为10.89%,其结果优于另外两种算法。电压偏移量和静态电压稳定裕度指标的优化结果也都具有一定的优势。

表3给出了三种算法优化后各控制变量的最优值。从表中可以看出,ACPSO算法优化后各节点电压距其上下限有一定的距离,具有较好的电压质量,很好地解决了无功电源的出力接近极限,减少了无功优化目标函数与系统电压安全之间的冲突,较好地协调了二者之间的关系。

表2和表3的比较结果显示,自适应混沌粒子群算法进行多目标无功优化能够在全局范围内搜索到更优的解。

图1所示为ACPSO、PSO和GA算法在求解多目标无功优化过程中目标函数的收敛曲线图。

从图中可以看出,ACPSO算法在开始几代下降速度很快,显示了混沌初始化使该算法能从较好的初始值开始寻优,进而加快了搜索速度和整体提高了ACPSO的优化效率,其在迭代40次左右时已经能够非常接近最优解,而PSO算法要迭代到50次才能达到最优解,GA要迭代65次左右才能达到最优解,可见本文提出的算法具有较好的收敛性。

表4是ACPSO与PSO分别取相同粒子群数、迭代次数,独立运行50次时,得到的多目标无功优化问题最优解。

由表4可知,随着群体数的不断增加,两种算法所得的三个优化指标都越来越好,符合通常算法的优化规律。当群体数相同时,两种算法的优化结果相似,说明两种算法都能有效地搜索到多目标无功优化问题中的最优解,但ACPSO所得的平均最优解始终比PSO所得的好,且优化时间短,与原算法相比改进后的算法稳定搜索能力确实有所提高。当群体数从20增加到50时,ACPSO算法求得的平均最优值相差较小,也说明该算法具有良好的收敛稳定性。

IEEE118节点系统包含54台发电机、8台可调变压器及14个无功补偿点,系统参数参考文献[9]。将该算法独立运行50次,同样与另外两种算法做比较得出的平均优化结果如表5所示。

由表5中结果可知,在求解高维优化问题时,ACPSO算法显示出它的优越性,由于ACPSO算法对维数不敏感的特性,使其更适于应用在大规模复杂电力系统无功优化的求解中。通过以上两个典型算例分析可知,本文所提算法是值得信赖且有效的。

5 结论

采用自适应混沌粒子群算法进行无功优化可以通过混沌初始化无功优化控制变量值,使PSO算法能从较好的初始值开始进行寻优,同时,迭代更新控制变量值的过程中自适应调节惯性权重系数加快了迭代收敛的速度,并采用混沌算法优化部分较优的控制变量值等改进措施有效地克服了PSO算法容易早熟、陷入局部极值的缺陷,从而增强了算法找到全局最优解的能力。算例分析验证了ACPSO算法进行无功优化的有效性。

参考文献

[1]许文超,郭伟.电力系统无功优化的模型及算法综述[J].电力系统及其自动化学报,2003,15(1):100-104.XU Wen-chao,GUO Wei.Summer of reactive power optimization model and algorithm in electric power system[J].Proceedings of the EPSA,2003,15(1):100-104.

[2]张勇军,任震,李邦峰.电力系统无功优化调度研究综述[J].电网技术,2005,25(2):50-57.ZHANG Yong-jun,REN Zhen,LI Bang-feng.Survey on optimal reactive power dispatch of power systems[J].Power System Technology,2005,25(2):50-57.

[3]李秀卿,王涛,王凯.基于蚁群算法和内点法的无功优化混合策略[J].继电器,2008,36(1):22-26.LI Xiu-qing,WANG Tao,WANG Kai.A hybrid strategy based on ACO and IPM for optimal reactive power flow[J].Relay,2008,36(1):22-26.

[4]万黎,袁荣湘.最优潮流算法综述[J].继电器,2005,33(11):80-87.WAN Li,YUAN Rong-xiang.The arithmetic summarize of optimal power flow[J].Relay,2005,33(11):80-87.

[5]Kenney J,Eberhart R.Particle swarm optimization[C].//Proceedings of IEEE Conference on Neural Networks,Perth,Australia,1995.

[6]王秀云,邹磊,张迎新,等.基于改进免疫遗传算法的电力系统无功优化[J].电力系统保护与控制,2010,38(1):1-5.WANG Xiu-yun,ZOU Lei,ZHANG Ying-xin,et al.Reactive power optimization of power system based on the improved immune genetic algorithm[J].Power System Protection and Control,2010,38(1):1-5.

[7]张峰,段余平,邱军,等.基于粒子群算法与内点法的无功优化研究[J].电力系统保护与控制,2010,38(13):11-16.ZHANG Feng,DUAN Yu-ping,QIU Jun,et al.Research on reactive power flow based on particle swarm optimization and interior point method[J].Power System Protection and Control,2010,38(13):11-16.

[8]谢敬东,王磊,唐国庆.遗传算法在多目标电网优化规划中的应用[J].电力系统自动化,1998,22(10):20-22.XIE Jing-dong,WANG Lei,TANG Guo-qing.The application of genetic algorithm in the multi-objective transmission network of optimization planning[J].Automation of Electric Power Systems,1998,22(10):20-22.

[9]Wu Q H,Cao Y J,Wen J X.Optimal reactive power dispatch using an adaptive genetic algorithm[J].Electric Power&Energy System,1998,20(8):563-569.

自适应混沌粒子群算法 篇2

机组组合是在满足一定约束条件下,通过优化以达到总运行费用最小的目标[1]。机组组合属于大规模非线性、高维、混合整数的约束优化问题,许多学者经过研究提出大量了求解机组组合问题的方法,这些方法主要包括优先表法、动态规划法、分枝定界法、拉格朗日松弛法、内点优化法、Tabu搜索法、专家系统、人工神经网络算法、蚁群算法、遗传算法等[2]。其中,最简单和最快速的方法是优先表法,但是一般找不到最优解;动态规划法是一种广泛使用的机组组合方法,但是,随着机组数量和调度时间的增加,容易出现“维数灾”问题;拉格朗日松弛法是用于机组组合最有潜力的一种方法,但是由于对偶间隙的存在,制约了其使用的范围;遗传算法由于其可以得到全局最优解、实现简单及对目标函数没有特殊要求等特点而受到重视,但是遗传算法计算量大,效率低。

粒子群算法PSO(particle swarm Optimization Algorithm)是由Kennedy和Eberhart等于1995年开发出的基于群体智能的新型演化计算方法,其思想最初来源于对鸟群觅食过程的模拟,并最终发展成为一种有效的优化工具[3]。同遗传算法和蚁群算法等智能算法相比,PSO算法简单、容易实现,因此被广泛应用于非线性、多峰值等问题的优化。同时,和遗传算法类似,粒子群算法也存在早熟收敛现象,针对这些问题,国内外学者进行了大量研究工作,并提出了很多改进算法,Shi等引入惯性权重来更好地控制对解空间的开发[4],后来,Berhart和Shi又提出惯性权值线性递减算法[5],使粒子群算法的搜索能力明显改善,该方法在众多领域得到了应用[6,7]。

在可调整参数中,惯性权值是粒子群算法最重要的参数,较大的权值有利于提高算法的全局搜索能力,而较小的权值会增强算法的局部搜索能力。为了能在全局搜索和局部搜索之间取得更好的平衡,本文提出一种惯性权值自适应调整的粒子群算法,惯性权值随着粒子的状态变化而自动调整,计算结果表明该方法具有较好的性能。

1 数学模型

机组组合的约束包括功率平衡、备用容量要求、启停时间要求等条件,其目标是在调度期内,使总燃料费用、机组启停费用之和最小。机组组合的数学描述如下[8]。

1.1 目标函数

式中:Pij是机组i在j时段的出力;Fi(Pij)是机组i在发电功率为Pij时的燃煤费用,并且Fi(Pij)=ai+biPij+ci P2ij,ai,bi,ci为机组i燃煤费用系数;Uij是机组i在j时段的运行状态,当Uij=0时,表示机组i在j时段停机,当Uij=1时,表示机组i在j时段运行;σi,δi表示机组i冷/热启动系数;τi是机组i的起动耗量特性参数,Toff,ij表示机组i在j时段已经停机的时间。

1.2 约束条件

功率平衡约束:

式中:PDj为j时段系统的负荷功率需求。

旋转备用约束:

式中:PRj为j时段系统的旋转备用功率需求。

机组容量约束:

式中:Pimax为机组i的功率上限,Pimin为机组i的功率下限。

启停约束:

式中:Toni,Toffi为机组i的实际连续运行/停机的时间,MUTi、MDTi为机组i的允许最小连续运行/停机的时间。

2 改进的粒子群算法

2.1 基本粒子群算法

在基本粒子群算法中,首先在可行解空间中随机初始化m个粒子构成初始种群,并为每个粒子随机初始化一个速度,每个粒子都对应优化问题的一个解,并由目标函数为之确定一个对应的适应值,而速度用来决定粒子在解空间中的运动。在算法的每次迭代中,粒子将跟踪自身当前找到的最优解和种群当前找到的最优解,逐代搜索直到最后得到最优解。

设n维搜索空间中有m个粒子。第i个粒子表示为Xi=(x i1,xi2,,xin),它经历的最好位置(对应最好的适应值)记为Pi=(pi1,pi2,,pin),简称为Pbest。群所有粒子经历过的最好位置的用gbest表示。粒子的速度用Vi=(v i1,vi2,,v in)表示。对每一代,其速度和位置的调整如下式:

其中:ω为惯性权重,c1,c2为学习因子,rand()为[0,1)范围内变化的随机函数。

为了改善PSO算法的局部搜索能力,Shi引入了惯性权值w,其计算公式为:

式中:k为进化代数,kmax为设定的最大进化代数。

2.2 惯性权值自适应调整算法

线性权值递减策略简单、直观,且具有较好的寻优性能,但是惯性权值只和进化代数线性相关,不能适应算法中非线性变化的特性。事实上,惯性权值应该随着粒子进化速度的变化而变化。

定义:设gfun为粒子群最优的适应度值,avgfun为粒子群平均的适应度值,两者的差值反应进化停滞的程度,则进化停滞系数s=abs(gfun-avgfun)。

本文根据适应度的值将粒子群分成两个子群,对两个子群分别动态地使用不同的惯性权值,从而达到快速收敛的目的。假设优化目标是寻找极小值,将适应度小于平均值的粒子分成子群SUB1,将剩余的粒子分成另一子群SUB2,具体调整惯性权值的公式如下。

对于SUB1,不同的粒子采用不同的惯性权值,计算公式为:

对于SUB2,需要加大并采用统一的惯性权值,计算公式为:

其中:ωmin为最小惯性权重,一般取0.4;b1,b2为调整系数,一般1b=1.5,2b=0.3。

计算步骤如下:

step1:初始化粒子群,包括随机位置和速度;

step2:评价每个粒子的适应度;

step3:若算法满足要求,转step 8,否则执行step4;

step4:对每个粒子,将其适应值与其经历过的最好位置Pbest作比较,如果较好,则将其作为当前的最好位置Pbest,将其适应值与全局所经历的最好位置gbest作比较,如果较好,则重新设置gbest,并计算粒子群的平均适应度avgfun;

step5:计算进化停滞系数S,并根据适应度将粒子群分为2个子群;

step6:根据式(4)、(5)更新粒子的惯性权重,并进一步更新粒子的速度和位置;

step7:将迭代步骤次数加1,转step3;

step8:输出计算结果,结束。

3 机组运行状态识别和约束处理

3.1 机组运行状态识别

粒子每一维的取值范围为[0,Pimax],若某一维取值为[Pimin,Pimax],表示此时段该机组运行,输出功率等于相应的数值;若某一维取值为[0,Pimin],表示此时段该机组停运,并将输出功率置0。

3.2 约束处理

1)发电机出力约束处理

当Pi>Pimax时,取Pi=Pimax;当Pi

2)功率平衡约束处理

如果不满足功率平衡约束,采用随机调整的方式调整发电机的出力,具体调整过程如下:

4 算例

4.1 数学算例

用下面两个函数作为测试函数,求它们的最小值并和线性递减惯性权值方法对比。求解时,设定种群规模为30,最大迭代次数为200,粒子群惯性权重最大值为0.9,最小值为0.4,c1=c2=2,共计算20次,计算结果见表1。

在计算中,取粒子群数为30,迭代次数为500,计算结果如表1所示。

从表1中可以发现,对于两个函数,AWPSO的收敛精度较LDWPSO高,这表明自适应调整惯性权值的方法较线性递减惯性权值方法更能反应优化的搜索过程。

4.2 工程算例

为了进一步验证改进方法的效果,对10机系统24小时调度时段进行了计算,机组参数和运行参数具体见文献[8]。

表2是改进的自适应粒子群算法AWPSO和SGA(simple genetic algorithm)、PSO计算结果的比较[8,9],从表中可以发现,用改进的粒子群算法获得的总费用最低。这说明改进粒子群算法的搜索能力得到提高。

5 结论

惯性权值对算法的搜索能力有明显的影响,本文按照适应度的大小将粒子群分成两个子群,根据粒子群适应度的变化和粒子进化停滞系数自适应调整两个子群的惯性权值,提高算法的搜索能力。通过两个数学算例和一个10机24小时调度算例计算,证明该方法比线性递减惯性权值方法的收敛精度高,体现了该方法良好的性能。

参考文献

[1]Wood A J,Wollenberg B.Power Generation Operation and Control,2nd ed[M].New York:Wiley,1996.

[2]陈皓勇,王锡凡.机组组合问题的优化方法综述[J].电力系统自动化,1999,23(4):51-56.CHEN Hao-yong,WANG Xi-fan.A Survey of Optimization Based Methods for Unit Commitment[J].Automation of Electric Power Systems,1999,23(4):51-56(in Chinese).

[3]Kennedy J,Eberhart R.Particle Swarm Optimization[A].in:International Conference on Neural Networks IEEE[C].Perth,Australia:1995.1942-1948.

[4]SHI Yu-hui,Eberhart R.A Modified Particle Swarm Optimizer[A].in:The IEEE Congress on Evolutionary Computation[C].Anehorage:1998.69-73.

[5]Shi Y,Eberhart R.Empirical Study of Particle Swarm Optimization[A].in:International Conference on Evolutionary Computation[C].Washington(USA):1999.1945-1950.

[6]Robinson J,Rahmat Samii Y.Particle Swarm Optimization in Elect Romagnetics[J].IEEE Trans on Antennas and Propagation,2004,52(2):397-406.

[7]Elegbede C.Structural Reliability Assessment Based on Particles Swarm Optimization[J].Structural Safety,2005,27(10):171-186.

[8]Gaing Zwe-Lee.Discrete Particle Swarm Optimization Algorithm for Unit Commitment[A].in:IEEE/PES General Meeting[C].2003.

自适应混沌粒子群算法 篇3

由于传感器和天气等因素, 出现的图像清晰度、对比度下降等问题,严重影响后续的信息提取、模式识别等环节,必须要对图像进行增强处理以提高图像质量。非线性增强处理以更逼近于人类视觉效果应用广泛,但确定Beta 函数参数是一个复杂的问题,针对图像灰度分布的不同情况,一般采用人工和穷举法设置相应的灰度变换函数参数,没有自适应性和智能性,因此可以考虑利用智能优化算法来自动获取最佳参数。

粒子群算法(particle swarm optimization, PSO)是通过模拟鸟群觅食行为而发展起来的一种基于群体协作的随机搜索算法。这种算法以其实现容易、精度高、收敛快等优点引起了学术界的重视,并且在解决实际问题中展示了其优越性,然而具有唯一的内动力的粒子群系统当进化到一定程度后,粒子群中粒子间的差异减少,系统逐渐平衡,进化减缓甚至停滞。这影响到它探索得到最优解的能力。

本文将突变机制引入到传统的粒子群算法中提高系统进化的效率,并应用此算法自适应获取最佳非线性变换参数达到图像增强的目的。

1 图像非线性增强

1.1非线性变换及其不足

图像像素灰度变换可用如下最基本的形式表达:

Ιxy*=f(ixy)(1)

式(1)中I为输出的增强图像像素点(x,y)的灰度值,f是非线性变换。一般对不同质量的图像则采用不同的变换函数,与此对应的变换函数大致有四类。

其中横坐标为原图像的灰度值,纵坐标为变换后图像的灰度。(a)变换适用于对较暗区域进行扩展;(b)变换适用于对较亮区域进行扩展;(c)变换表示对中间区域进行拉伸而对两端区域压缩;(d)变换表示对两端区域进行拉伸而对中间区域压缩。其中(c)和(d)两种变换函数可用于处理灰度集中于某一区域的图像。

每一种变换曲线都可以被一组参数所描述。Tubbs提出了一种归一化的非完全Beta 函数F(u)来自动拟合图像增强的这4类变换曲线[1]。该归一化的非完全Beta 函数F(u)定义为:

F(u)=B-1(α,β)0utα-1(1-t)β-1dt0<α,β<10(2)

式(2)中,B(α,β)为Beta函数,表示如下:

B(α,β)=01tα-1(1-t)β-1dt(3)

通过调整α,β的值,就可以得到图1所示的各种类型的非线性变换曲线。

可以看出,关键就是确定Beta 函数中α,β的值来获得上面所示的各种类型曲线。然而确定这两个值是一个复杂的问题。常用的做法是根据图像灰度分布的不同情况,人工干预确定,这样存在三个不足:(1)不能自动完成增强任务;(2)人工设置参数的正确度,直接决定着增强效果;(3)耗费时间,毫无自适应、智能性可言。可见将自适应机制、自组织能力、自学习能力与传统的成熟算法相结合显得非常必要。

1.2像素非线性变换过程

设原始图像中像素点(x,y) 的灰度值为f(x,y),增强后的灰度值为f`(x,y),则像素非线性变换过程可归纳如下:

1.2.1 对原始图像像素点归一化

u(x,y)=f(x,y)-iminimax-imin

其中imax和imin分别为原图像的灰度最大和最小值,0≤u(x,y)≤1。

1.2.2 利用非完全Beta 函数进行灰度变换

u(x,y)=Τ(u(x,y))0u(x,y)1

1.2.3 计算增强后的图像灰度值f′(x,y)

f′(x,y)=(imax-imin)u′(x,y)+imin。

2 突变粒子群算法

2.1基本粒子群算法[2,3]

粒子群算法是Kennedy 和Eberhart 受鸟群觅食行为的启发于1995年共同提出的。基本原理是一个由m个粒子组成的群体在D维搜索空间以一定的速度飞行, 每个粒子在搜索时, 考虑到了自己搜索到的为最好点和群体内其他粒子的历史最好点, 在此基础上进行位置的变化。和遗传算法相似,它也是从随机解出发,通过迭代寻找最优解,它也是通过适应度来评价解的品质,但它比遗传算法规则更为简单,没有遗传算法用的交叉(crossover)以及变异(mutation)操作,在大多数的情况下,所有的粒子可能更快的收敛于最优解。

粒子的进化方程为

vij=vij+c1r1(pij-xij)+c2r2(pgj-xij)(5){vij=vmax,ifvij>vmaxvij=-vmax,ifvij<-vmaxxij=xij+vij(6)

式(5)、式(6)中,c1,c2为学习因子; r1,r2为在[0,1]区间内均匀分布的伪随机数; xij为粒子的位置; vij为粒子的速度。

为了使算法具有良好的全局寻优能力, Y. Shi和 Eberhart引入了惯性权重w[4],平衡全局和局部搜索能力,一般将它定为随迭代的次数线性减小,如由1.4到0,由0.9到0.4,由0.95至0.2等,从而形成了一个标准的PSO形式:

vij=wvij+c1r1(pij-xij)+c2r2(pgj-xij) (7)

{vij=vmax,ifvij>vmaxvij=-vmax,ifvij<-vmaxxij=xij+vij(8)

引入惯性权重的PS0算法进化规则由三部分构成:第1部分为粒子先前的速度;第2部分为“认知(cogntion)”部分,表示粒子本身的思考,即一个得到加强的随机行为在将来更有可能出现,并假设获得正确的知识是得到加强的,这样一个模型假定粒子被激励着去减小误差;第3部分为“社会(social)”部分,表示粒子问的信息共享与相互合作,即当观察者观察到一个模型在加强某一行为时,将增加它实行该行为的几率,即粒子本身的认知将被其他粒子所模仿。

2.2突变PSO算法[3]

进一步分析进化式(7)可知,PSO算法中有3个权重因子:惯性权重w、加速常数c1和c2。惯性权重w使粒子保持运动惯性,使其有扩展搜索空间的能力。加速常数c1和c2代表将每个粒子推向pbest和gbest位置的加速度:值较小时,允许粒子在被拉回之前可以在目标区域外徘徊;而值较大时则导致粒子突然的冲向或越过目标区域。

PSO算法进化的关键在速度。为使粒子不至越过目标区域太远,对粒子的速度加了限制:vmax。当vmax 较大时,粒子的飞行速度大,有利于全局搜索,但有可能飞过最优解;vmax 较小时,粒子可在特定区域内精细搜索,但容易陷入局部最优,一般取值为2.0。粒子的速度是根据自身与同伴的位置而变化的,所以粒子的速度还取决于粒子自身经历的最好位置和所有粒子经历的最好位置pbest和gbest。假设粒子xi正经历全局最好位置,那它将保持静止,其他粒子逐步向它靠拢,这样易陷于局部解。在加了惯性权重的基础上,当粒子xi经历全局最好位置时,该粒子只能做匀速运动,随着w的不断减小,该粒子几乎不变,仍有陷入局部解的可能。

通过粒子群算法的进化方程可以看出,它进化的唯一动力是各粒子之间的相互作用,这也就是一种内动力,具有唯一的内动力的粒子群系统当进化到一定程度后,粒子群中粒子间的差异减少,系统逐渐平衡,进化减缓甚至停滞。这影响到它探索得到最优解的能力。

为使PSO算法有更好的持续开发最优解的能力,本文在标准粒子群的基础上引入了突变机制,形成了突变粒子群算法,它能有效增大粒子间的差异性和非均匀性,打破平衡态,从而增强系统内动力以提高系统进化的效率。

突变机制指当粒子经历全局最好位置时,保存这个最好位置,同时随机产生一个新的种子,也就是说当产生了最优解时,增加一个新的扰动,扩大寻找的空间,更有利于找到全局最优解。

突变PSO算法的进化是将标准PSO算法的进化式子(7)改为:

vij=wvij+c1r1(pij-xij)+c2r2(pp-xij) (9)

{vij=vmax,ifvij>vmaxvij=-vmax,ifvij<-vmax

式(9)中pp用于保存粒子经历的全局最好位置。

突变PSO算法流程描述如下:

step1: 初始化,设定vmax、c1、c2、w和最大迭代次数N的值,产生原始种群并计算种群中个体的适应度f,记下pipg,pp保留pg的值,同时随机产生出得到pg的相应的新的个体;

step 2: 如果迭代次数等于N则转step 5,否则转step 3;

step3:种群按式(5)和式(4)进化,计算个体适应度fg;

step4:比较fsf;如果fs<f则修改pi,产生新的pg,若pg的值优于pp,就用pp保存pg,同时随机产生出得到pg的相应个体,否则,转step2:

step 5:输出最优个体。

2.3图像增强适应度函数[5,6]

这里使用新设计的适用图像质量评价的适应度函数Fitness,其值越大,表明图像增强后的效果越好。一般算法中考虑的因素仅为与图像质量最相关的方差Fac,其实图像的信息熵E、像素差别Fbr、信噪改变量Inc以及紧致度C等性能参数对于图像质量的好坏也具有重要参考价值。据此,本文采用上述5个因素结合的表达式,即

Fitness=EInc[Fac+2.5C]+Fbr (10)

式(10)中,

Fac=1nx=1Μy=1Νixy2-(1nx=1Μy=1Νixy)2;

E=-i=0L-1pilg2pi;

Fbr=x=1Μ-2y=1Ν(ix,y-ix+2,y)2;

Ιnc=n(h)>t1;

C=Ρ2A,即周长P的平方与面积A的比。

3 实验仿真

为验证本文算法的有效性,采用MATLAB7.0对同一幅较暗图像(图2)进行增强仿真实验[7]。分别采用一般的粒子群算法与本文改进的基于突变机制的粒子群算法对图2进行非线性增强比较,效果评价以处理后图像的直方图为标准。其实验结果图如图3所示。

从图3算法对应的灰度直方图可以看出,本文设计的基于突变机制的粒子群算法进行图像非线性增强,较一般的标准粒子群优化增强算法而言,灰度分布更加均匀宽广,对比度明显,视觉效果更好。

4 结论

本文提出了一种将突变机制引入到常规粒子群算法的改进型粒子群算法, 扩大了寻找的空间,更有利于找到全局最优解。利用本文的优化算法对图像进行了增强实验仿真,进而得到图像非线性增强Beta 函数的最优变换参数。通过Matlab仿真实验表明,该算法较使用标准粒子群算法的增强处理,在提高算法的搜索效率、收敛精度以及图像增强效果等方面有显著效果。

摘要:利用突变粒子群算法自动获取图像非线性增强函数的最佳变换参数,达到图像增强的效果。该算法基于粒子群算法原理,采用针对图像质量评价效果的新适应度函数(包括方差、信息熵、紧致度、信噪改变量以及像素差别五要素),提出一种基于突变机制的粒子群算法,有效增大粒子间的差异性和非均匀性,打破平衡态,从而增强系统内动力以提高系统进化的效率。实验表明,该算法具有较高的自适应性,即避免了陷入局部极小,加快了收敛速度,且增强质量评价明显提高。

关键词:图像增强,粒子群算法,突变,适应度函数

参考文献

[1] Tubbs J D.A note on parametric image enhancement.Pattern Recog-nition,1987;20(6):617—621

[2] Kennedy J,Eberhart R.Particle swarm optimization.Proceedings ofIEEE International Conference on Neural Networks.Perth,Australia,1995:1942—1948

[3]孙颖.微粒群算法的改进及其在图像预处理中的应用.南京:南京师范大学,2007

[4] Shi Y,Eberhart R C.Parameter selection in particle swarm optimiza-tion.In:Evolutionary programming.Porto V W,Saravanan N,Waa-gen D,et al.Eds.Berlin,Germany:Springer-Verlag,1998;VII:591—600

[5] Rosenfield A,Avinash C K.Digital picture processing.New York:Academic Press,1982:154—167

[6]孙勇强,秦媛媛.基于粒子群算法的彩色图像增强研究.徐州工程学院学报(自然科学版),2009;24(3):36—40

自适应混沌粒子群算法 篇4

粒子群优化算法(Particle Swarm Optimization,PSO)是由Kennedy和Eberhart[1]于1995年提出的。PSO算法作为一种基于群体智能的全局优化算法,具有概念清晰、调整参数少易实现、鲁棒性好等优点。

常规粒子群算法(SPSO)存在易陷入局部极值点,进化后期收敛速度慢,精度较差等缺点[2]。本文提出一种带自适应变异机制的粒子群算法(APSO)对宽带阶梯阻抗变换器这一经典微波电路进行优化设计,通过优化结果比较,表明APSO算法较SPSO算法具有更高的优化精度,同时避免了收敛速度慢及陷入局部极值点的问题。

1 SPSO算法

SPSO算法中,每个优化问题的潜在解都是搜索空间中一个粒子,所有粒子都有一个由被优化的函数决定的适应度值,并且每个粒子还有一个速度vi=(vi1,vi2,……,vid)决定它们方向和距离。在搜索空间中以一定的速度飞行,然后通过迭代找到最优解。在每一次迭代中,粒子通过跟踪两个极值来更新自己,第一个就是粒子本身所找到的最优解:个体极值pi=(pi1,pi2,……,pid)。另一个极值是整个种群目前找到的最优解:全局极值g=(g1,g2,……,gd)。设第i个粒子表示为xi=(xi1,xi2,……,xid),粒子根据以下公式来更新其速度和位置。

式(1)中rand()是均匀分布在(0,1)区间的随机数。ω为惯性权值,c1、c2为学习因子,根据经验一般取ω=0.9,c1=c2=1.4962。此外,粒子的速度Vid被一个最大速度Vmax所限制。如果当前对粒子的加速导致它在某维的速度Vid超过该维的最大速度Vmax,则该维的速度被限制为最大速度Vmax。

2 APSO算法

SPSO算法在寻找最优粒子的过程中,如果全局极值一直保持不变,并且此时得到的最优解不是理论最优解,可认为此时陷入了局部最优。一些粒子在飞向理论最优解的过程中如果能够找到优于当前全局极值的新位置,则算法可能跳出局部最优继续搜索,否则所有粒子最终将都停留在这个局部最优位置。

APSO算法从粒子速度和惯性权值两个方面对SPSO算法改进。首先对整个粒子群的个体极值增加一个评估值,个体极值劣于评估值则执行重新赋值,使寻优过程不易陷入局部极值;同时惯性权值采用开口向上的抛物线方式递减,是全局优化速度与局部搜索精度平衡,既保证了全局优化速度,又提高了优化精度。

APSO算法ω可以表述为:

其中ωStart=0.95,ωend=0.4,tmax为迭代次数。

3 应用举例

在微波电路设计中阶梯阻抗变换器是一种常用的微波电路。传统设计方法用Chebyshev综合理论设计出所需的变换器。以一个输入阻抗为50Ω输出200Ω的6节阶梯阻抗变换器为例[3]。采用传统网络综合理论设计的阶梯阻抗变换器具体值为:

Z1=58.3Ω;Z2=70Ω;Z3=89Ω;Z4=113Ω;Z5=143Ω;Z6=170Ω;L=0.25(按中心波长归一);带内最大电压驻波比为1.2;带宽为120%。

采用P S O算法优化,待优化的参数为各段传输线的特性阻抗Z 0 i和归一化长度L i(按中心波长归一i=1,2,3,4,5,6)。

由传输线理论知

其中ZL为负载阻抗,f为归一化频率。

在工作频率带宽内选择M个采样频点,分别计算对应频点反射系数,可近似认为是在整个工作频带内进行优化。优化选择的适应度函数为

其中x为待优化的参数Z 0 i和L i(i=1,2,3,4,5,6)构成的矢量。

为了便于比较,分别用SPSO算法和APSO算法优化计算3次,两种算法初始值都随机选取,迭代次数100。3次运算时间见表1。

单位:分钟

由上述结果可以看出S P S O算法在计算时由于陷入局部最优计算精度难以提高,而APSO算法在计算时没有出现局部最优情况,运算时间上优于SPSO算法。此次优化计算最优值为Z1=58.323Ω;Z2=69.869Ω;Z3=88.1645Ω;Z4=113.4245Ω;Z5=143.125Ω;Z6=171.459Ω;L1=0.2513;L2=0.2478;L3=0.2534;L4=0.2517;L5=0.2459;L6=0.2521(按中心波长归一);带内最大电压驻波比为1.12;带宽为142%。

4 结论

常规粒子群算法是一种概念清晰、计算速度快且易于实现的优化方法。但它存在着易陷入局部最优、后期收敛速度慢、精度差的缺陷。本文提出一种自适应粒子群算法可以有效地克服上述缺陷,将该算法应用于宽带阶梯阻抗变换器的优化设计中,通过与常规粒子群算法比较可得出,自适应粒子群算法可有效地避免陷入局部最优,并且在全局收敛速度和优化精度上都有所提高。

摘要:常规粒子群算法(SPSO)在优化过程中易陷入局部最优,本文分析了常规粒子群算法陷入局部最优的原因,提出采用一种自适应粒子群算法(APSO)避免陷入局部最优,改善算法的收敛性和精度。最后用自适应粒子群算法设计宽带阶梯阻抗变换器,结果表明,与常规粒子群算法相比,自适应粒子群算法全局速度快、成功率和精度也有显著提高。

关键词:自适应粒子群,宽带,阶梯阻抗变换器

参考文献

[1]Kennedy.J.Eberhart R.Particle swarm optimization[C].In:IEEE Int’1Confon Ncural Networks,Perth,Australia,1995:1942~1948

[2]Dorigo M,VManiezzo.A Colorni.The Ant System:Optimization by a Colony of Cooperating Agents[J].IEEE.Transactions on Systems,Man and Cybernetices,1996

自适应混沌粒子群算法 篇5

粒子群优化PSO是由Kennedy和Eberhart等人提出的一类模拟群体智能行为的优化算法。其思想来源于对鸟群捕食行为的研究,与遗传算法和蚁群算法相比,PSO容易实现并且可调整参数较少,因此被广泛应用。

文献[1,2,3]指出,目前PSO的研究主要集中在三个方面:一是算法的改进研究;二是算法的性能分析;三是算法的应用研究。而算法的性能分析主要针对参数不同取值组合对算法性能的影响。惯性权值是粒子群算法最重要的可调整参数之一。文献[4]指出较大的权值有利于提高算法的全局搜索能力,而较小的权值会增强算法的局部搜索能力。为了找到一种能在全局搜索和局部搜索之间取得最佳平衡的惯性权值选取方法,研究人员进行了大量的研究工作,先后提出了线性递减权值(LDIW)策略、模糊惯性权值(FIW)策略和随机惯性权值(RIW) 策略。而已有的搜索策略都是将粒子群看作一个整体来调整惯性权重,没有考虑到不同适应度的粒子需要不同的惯性权重,忽视了问题复杂度和群体规模等重要因素。本文分析了PSO算法中的惯性权重与种群规模、粒子适应度以及搜索空间维度的关系,把粒子惯性权重定义为这三者的函数,并结合动态管理种群的策略提出了改进的粒子群算法。新算法在每次迭代后根据当算法搜索状态更新每个粒子的惯性权重,实现了自适应调整全局搜索与局部搜索能力。通过与LDIW、 FIW 、RIW等调整算法在常用多峰测试函数上的实验结果证明,新算法具有较强的全局寻优能力与较高的搜索效率。

1 经典粒子群算法

PSO算法是一种进化计算技术,源于对鸟群捕食的行为的模拟。搜索空间中每个粒子代表一个可能解,粒子在解空间中移动的过程就是搜寻最优值的过程。所有的粒子都有一个表示当前在解空间中位置的属性Xi=(xi1xi2,… ,xin),根据粒子当前位置会产生一个粒子适应度以反映粒子位置即解的优劣。每个粒子还有一个速度向量Vi=(vi1,vi2,…,vin)决定其运动的方向和运动的快慢。首先粒子群初始化为一群随机粒子(随机解),然后通过迭代来寻找最优解。在每一轮的迭代中,粒子通过速度更新当前位置,并通过适应值函数计算出其适应度,然后根据式(1)更新其当前速度:

Vi=ωVi+crand()×(Pbesti-xi)+

crand()×(Gbest-xi) (1)

接着用式(2)更新粒子位置Xi:

Xi=Xi+Vi (2)

其中Pbesti表示粒子i的个体最优值,即粒子i目前为止在搜索空间中到过的最佳点,Gbest表示整个粒子群的全局最优值,即整个粒子群到目前为止在搜索空间中到过的最佳点。C1 和C2是两个正常数,称为学习因子。 rand() 表示0 到1之间的随机数。另外,ω称为惯性因子,ω值较大,全局寻优能力强,收敛较慢;反之局部寻优能力较强,收敛较快。

2 惯性权重调整策略

惯性权重ω是PSO算法中调整全局搜索与局部搜索的最重要参数。文献[4]指出,较大的惯性权重有利于全局探索,但效率较低;较小的惯性权重能够加速算法的收敛,但是容易陷入局部最优。如何设置合理的惯性权重,是避免陷入局部最优并高效搜索的关键。在实际问题背景下,惯性权重如何设置,要同时分析众多因素和当前搜索状态。其中,粒子适应度、种群规模以及搜索空间维度是表征当前搜索状态的重要参数。下面分别定性分析这三者与惯性权重的关系。

粒子适应度是反应粒子当前位置优劣的一个参数。对于某个具有较高适应度的粒子Pi,在Pi所在局部区域可能存在能够更新全局最优的点Px,即Px所表示的解优于全局最优。为使全局最优能够迅速更新,迅速找到Px,应当应减小粒子Pi惯性权重以增强其局部寻优能力;而对于适应度较低的粒子,当前位置较差,所在区域存在优于全局较优解的概率较低,为了跳出当前的区域,应当增大惯性权重,增强全局搜索能力。

种群规模是决定粒子对搜索空间覆盖程度关键因素。种群规模较大时,种群多样性较高,粒子所在区域覆盖全局最优解的概率较大,则应该减小惯性权重,提高局部搜索能力,实现快速收敛于全局较优;种群规模较小时,尤其对于多峰函数,粒子通常不能有效覆盖整个搜索空间,则应该增大惯性权重,提高全局搜索能力,避免陷入局部最优。

由文献[5]可知,当搜索空间维度较大并且问题较复杂时,PSO常常收敛过早,很容易陷入局部最优。如何根据不同复杂程度的问题背景,在搜索效率和寻优能力之间寻求较好平衡极为重要。对于具有高维度搜索空间的复杂问题,应该减小惯性权值以提高全局搜索能力,避免过早收敛陷入局部最优。相反,当搜索空间维度较少时,应该增大惯性权值实现快速收敛以提高搜索效率。

由以上分析可知,粒子适应度、种群规模以及搜索空间维度与惯性权重有密切关系,可根据这些参数的值实现自适应调整惯性权重。式(3)将惯性权重定义为粒子适应度、种群规模以及搜索空间维度三者的函数:

ωi=1aFi/(D×i=1i=nFi)-exp(-n/b)+1(3)

其中ωi表示第i个粒子惯性权重,Fi表示第i个粒子适应度,D表示搜索空间维度,n表示粒子数目,ab为经验参数。算法在每次迭代后通过式(3)更新所有粒子的惯性权重,从而实现了对局部搜索和全局搜索的能力自适应调整。

3 动态管理种群策略

在PSO算法的某一次迭代中,如果有部分粒子位置不佳,致使其Pbesti连续多次没有更新,这些粒子当前所在位置较差,并不能为Gbest的更新作出贡献,为提高算法搜索效率,可以把这些粒子删除。相反,如果Gbest连续多次没有被更新,此时粒子群体可能陷入局部最优,需要增加粒子来增加启发信息,加快Gbest的更新。因此,提出动态种群管理策略,具体描述如下:

1) 当Gbest连续s次没有改变,说明现有种群需要新的粒子来提供启发信息,则动态添加一个粒子,并用个体最优Pbesti更新最频繁的两个粒子的位置组合成初始位置,以全部粒子的平均速度作为初始速度;

2) 当Gbest连续s次改变,说明现有种群启发信息已经充足,为提高算法运行效率,则动态删除Pbesti更新最不频繁的粒子。

4动态管理种群的自适应惯性权重粒子群算法描述

根据上述分析,提出动态管理种群的自适应惯性权重粒子群算法—DSAPSO,算法描述如下:

DSAPSO (D, MAX,MIN,K, Pn,s)

输入:求解空间维度D,粒子数目上限MAX,粒子数目下限MIN,初始粒子数目Pn,粒子动态管理敏感指数s

输出:问题的解。

步骤:

(1) 随机生成Pn个粒子的初始位置及初始速度;

(2) 计算粒子适应度Fi,更新个体最优Pi及全局最优Pg;根据式(3)计算粒子惯性权重ωi;

(3) 根据粒子适应度更新个体最优Pi及全局最优Pg;

(4) 根据式(1)更新粒子速度,根据式(2)更新粒子位置;

(5) 动态管理种群:

① 当Gbest连续s次改变,且Pn>MIN,则动态删除Pbesti更新最不频繁的粒子。

② 当Gbest连续s次没有改变,且Pn<MAX,则增加一个粒子,用Pbesti更新最频繁的两个粒子的位置组合成初始位置,以全部粒子的平均速度作为初始速度。

③ 当Gbest连续s次没有改变,且Pn=MAX,则删除Pbesti更新最不频繁非全局最优粒子,然后动态添加一个新的粒子,并用Pbesti频繁被更新的两个粒子的位置组合成初始位置,以全部粒子的平均速度作为初始速度。

(6) 若达到结束条件则结束,否则返回(2)。

算法整体采用动态管理种群策略,并在每一次迭代中计算式(3),分别更新每个粒子的惯性权重。

5 实验结果以及分析

5.1 实验环境以及实验参数设置

在实验中,取粒子群规模MAX为30,MIN为5,其他算法粒子数目固定为30;设置c1=c2=2 。实验选取了六个不同特点的常用测试函数,如表1所示。其中,Sphere为简单的单峰函数, 在原点达到极小值;Rosenbrock为非凸的病态函数,在xi=1时达到极小值;Griewank在xi=0时达到全局极小值,当xikπ i(i=1,2,…,n,k=1,2,…,n)时,达到局部极小值;Schaffer’f6的全局极大值在(0,0),它的全局最优点被次优点所包围;Rast rigrin为多峰函数, 当xi=0时达到全局极小值,在其周围存在多个局部极小点;其中,维数是各个函数求值的空间维度D,目标值是算法结束条件,即算法搜索到的解所必须达到的值。

5.2 实验方案

采用本文提出的DSAPSO算法与下面三种惯性权重调整算法进行比较:惯性权重线性下降的标准粒子群算法LWPSO (文献[5]) 、随机惯性权重粒子群算法RWPSO(文献[6])以及带压缩因子的粒子群算法CFPSO(文献[7])。对于四种不同算法,采用两种方案进行试验:方案一是固定迭代次数为1000次,计算每种算法运行结果的平均值;方案二是确定每个函数的优化目标值,计算每种算法的评价迭代次数,超过5000次记为无穷大。每种方案独立运行10次计算结果平均值。

5.3 实验结果汇总

表2统计了固定迭代次数为1000次时,四种算法求解的平均值和最差的一次求解结果。表3统计了四种算法搜索到表1中对每个函数预订的目标值时,迭代的次数和所用的时间(单位:秒),如果迭代次数超过5000,则将次数和时间都计为无穷大。图1记录DASPSO算法在Sphere函数上求解时,PSO粒子数目随迭代次数的变化。

5.4 实验结果分析

从表2中可以看出,本文提出的DASPSO算法,由于惯性权重选择较为恰当,全局寻优能力较强,在五个函数上求解普遍优于其他算法,而且最差解与平均解相差不大,较为稳定。RWPSO 算法采用随机策略,增加种群多样性,在对多峰函数优化上算法取得不错的结果;但对单峰Sphere函数效果较差,其主要原因算法在后期仍然采用随机惯性赋值策略,没有增强局部搜索能力,很难收敛到较优解。表2比较了四种算法的全局寻优能力与收敛速度。可以看出,DASPSO算法迭代次数与所用时间远少于其他算法。这是由于在迭代过程中,动态删除部分无效粒子并不断补充新粒子,粒子数目一直少于其他算法,但每个粒子都非常活跃,全局最优更新非常快。图1记录了在Sphere函数上搜索时粒子数目的变化折线图,可以看出,在搜索过程中粒子数目很少达到30,较少的粒子减少了计算粒子适应度以及粒子移动等时间开销,极大地提高了搜索效率。

6 结 语

惯性权重是决定PSO算法全局寻优与局部寻优的重要参数。本文提出了根据搜索状态在一种每次迭代后自适应调整惯性权重,进而更好地平衡全局搜索和局部开发的改进PSO算法。改进的算法采用了动态管理种群策略,极大地提高了搜索效率。新算法与LDIW、 FIW 、RIW等调整算法在常用多峰测试函数上的实验结果证明,新算法具有较强的全局寻优能力与较高的搜索效率。

摘要:为较好平衡粒子群算法中全局搜索能力与局部搜索能力,分析了PSO(Particle Swarm Optimization)算法中的惯性权重与种群规模、粒子适应度以及搜索空间维度的关系,并把粒子惯性权重定义为这三者的函数。通过在每次迭代后更新每个粒子的惯性权重,实现了自适应调整全局搜索能力与局部搜索能力,并结合动态管理种群的策略提出了改进的粒子群算法。通过在多个常用测试函数上与已有惯性权重调整算法测试比较,证明新算法具有较强的全局寻优能力与较高的搜索效率。

关键词:粒子群算法,自适应惯性权重,种群规模,搜索空间维度,粒子适应度,动态管理种群

参考文献

[1]Angeline P J.Using selection to improve particle swarm optimization[C]//IEEE International Conference on Evolutionary Computation.Anchorage,Alaska,USA,2007:84-89.

[2]Jacques Roget,Jacob SVesterstr.A Diversity guided Particle Swarm Op-timizer,the ARPSO[R].Technical Report No.2002202,2008:65-69.

[3]Shi Y,Eberhart R.A modified particle swarm optimizer[C]//IEEEWorld Conf on Computational Intelligence.Piscataway:IEEE,2005:69-73.

[4]Zhang L P,Yu H J,Hu S X.A new approach to improve particle swarmoptimization[C]//Lecture Notes in Computer Science.Chicago:Springer2Verlag,2006:134-139.

[5]盛跃宾,陈定昌,等.有等式约束优化问题的粒子群优化算法[J].计算机工程与设计,2006,27(13):25-29.

[6]刘洪波,王秀坤,谭国真.粒子群优化算法的收敛性分析及其混沌改进算法[J].控制与决策,2006,21(6):636-640.

[7]韩江洪,李正荣,魏振春.一种自适应粒子群优化算法及其仿真研究[J].系统仿真学报,2006,18(10):2969-2971.

自适应混沌粒子群算法 篇6

电力系统无功优化主要目的是在合理的电压质量要求下尽量降低网络损耗, 其主要控制手段有调节发电机端电压、控制有载调压变压器的分接头和可投切并联电容/电抗器。其中, 发电机端电压 (或无功出力) 是连续变量, 补偿电容器/电抗器和有载变压器分接头档位是整数变量, 因此, 无功优化是一个典型的整、实数混合的多变量、非线性的优化问题。

粒子群优化算法PSO (Particle Swarm Opti-mization) 最初源于对鸟群捕食行为的研究, 是一种新的进化计算方法 (Evolutionary Computation) , 也是一种群智能优化算法 (Swarm Intelligent Optimization) 。此算法及其在相关领域的应用已引起各国学者广泛关注, 被越来越多地应用于智能优化、模式识别、神经网络的训练等诸多领域。

1 电力系统无功优化的数学模型

本文采用有功网损最小为控制优化目标函数, 以发电机无功出力和节点电压为状态变量, 以有载调压变压器变比、无功补偿电容器容量和发电机端电压为控制变量, 数学模型如下:

等式约束方程为:

控制变量不等式约束:

状态变量不等式约束:

式中:NE为支路号集合, Ni为与节点i有关联的节点号集合, NPQ为P·Q节点号集合, NB为总的节点号集合, NG为发电机节点号集合, Nr为变压器支路集合, NC为补偿电容器节点集合;S为平衡节点;Gij为支路ij的电导;Bij为支路ij的电纳;Vi, Vj为节点ij的电压幅值;θij为节点ij的电压相角差;QCi为节点i的无功补偿容量。

2 自适应粒子群算法无功优化过程

采用连续变量和离散变量混合的实数编码, 求解步骤如下:

步骤1:输入系统数据, 初始化粒子群。首先输入系统的结构、网络数据和控制参数, 其中发电机节点电压的上下限、电容器容量的上下限、变压器分接头上下限等构成了解的可行域。其次确定粒子的维数M。

步骤2:计算目标函数值。对群体中的每个粒子, 分别进行潮流计算, 得到每组控制变量取值下的有功网损, 并判断是否违反节点电压以及发电机无功出力等约束, 将电压及发电机无功越界值作为罚函数项计入到目标函数。

步骤3:记录两个极值。比较所有粒子对应的目标函数值, 首先记录粒子i (i=1, 2, …, N) 当前的个体极值PBest (i) 及答应的目标函数值F (PBest (i) ) ;从PBest (i) 中确定整体极值GBest, 并记录GBest答应的目标函数值F (GBest) 。

步骤4:计算适应值判断可行解:计算各粒子适应值, 并验证是否是问题的可行解, 是可行解的粒子按适应值由小到大排序, 分类记录迭代结果。

步骤5:更新最优值:若粒子是问题可行解且适应值优于历史群体最优值, 则更新群体最优值;取问题可行解的前4个最好粒子替代历史其余粒子的最好解进行速度更新。

步骤6:混沌变异:若粒子相邻三代适应值无变化或变化率小于某极小值, 且此粒子的适应值不是群体最优值, 则此粒子陷入局优, 应对每维变量进行变异。

步骤7:输出问题的解, 包括发电机机端电压、补偿电容器组数和变压器分接头档位等控制变量的取值情况, 系统各节点电压、发电机无功出力等状态变量的数据, 以及对应的网损值。

3 算例仿真分析

为了检验上述利用粒子群优化算法求解无功优化问题的有效性, 本文使用IEEE30节点试验系统进行计算。系统参数均用标么值表示, 其基准功率是100MW。P-V节点和平衡节点的电压上下限设置为0.9和1.1。P-Q节点的电压上下限设置为0.96和1.04。表1列出了分别采用原对偶内点法和本文算法 (取群体规模N=30) 优化前后各变量的取值情况, 其中方法一为原对偶内点法, 方法二为本文粒子群优化算法。

可以看出采用粒子群算法优化后, 发电机无功出力和无功补偿都在约束范围内, 系统节点电压普遍得到了改善, 最低电压由0.94提高到1.02, 可以取得更好的经济效益。

4 实际算例分析

算例为七台河某地区电力系统, 有2台发电机, 6个并联电容器 (节点16、20、22、25、28、31) , 6台可调变压器, 系统负荷load S=125.24+j79.71, 并联电容器无功出力调节范围:节点16、20为-0.06~0.06;节点22、25为-0.06~0.18;节电28、31为-0.06~0.24;可调变压器抽头变化范围均为0.9~1.1。运用算法优化后, 网损显著下降, 其中本文提出的IDE算法的降损效果最好。系统无功优化前, 有9个节点电压标幺值低于0.95, 最低点电压发生在节点31, 其标幺值为0.874, 电压质量情况很不理想;优化后, 各节点电压质量明显提高, 最低节点电压 (节点31) 标幺值为0.99。图1为优化前后各节点电压曲线。

4 结论

本文提出了一种粒子群优化算法, 采用符合均匀分布规律的粒子作为初始粒子种群, 为确保更好地在全局范围搜索, 在粒子速度和位置更新时不仅仅考虑粒子的个体最优和群体最优两个极值, 提出了粒子自身探索机制。经过IEEE-30节点系统的计算分析, 此PSO方法具有优越的计算效率和良好的收敛性, 非常适用于求解电力系统无功电压的综合控制问题, 具有较强的实用价值。

参考文献

[1]Clerc M, Kennedy J.The Particle Swam Explo-sion, Stability and Convergence in a Multidi-mensional Com-plex Space[J].IEEE Trans on Evolutionary Computation, 2002, 6 (1) :58-73.

[2]张勇军, 任震, 李邦峰.电力系统无功优化调度研究综述[J].电网技术, 2005, 29 (2) :50-56.

自适应混沌粒子群算法 篇7

基于群体智能理论的计算技术的研究成为了近几年研究的热点, 蚁群算法、粒子群优化算法、混合蛙跳算法等等都是基于群体协作的搜索算法。粒子群优化算法[1,2] (particle swarm optimization, PSO) 是由Kennedy和Eberhart于1995年提出的一种全局优化算法。相对于其他算法而言, PSO算法原理比较简单, 需要调节的参数较少, 容易实现, 而且PSO算法中的粒子具有记忆功能, 可以保留局部最优和全局最优信息, 协同搜索最优解。不过PSO算法也存在着缺点, 由于它收敛速度快, 容易陷入局部最优, 在进化后期, 由于种群多样性的减少, 搜索精度逐渐降低。

针对以上PSO算法的缺点, 研究人员提出了各种改进的方法。Shi等[3]将惯性权重引入了速度的更新公式中;Van den Bergh等[4]提出了合作粒子群算法, 引入多种群等等。在本文中, 通过借鉴遗传算法[5]的特点及合理平衡算法的搜索能力, 提出了一种新的改进的混合粒子群算法, 即基于交叉和自适应权重的混合粒子群优化算法。

1 基本粒子群优化算法

PSO算法是源于鸟的捕食行为, 将每个待优化问题的解都看成是空间中的一只鸟, 并抽象成一个粒子, 每个粒子有一个初始的位置和速度, 并有一个由被优化的函数 (即适应度函数) 决定的适应值, 粒子的优劣由此适应值决定。

PSO算法是通过迭代找到最优解, 但它具有自己独特的搜索方式。首先, 随机初始化一群粒子, 粒子们知道自己目前所处的位置以及目前自己发现的最好位置, 此外粒子还知道此时整个粒子群体中的最好位置。假设在d维搜索空间中的第i个粒子的位置和速度分别是Xi=[xi, 1, xi, 2, …, xi, d]和Vi=[vi, 1, vi, 2, …vi, d], 每一次的迭代过程中, , 粒子是通过两个最优解来更新自己, 一个是粒子本身找到的最优解, 称为个体极值pbest, Pi= (pi, 1, pi, 2, …, pi, d) ;另一个是整个种群目前的最优解, 称为全局最优解gbest, Pg= (pg, 1, pg, 2, …, pg, d) 。粒子根据下面两个公式[3]更新自己的速度和新的位置。

其中, w为惯性权重因子, c1和c2为学习因子, 一般c1等于c2, 通常取值为2。

基本粒子群优化算法基本流程如下:

步骤一:随机初始化所有粒子, 粒子的种群规模设为N, 初始化粒子的位置和速度。

步骤二:对种群中的所有粒子进行评价, 将当前各个粒子的位置和适应值存在各粒子的pbest中, 将整个pbest中适应值最优个体的位置和适应值存于gbest中。

步骤三:利用上面的公式 (1) 和公式 (2) 更新粒子的速度和位置。

步骤四:根据适应度函数评价种群中的所有粒子。

步骤五:对于每个粒子, 将其适应值与经历过的最好位置pbest的适应值进行比较, 如果当前的适应值更优, 则将当前粒子的位置和适应值作为当前的最好位置pbest保存。

步骤六:将每个粒子的适应值和全局经历的最好位置gbest的适应值进行比较, 如果当前的适应值更优, 则将当前粒子的位置和适应值作为全局的最好位置gbest保存。

步骤七:如果达到终止条件, 则停止算法, 输出结果, 否则返回步骤三继续进行搜索。

2 改进的粒子群优化算法

2.1 交叉因子

在粒子群优化算法中, 整个搜索的过程是跟随当前的最优解的过程, 所以算法可以更快的收敛于最优解, 然而过快的收敛却使算法容易陷入“局部极值”。再者, 由于粒子群优化算法不同于遗传算法、差分进化算法[6]等群体进化算法有交叉和变异操作来作用于个体, 以产生一个新的种群, 从而维持种群的多样性。粒子群优化算法在种群多样性降低的情况下搜索精度也会降低。为了解决上述问题, 借鉴遗传算法中的交叉的思想, 在算法的每一次迭代过程中, 按照一定的交叉概率选取指定数量的粒子, 将选取的粒子随机两两进行交叉, 产生相同数目的子代粒子, 用新产生的子代粒子替换其父代粒子, 从而产生新一的种群。

子代粒子的位置可以由下面公式得出:

child (x) =p*parent1 (x) + (1-p) *parent2 (x)

或child (x) = (1-p) *parent1 (x) +p*parent2 (x)

p为0~1之间的随机数。

子代粒子的速度由下面公式计算得出:

undefined

或childundefined

2.2 自适应权重

粒子群算法的全局探索和局部改良能力的平衡决定了算法的搜索性能, 对于群体智能算法, 其迭代搜索过程可以归纳为社会协作、自我适应和竞争三个基本环节[7]。“自我适应”是指个体主动或者被动的调节自身的状态以便于更好的适应环境。对于粒子群算法而言, 其惯性权重部分即属于粒子的自我适应。如果惯性权重w较大, 有利于跳出局部最小点, 便于进行全局搜索;如果惯性权重w较小, 则有利于算法在当前的范围内进行局部精确搜索。Shi 和Eberhart提出了线性递减的权重[8], 但是这种方法需要反复的试验确定最佳的值, 而且如果在最初搜索阶段找不到最优值, 随着w的减小, 收敛能力增强, 易陷入局部最优。 黄轩等[9]提出了随机惯量取值策略, 然而这种方法随机性太强。本文中我们运用非线性的动态权重策略, 即自适应惯性权重。当所有粒子的适应值差异较大时将惯性权重减小, 当所有粒子的适应值趋于一致或趋于局部最优时, 将惯性权重增加。惯性权重w如下表示:

undefined

上述中wmin、wmax分别表示w设为最小值和最大值, f表示粒子当前的适应值, favg和fmin分别表示当前所有粒子的平均适应值和最小适应值。运用上述的方法来设置权重, 当粒子适应值优于平均适应值时其惯性权重较小, 对粒子起到了保护作用, 相反当适应值差于平均适应值时其惯性权重较大, 可以使粒子向较好的区域移动, 有利于向最优解靠近。

2.3 新的混合算法

经过上述方法将基本的粒子群优化算法进行改进, 称改进后的为基于交叉自适应权重混合粒子群优化算法。流程图如图1所示。

改进后的混合PSO的基本步骤如下:

步骤一:随即初始化种群, 初始化所有粒子的初始速度和位置。

步骤二:对种群中的所有粒子进行评价, 将当前各个粒子的位置和适应值存在各粒子的pbest中, 将整个pbest中适应值最优个体的位置和适应值存于gbest中。

步骤三:更新粒子的速度和位置。

步骤四:更新惯性权重w。

步骤五:对于每个粒子, 将其适应值与经历过的最好位置pbest的适应值进行比较, 如果当前的适应值更优, 则将当前粒子的位置和适应值作为当前的最好位置pbest保存。

步骤六:将每个粒子的适应值和全局经历的最好位置gbest的适应值进行比较, 如果当前的适应值更优, 则将当前粒子的位置和适应值作为全局的最好位置gbest保存。

步骤七:根据交叉概率将指定数量的粒子进行两两交叉, 产生相同数目的子代粒子, 按照上述的子代粒子的速度和位置公式计算其相应的速度和位置。

步骤八:如果达到终止条件, 则停止算法, 输出结果, 否则返回步骤三继续进行搜索。

3 实验

用Shuber函数来测试改进后的粒子群算法的寻优能力, 并与基本的粒子群算法进行比较。

undefined

该函数存在760个局部极小点, 函数的最小值为-186.7309。

在基本PSO和混合PSO算法中, 将种群大小设为30, c1和c2设为2, 在混合PSO算法中, 杂交概率设为0.9, wmax=1.0, wmin=0.4。将两种算法的迭代次数设为2000, 分别独立运行50次, 得出如表1所示的结果。

4 结束语

本文针对粒子群算法易陷入局部最优及由于种群多样性减少搜索精度不高的特点, 提出了基于交叉机制的自适应权重的混合粒子群算法。通过实验可以看出新的混合的粒子群算法较基本的粒子群算法而言具有更好的寻优能力, 未来的研究工作是深入研究新算法的机理并将其应用到实际的未曾运用到的领域。

参考文献

[1]Kennedy J, Eberhart R C.Particle swarm optimization[C]//Pro-ceedings of the IEEE International Conference on Neural Networks, 1995:1942-1948.

[2]Eberhart R, Kennedy J.Anewoptimizer using particle swarm theo-ry.Proc of the Sixth[C].International Symposium on Micro Ma-chine and Human Science, Nagoya, Japan, 1995:39-43.

[3]Shi Y, Eberhart R C.Amodified particle swarm optimizer.[C]//Proceedings of the IEEE CEC.1998:303-308.

[4]Van den Bergh F, Engelbrecht A P.A cooperative approach to par-ticle swarm optimization[J].IEEE Trans.on Evolut.Comput.2004, 8:225-239.

[5]Holland J H.Adaptation in Natural and Artificial Systems[J].AnnArbor:University of Michigan Press, 1975.

[6]Price K, Storn R, Lampinen J.Differential Evolution-A PracticalApproach to Global Optimization[J].Berlin:Springer, 2005.

[7]王凌, 刘波.微粒群优化与调度算法[M].北京:清华大学出版社, 2008:17-19.

[8]Shi Y, Eberhart R C.Empirical study of particle swarm optimization[C]//Proceedings of the IEEE Congress on Evolutionary Computa-tion, 1999:1945-1950.

上一篇:临床仪器下一篇:医院资产管理