复杂配电网可靠性改进算法及编程实现
2012-04-23金义雄
金义雄,刘 莎,邓 浩
(1.上海电力学院电气与自动化工程学院,上海 200090;2.深圳供电局,广东 深圳 518021)
复杂配电网可靠性改进算法及编程实现
金义雄1,刘 莎2,邓 浩2
(1.上海电力学院电气与自动化工程学院,上海 200090;2.深圳供电局,广东 深圳 518021)
分析了已有配电网可靠性评估方法在计算机实现时存在的问题,结合现场对可靠性评估的实际要求,提出了一种配电网改进可靠性评估方法。该算法无需网络等值过程,原理简单清晰,易于在计算机上实现;在需要计算某负荷点可靠性时,无需分析所有元件故障,且能给出对该负荷点可靠性影响的各元件排序,以便供电部门了解网络的关键元件;该方法可方便地与配网重构算法相结合,实现故障后的负荷转移计算;在搜索过程中无需形成网络的邻接矩阵或特殊的链表关系,直接采用最基本的节点数据表和支路数据表对网络进行搜索,与现场数据接口方便,搜索算法采用递归算法,可大大减少编程工作量,提高程序执行效率。算例分析和现场应用表明了本方法的有效性和实用性。
配电网;可靠性评估;递归算法
随着现代社会经济的飞速发展,高科技产品和高度信息化设备的广泛普及,用户每度电的产值日益上升,单位停供电量给用户和社会造成的经济损失越来越大。因此,用户对供电可靠性的要求也越来越高,对配电系统可靠性的研究和应用是保证供电质量、实现电力工业现代化的重要手段。
配电网的可靠性评估方法主要可分为模拟法和解析法两大类。模拟法适合于复杂系统计算,但这种方法耗时多而且精度不高;解析法计算相对简单,计算速度快,在配电系统可靠性评估中得到了广泛应用,包括网络等值法[1-2]、最小路法[3-4]、故障遍历法[5-6]、故障模式后果分析法[7-8]等多种算法。
这些算法侧重于对配网元件进行数学建模来实现可靠性评估,而较少对配网可靠性的计算机实现方法进行研究。网络等值法和最小路法都需对网络进行等值,而大多数的等值过程通过计算机实现是比较复杂的,尤其是对于较为复杂的配网,等值过程更为繁杂。故障遍历法则较适于进行计算机计算,它通过枚举各元件的故障及拓扑搜索将受影响的元件进行分类计算,最终得到负荷和系统的可靠性指标;缺点是若想分解出对某个用户关心负荷点影响最大的元件需要遍历所有元件,计算效率较低;评估过程中需要模拟大量的枚举故障,每次模拟故障后都需进行相应的负荷转移分析,各次分析之间又缺乏相互关联,搜索工作量大,而许多设备的故障对不少负荷点都不存在影响或不存在可进行负荷转移的方案,这样将导致许多负荷转移分析过程空耗时间。
大多数可靠性计算方法都需对网络进行拓扑搜索,搜索时有的利用网络关联矩阵或邻接矩阵[9],有的采用父子关系形式的链表[10-11],而这些存贮形式都需对网络原始数据进行额外加工,且这些邻接矩阵或链表又只能提取元件连接关系的信息,而不能获取元件的其它信息,如设备类型、设备参数等,这些信息在计算过程中一般是很有用的。
可靠性计算在现场应用时,供电部门有时只要实时计算某个负荷点的可靠性,并希望显示该负荷点的供电路径,同时找出对该负荷点可靠性影响最大的元件和可供恢复的路径,并针对故障设备对负荷点可靠性影响的大小进行设备改造或调整接线方式。但在其它的研究中并未见到。
本文将提出一种改进的可靠性算法,算法描述如下。
1 改进可靠性评估算法描述
改进可靠性算法的基本思想是以负荷点为研究对象,搜索所有对该负荷点具有影响的设备,并根据故障设备所处的位置分析其故障后对负荷点的停电次数和停电时间造成的影响。在分析每个负荷点时,所计算的设备只与该负荷相关,无关设备的故障分析都被略过,这样将大大减少计算量。
该算法可通过子回路搜索和主回路搜索两步实现。
1.1 主回路搜索
递归搜索从负荷点到供电点之间的设备。如图1所示,配电系统虚线框内的元件为LP36的主回路 (后续以LP36为说明对象)。负荷的停电率ξ为主回路元件故障率λ之和;年停电时间分3种情况计算。
a. 如主回路上的元件到负荷点之间无分段,则为主回路元件故障率乘其修复时间,即λ×r累加入LP36的年故障时间U中,r为元件故障修复时间。
b. 如主回路上的元件到负荷点之间有分段,且从负荷至分段开关之前的子回路中有联络开关(这样的开关为可用联络开关),则为主回路元件故障率乘分段开关操作时间与联络开关倒闸时间中的较大值,即λ×max(t1,t2)累加入U中,t1为分段操作时间,t2为联络开关操作时间。
图1 配电系统示例
c. 如主回路上的元件到负荷点之间有分段,但从负荷至分段开关之前的子回路中无联络开关,即仍为主回路元件故障率乘其修复时间,即λ×r累加入U中。
在以上过程中,主回路元件到负荷点的分段可以是负荷开关 (隔离开关)也可以是断路器,如S1和F7,原因是均可操作进行开断。需要说明的是,可用联络开关必然位于子回路,且为开断状态,因为配网是不能环网供电的,因此主回路只能连到一个供电节点。
1.2 子回路搜索
搜索除主回路元件之外的回路。以主回路上的节点为根节点进行递归搜索。子回路元件故障率对LP36故障率的影响分3种情况。
a. 若子回路元件至根节点间有熔断器,认为熔断器可靠开断,该元件故障不引起LP36停电,即该元件等效故障率λ'=0。
b. 若子回路元件至根节点间有k个断路器。断路器可靠开断率为P,该元件故障率应乘以 (1-P)k得到等效故障率 λ',即 λ'=λ (1-P)k累加入LP36故障率ξ中。
c. 若子回路元件至根节点间有隔离开关或无任何可开闭的设备,该元件故障率λ直接累加入LP36故障率ξ中。
以上3种情况优先级由a至c,即a条件满足则不判断b、c条件,不满足a而满足b时,不判断c条件,最后才判断c条件。
子回路元件故障时间对LP36年故障时间的影响分2种情况。
a. 如子回路元件到根节点间无分段,则与根节点故障时间计算相同,即采用主回路元件故障时间计算的3个原则。
b. 如子回路元件到根节点间有分段,无论是否有可用联络开关,将子回路元件故障率 (考虑子回路故障率计算三原则后的等效故障率λ')乘以子回路分段操作时间与供电开关操作时间中的较大值,即λ×max(t1,t2)累加入U中,t1为子回路分段操作时间,t2为供电开关 (联络开关)操作时间。
2 算法实现
为简化叙述,下面将主要数据结构列出。
vector〈CTempNode〉pNode;网络节点列表
vector〈CTempLine〉pLine;网络支路列表
vector〈CTempNode〉MainNodeList;主回路节点的列表
vector〈CTempLine〉MainLineList;主回路支路的列表
vector〈CTempNode〉SubNodeList;子回路节点的列表
vector〈CTempLine〉SubLineList;子回路支路的列表
vector〈bool〉islinesearched;支路是否已搜索的布尔列表
vector〈CTempLine〉MainSectList;可用主回路分段列表
vector〈CTempLine〉LinkList;可用联络开关列表
vector〈int〉NodeRecursionTimes;节点作为递归起始节点的次数
CTempNode数据结构为基本的网络节点数据,包括数据如下:
Number;节点编号
NodeP;节点注入有功
NodeQ;节点注入无功
CTempLine数据结构为基本的网络支路数据,包括数据如下:
Number;支路编号
LineS;支路的起始节点,与节点表的节点编号对应
LineE;支路的终止节点,与节点表的节点编号对应
LineR;支路电阻
LineX;支路电抗
LineB;支路的1/2电导
LineType;支路的设备类型,包括线路、断路器、隔离开关、熔断器、变压器等两端元件
LineState;支路工作状态标志
以图1配电系统为例,网络节点数为NodeN,支路数为LineN,计算过程如下。
a. 从NodeN中顺序获取pNode中具有负荷的节点i。
b. 以i为起点,进行主回路递归搜索,搜索到其供电路径上的节点和支路存入MainNodeList和MainLineList。将主回路元件的已搜索标志 islinesearched置为true,对LP36负荷,元件存贮顺序为LP36-母线1。
c. 从MainNodeList中第j(j=0,1,…)个节点为根节点开始,进行子回路递归搜索,由于主回路元件搜索标志为true,则被搜索的只有子回路元件。
d. 将MainLineList中第j-1条支路的可靠性数据根据主回路搜索原则a、b和c所述累加到负荷点的可靠性中;如j-1条支路类型为断路器或隔离开关,且可用联络开关列表不为空 (在子回路递归中获得),则将其加入可用主回路分段列表MainSectList中。
e. 如MainNodeList中所有节点已搜索完成,继续第f步,否则返回第c步,继续搜索Main-NodeList中的下一节点。
f. 顺序获取下一负荷节点作为搜索节点i,返回第b步,如负荷节点已搜索完毕,继续第g步。
g. 根据所有负荷节点的可靠性结果,计算整个系统的可靠性指标。
其中第b和c步的主回路递归和子回路递归在第3部分介绍。第c和d步中需说明的是:Main-NodeList和MainLineList元件有顺序相关性。如图2所示,0为供电节点,3为所求负荷节点,Main-NodeList存储节点顺序为3,2,1,0;而 Main-LineList存储支路顺序为2,1,0。如主回路有n个节点,则有n-1条支路,且j和j+1节点是j支路的起止节点,因此第d步是嵌套在第c步中的:执行第c步以2为根节点的子回路搜索得到支路3,若支路3为联络开关,则可用联络开关列表LinkList中存入支路3,执行第d步,第2-1=1条支路若为分段设备,且由于LinkList不为空,则可将1支路作为可用分段设备存入MainSectList中,在顺序搜索到下一支路0时,可用分段列表Main-SectList中已有可用分段的信息,即支路0故障可用分段支路1和联络支路3操作以恢复对负荷节点3的供电。所以可用分段的判断根据其顺序关系可直接得出,无需在搜索每个设备时再另行判断该设备是否与负荷点之间有分段设备。克服了故障遍历法对各个元件故障负荷转移时缺乏相互关联的缺点。
图2 主回路元件示意图
在搜索到分段设备1之前,如没有可用联络开关3,则支路0故障后开断支路1,并没有可对负荷点3恢复供电的路径。因此分段设备1是无效的,不需加入MainSectList中。
当搜索到某一设备时,分析其故障后的网络重构方案可直接利用当前可用分段列表和可用联络列表信息进行重构。
3 主回路递归与子回路递归
递归算法是一种直接或者间接调用自身的算法。在计算机编程中,它往往使算法的描述简洁且易于理解,编程工作量也大大减少。本算法的主回路递归过程如下。
从根节点 (负荷点)开始,调用递归子程序。递归程序参数为搜索节点编号r,递归子程序实现流程如下:
a. 若搜索结束标志设为真,则返回;
b. 从pLine表中顺序遍历所有支路,设当前遍历到的支路编号为l;
c. 若 l已搜索标志 islinesearched[l] 为true,则返回第c步顺序搜索下一支路,为false则继续第d步;
d. 若支路工作状态标志为不工作,则返回第c步顺序搜索下一支路,工作则继续第e步;
e. 若l起点或终点不等于r,则返回第c步顺序搜索下一支路;若l起点或终点等于r,则将islinesearched[l]置为true,继续第f步;
f. 如果NodeRecursion Times[r] 为1,则表明r节点为分支节点,且已结束深度搜索了某一分支而未找到供电节点,当前将搜索的是以r为起点的另一分支。因此必须将已深度搜索的分支节点和支路从MainNodeList和MainLineList列表中擦除;
g. 将支路l加入MainLineList列表;将支路另一节点v加入MainNodeList列表,若v为供电节点,则将搜索结束标志设为真,并返回;否则将r的NodeRecursionTimes[r]加1,然后将v作为递归函数参数,继续调用递归程序,即以v为起点调用递归程序执行a至g步。
第f步将NodeRecursionTimes[r]等于1作为分支节点判断原因如图3所示,0为供电节点,2为所求负荷节点,以2节点作为根节点,搜索到支路1,NodeRecursionTimes[2] =0+1,然后以另一节点1递归搜索,搜索到支路0,NodeRecursion-Times[1] =0+1,再以另一节点3递归搜索,无支路,返回上级递归,此时 NodeRecursionTimes[1]为1,则需将在节点1之后加入MainNodeList列表的3节点和加入MainLineList的支路0擦除。继续以1节点搜索,搜索到支路2,另一节点0为供电节点,则搜索完成标示设为真,递归返回。
图3 节点多分支示意图
子回路递归过程如下。
从根节点j开始,调用递归子程序。递归程序参数为搜索节点编号r,递归子程序实现流程如下:
a. 从pLine表中顺序遍历所有支路,设当前遍历到的支路编号为l;
b. 若 l已搜索标志 islinesearched[l] 为true,则返回第b步顺序搜索下一支路,直至所有线路已搜索标志为true,结束子回路递归,为false则继续第c步;
c. 若l起点或终点不等于r,则返回第b步顺序搜索下一支路;若l起点或终点等于r,则将islinesearched[l]置为true,继续第d步;
d. 如果 NodeRecursionTimes[r]为1,则表明r节点为分支节点,将已深度搜索的分支节点和支路从SubNodeList和SubLineList列表中擦除,如擦除设备为断路器,则子路径断路器数k减1;如擦除设备为隔离开关,则子路径隔离开关数s减1;
e. 将支路l加入SubLineList列表;当l为工作状态时,如l为断路器,则子路径断路器数k增加1,继续第f步,如l为隔离开关,则子路径隔离开关数s增加1,继续第f步,如l为熔断器,则返回第b步顺序搜索下一支路;当l为开断状态且为联络开关,则将其加入LinkList列表中,返回第b步顺序搜索下一支路;
f. 将支路l的故障率以原则a、b和c加入负荷LP36的故障率中,若k+s≥1,说明子回路到主回路间有分段设备,其故障时间按子回路元件故障时间对负荷影响的原则b计算,否则以原则a计算;
g. 将支路另一节点v加入SubNodeList列表;将r的NodeRecursionTimes[r]加1,然后将 v作为递归函数参数,继续调用递归程序,即以v为起点调用递归程序执行a~g步。
4 算例分析
应用本文提出的方法采用VC++编程对1996年IEEE公布的配电系统可靠性评估试验系统(IEEE RBTS)[12]进行了评估。
负荷节点可靠性结果如表1所示 (限于篇幅,不予全部列出)。系统可靠性结果如表2所示。
其中对负荷点LP36可靠性有影响的相关元件如表3所示。表中元件顺序体现了程序的搜索顺序,故障率列表示含义为:当设备为变压器时,积式第一项为其年故障率;第二项为子回路首端有无断路器的积项,当有断路器时,为 (1-P)k,无断路器及设备为主回路元件时为1;当设备为线路时,积式第一项为单位长度线路年故障率,第二项为线路长度,第三项与变压器第二积项相同。故障时间列表示含义是故障率列乘设备故障时间,设备故障时间为积项的最后一项,遵循主回路a、b、c 3原则和子回路a、b原则。由表3可见,相关元件对负荷点 LP36的故障率影响排序为:L48,L63, L45, L64, L59, L46, L35, L60, L40,L36, L62, L49, L42, L39, L37, L44, L38,L51,L53,L58,L50,L56,L52,L57,L5,T36。故障时间影响排序为:T36,L48,L63,L45,L64,L59, L46, L35, L60, L40, L36, L62, L49,L42, L39, L37, L44, L38, L51, L53, L58,L50,L56,L52,L57,L54。根据影响排序,可有针对性地对相关元件进行改造以降低其故障率,或改变局部接线方式 (如架双回线,一回运行,一回备用),以达到有效提高相关负荷可靠性的目的。
表1 负荷节点可靠性计算结果
表2 系统可靠性计算结果
对该系统进行分析计算的文献都将其分成了几个子系统 (3母线系统、5母线系统和6母线系统),如不分割,采用故障遍历法搜索时各子系统之间搜索非常复杂,如采用网络等值法,等值过程计算机处理更是难于实现。由表3可见,本系统递归过程体现了负荷点供电路径的连续性,因此提高了搜索效率,而且不同子系统对各个负荷点可靠性的计算不会造成影响,因此不用分成子系统分别计算,且数据采用的是常用系统节点表和支路表,与配网数据接口方便,适于进行现场大规模配电网可靠性的分析计算。
表3 对负荷点LP36可靠性有影响的相关元件列表
续表
5 结论
本文提出了一种改进配电网可靠性算法,在对算法思路进行描述后详细叙述了算法的实现。本算法具有以下特点。
a. 通过主回路递归和子回路递归对复杂配电网可行性进行计算,算法原理简单清晰,无需进行网络等值,易于在计算机上实现。
b. 由于故障元件的搜索和故障影响分析具有内在的顺序关系,可克服故障遍历法对各个元件故障负荷转移时缺乏相互关联的缺点。
c. 在需要计算某负荷点可靠性时,无需分析所有元件故障,不受网络规模影响,且能给出对该负荷点可靠性影响的各元件排序,方便供电部门了解网络的关键元件,并针对关键元件进行改造或调整接线方式。
d. 在搜索过程中无需形成网络的邻接矩阵或特殊链表关系,直接采用最基本的节点数据表和支路数据表对网络进行搜索,可方便地与现场数据接口,适于大规模配电网的可靠性评估。
该算法程序已成功地运用到广东省深圳供电局、上海市东供电局、安徽六安供电局、淮北供电局、湖南省供电局等地区配网可靠性评估中,应用情况良好,表明了本算法的有效性和实用性。
[1] Billinton R,Wang P.Reliability Network Equivalent Approach to Distribution System reliability Evaluation.IEE Proc-Gener.Trans.Distrib,1998,145(2):149-153.
[2] Kremens Z.B.,Labuzek M.Load Flow Analysis Incorporating Frequency as a State Vector Variable[C].Ninth International Conference on Harmonics and Quality of Power,2000:526-530.
[3] 刘传铨,张 焰.计及分布式电源的配电网供电可靠性[J].电力系统自动化,2007,31(22):46-49.
[4] 郭慧敏.应用最小路—广度优先搜索的配电系统可靠性评估 [J].继电器,2007,35(22):14-17.
[5] 李卫星,李志民,刘迎春.复杂辐射状配电系统的可靠性评估[J].中国电机工程学报,2003,23(3):69-73,79.
[6] 徐珍霞,周江昕.复杂配电网可靠性评估的改进故障遍历法 [J].电网技术,2005,29(14):64-67.
[7] 廉兴旺,余 胜.基于FMEA法的复杂配电网可靠性评估新算法的研究[J].江苏电机工程,2008,27(2):9-12.
[8] Billinton R,Li WY.Reliability Assessment of Electric Power Systems Using Monte Carlo Methods[M].New York and London:Plenum Press,1994,209-254.
[9] 束洪春,刘宗兵,朱文涛.基于图论的复杂配电网可靠性评估方法[J].电网技术,2006,30(21):46-49.
[10] 邵 黎,谢开贵,何 潇.用于复杂配电网潮流计算和可靠性评估的树状链表和递归搜索方法 [J].电网技术,2007,31(13):39-43.
[11] 刘柏私,谢开贵,马春雷,等.复杂中压配电网的可靠性评估分块算法[J].中国电机工程学报,2005,25(4):40-45.
[12] Roy Billinton,Satish Jonnavithula.A Test System for Teaching Overall Power System Reliability Assessment.IEEE Transactions on Power Systems,1996,11(4):1 670-1 676.
Algorithm Improvement for Complex Distribution Network Reliability Evaluation and its Programme
JIN Yi-xiong1,LIU Sha2,DENG Hao2
(1.Department of Electrical Engineering,Shanghai University of Electric Power,Shanghai 200090,China;2.Shenzhen Electric Power Company,Shenzhen,Guangdong 518021,China)
By illuminating the problems of previous evaluation algorithms,and according to the actual demands of engineering application,an improved reliability evaluation algorithm for distribution network is put forward in this paper.This algorithm needs no network equivalence process,and its principle is clear and succinct so as to easy programming.When only one load point is concerned,it does not need to analyze fault results of all equipments,and can conclude the influence degree of pertinent equipments to certain load point so as to help the supplier to know which equipments is critical.This algorithm can easily cooperate with fault reconfiguration.It needs only widely used data format for the convenient data interface with engineering application,no adjacency matrix and special chain table are needed.Recursive search is used in the algorithm,which reduces the amount of programming and improves its efficiency.
Distribution network;Reliability evaluation;Recursive search
TM715;TM732
A
1004-7913(2012)09-0001-06
国家自然科学基金 (50907039);上海市教育委员会科研创新项目 (12ZZ178)
金义雄 (1977—)男,博士,副教授,研究方向为电力系统规划、电力系统可靠性、无功优化与控制及负荷预测。
2012-05-10)