基于细菌趋化的改进粒子群算法在电力系统无功优化中的应用

2014-01-15 06:41崔德义任书燕
上海电力大学学报 2014年4期
关键词:档位限值适应度

周 涛,崔德义,任书燕

(1.上海电力学院 电气工程学院,上海 200090;2.上海市电力公司嘉定供电公司,上海 201899)

电力系统无功优化目的在于满足系统无功功率平衡和无功负荷需求的条件下,通过调节发电机端电压、无功补偿装置容量、有载调压变压器分接头档位等,使整个系统达到降低有功网损、提高电压稳定裕度和保证电压质量等目标.一个合理有效的无功优化方案,能够提高电压质量、降低有功网损,并且能够提高系统的稳定性,这是保证电力系统安全稳定、实现电压和无功控制的重要措施.传统的无功优化方法包括线性规划法、牛顿法等,近年来许多人工智能算法兴起,如遗传算法、粒子群算法、蚂蚁算法等,它们对于无功优化问题的解决各有优点,但也都存在各自的缺陷.[1-2]

粒子群优化算法是人们模拟动物界一些现象的随机优化算法,在迭代开始时,粒子群的多样性好,收敛速度快;随着迭代次数的增加,种群多样性变差,非常容易陷入局部最优,这就是粒子群算法的一大主要缺点.为了解决这一问题,前人已经研究出一些方法,如结合模拟退火和蚂蚁算法的粒子群改进算法,并取得了不错的效果.针对这一问题,本文引入了基于细菌趋化的改进粒子群算法,并结合算例证明此种算法应用于无功优化是有效可行的.[3]

1 无功优化的数学模型

无功优化是一个典型的非线性规划问题,具有多变量、多约束和非线性等特点.其数学建模的目的为调节发电机电压、变压器变比和投切补偿电容器等参数,从而尽量减小系统的网损,其优化后的数学模型如下:

式中:Nk——支路集合;

Gk(i,j)——支路 k 的电导;

θij——节点i与节点j之间的电压角度差;

Ui,Uj——节点 i和节点 j的电压.

无功优化的变量约束包括负荷节点的电压、发电机无功出力、发电机端电压大小、无功补偿节点补偿容量、变压器分接头、发电机无功出力等.其中,负荷节点的电压和发电机无功出力以罚函数形式加入目标函数中,其他变量作为粒子群算法优化过程中变量的约束条件.其表达式如下:

式中:λ1,λ2——负荷节点电压越界惩罚系数和发电机无功出力越界惩罚系数罚因子;

Uj,Uj.max,Uj.min——节点电压、电压上限值和下限值;

QGk,QGk.max,QGk.min——发电机节点 k 的无功出力、无功出力的上限值和下限值;

UGi,UGi.max,UGi.min——发电机节点的 端 电压、端电压上限值和下限值;

QCj,QCj.max,QCj.min——无功 补 偿节 点补 偿容量、补偿容量的上限值和下限值;

TTk,TTk.max,TTk.min——变压器可调分接头、分接头上限值和下限值;

QGi,QGi.max,QGi.min——发电机节点无 功 出力、无功出力上限值和下限值;

UDj,UDj.max,UDj.min——负荷节点的电压、电压上限值和下限值;

Ng,Nc,Nt,Nd——PV 发电机数、无功补偿数、变压器可调分接头数、负荷节点数.

无功优化的程序分为潮流计算和无功优化两部分.首先根据系统的参数和初试条件算出各状态变量的值和网损值(即潮流计算),然后通过无功优化部分得出此状态下的无功损耗,也就是此时的适应值函数,最后使用粒子群算法进行优化更新,得到新的粒子后继续下一步的计算.潮流计算的方法有牛顿拉夫逊法和PQ分解法,后者相比前者进行了一定的理想化假设,更为简单快捷但精度却相近,因此本文采用极坐标下的PQ分解法解决潮流计算部分.

2 基于细菌趋化的粒子群算法

2.1 算法思想

