自适应混沌优化算法(共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 并行自适应混沌优化方法概述
并行自适应优化方法主要利用具有随机性、规律性以及敏感性等特性的混沌变量对电量预测方法进行优化搜索。具体来说,并行自适应混沌方法的优化过程由一次载波和二次载波组成,一次载波过程的进行需要借助于混沌变量的遍历性特征,对电量预测实施全局优化搜索操作,反过来使混沌变量的遍历区间得到最大化和最优化处理 ;以一次载波为基础的二次载波过程主要是在混沌变量得到最优化处理的基础上对混沌变量进行局部搜索。
混沌优化的一次载波过程是二次载波过程的前提和基础,它对整个混沌优化算法起着不可替代的作用。一次载波过程对搜索区间有一定要求,一般来说,若搜索区间较小,一次载波找到最优解的可能性也将加大 ;若搜索区间过于宽泛,混沌变量达到最优解的时间会相对变长,还有,如果计算机字长的截断出现误差,我们将无法对混沌运动的长期行为进行预测,这将最终导致我们无法得到混沌变量的最优解。
二次载波过程的功能在于对混沌变量的最优解进行精细搜索,确定混沌扰动的范围。与一次载波过程一样,二次载波系数也对混沌变量的搜索区间有限制 :如果二次载波系数值较小而混沌变量的搜索区间也过小,则会大大降低混沌算法的寻优精度 ;如果二次载波系数过大而混沌变量的搜索范围也相应变大,搜索过程的稳定性会大大降低,寻优的效率也会相应降低。
2 中长期电量预测的数学模型
影响地区实际电量的因素众多,地区的电量变化和发展规律也不尽相同。因此,要对地区的电量特点进行准确分析必须要借助于科学的数学模型。数学模式的使用不但可以减少数学计算的强度,而且有利于提高电量预测的精度。对电量进行预测的目的在于了解和控制未来电量的发展趋势,帮助工作人员做出合理的电量规划。长期的预测实践证明 :基于数学模型的预测计算也存在不尽合理的地方,因此,加大对电量和电量预测模型的分析和研究十分必要。
具体来说,地区电量预测模型可分为E型、G型以及S型三种不同的类型,要对这三种类型进行分析,首先必须掌握电量变化规律,下图(图一)展示了电量的变化发展趋势。
E模型主要适用于处在发展初级阶段但发展势头良好的地区,这种模型以指数型运算模式为主,其表达式为 :y=a e x p(bx) 和y=a+bx+cx2+dx3,其中x表示时间,y为变量,而a、b、c、d为参数。
G模型主要适用于发展历史较长且电量预测出现相对饱和状态的地区,该种模型主要采用Compertz和扩张反正切模型,其表达式为 :In y=a+b e x p (-c x ) 和y=a+b arc tan(c x+d),其中x表示时间,y为变量,而a、b、c、d为参数。
S模型主要适用于初期用电较少但发展迅速的地区,其表达式为 :y=1/a+b e x p (-c x ) 和y=d+1/a+b e x p (-c x ),其中x表示时间,y为变量,而a、b、c、d为参数。
3 并行自适应混沌优化方法在中长期电量预测中的应用
3.1 在中长期电量预测中应用并行自适应混沌优化方法的具体步骤
将并行自适应混沌优化方法应用到中长期电量预测中,首先需要对相应的目标函数进行确定。经过分析和计算,我们得到 这样一个 目标函数 表达式 :,其中N表示年数,dp表示第p年的电量值,yp表示第P年的电量计算值。
为了得到预测模型的最优参数,我们需要进行以下操作 :首先,以电量的时间序列和电量增加的时间序列为基础,作出相应的散点图 ;其次,分析和判断电量发展的不同类型,以此来选择合适的预测模型 ;再次,利用并行自适应混沌优化方法对预测模型进行求解运算 ;最后,根据所得的预测模型对未来的电量进行预测。
3.2 并行自适应混沌优化方法在中长期电量预测中的应用实例
接下来,笔者将以某地区连续7年的电量数据为依据对其未来5年的电量进行预测。下表(表一)展示了该地区7年内电量的原始数据,表内包含了用电量、用电增长量以及用电增长率等数据。
从上表数据的显示中,我们可以发现 :该地区的用电量在逐年上涨,其增长速度趋于饱和状态,而其电量的增量出现波动。因此,经过分析和判断,我们可以选用二次多项式模型对其进行计算,并根据计算结果来预测未来5年的用电量。下图(图二)展示了此次电量预测的结果。
从上图的预测数据中,我们可以得出以下结论 :采用并行自适应混沌优化方法进行中长期电量预测具有其可行性和合理性,其电量预测的精度要明显高于其它预测方法。
4 结束语
综上所述,并行自适应混沌优化方法具有其它预测方法所没有的操作简单、预测准确等显著优势,它能极大地提高预测的精度和准确度,因此,将其运用到中长期电量预测中有其科学性和合理性。同时,根据中长期电量预测数据的显示我们认识到 :电量模型的预测精度要明显低于电量增量模型的预测精度。在后续工作中,预测人员一定要加大对电量模型预测精度的研究,力争提高其预测的精度,充分发挥并行自适应混沌优化方法的作用。
摘要:不同地区的电量以及电量发展规律都不尽相同,要对其进行分析和研究就必须要采用科学的探究方法。实践证明:并行自适应混沌优化方法在中长期电量的预测中发挥了重要作用,它能对初值的敏感性进行分析,快速而准确地计算出预测模型的各种参数,提高电量预测的精度。本文主要对并行自适应混沌优化方法和中长期电量预测的数学模型进行了论述,同时对并行自适应混沌优化方法在中长期电量预测中的具体应用进行了分析。
动态自适应微粒群优化算法 篇3
关键词:粒子群优化算法,惯性权重系数,动态自适应
1 引言
粒子群优化算法(Particle Swarm Optimization,PSO)是由James Kennedy博士和R. C. Eberhar博士于1995年提出的。该算法源于对鸟群、鱼群觅食行为的模拟。该算法具有易于描述、便于实现、需要调整的参数很少、使用规模相对较小的群体、收敛需要评估函数的次数少、收敛速度快、并行处理、鲁棒性好等特点,能以较大的概率找到问题的全局最优解且计算效率比传统随机方法高,有深刻的智能背景,既适合科学研究,又适合工程应用。因此, PSO一经提出立刻引起了演化计算领域研究者的广泛关注,并在短短几年时间里涌现出大量的研究成果,在函数优化、神经网络训练[1]、函数优化问题[2]、模糊系统控制、分类、模式识别、信号处理、机器人技术等领域获得了成功应用。
2 粒子群优化算法描述
2.1 算法原理
PSO先生成初始种群,即在可行解空间中随机初始化一群粒子,每个粒子都为优化问题的一个可行解,目标函数为之确定一个适应值(fitness value) 。PSO不像其他进化算法那样对于个体使用进化算子,而是将每个个体看作是在n维搜索空间中的一个没有体积和重量的粒子,每个粒子将在解空间中运动,一个速度决定其方向和距离。通常粒子将追随当前的最优粒子而动,经逐代搜索最后得到最优解。在每一代中,粒子将跟踪两个极值,一为粒子本身迄今找到的最优解pbest,另一为全种群迄今找到的最优解gbest。假设在D维搜索空间中,有m个粒子组成一群体,第i个粒子在D维空间中的位置表示为Xi=(xi1,xi2,Lxid),第i个粒子经历过的最好位置记为Pi=(pi1,pi2,…pid,), 每个粒子的飞行速度为Vi=(vi1,vi2,…vid),i=1,2,…m。在整个群体中,所有粒子经历过的最好位置为Pg=(pi1,pi2,…pid),每一代粒子根据下面的公式更新自己的速度和位置:
Vi=wvid+c1r1(pid-xid)+c2r2(pgb-xid) (1)
Xi=Xi+Vi (2)
其中,w为惯性权重;c1和c2为学习因子;r1和r2是[0,1]之间的随机数。公式由三部分组成,第一部分是粒子先前的速度,说明了粒子目前的状态;第二部分是认知部分,是从当前点指向此粒子自身最好点的一个矢量,表示粒子的动作来源于自身经验的部分;第三部分为社会部分,是一个从当前点指向种群最好点的一个矢量,反映了粒子间的协同合作和知识的共享。三个部分共同决定了粒子的空间搜索能力。第一部分起到了平衡全局和局部搜索的能力。第二部分使粒子有了足够强的全局搜索能力,避免局部极小。第三部分体现了粒子间的信息共享。在这三部分的共同作用下粒子才能有效的到达最好位置。更新过程中,粒子每一维的位置、速度都被限制在允许范围之内。如果当前对粒子的加速导致它在某维的速度Vi超过该维的最大速度Vdmax,则该维的速度被限制为该维最大速度上限Vdmax。一般来说,Vdmax的选择不应超过粒子的宽度范围,如果Vdmax太大,粒子可能飞过最优解的位置;如果太小,可能降低粒子的全局搜索能力。
3 粒子群优化算法的改进策略
分析基本粒子群优化算法,其搜索过程有两个不足:1)初始化过程是随机的,随机过程虽然大多可以保证初始解群分布均匀,但对个体的质量不能保证,解群中有一部分远离最优解。如果初始解群较好,将会有助于求解效率与解的质量。由于粒子初始化和进化过程的随机性,使pbest和gbest的更新带有一定的盲目性,影响了进化过程的收敛。2)利用式(1)和(2)更新自己的速度和位置,本质是利用本身信息、个体极值信息和全局极值三个信息,来指导粒子下一步迭代位置。这实际上是一个正反馈过程,当本身信息和个体极值信息占优势时,该算法容易陷入局部最优解,分析式(1)和(2)进一步可以发现,当某些粒子的位置及其pbest接近群体的gbest时,其速度更新由wvid决定。w<1时,粒子的运行速度越来越小,接近于零,粒子运行出现“惰性”。随着进化的进行,其他粒子将很快聚集到这些惰性粒子的周围,使进化过早地收敛到局部最优点。总之,微粒群算法存在两个缺点:其一是粒子群优化算法的收敛速度比较慢。其二是粒子群优化算法容易陷入到局部极值点中,导致得不到全局最优解。
为改善粒子群优化算法的不足,改进策略可谓层出不穷,这方面的研究非常庞杂,这些改进基于各种不同的策略和方法。但从根本目的来说,都是为了改进粒子群优化算法的以上两个缺点。对于第一种缺点,在解决实际问题时,通常需要在一定的时间内达到相应的精度,如果耗费很长的计算时间来得到一个可行解,有时是不值得的。造成这种问题的原因是粒子群优化算法并没有很充分的利用计算过程中得到的信息,在每一步迭代中,仅仅利用了全局最优和个体最优的信息,此外,算法本身没有比较充分的优选机制,以淘汰比较差的待选解,从而导致算法收敛速度较慢。要解决这方面的问题,需要充分的吸收进化算法的优点,在粒子的操作中,加入繁殖、变异和优选算子[3],以加快算法的收敛速度。另外一个思路就是把粒子群优化算法较强的全局搜索能力与基于梯度算法的较好局部搜索能力相结合,设计一种混合算法,以克服二者的缺点,发挥二者的优点。造成第二种现象的原因有两方面,一是待优化函数的性质,有许多测试函数是多峰函数、形状复杂,而粒子群优化算法并不是从理论上严格证明收敛于任何类型函数的全局极值点,因此对于复杂的测试函数,很可能难以得到满意的结果。二是粒子群优化算法在运行时,由于算法的参数设计或者是粒子数的选择不恰当等原因,导致在计算的过程中,粒子的多样性迅速的消失,造成算法“早熟”现象,从而导致算法不能收敛到全局极值点。这两个因素通常密不可分的纠缠在一起,很难说在一个具体的问题中,到底是那一个因素在起作用,使得算法不能收敛到全局极值点。有比较多的改进是基于这两个方面的因素,对于第一个方面的缺点,有些研究者试图在函数优化的过程中,动态的改变函数的某些全局或局部的形态,使得函数的形状逐渐的变得简单,但同时又不改变函数的全局极值点的性质。比如可以设计一个变换,随着优化过程的进行,使得函数最终由多峰函数变为单峰函数,从而克服此问题。第二个方面的问题通常可以采用如下方法解决:对粒子群的多样性设置某些指标,比如粒子群的炳,随着计算的进行,实时监测这些指标,这些指标超过某个事先设定的临界值,则对整个群体实施某种操作比如按指定的概率重新初始化,从而改善群体的多样性,克服早熟的问题。
基于上面的理论分析,本节重点讨论以下几个方面PSO算法的改进策略及其效果:调整惯性权重,采用不同的惯性权重调整策略,兼顾全局与局部的寻优能力;引入收缩因子,加快算法的收敛速度,提高算法的性能。
3.1 引入收缩因子
引入收缩因子的粒子群优化算法,其速度更新如下式所描述:
Vid=∅[vid+c1v1(pid-xid)+c2r2(jpgd-xid)]
其中,收缩因子
undefined
实验结果表明,与使用惯性权重的粒子群优化算法相比,使用收缩因子的粒子群优化算法有更快的收敛速度。其实只要恰当地选取因子,带收缩因子的粒子群优化算法可被看作是PSO算法的一个特例。
3.2 调整惯性权重
PSO算法存在易陷入局部最优,出现早熟收敛的问题,许多研究都集中于参数惯性权重w的改进上,w对算法能否收敛具有重要作用,它使粒子保持运动惯性,使其有扩展搜索空间的趋势,改变其取值可以调整算法全局和局部搜索能力的平衡。
在PSO中,搜索陷入局部极值往往表现为微粒几乎停止不动。当群体的最优适应值长时间未发生变化(停滞)时,应根据群体早熟收敛程度自适应地调整惯性权重。若对整个群体采用同样的自适应操作,则一方面全局寻优和局部寻优是矛盾的,不能够同时进行;另一方面,当群体已收敛到全局最优附近时,优秀粒子被破坏的概率会随着其惯性权重的增加而增加,这使PSO算法的性能有所下降。为了充分发挥自适应操作的效能,本文的自适应调整策略,不仅用到群体早熟收敛信息,还根据个体适应值的不同将群体分为三个子群,分别采用不同的自适应操作,使得群体始终保持惯性权重的多样性。惯性权重较小的粒子用来进行局部寻优,加速算法收敛;惯性权重较大的粒子早期用来进行全局寻优,后期用来跳出局部最优,避免早熟收敛。这样,具有不同惯性权重的粒子各尽其责,全局寻优和局部寻优同时进行,在保证算法能全局收敛和收敛速度之间做了一个很好的折衷。
适应值为fi的粒子,其惯性权重w的具体调整方法如下:
3.2.1 fi优于f′arg
满足此条件的粒子是群体中较优的粒子,已经比较接近全局最优,所以应被赋予较小的惯性权重,以加速向全局最优收敛。本文根据粒子适应值按式(3)调整粒子w的惯性权重:
undefined
其中wmin为w的最小值,本文取wmin=0.5。粒子适应值越佳,其惯性权重相应越小,加强了局部寻优。
3.2.2 fi优于farg,但次于f′arg
满足此条件的粒子是群体中一般的粒子,具有良好的全局寻优能力和局部寻优能力。如果惯性权值ω随着搜索的进行按余弦规律减小,开始搜索时ω能较长时间保持较大值以提高搜索效率,在搜索后期ω能较长时间保持较小值以提高搜索精度,本文ω的修正公式为:
undefined
其中: ωmax为搜索开始时最大的ω,ωmin为搜索结束时最小的ω,iter为迭代所进行的步数,MaxStep为允许最大迭代步数。
3.2.3 fi次于farg
满足此条件的粒子是群体中较差的粒子,对其惯性权重的调整引用文献[4]中调整控制参数的方法:
undefined
算法停滞时,若粒子分布较为分散,则△较大,由式(5)降低粒子的w,加强局部寻优,以使群体趋于收敛;若粒子分布较为聚集,如算法陷入局部最优,则△较小,由式(5)增加粒子的w,使粒子具有较强的探查能力,从而有效地跳出局部最优。式(5)中参数k1和k2的选择对算法的性能有较大的影响。k1主要用来控制w的上限,k1越大,w的上限越大。根据前面分析,k1的选取应使式(5)能够提供大于1的惯性权重。本文取k1=1.5,显然w∈(0.5,1.1)。k2主要用来控制式(5)的调节能力,若k2过大,在早期停滞时,w会迅速变得很小,这虽然会加快收敛,却使算法在早期全局寻优能力不足,若k2过小,则式(5)的调节能力不是很明显,尤其是在后期算法不能有效地跳出局部最优。
此外,当算法未搜索到全局最优适应值时,或不满足最优要求时,可采用惯性权重的变异策略。对种群当前的最优粒子的惯性权重按下式进行变异:
w=w(1+ησ) (6)
其中,σ为满足高斯分布的随机数。如此,即可以较大的概率产生小幅度的扰动以实现局部搜索,又可适当产生大幅度扰动以实现大步长迁移来走出局部极小区域。η初值为1.0,每隔一定的迭代代数置η=βη,其中β为[0.01,0.9]之间的随机数。
3.3 算法流程
动态自适应粒子群优化算法DAPSO是在基本粒子群优化算法的基础上,根据群体早熟收敛程度和个体适应值来调整惯性权重的一种改进粒子群优化算法。Logistic方程是一个典型的随机动态系统:
zn+1=μzn(1+zn)n=0,1,2,… (7)
式中μ为控制参量,取μ=4,设0≤z0≤1,系统(7)完全处于随机运动状态。由任意初值z0∈[0,1],可迭代出一个确定的时间序列z1,z2,z3,…。本算法采用次方程对最优位置进行动态优化。算法具体流程如下:
Step 1:初始化设置最大允许迭代次数或适应度误差限,以及相关参数。
Step 2:动态初始化粒子位置和速度。
1)随机产生一个n维每个分量数值在0-1之间的向量,z1=(z11,z12,z12,…z1n),n为目标函数中的变量个数,根据式(7),得到N个向量z1,z2,z3,…zn。
2)将zi的各个分量载波到对应变量的取值区间。
3)计算粒子群的适应值,并从N个初始群体中选择性能较好的M个解作为初始解,随机产生M个初始速度。
Step 3:如果粒子适应度优于个体极值pbest,pbest设置为新位置。
Step 4:如果粒子适应度优于全局极值gbest,gbest设置为新位置。
Step 5:根据公式(1), (2)更新粒子的速度和位置。
Step6:对最优位置Pg=(Pg1,Pg2,…PgD)进行动态优化。将Pgi(i=1,2,…D)映射到方程(3.5)的定义域[0,1],zi=(pgi-ai)/(bi-ai),(i=1,2,…D),然后,用Logistic方程进行迭代产生随机运动变量序列zi(m)(m=1,2,…),再把产生的变量序列通过逆映射pgi(m)=ai+(bi-ai)zi(m)返回到原解空间,得:
Pg(m)=(Pg1(m),Pg2(m),…PgD(m))=(m=1,2,…)
在原解空间中对随机动态变量经历的每一个可行解Pg(m)(m=1,2,…)计算其适应值,得到性能最好的可行解P*。
Step7:用P*取代当前群体中任意一个粒子的位置。
Step8:判断算法的终止条件是否满足,若满足转向Step 10,否则执行Step 9;
Step 9:根据粒子适应值不同采取相应的自适应策略,分别按照公式(3),(4),(5),(6)调整惯性权重w,转向Step 3;
Step 10:若满足停止条件,则搜索停止,输出全局最优位置。
3.4 算法效果分析
为了检测动态自适应粒子群优化算法的效果,采用四个典型的测试函数进行实验,这些函数是:f1(Rastrigrin Function)、f2(Rosenbrock Function)、f3(Griewank Function)、f4(Ackley Function),函数的具体表示形式如下:
(1) 函数f1(Rastrigrin Function)
f(x)=undefined[xi2-10cos(2πxi+10)],|xi|≤5.12
minf(x*)=f(0,0,L 0)=0
Rastrigrin函数为多峰函数,当xi=0时达到全局极小点,在s={xi∈[-5.12,5.12],i=1,2,…n}范围内大约有10n个局部极小点。
(2) f2(Rosenbrock Function)
f(x)=undefined(100(xi+1-xi2)2+(xi-1)2),|xi|≤50
minf(x*)=f(1,1,… 1)=0
Rosenbrock函数由K.A.DeJONG提出,此函数是非凸的病态二次函数,其极小点易于找到,但要收敛到全局极小点则十分困难。
(3)函数f3(Griewank Function)
undefinedundefined
undefined
Griewank函数,当xi=0时达到全局极小点,当undefined时,达到局部极小点。
(4)函数f4(Ackley Function)
undefinedundefinedundefinedundefinedcos(2πxi))+20+e,|xi|≤32
minf(x*)=f(0,0,… 0)=OAckley函数,当xi=0时达到全局极小点。动态自适应算法的实验结果:
从上述结果可以发现,动态自适应微粒群算法基本保持了基本PSO算法的简单、容易实现的特点,而且计算精度比基本PSO算法精度要高,改善了粒子群优化算法摆脱局部极值点的能力,提高了算法的收敛速度,且兼顾全局寻优和局部寻优,能够有效地避免早熟收敛。
4 结论与展望
本论文在分析基本微粒群算法的基础上,评析了微粒群算法的优缺点,并对惯性权重进行了调整,改进了微粒群算法的性能。PSO的研究领域在不断持续发展,仍然存在大量有待研究的问题。如:选择具有最大改善的粒子作为社会影响源,对这种粒子可进行动态变异自适应;没有速度的PSO算法,没有速度的粒子群将改变我们以往对群体的观点;并行PSO算法,开发高效的并行算法,充分利用PSO算法的隐并行性。以上列出的仅仅是PSO算法研究中一部分具有挑战性的问题,实际的研究不仅于此。考虑如何建立智能优化算法的统一框架,加强算法的理论基础研究,以及将算法扩展应用到不同的实际领域,都是有价值的努力方向。
参考文献
[1] 刘宇,覃征,卢江.多模态粒子群集成神经网络.计算机研究与发展,2005(9):1519-1526.
[2] 王俊伟,.粒子群优化算法的改进及应用.东北大学博士论文,沈阳市,2006.
[3] 孟庆红,多目标进化算法及其应用研究.西安电子科技大学博士论文,西安市,2005.
水力计算自适应优化算法仿真研究 篇4
随着国内天然气长输管线的建设和天然气市场的快速发展,各个城市燃气管网规模都在不断扩大, 其结构也越来越复杂[1,2,3],在管网的新建和扩建中,准确、迅速的燃气管网水力计算是实现高质量的管网设计、施工以及优化管网运行调度管理的必要条件,因此燃气管网水力计算不仅仅只是成为城市燃气管网设计中的一项重要工作,而且也是各个城市燃气公司完善管网、优化管网运行管理和保障安全供气的必要手段[4,5,6,7]。
经过多年的研究实践,国内已形成了许多较为成熟的稳态燃气管网的计算方法和程序[8,9,10,11],但主要是被燃气专业设计院用于管网设计的管径选择和管网水力工况校核,而很少有城市燃气公司将其用于管网运行工况和事故工况下的分析,由于缺乏必需的方法和手段,有很多燃气公司甚至除了城市在第一次初步设计时设计单位对管网进行过管网水力计算外,在较长时期内管网和用户都已发生较大改变后没有重新对管网的水力工况重新核算和分析,原来水力计算结果已经不能客观反映出在城市管网和用户规模发较大变化的管网运行工况,这种状况对管网水力可靠性有较大的影响。目前存在的大多数水力计算程序普遍存在一个显著问题:在燃气管网水力计算过程中,常用的水力计算方法只是一种理论计算方法,计算过程中的许多参数都不可避免地存在误差,那么其计算出的结果与实际管网的运行情况必然存在一定偏差,有时甚至偏差较大,对于在较长时期内管网和用户都已发生较大改变而没有重新对管网的水力工况重新核算和分析的情况这种现象尤其突出。这个问题如果不能有效解决,那么燃气管网的水力计算就只能停留在实验室理论水平,不能够对实际工况给出较为精确的预测,缺乏水力计算应有的指导意义。
1 水力计算原理
本文利用有限元节点法对燃气管网进行水力计算,要求满足以下三个方程组:节点流量连续方程组Aq+Q=0;管段压力降方程组ATP=Δp;管段流量方程组q=C·Δp;由上述三式可得求解节点压力的方程组:
⎣A·C·AT」·P+Q=0 (1)
式(1)中A为由元素aij组成的节点关联矩阵;C为由元素
计算步骤:首先初设管段流量q(0),代入式(1),求解节点压力p(1),计算出q(1);q(1)不满足要求进行修正,再形成式(1)进行逐次逼近,直到第K+1次的q(K+1)与q(K)差的绝对值满足计算精度要求为止。图1为有限元节点法水力计算过程。
为了充分说明理论水力计算方法普遍存在的显著问题,本文选用了国际上常用的计算摩擦阻力系数λ的三种公式:谢维列夫公式、柯列勃洛克公式和阿里特苏里公式。通过这三种方法,我们发现,即使在充分考虑到介质运动粘度、流动速度、管径大小及管内表面粗糙度对λ的影响的前提下,选用不同的公式来计算摩擦阻力系数λ,水力计算结果相差较大,同时,与实际测量数据的拟合程度不高,缺乏应有的精确度。另外,摩擦阻力系数λ的取值还会影响流量迭代运算的速度和收敛性。
本文以某大城市中压管网为例,该中压管网有75根管段、54个节点,4个气源厂,气源厂压力均为250Kpa,该燃气管网是由环状和枝状管网混合而成。对所编制的燃气管网水力计算程序分别选用三种不同的公式进行实例考核计算,并与实际测量数据进行比对。由于目前测流技术的问题,在城市管网中大多数都没有安装测流仪器,所获取的实测数据只有实测节点压力值和气源厂流量,因此,表1和表2只列出了气源厂流量和部分典型节点压力的实际测量值。
可以看出,选用不同的摩擦阻力计算公式进行水力计算结果有一定差别,尤其是谢维列夫公式和其他两个公式相比差别较大,另外,还可以看出,这三组计算结果与实际测量数据相比差别较大。因此,通过这个实验可以看出,无论选用哪种公式,对燃气管网的实际工况都不能够进行有效预测,缺乏足够的精确度。
2 水力计算参数自适应优化辨识
在燃气的特性参数、环境参数、管网拓扑结构及相关参数、气源厂压力和各节点流量等数据的统计准备过程中,不可避免会产生误差,尤其是管道摩阻系数的取值和节点流量的统计,由于它们具有较大的随机性和不稳定性,误差尤为突出。因此,目前一般都认为管网水力计算结果与实际值的偏差主要起因于节点流量和管道摩阻系数的不准确性。也就是说,我们可以根据实际测量管网数据对水力计算进行自适应优化处理,离线或在线动态调整优化节点流量和管道摩阻系数,使水力计算的结果和实际测量数据在一定精度条件下吻合。
2.1 参数自适应优化辨识算法
燃气管网的水力计算值和测压点处的实测值会有一压力差,理论上此压力差为零,但这是实际上是不可能的,由于目前测流技术的问题,在城市管网中大多数都没有安装测流仪器,所获取的实测数据只有实测部分节点流量、节点压力值、气源厂压力和气源厂流量。同时,由于在进行管网水力计算时还不可避免地引入其他干扰,例如,管段的当量粗糙度就是影响摩擦阻力系数的一个重要影响因素,为了从全局的角度进行优化处理,在本文中主要考虑动态调整辨识节点流量qm和管道过气能力系数rn,来降低节点压力差和气源厂流量差。一般用管道的过气能力系数rn代替摩阻系数来进行辨识,管道过气能力系数是一个复合的概念,覆盖了摩擦阻力系数、当量粗糙度和其他影响因素。另外,为了以后工作的需要,本软件在开发时还是预留了理论水力计算与管段实际流量的比对,因为不久的将来很多管网都能够实现管道测流,那么实际测量数据中就必然会包括管段流量。在本文中动态调整优化计算的数学模型最终是要在尽可能符合实际情况的前提下,通过调整节点流量qm和过气能力系数rn,将测压点处压差和气源厂流量差降到一定限度以内,并同时要使管网的水力平衡得到满足。
通过上述分析基于最小二乘法原理,构造出水力计算寻优的目标函数如下:
minJ(qm,rn)=α1∑βi(Qi管段理论-Qi管段实际)2+
α2∑βj(Pj节点理论-Pj节点实际)2+
α3∑βk(Qk气源厂理论-Qk气源厂实际)2其中,α、β为加权因子,J为寻优目标函数,qm为节点m的集中流量,rn为管段n的过气能力系数。Qi为能够实际测量的管段的流量,Qk为气源厂流量,Pj为能够实际测量的节点压力,不能够实际测量的管段流量和节点压力不计入水力计算寻优的目标函数中。上述数学模型的物理意义可以解释为:在满足管网水力条件的约束下,在允许的调幅范围内,通过对节点流量qm和管道过水能力系数rn的动态调整辨识,使测压点的压差和气源厂的流量差降至最小。
以上所构造的数学模型,是一个非线性极值问题,存在两组变量去qm和rn,由于计算值与实测值的偏差也主要起因于这两个变量,故数学模型的求解就是通过调整变量qm和rn,来获取偏差尽可能小的管网状态估计。本文关于变量qm和rn的动态辨识调整采用变量轮换法和黄金分割法进行快速寻优[12]。由于管道使用年限的增加,气质对其产生影响,导致管壁腐蚀和结垢,管道过气能力系数也会无规律地增大,为了使管道过气能力系数尽可能准确,同时为了使自适应辨识寻优过程尽可能快,可以在自适应辨识寻优前先对管材、管径、使用年限及埋设时间具有代表性的管段进行实测其起点和终点压力值、管段流量,得到大致符合实际的这一类管段的具有代表性的管道过气能力系数,以后的辨识过程是基于此来展开的。对于节点集中流量,只有部分能够实际测量,其余部分可以按照估测分布将气源实测流量分摊到各个节点中,进行初步水力计算,然后将通过程序计算出来的数据与实际测量数据进行比对,若相差较大则动态调整各节点的流量分配重新计算,最终使计算结果接近实测值或各特征节点的压力偏差大小接近一致。此时节点流量分配最接近实际情况。获取实际测量数据时应注意各项数据同时测量,并多次采集数据,减小辨识误差,实际上,采样数据越多,辨识结果越精确。图2是自适应参数辨识算法原理图。
本算法可以采用离线辨识和在线辨识两种方式进行,采用离线辨识时,首先需要通过SCADA系统获取历史数据,通过对历史数据的比较来辨识系统参数,如果历史数据有限或离线辨识精度不够,可在离线辨识的基础上进行在线辨识,将水力计算出的压力和流量值同SCADA 系统采集的实时压力流量进行对比分析,不断利用采集的现场数据辨识系统参数,直到满足精度要求为止。图3是辨识算法流程图。
2.2自适应参数辨识优化水力计算与实际测量结果比较
鉴于篇幅有限,本文选取了五组测量数据,其中前四组用于离线自适应辨识,第五组数据作为验证自适应辨识成功与否的预测目标。仍然是以前文的某大城市中压管网为例,该中压管网有75根管段、54个节点、4个气源厂,该燃气管网是由环状和枝状管网混合而成。
在表3和表4中,自适应辨识调整过程是从第一组数据开始,不断与各组实测数据进行比较,动态调整辨识参数,表3、表4仅将4次自适应动态辨识过程结束后水力计算程序与第四组实测数据进行了比较。
表5和表6是在前面四组实际测量数据辨识的基础上,利用动态自适应辨识的结果来进行水力计算,对第五组数据进行了预测。
从表3-表6可以看出,采用了自适应参数优化辨识水力计算算法后,测压点处实测压力和计算压力的压差基本上回归到允许范围值内,本例中的8个测压点,经计算,压差都下降到2.0%以内,气源流量差也下降到5%范围内。表明了本文所应用的计算方法,消除测压点处压差的效果是很好的。计算结果证明,该程序应用的计算方法合理,运算速度快捷,运算效果良好,故该程序具有一定的实用性。
3 结 语
本文深入研究了燃气管网水力计算结果与实际测量值之间存在偏差的主要原因,并根据实际测量管网数据对水力计算进行参数自适应辨识优化处理,能够离线或在线动态调整节点流量和管道过气能力系数,使水力计算的结果和实际测量数据在一定精度条件下相吻合。
参考文献
[1]王树立,赵会军.输气管道设计与管理[M].北京:化学工业出版社,2006.
[2]孙德青,姚安林,赵忠刚.我国城市燃气事业的发展趋势[J].城市燃气,2006,379(9):35-39.
[3]李颜强,徐正康,王昌遒.全国城市燃气管道的发展和改造[C]//中国土木工程学会城市燃气分会第九届理事会第一次会议论文集,2006:44-52.
[4]左丽丽,吴长春.燃气管网水力计算节点及编号的探讨[J].煤气与热力,2005,25(3):36-39.
[5]彭继军,田贯三,刘燕.燃气管网图的计算机生成[J].山东建筑工程学院学报,2003(18):58-62.
[6]刘燕.燃气管网计算理论分析与应用的研究[D].天津大学,2004.
[7]田贵三,等.燃气管网水力计算研究[J].哈尔滨工业大学学报,2003,7(3):40-45.
[8]杨昭,张甫仁,诸强.燃气管网动态仿真的研究及应用[J].天然气工业,2006,26(4):105-108.
[9]左丽丽,吴长春,丁明江.输配气管网稳态仿真问题的的拓广[J].中国石油大学学报:自然科学版,2006,30(1):111-114.
[10]管延文,荣庆兴,等.燃气管网模拟分析软件的开发与应用[J].上海煤气,2006(5):35-38.
[11]Seleznev Vadim.Numerical Simulation of a Gas Pipeline Network usingComputational Fluid Dynamics Simulators[J].Journal of Zhejiang U-niversity,2007,8(5):755-765.
自适应混沌优化算法 篇5
机组组合是在满足一定约束条件下,通过优化以达到总运行费用最小的目标[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.
自适应混沌优化算法 篇6
粒子群优化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+c1×rand()×(Pbesti-xi)+
c2×rand()×(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表示第i个粒子惯性权重,Fi表示第i个粒子适应度,D表示搜索空间维度,n表示粒子数目,a、b为经验参数。算法在每次迭代后通过式(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时达到全局极小值,当xi=±kπ 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.
自适应混沌优化算法 篇7
电力系统无功优化主要目的是在合理的电压质量要求下尽量降低网络损耗, 其主要控制手段有调节发电机端电压、控制有载调压变压器的分接头和可投切并联电容/电抗器。其中, 发电机端电压 (或无功出力) 是连续变量, 补偿电容器/电抗器和有载变压器分接头档位是整数变量, 因此, 无功优化是一个典型的整、实数混合的多变量、非线性的优化问题。
粒子群优化算法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.
【自适应混沌优化算法】推荐阅读:
自适应混沌粒子群算法09-25
自适应粒子群优化算法06-12
自适应蚁群优化算法05-28
混沌遗传优化算法05-26
混沌粒子群优化算法12-08
自适应算法09-02
步进自适应算法10-20
自适应演化算法05-12
自适应免疫算法11-30
盲自适应算法12-20