蚁群算法在电力系统无功优化中的应用.docx
《蚁群算法在电力系统无功优化中的应用.docx》由会员分享,可在线阅读,更多相关《蚁群算法在电力系统无功优化中的应用.docx(19页珍藏版)》请在冰豆网上搜索。
![蚁群算法在电力系统无功优化中的应用.docx](https://file1.bdocx.com/fileroot1/2023-1/29/817c356b-894c-4191-89fb-1453b16f0994/817c356b-894c-4191-89fb-1453b16f09941.gif)
蚁群算法在电力系统无功优化中的应用
1蚁群算法
1.1蚁群算法概述
蚁群算法是群体智能领域的一个重要研究方向,对于解决组合优化问题提供了一种全新的途径,是解决复杂系统问题的重要方法。
1991年,Dorigo等人为解决一个旅行商问题(TravelingSalesmanProblem)而提出了“蚂蚁系统(Antsystem)”,这是最初的蚁群优化算法。
用人工蚂蚁代替真实蚁群,让它们搜索不同路径,并留下随时间逐渐消失的虚拟“信息素”(外激素)。
蚂蚁能够感知这种信息素的存在及其强度,并倾向于沿着该物质浓度高的方向移动。
从而根据“信息素较浓的路线更近”的原则来选择最佳路线。
因此,由大量蚂蚁组成的蚁群的集体行为便表现出一种正反馈现象,蚂蚁个体之间就是通过这种信息的交流达到搜索食物的。
人工蚂蚁与真实蚂蚁的行为方式基本相似,但有2个不同点:
(1)人工蚂蚁的“视力”正常,可以“看见”周围环境中的信息并感知信息。
(2)它们有记忆功能。
大量蚂蚁的集体行为概括起来主要有3点:
(1)正反馈这是基于信息素的释放和蚂蚁倾向走信息素较浓的路线来实现的。
某一路径上走过的蚂蚁越多,则后来者选择该路径的概率就越大,从而能快速发现最优的解。
(2)负反馈负反馈是基于信息素的挥发来实现的,路径上的信息素随着时间的推移不断挥发,从而避免某些路径上信息素过多,使算法早熟,陷入局部最优解。
(3)启发式信息在蚁群算法中构造一个启发信息,它有助于通过搜索过程找到可行解。
蚁群算法在解决旅行商问题(TSP),二次分配问题,调度问题以及在数据挖掘等领域的应用非常成功。
在电力系统应用领域,蚁群算法用于解决如电力系统规划问题,电力系统的经济安全用行问题,电力系统无功优化问题,以及在电力市场背景下的一些优化问题等。
就电力系统无功优化问题而言,蚁群算法常见的几种应用方式有:
改进的蚁群算法、免疫蚁群算法、混沌蚁群优化算法、遗传算法和蚁群算法相结合、双种群(多种群)改进蚁群算法等。
1.2蚁群算法基本原理
下面以典型的TSP问题为例来介绍蚁群算法模型。
假设:
n表示城市的数量;m表示蚂蚁的数量;dij(i,j=1,2,…,n)表示城市i与j间的距离(dij=dji);ηij表示边ij的能见度(反映由城市i转移到城市j的启发程度,取其值为:
1/dij);τij,表示边ij上的信息素强度;
,表示蚂蚁k在城市i选择城市j的转移概率。
蚂蚁从某城市出发,按照“随机比率规则”,蚂蚁k从城市i转移到城市j的转移概率
为:
(1-1)
式中,allowedk={0,1,…,n-1}-tabuk,表示蚂蚁k下一步允许选择的城市。
α和β为两个参数,分别决定了信息素和启发式信息的相对影响力。
为了满足蚂蚁必须经过n个不同的城市这个约束条件,设计了一个禁忌表tabuk,用以记录蚂蚁k走过的城市,且随着进化进行不断的动态调整。
经过n个城市的遍历,蚂蚁完成一次循环,各路径上信息素量根据下式调整:
(1-2)
(1-3)
式中,ρ(0≤ρ<1)为信息素挥发系数,1-ρ为信息素残留因子,Δτij为本次循环中留在路径ij上的总的信息量,
,表示蚂蚁k在边ij上留下的单位长度信息素量。
对于信息素的增量形式,M.Dorigo曾给出了三种模型:
(1)AntCycleSystem(蚁周模型):
(1-4)
其中,Q是一个常数,表示信息素的强度;Lk则表示第k只蚂蚁在本循环中所走过的路径的总长度;
(2)AntQuantitysystem(蚁量模型):
(1-5)
(3)AntDensitysystem(蚁密模型):
(1-6)
三种模型中,AntCycleSystem模型利用了全局信息去指导搜索过程,而后两者是使用了局部的反馈信息,因此AntCycleSystem模型一般效果较好,应用广泛。
2无功优化问题数学模型
2.1无功优化问题的目标函数
电力系统无功优化数学模型包含:
目标函数、等式约束条件和不等式约束条件。
本文采用的目标函数是:
有功网损最小。
将负荷节点电压约束和发电机无功约束以罚函数的形式引入目标函数,这样减少了对约束条件做另行处理的工作量。
表达式为:
(2-1)
(2-2)
式中,N、Ng分别为系统节点数和发电机节点数;Gij是线路ij的电导;Vi、δi分别为节点i的电压幅值和相角;λ1、λ2分别为负荷节点越界惩罚系数和发电机无功出力越界惩罚系数;ΔVj、ΔQk定义如下:
(2-3)
(2-4)
(2-5)
(2-6)
式中,Vjmax、Vjmin分别为节点j电压上限值和下限值;Qkmax、Qkmin分别为发电机节点k的无功出力的上限值和下限值。
2.2等式约束条件
等式约束条件,即满足潮流方程:
(2-7)
式中,PGi、QGi分别为发电机节点的有功功率和无功功率;PLi、QLi分别为负荷节点有功功率和无功功率;Gij、Bij、θij分别为节点i、j之间的电导、电纳和电压相角差。
2.3不等式约束条件
本文选取发电机机端电压、无功补偿节点的补偿容量和变压器的变比作为控制变量,发电机无功出力、负荷节点电压作为状态变量。
控制变量的约束:
(2-8)
状态变量的约束:
(2-9)
式中,VGi、VGimin、VGimax分别为发电机的机端电压、机端电压下限值和上限值;Qcj、Qcjmin、Qcjmax分别为无功补偿节点补偿容量,补偿容量下限值和上限值;Ttk、Ttkmin、Ttkmax分别为变压器的变比,变比下限值和上限值;QGi、QGimin、QGimax分别为发电机节点无功出力,无功出力下限值和上限值;VDj、VDjmin、VDjmax分别为负荷节点的电压、电压下限值和上限值,Nc、Nt、Nd分别为无功补偿节点数,变压器台数,负荷节点数。
3改进的蚁群算法
3.1改进蚁群算法概述
蚁群算法在性能上,存在如下缺点:
(1)蚁群算法理论上的收敛性证明尚不完善,尤其当问题的规模较大时,算法的效率下降很快,搜索时间较长。
在取得探索新解和利用求解经验之间很难取得平衡;
(2)算法容易出现早熟、停滞现象,易陷入局部最优解,而不能做到全局优化
(3)蚁群算法中各参数的选择缺乏理论依据,且参数设置对于算法性能影响很大。
考虑到上述因素,对蚁群算法主要在以下几个方面进行了改进:
3.1.1转移策略的改进
在基本蚂蚁算法中,蚂蚁完全依赖随机比例概率进行路径选择,有对新路径进行探索的倾向性。
而改进后的转移策略,采用确定性选择和随机性选择相结合的策略,并在搜索过程中动态调整转移概率。
一只位于节点i的蚂蚁通过下式确定是否转移到下一个节点j:
(3-1)
式中,
按照式
(1)进行计算。
q是在[0,1]区间均匀分布的随机数,q0是一个参数(0≤q0≤1)。
参数q0的大小决定了利用先验知识与探索新路径之间的相对重要性。
通过调整参数q0,我们可以调节算法对新路径的探索度,从而决定是应该集中探索至今最优路径附近的区域,还是应该探索其他区域。
3.1.2局部信息素更新规则
在路径构建过程中,蚂蚁每经过一条边,都立刻调整该边上的信息素:
(3-2)
式中,τ0是信息素量的初始值。
局部信息素更新的作用在于:
蚂蚁每经过边ij一次,该边的信息素τij就有所减少,其他蚂蚁选中该边的概率也相对减少,这样就增加了对其他路线搜索的概率,从而避免算法陷入停滞状态。
3.1.3全局信息素更新规则的改进
任何一次循环中,只要此次循环所利用的信息较平均的分布于各个方向上,则本次循环所释放的信息素可能会对以后的蚁群决策产生误导。
因此,加强最优解,削弱最差解,使最优解与最差解路径之间的信息素差异进一步增大,使得蚂蚁搜索行为更加集中是很有必要的。
(1)对最优路径上的信息素进行更新
当所有的蚂蚁都构建完一条路径之后,最优路径上的信息素按照如下规则进行更新:
(3-3)
式中,
。
被允许释放信息素的蚂蚁可以是至今最优的蚂蚁,此时有:
,Cbs为至今最优的路径长度;也可以是当前迭代最优的蚂蚁,有:
,Cib为当前迭代的最优路径长度。
一般而言,这两种更新规则会被轮流使用,如果仅使用Cbs,那么就会过快地集中到这个解周围,限制了对最优解进一步的搜索;但如果仅使用Cib,那么能获取新信息素的边的数目将会增加,从而减少搜索的导向性。
(2)对最差路径上的信息素进行更新
对当前最差路径上的信息素按照如下规则进行全局调整:
(3-4)
(3-5)
式中,Cwb为当前最差的路径长度,Cbs为至今最优的路径长度;Tgw为当前最差路径上各城市的线性组合。
3.1.4信息素挥发因子的自适应调整
当问题规模比较大时,由于信息量的挥发系数ρ的存在,会使那些从未被搜索到的解上信息量减小到接近于0,降低了算法的全局搜索能力。
在ρ过大的情况下,当解的信息量增大时,以前搜索过的解被再次选择的可能性过大,也会影响到算法的全局搜索能力。
通过减小ρ虽然可以提高算法的全局搜索能力,但又会使算法的收敛速度降低。
因此,我们将自适应调整信息素挥发系数,以改变全局搜索能力。
假设ρ的初始值为1,当算法求得的最优值在N次循环内没有明显改进时,ρ按照下式作自适应调整:
(3-6)
式中,ρmin为ρ的最小值,可以防止ρ过小降低算法的收敛速度。
3.1.5信息素的限制与初始化
进行信息素更新,不管是选择迭代最优还是全局最优,都有可能导致搜索的停滞。
若在某个选择点上一个解元素的信息素量明显高于其他解,蚂蚁就将更倾向于选择这个解元素,正反馈机制使得该解元素上的信息素量进一步增强,从而蚂蚁将重复的建立同一个解,对搜索空间的搜索将终止。
为了避免停滞状态,可以改变选择概率,它直接依赖于信息素与启发信息。
启发信息是依问题而定的,在整个算法的运行过程中是不变的。
但通过限制信息素的大小,可以很容易地避免在算法的运行中各信息素轨迹之间的差异过大。
为了达到这一目的,把任意一条边可能存放的信息素的大小都限制在由下界τmin和上界τmax限定的一个范围内,以免陷入停滞状态,即τmin≤τij(t)≤τmax。
其中,
,
,Cbs为所有循环中找到的最优解(也可以用当前循环的Cib来替换)。
在算法的开始,我们把所有边上的信息素初始值都设定为τmax。
因为信息素蒸发参数比较小,这样初始化设置后,使得不同边上的信息素之间的差异缓慢的增加,在算法的初始阶段,可以具有很强的探索性。
2.2TSP问题与无功优化问题的对应
无功优化问题相当于一个特殊的TSP问题。
将系统中各个可调变压器变比、无功补偿容量、发电机端电压等量化分级作为“城市”让蚂蚁进行搜索。
无功优化问题中的目标函数为系统网损最小对应于TSP问题中的总路径长度。
2.3选择概率的使用
用类似于遗传算法中提到的轮盘赌选择。
轮盘开始旋转,轮盘指针指向的城市将被选择作为蚂蚁k下一个访问的城市。
2.4算法中参数的选择
蚁群算法的参数是影响求解性能和效率的关键因素,但是目前尚没有完善的理论依据,大多数情况都是根据经验设定的。
实验表明:
当城市规模大致是蚂蚁数目的1.5倍时,收敛性能较好。
α过大,将导致局部最优路径上的正反馈作用很强,出现过早收敛现象;α过小,收敛速度慢,且容易陷入局部最优解。
β过大,虽然收敛速度快,但性能变差;β过小,导致蚂蚁群体陷入纯粹的随机搜索,很难找到最优解。
ρ取值在[0,1]之间。
2.5改进蚁群算法用于无功优化的运算步骤
1、各个连续变量离散化,并给定各个参数初始值,读入支路和节点数据,“城市化”各个需要选择的控制变量。
2、根据式(2-1)进入蚁群算法的搜索,找到各个控制变量的值,并记录下来。
3、蚂蚁每完成一步搜索,用式(2-2)对蚂蚁经过的路径进行局部信息素更新。
4、进行潮流计算、网损计算。
5、判断节点电压是否超标或是否达到循环次数限制,若是,则停止计算,输出计算结果;若不是,利用(2-3)、(2-4)在所有蚂蚁完成一次搜索时进行信息素全局更新,转至第2步继续搜索。
2.6无功优化算例分析
IEEE30系统接线如图3-1所示,IEEE30节点系统包括6台发电机、4台可调变压器以及9个装有容性无功补偿的负荷节点。
机端电压的范围为[0.90,1.1],其余节点电压范围为[0.95,1.05],有载调压变压器的变比范围为[0.9,1.1],补偿电容无功补偿范围为[0,0.5]。
具体的系统参数及极值约束等见表3-1、3-2、3-3、3-4。
图3-1IEEE30节点系统接线图
表3-1IEEE30节点系统支路数据
支路号
首节点
末节点
电阻
电抗
电纳(非标准变比)
1
1
2
0.0192
0.0575
0.0264
2
1
3
0.0452
0.1852
0.0204
3
2
4
0.0570
0.1737
0.0184
4
3
4
0.0132
0.0379
0.0042
5
2
5
0.0472
0.1983
0.0209
6
2
6
0.0581
0.1763
0.0187
7
4
6
0.0119
0.0414
0.0045
8
5
7
0.0460
0.1160
0.0102
9
6
7
0.0267
0.0820
0.0085
10
6
8
0.0120
0.0420
0.0045
11
6
9
0.0000
0.2080
1.0780
12
6
10
0.0000
0.5560
1.0690
13
9
11
0.0000
0.2080
0.0000
14
9
10
0.0000
0.1100
0.0000
15
4
12
0.0000
0.2560
1.032
16
12
13
0.0000
0.1400
0.0000
17
12
14
0.1231
0.2559
0.0000
18
12
15
0.0062
0.1304
0.0000
19
12
16
0.0945
0.1987
0.0000
20
14
15
0.2210
0.1997
0.0000
21
16
17
0.0824
0.1932
0.0000
22
15
18
0.1070
0.2185
0.0000
23
18
19
0.0639
0.1292
0.0000
24
19
20
0.0340
0.0680
0.0000
25
10
20
0.936
0.2090
0.0000
26
10
17
0.0324
0.0845
0.0000
27
10
21
0.0348
0.0845
0.0000
28
10
22
0.0727
0.1499
0.0000
29
21
22
0.0116
0.0236
0.0000
30
15
23
0.1000
0.2020
0.0000
31
22
24
0.1150
0.1790
0.0000
32
23
24
0.1320
0.2700
0.0000
34
25
26
0.2544
0.3800
0.0000
35
25
27
0.1093
0.2087
0.0000
36
28
27
0.0000
0.3960
1.0680
38
27
30
0.3202
0.6027
0.0000
39
29
30
0.2399
0.4533
0.0000
40
8
28
0.0636
0.2000
0.0214
41
6
28
0.0169
0.0599
0.0065
表3-2IEEE30节点负荷数据
母线号
母线电压(p.u.)
发电机输出功率
负荷功率
有功/MW
无功/Mvar
有功/MW
无功/Mvar
1
1.0500
138.53
2.58
0.00
0.00
2
1.0338
57.56
2.43
21.70
12.70
3
—
0.00
0.00
2.40
1.20
4
—
0.00
0.00
7.60
1.60
5
1.0058
24.56
22.25
94.20
19.00
6
—
0.00
0.00
0.00
0.00
7
—
0.00
0.00
22.80
10.90
8
1.0230
35.00
32.27
30.00
30.00
9
—
0.00
0.00
0.00
0.00
10
—
0.00
0.00
5.80
2.00
11
1.0913
17.93
17.61
0.00
0.00
12
—
0.00
0.00
11.20
7.50
13
1.0883
16.91
24.96
0.00
0.00
14
—
0.00
0.00
6.20
1.60
15
—
0.00
0.00
8.20
2.50
16
—
0.00
0.00
3.50
1.80
17
—
0.00
0.00
9.00
5.80
18
—
0.00
0.00
3.20
0.90
19
—
0.00
0.00
9.50
3.40
20
—
0.00
0.00
2.20
0.70
21
—
0.00
0.00
17.50
11.20
22
—
0.00
0.00
0.00
0.00
23
—
0.00
0.00
3.20
1.60
24
—
0.00
0.00
8.70
6.70
25
—
0.00
0.00
0.00
0.00
26
—
0.00
0.00
3.50
2.30
27
—
0.00
0.00
0.00
0.00
28
—
0.00
0.00
0.00
0.00
29
—
0.00
0.00
2.40
0.90
30
—
0.00
0.00
10.60
1.90
表2-3IEEE30节点发电参数上下限(p.u.)
节点编号
有功下限
有功上限
无功下限
无功上限
电压下限
电压上限
1
0.50
2.00
-0.20
2.00
0.90
1.1
2
0.20
0.80
-0.20
1.00
0.90
1.1
5
0.15
0.50
-0.15
0.80
0.90
1.1
8
0.10
0.35
-0.15
0.60
0.90
1.1
11
0.10
0.30
-0.10
0.50
0.90
1.1
13
0.12
0.40
-0.15
0.60
0.90
1.1
表3-4PQ节点、变压器变比、无功补偿量上下限(p.u.)
PQ节点电压上限
PQ节点电压下限
变压器变比
上限
变压器变比
下限
无功补偿量
上限
无功补偿量
下限
1.05
0.95
1.1
0.9
0.5
0
算法中参数设置如下:
蚂蚁数量m=50;初始信息量τ0=0.1;信息启发式因子α与期望启发式因子β分别为:
1.0、2.0;信息素挥发系数:
ρmin=0.01;q0=0.9;迭代次数为:
100次。
在初始潮流中,有功网损为5.988MW,系统有3个负荷节点(节点26,29,30)的电压低于下限,其中最低者仅为0.928p.u.,1个节点的无功功率越界:
Q8=0.569。
由表3-5、表3-6可以看出,在满足各种约束条件的前提下,用改进蚁群算法求解IEEE30节点系统无功优化问题,系统的有功损耗较初始系统降低了17.94%,没有电压和无功越界节点。
表3-5优化后的控制变量值(p.u.)
VG1
VG2
VG5
VG8
VG11
VG13
T6.9
1.0775
1.0700
1.0475
1.0550
1.0700
1.0625
1.10
T6.10
T4.12
T28.27
QC10
QC12
QC15
QC17
0.975
1.075
1.10
0.005
0.04
0.035
0.05
QC20
QC21
QC23
QC24
QC29
0.025
0.04
0.05
0.045
0.05
表3-6IEEE30节点的优化结果对照表
项目
初始潮流
遗传算法
ACS优化
改进蚁群
有功损耗/MW
5.988
5.016
5.003
4.9138
电压越限节点数
3
0
0
0
无功越限节点数
1
0
0
0
损耗降低率
—
16.28%
16.45%
17.94%
4结合免疫算法和蚁群算法的无功优化
4.1免疫算法
免疫算法(ImmuneAlgorithm,简称IA)是最近发展起来的一种新型多目标全局概率搜索算法。
该算法通过对生物免疫系统原理的模拟,利用免疫系统抗体的多样性和自我调节功能,来保持优化问题中解群体的多样性,以克服寻优迭代过程中的“早熟”问题,其记忆细胞的功能特点又能确保算法能快速收敛于全局最优解。
4.1.1计算结合力和抗体浓度
免疫系统中,抗原对应无功优化的目标函数,抗体对应优化问题的解。
根据目标函数的值决定抗原和抗体的结合力,根据解的相似程度决定抗体之间的结合力,利用这两种结合力进行评价和选择。
抗体与抗原之间的结合力,目标函数:
(4-1)
抗体与抗体之间的结合力,当两个抗体相似时,结合力比较大,反之,则比较小,采用:
(4-2)
其中,Hi,j为两个抗体的距离,采用欧式空间中2-范数意义下的距离:
(4-3)
4.1.2抗体浓度
抗体浓度是指与某个抗体相同(或相近)的抗体在整个群体中所占的比例,计算公式为:
(4-4)
4.1.3构造记忆和抑制单元
抗体群中浓度最大的抗体在抗体群中占绝对优势,即达到一个相对的最优解。
浓度最大的抗体通过保留原则被保留下来,体现这一代种群的进化结果。
浓度较高说明抗体和其他抗体之间的相似性较大,为了维持抗体群的多样性,需要对较高浓度的抗体进行抑制。
把抗体按浓度大小进行排序,通过设定的淘汰率,浓度大的抗体被淘汰。
4.1.4抗体生存选择计算
生存选择通过排序法来实现,采用排序法时,适应度仅仅取决于个体在种群中的序位,而不是实际的目标函数,因此对所求的目标函数没有限制。
排序法克服了轮盘法选择中比例适应度函数的尺度变换问题,提供了控制选择的简单有效的方法。
抗体的适应值由该抗体与抗原的结合力Av和该抗体的浓度Cv两部分组成:
(4-5)
式中,ω(0<ω<1)是一个比例系数。
抗体与抗原的结合力Av越小,相应的适应值越小;抗体的浓度概率越小,相应的适应值越小;适应值越小,越接近最优解。
4.1.5交叉和变异操作
根