粒子群算法(Particle Swarm Optimization,PSO)是人们通过学习自然界的运行发展机制而形成的一种优化算法,一般采用标准粒子群算法.种群的多样性(即种群中各个粒子间的相似程度)与粒子群算法的性能密切相关,多样性的保持与否直接影响算法的的早熟收敛和是否陷入局部最优.在标准粒子群算法中,粒子在其飞行过程中始终记录自己的个体最优位置和全局最优位置并向它们靠近.这种方式很容易导致种群多样性的丧失,从而陷入局部的最优点.

本文采用的基于细菌趋化的粒子群改进算法(Particle Swarm Optimization Based on Bacterial Chemotaxis,PSOBC)是通过多样性控制与交叉操作协调来实现粒子群在细化搜索与扩展新区之间的协调.细菌对于化学刺激的反应对其本身的生存有着极其重要的意义,细菌会通过自己的感知器官对有利或不利的环境做出反应.本算法就是模拟细菌在觅食时的吸引和排斥行为来进行算法的优化.将其应用到粒子群算法中,吸引操作的定义同标准粒子群,而排斥操作则通过粒子的历史最差位置和群体最差位置来实现,排斥算法中的粒子速度更新如下:

式中:vid——第i个粒子的瞬时速度;

w——惯性系数,通常采用线性策略;

R1,R2——均匀分布在 (0,1)之间的随机数;

c1,c2——学习因子,通常取 2;

Wid——粒子群的历史最差位置;

Wgd——群体最差位置;

xid——粒子此时的位置;

xgd——粒子个体的最优位置.

在PSOBC中,粒子可能被吸引也可能被排斥,如何判断此时的状态,需要引入多样性的量度,其定义如下:

式中:P——种群大小;

L——搜索空间最长对角线的长度;

N——维数;

Sij——第i个粒子位置的第j个分量;

首先定义两个阈值dlow和dhigh,当种群的多样性小于dlow时,PSOBC进行排斥操作以增加种群的多样性;当种群多样性大于dhigh,算法就进入吸引操作.[4]

2.2 算法步骤

步骤1 初始化种群规模、学习因子等各个参数,随机给定粒子的初始位置和速度;

步骤2 设置当前迭代次数t=0,当前模式为“吸引”,对每个粒子i执行以下操作;

步骤3 计算各粒子的适应度;

步骤4 若多样性小于dlow,令模式为“排斥”,若多样性大于dhigh,令模式为“吸引”;

步骤5 如果是“吸引”,用标准粒子群公式进行速度更新和位置更新;

步骤6 如果是“排斥”状态,使用式(10)进行速度更新,位置更新公式同上;

步骤7 如果当前的迭代次数达到了预定的最大次数或者结果小于预定的收敛精度,停止迭代,输出最优解,否则,继续迭代,转到步骤3.

3 算例分析

首先对如何在无功优化问题中应用PSO和PSOBC算法进行说明.粒子群的粒子本质上就是一个列向量,每一维代表一个变量,在无功优化中可能是发电机电压、无功补偿投切档位或者变压器档位.每个粒子都有其对应的适应度值,也都对应着各自的网络结构,首先进行潮流计算求出此时的网络各状态变量的值,如电压、电流、功角等;然后通过式(1)求出这个网络的损耗,即粒子的适应度值;再进行PSO和PSOBC算法部分,通过算法得到粒子的下一个位置,进行比较和记录,依次往下进行,最后得到最优粒子.为了对PSOBC算法的可行性和计算性能进行分析,下面结合一个14节点的算例进行分析,如图1所示.

本算例中有14个节点,其中5台发电机(节点1到节点5,节点1为平衡节点,其他节点为PV节点).电压范围为0.95~1.05;节点9带无功补偿装置,分5档透切,步长为0.1.线路中共有3台变压器(分别在线路6-7、6-9、8-6上),初始有功损耗为0.148.本算例中的粒子应该取作9维,分别对应节点电压(5个)、无功补偿投切档位和变压器档位(3个).其中节点电压采用的是离散编码,可取0.95~1.05间的任意实数;无功投切档位和变压器档位采用整数编码,只能是一个整数值,在进行飞行的过程中可能得到小数,四舍五入之后得到结果.

图1 14节点算例网络示意

电力系统无功优化问题是一个多极值的非线性规划问题,通常会存在多个局部最优点,粒子群算法又容易陷入局部最优,这些都导致目标函数可能停滞较长时间才会走出局部最优点.已有的研究方法中,有的以连续几次得到的最优解变化不大或者最优解与平均适应值之差小于某一个常数为收敛条件,但这种收敛条件若设计得过大,可能会导致算法偏早收敛,如果收敛条件不够大,又会使计算时间过长,造成不必要的计算.但对于不同的系统,收敛条件不确定,因此本文以迭代计算的次数达到所设定的最大迭代次数为结束条件,用户可以在进行几次计算后凭借经验和实际需要,以及可承认的最大时间来确定迭代次数.

本文采用Visual C++6.0软件进行编程模拟,首先使用标准粒子群算法对图1中的算例进行跟踪计算,一般群落大小取作维度的5到10倍,这里取50倍带入计算.该次计算时的适应度值和多样性的情况如图2和图3所示.

可以看出,群体的最优适应度值总体趋势一直在变小,中间略有起伏;而多样性值也是一直变差,最后趋于稳定,但值得注意的是,多样性值趋于稳定要先于适应度值.根据图2和图3中的适应度值和多样性值的情况,人为取 dlow=0.5,dhigh=0.7,使用基于细菌趋化的改进粒子群算法后的适应度值和多样性情况见图4和图5.

图2 使用标准粒子群算法时的适应度值

图3 使用标准粒子群算法时的多样性值

图4 使用基于细菌趋化改进粒子群算法后的适应度值情况

图5 使用基于细菌趋化改进粒子群算法后的多样性情况

使用改进算法后,首先多样性情况明显好转,虽然总体趋势还是一直变小,但是最后的多样性值保持在0.5左右,比之前要好.而适应度值下降速度很快,并且由于后期多样性保持得不错也没有陷入局部最优,很快就得到了全局最优粒子.最后得到的最优控制策略为各节点电压,分别为1.050,1.039,1.008,1.024,1.048,无功补偿的档位为3,3个变压器的档位分别为1,-4,3,此时的有功损耗为0.127 542.与标准粒子群算法进行优化比较,收敛速度和多样性明显更好,速度也较快.

4 结语

PSOBC算法是PSO算法的一种新思路,可以有效地克服其易陷入局部最优、后期粒子多样性差的缺点.运用到无功优化中可以有效地提高算法的收敛速度.通过算例仿真表明,PSOBC算法无功优化能得到较优解,有效降低网损,因此在电力系统的其他很多领域具有很好的发展前景.

[1] 马立新,单冠华,屈娜娜.基于改进粒子群算法的电力系统无功优化[J].控制工程,2012,19(6):1 077-1 080.

[2] 姜惠兰,陈平,王敬朋,等.改进粒子群算法在电网无功优化中的应用[J].中国电力,2012,44(12):11-15.

[3] 杨䶮亮.改进粒子群算法的无功优化[J].黑龙江电力,2011,33(1):33-36.

[4] 李丽,牛奔.粒子群优化算法[M].北京:冶金工业出版社,2009:1-300.

猜你喜欢
档位限值适应度
改进的自适应复制、交叉和突变遗传算法
三绕组变压器运行分接头档位计算及电压分析
三绕组变压器运行分接头档位计算及电压分析
一种基于改进适应度的多机器人协作策略
辽宁省辽河流域石油炼制排放限值的制定
基于空调导风板成型工艺的Kriging模型适应度研究
中美炼钢行业污染物排放限值研究
蓄电池SOC限值下的微电网协调控制策略研究
引入分接头档位的换流变差动保护方案研究
基于单片机的变压器档位监测双输入BCD编码器