基于关联矩阵与回路矩阵的电网拓扑分析系统及其方法转让专利

申请号 : CN201410005257.6

文献号 : CN103701122B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 马静张俣妤马伟王增平

申请人 : 华北电力大学

摘要 :

本发明公开了电力系统的电网拓扑分析技术领域中的一种基于关联矩阵与回路矩阵的电网拓扑分析系统及其方法。系统包括数据读入模块、拓扑分析模块、拓扑更新模块和结果输出模块;方法包括:采集电网的节点、支路和断路器状态信息;根据电网的节点、支路和断路器状态信息生成关联矩阵;对生成的关联矩阵进行分析,得到电网拓扑结构数据;根据电网拓扑结构数据生成回路矩阵;借助回路矩阵更新电网拓扑结构数据。本发明实现了电网拓扑结构数据的动态实时分析以及电网拓扑结构数据的离线更新,且本发明计算量小,更新速度快,可适用于多种网络变结构的情况。

权利要求 :

1.一种基于关联矩阵与回路矩阵的电网拓扑分析系统,其特征是所述系统包括数据读入模块、拓扑分析模块、拓扑更新模块和结果输出模块;

所述数据读入模块与拓扑分析模块相连;

所述拓扑分析模块分别与数据读入模块、拓扑更新模块和结果输出模块相连;

所述拓扑更新模块分别与数据读入模块、拓扑分析模块和结果输出模块相连;

所述结果输出模块分别与拓扑分析模块和拓扑更新模块相连;

所述数据读入模块用于采集电网的节点、支路和断路器状态信息,并将采集的信息发送至拓扑分析模块和拓扑更新模块;

所述拓扑分析模块用于根据采集的信息生成关联矩阵,并对生成的关联矩阵进行分析,得到电网拓扑结构数据,再将所述电网拓扑结构数据发送至拓扑更新模块和结果输出模块;

所述拓扑更新模块用于根据电网拓扑结构数据生成回路矩阵,并在断路器状态发生变化时,借助回路矩阵更新电网拓扑结构数据,再将更新后的电网拓扑结构数据发送至结果输出模块;

所述结果输出模块用于输出更新后的电网拓扑结构数据。

2.根据权利要求1所述的系统,其特征是所述断路器状态包括断路器断开和断路器闭合。

3.根据权利要求2所述的系统,其特征是所述拓扑更新模块包括支路断开子模块和支路闭合子模块;

所述支路断开子模块分别与数据读入模块、拓扑分析模块和结果输出模块 相连;

所述支路闭合子模块分别与数据读入模块、拓扑分析模块和结果输出模块相连;

所述支路断开子模块在断路器断开时,借助回路矩阵判断断开支路的类型,并根据断开支路的类型更新电网拓扑结构数据,再将更新后的电网拓扑结构数据发送至结果输出模块;

所述支路闭合子模块在断路器闭合时,根据闭合支路的类型更新电网拓扑结构数据,再将更新后的电网拓扑结构数据发送至结果输出模块。

4.根据权利要求1、2或3所述的系统,其特征是所述电网拓扑结构数据包括电网的电气岛集合、树支集合和连支集合。

5.一种基于关联矩阵与回路矩阵的电网拓扑分析方法,其特征是所述方法包括:步骤1:采集电网的节点、支路和断路器状态信息;

所述断路器状态包括断路器断开和断路器闭合;

步骤2:根据电网的节点、支路和断路器状态信息生成关联矩阵,包括:子步骤101:如果支路上的断路器处于闭合状态,则将所述支路作为边;

子步骤102:利用节点和边生成关联矩阵;

所述关联矩阵B中的元素bij表示电网中第i个节点vi与第j条边ej的关联值;

步骤3:对生成的关联矩阵进行分析,得到电网拓扑结构数据,包括:子步骤201:设定电气岛集合I1、树支集合S1和连支集合A1为空集;

子步骤202:将关联矩阵B中未被标记的第一列中第一个非零元素bim所在行对应的节点vi作为根节点,将根节点vi加入电气岛集合I1中;

子步骤203:搜索关联矩阵B中第i行全部非零元素bij所在j列中的其余非零 元素bkj;

子步骤204:如果第j列未标记过,且非零元素bkj所在行对应的节点vk不在电气岛集合I1内,则将vk加入电气岛集合I1,并将非零元素bkj所在列对应的边ej加入树支集合S1,同时标记第j列;

子步骤205:如果第j列未标记过,且非零元素bkj所在行对应的节点vk在电气岛集合I1中,则将非零元素bkj所在列对应的边ej加入连支集合A1,同时标记第j列;

子步骤206:判断电气岛集合I1中除根节点外的节点是否都已经被取用过,如果电气岛集合I1中除根节点外的节点都已经被取用过,则执行子步骤207;否则,取用电气岛集合I1中的下一个节点vn,并令i=n,返回子步骤203;

子步骤207:判断电网中的所有节点是否都已经加入到电气岛集合I1中,如果电网中的所有节点都已经加入到电气岛集合I1中,则执行子步骤208;否则,返回子步骤202;

子步骤208:电气岛集合I1、树支集合S1和连支集合A1即为所求电网拓扑结构数据;

步骤4:根据电网拓扑结构数据生成回路矩阵;

步骤5:借助回路矩阵更新电网拓扑结构数据。

6.根据权利要求5所述的方法,其特征是所述根据电网拓扑结构数据生成回路矩阵具体为,回路矩阵的第一列顺序存放连支集合A1中的连支,每个连支所在的行顺序存放该连支所在基本回路的树支,空出的位置用零填补;

所述基本回路是指由电气岛集合、树支集合和连支集合组成的回路中,只包括一条连支的回路。

7.根据权利要求6所述的方法,其特征是所述借助回路矩阵更新电网拓扑结构数据包括:子步骤301:当电网中断路器状态发生变化时,判断断路器断开还是断路器闭合,如果断路器断开,则执行子步骤302;如果断路器闭合,则执行子步骤307;

子步骤302:借助回路矩阵判断断开支路的类型,如果断开支路为连支,则执行子步骤

303;如果断开支路为基本回路中的树支,且所述树支仅属于一条基本回路,则执行子步骤

304;如果断开支路为基本回路中的树支,且所述树支属于两条或两条以上基本回路,则执行子步骤305;如果断开支路为树支,且所述树支不属于任何基本回路,则执行子步骤306;

子步骤303:进行如下操作:

A、将断开的连支从连支集合A1中删除;

B、在回路矩阵中将所述断开的连支所在的行删除;

C、返回子步骤301;

子步骤304:进行如下操作:

A、在回路矩阵中,将断开的树支所在的行删除;

B、将断开的树支从树支集合S1中删除;

C、将断开的树支所处的基本回路中的连支加入树支集合S1;

D、将断开的树支所处的基本回路中的连支从连支集合A1中删除;

E、返回子步骤301;

子步骤305:在断开的树支所属的基本回路中,选择支路数最少的基本回路, 并进行如下操作:A、将所述支路数最少的基本回路中的连支加入树支集合S1;

B、将所述支路数最少的基本回路中的连支从连支集合A1中删除;

C、将断开的树支从树支集合S1中删除;

D、将所述支路数最少的基本回路分别与其余含断开的树支的基本回路合并,合并时删除重复的支路,从而得到更新的基本回路;

E、更新回路矩阵;

F、返回子步骤301;

子步骤306:采用半径搜索法从断开的树支的一个节点开始搜索所有节点,并进行如下操作:A、设定电气岛集合I2、树支集合S2和连支集合A2为空集;

B、将搜索到的所有节点加入电气岛集合I2中,并将搜索到的所有节点从电气岛集合I1中删除;

C、如果搜索到的任意两个节点之间的支路是树支,则将所述树支加入树支集合S2,并将所述树支从树支集合S1中删除;

D、如果搜索到的任意两个节点之间的支路是连支,则将所述连支加入连支集合A2,并将所述连支从连支集合A1中删除;

E、更新回路矩阵;

F、返回子步骤301;

子步骤307:如果断路器闭合导致电气岛集合内的两个节点相连,则进行如下操作:A、将两个相连的节点之间形成的支路作为连支,加入连支集合A1中;

B、在回路矩阵中,增加一行,增加的行的第一列为所述连支,其余列顺序存放所述连支所在基本回路的树支;

C、返回子步骤301;

子步骤308:如果断路器闭合导致电气岛集合内的一个节点和另一个电气岛集合内的一个节点相连,则断路器闭合导致两组电网拓扑结构数据相连,此时进行如下操作:A、将两个电气岛集合合并;

B、将两个树支集合合并;

C、将两个连支集合合并;

D、将两个相连的节点之间的支路作为树支并加入合并后的树支集合;

E、更新回路矩阵;

F、返回子步骤301;

子步骤309:如果断路器闭合导致电气岛集合内的一个节点和一个孤立节点相连,则进行如下操作:A、将孤立节点加入到电气岛集合I1中;

B、将相连的两个节点之间形成的支路作为树支加入树支集合S1中;

C、返回步骤301。

说明书 :

基于关联矩阵与回路矩阵的电网拓扑分析系统及其方法

技术领域

[0001] 本发明属于电力系统的电网拓扑分析技术领域,尤其涉及一种基于关联矩阵与回路矩阵的电网拓扑分析系统及其方法。

背景技术

[0002] 电网拓扑分析能够根据开关状态对电气岛进行划分,为潮流计算、状态估计、安全分析等提供网络结构数据。因此,复杂程度日益加深的现代电力系统亟需更为快速和准确的电力系统网络拓扑分析算法。
[0003] 电网拓扑分析的实质是电网连通性的判断。目前,电网拓扑分析主要包括矩阵法和搜索法两类。矩阵法在邻接矩阵的基础上,通过不同的计算方式获取表征系统全局连通性的全连通矩阵。而搜索法则由某一节点出发,按一定路径搜索相关母线及支路,进行连通片的划分,主要分为深度优先搜索法(Depth First Search,DFS)和广度优先搜索法(Breadth First Search,BFS)。但是,上述两种方法主要应用于静态网络拓扑分析,在适应网络变结构的拓扑快速更新方面的研究则相对较少。
[0004] 随着智能电网的建设和发展,迫切需要从根本上改善电网拓扑适应系统结构非预设性变化的水平。这就要求当电网结构发生变化时,拓扑能够进行快速更新,以适应当前的运行方式。基于此,本发明提出一种基于关联矩阵标记法和回路矩阵的网络拓扑分析系统及其方法。该方法在系统正常运行情况下,利用关联矩阵标记法,完成电网静态网络拓扑分析;当网络拓扑发生变化后,借助回路矩阵,判断变化支路的类型;在此基础上,利用破圈法和半径搜索法,更新局部网络拓扑及回路矩阵。仿真实例表明,本发明计算量小,更新结果快速准确,可适用于多种网络变结构情况。

发明内容

[0005] 本发明的目的在于,提供一种基于关联矩阵与回路矩阵的电网拓扑分析系统及其方法,用于解决现有的电网拓扑分析方法无法对结构不断变化的电网进行准确分析的问题。
[0006] 为了实现上述目的,本发明提出的技术方案是,一种基于关联矩阵与回路矩阵的电网拓扑分析系统,其特征是所述系统包括数据读入模块、拓扑分析模块、拓扑更新模块和结果输出模块;
[0007] 所述数据读入模块与拓扑分析模块相连;
[0008] 所述拓扑分析模块分别与数据读入模块、拓扑更新模块和结果输出模块相连;
[0009] 所述拓扑更新模块分别与数据读入模块、拓扑分析模块和结果输出模块相连;
[0010] 所述结果输出模块分别与拓扑分析模块和拓扑更新模块相连;
[0011] 所述数据读入模块用于采集电网的节点、支路和断路器状态信息,并将采集的信息发送至拓扑分析模块和拓扑更新模块;
[0012] 所述拓扑分析模块用于根据采集的信息生成关联矩阵,并对生成的关联矩阵进行分析,得到电网拓扑结构数据,再将所述电网拓扑结构数据发送至拓扑更新模块和结果输出模块;
[0013] 所述拓扑更新模块用于根据电网拓扑结构数据生成回路矩阵,并在断路器状态发生变化时,借助回路矩阵更新电网拓扑结构数据,再将更新后的电网拓扑结构数据发送至输出模块;
[0014] 所述输出模块用于输出更新后的电网拓扑结构数据。
[0015] 所述断路器状态包括断路器断开和断路器闭合。
[0016] 所述拓扑更新模块包括支路断开子模块和支路闭合子模块;
[0017] 所述支路断开子模块分别与数据读入模块、拓扑分析模块和输出模块相连;
[0018] 所述支路闭合子模块分别与数据读入模块、拓扑分析模块和输出模块相连;
[0019] 所述支路断开子模块在断路器断开时,借助回路矩阵判断断开支路的类型,并根据断开支路的类型更新电网拓扑结构数据,再将更新后的电网拓扑结构数据发送至输出模块;
[0020] 所述支路闭合子模块在断路器闭合时,根据闭合支路的类型更新电网拓扑结构数据,再将更新后的电网拓扑结构数据发送至输出模块。
[0021] 所述电网拓扑结构数据包括电网的电气岛集合、树支集合和连支集合。
[0022] 一种基于关联矩阵与回路矩阵的电网拓扑分析方法,其特征是所述方法包括:
[0023] 步骤1:采集电网的节点、支路和断路器状态信息;
[0024] 步骤2:根据电网的节点、支路和断路器状态信息生成关联矩阵;
[0025] 步骤3:对生成的关联矩阵进行分析,得到电网拓扑结构数据;
[0026] 步骤4:根据电网拓扑结构数据生成回路矩阵;
[0027] 步骤5:借助回路矩阵更新电网拓扑结构数据。
[0028] 所述断路器状态包括断路器断开和断路器闭合。
[0029] 所述步骤2包括:
[0030] 子步骤101:如果支路上的断路器处于闭合状态,则将所述支路作为边;
[0031] 子步骤102:利用节点和边生成关联矩阵;
[0032] 所述关联矩阵B中的元素bij表示电网中第i个节点vi与第j条边ej的关联值。
[0033] 所述步骤3包括:
[0034] 子步骤201:设定电气岛集合I1、树支集合S1和连支集合A1为空集;
[0035] 子步骤202:将关联矩阵B中未被标记的第一列中第一个非零元素bim所在行对应的节点vi作为根节点,将根节点vi加入电气岛集合I1中;
[0036] 子步骤203:搜索关联矩阵B中第i行全部非零元素bij所在j列中的其余非零元素bkj;
[0037] 子步骤204:如果第j列未标记过,且非零元素bkj所在行对应的节点vk不在电气岛集合I1内,则将vk加入电气岛集合I1,并将非零元素bkj所在列对应的边ej加入树支集合S1,同时标记第j列;
[0038] 子步骤205:如果第j列未标记过,且非零元素bkj所在行对应的节点vk在电气岛集合I1中,则将非零元素bkj所在列对应的边ej加入连支集合A1,同时标记第j列;
[0039] 子步骤206:判断电气岛集合I1中除根节点外的节点是否都已经被取用过,如果电气岛集合I1中除根节点外的节点都已经被取用过,则执行子步骤207;否则,取用电气岛集合I1中的下一个节点vn,并令i=n,返回子步骤203;
[0040] 子步骤207:判断电网中的所有节点是否都已经加入到电气岛集合I1中,如果电网中的所有节点都已经加入到电气岛集合I1中,则执行子步骤208;否则,返回子步骤202;
[0041] 子步骤208:电气岛集合I1、树支集合S1和连支集合A1即为所求电网拓扑结构数据。
[0042] 所述根据电网拓扑结构数据生成回路矩阵具体为,回路矩阵的第一列顺序存放连支集合A1中的连支,每个连支所在的行顺序存放该连支所在基本回路的树支,空出的位置用零填补;
[0043] 所述基本回路是指由电气岛集合、树支集合和连支集合组成的回路中,只包括一条连支的回路。
[0044] 所述借助回路矩阵更新电网拓扑结构数据包括:
[0045] 子步骤301:当电网中断路器状态发生变化时,判断断路器断开还是断路器闭合,如果断路器断开,则执行子步骤302;如果断路器闭合,则执行子步骤307;
[0046] 子步骤302:借助回路矩阵判断断开支路的类型,如果断开支路为连支,则执行子步骤303;如果断开支路为基本回路中的树支,且所述树支仅属于一条基本回路,则执行子步骤304;如果断开支路为基本回路中的树支,且所述树支属于两条或两条以上基本回路,则执行子步骤305;如果断开支路为树支,且所述树支不属于任何基本回路,则执行子步骤306;
[0047] 子步骤303:进行如下操作:
[0048] A、将断开的连支从连支集合A1中删除;
[0049] B、在回路矩阵中将所述断开的连支所在的行删除;
[0050] C、返回子步骤301;
[0051] 子步骤304:进行如下操作:
[0052] A、在回路矩阵中,将断开的树支所在的行删除;
[0053] B、将断开的树支从树支集合S1中删除;
[0054] C、将断开的树支所处的基本回路中的连支加入树支集合S1;
[0055] D、将断开的树支所处的基本回路中的连支从连支集合A1中删除;
[0056] E、返回子步骤301;
[0057] 子步骤305:在断开的树支所属的基本回路中,选择支路数最少的基本回路,并进行如下操作:
[0058] A、将所述支路数最少的基本回路中的连支加入树支集合S1;
[0059] B、将所述支路数最少的基本回路中的连支从连支集合A1中删除;
[0060] C、将断开的树支从树支集合S1中删除;
[0061] D、将所述支路数最少的基本回路分别与其余含断开的树支的基本回路合并,合并时删除重复的支路,从而得到更新的基本回路;
[0062] E、更新回路矩阵;
[0063] F、返回子步骤301;
[0064] 子步骤306:采用半径搜索法从断开的树支的一个节点开始搜索所有节点,并进行如下操作:
[0065] A、设定电气岛集合I2、树支集合S2和连支集合A2为空集;
[0066] B、将搜索到的所有节点加入电气岛集合I2中,并将搜索到的所有节点从电气岛集合I1中删除;
[0067] C、如果搜索到的任意两个节点之间的支路是树支,则将所述树支加入树支集合S2,并将所述树支从树支集合S1中删除;
[0068] D、如果搜索到的任意两个节点之间的支路是连支,则将所述连支加入连支集合A2,并将所述连支从连支集合A1中删除;
[0069] E、更新回路矩阵;
[0070] F、返回子步骤301;
[0071] 子步骤307:如果断路器闭合导致电气岛集合内的两个节点相连,则进行如下操作:
[0072] A、将两个相连的节点之间形成的支路作为连支,加入连支集合A1中;
[0073] B、在回路矩阵中,增加一行,增加的行的第一列为所述连支,其余列顺序存放所述连支所在基本回路的树支;
[0074] C、返回子步骤301;
[0075] 子步骤308:如果断路器闭合导致电气岛集合内的一个节点和另一个电气岛集合内的一个节点相连,则断路器闭合导致两组电网拓扑结构数据相连,此时进行如下操作:
[0076] A、将两个电气岛集合合并;
[0077] B、将两个树支集合合并;
[0078] C、将两个连支集合合并;
[0079] D、将两个相连的节点之间的支路作为树支并加入合并后的树支集合;
[0080] E、更新回路矩阵;
[0081] F、返回子步骤301;
[0082] 子步骤309:如果断路器闭合导致电气岛集合内的一个节点和一个孤立节点相连,则进行如下操作:
[0083] A、将孤立节点加入到电气岛集合I1中;
[0084] B、将相连的两个节点之间形成的支路作为树支加入树支集合S1中;
[0085] C、返回步骤301。
[0086] 本发明在电网正常运行情况下,利用关联矩阵标记法,将关联矩阵的物理意义及BFS的搜索原则相结合,判断图的连通性,同时标记网络的树支与连支,完成电网静态电气岛分析;当网络结构发生变化后,借助回路矩阵,判断变化支路的类别,在此基础上,利用破圈法和半径搜索法,修改局部网络拓扑及更新回路矩阵。仿真实例验证结果表明,该发明计算量小,更新速度快,可适用于多种网络变结构的情况。

附图说明

[0087] 图1是本发明提供的基于关联矩阵与回路矩阵的电网拓扑分析系统结构图;
[0088] 图2是本发明提供的基于关联矩阵与回路矩阵的电网拓扑分析方法流程图;
[0089] 图3是实施例1提供的电网结构示意图;
[0090] 图4是实施例2提供的新英格兰10机39节点系统结构图;
[0091] 图5是IEEE39节点系统中支路的编号及其节点对应表。

具体实施方式

[0092] 下面结合附图,对优选实施例作详细说明。应该强调的是,下述说明仅仅[0093] 是示例性的,而不是为了限制本发明的范围及其应用。
[0094] 实施例1
[0095] 图1是本发明提供基于关联矩阵与回路矩阵的电网拓扑分析系统结构图。如图1所示,基于关联矩阵与回路矩阵的电网拓扑分析系统包括数据读入模块、拓扑分析模块、拓扑更新模块和结果输出模块。它们之间的连接关系是,数据读入模块与拓扑分析模块相连,拓扑分析模块分别与数据读入模块、拓扑更新模块和结果输出模块相连,拓扑更新模块分别与数据读入模块、拓扑分析模块和结果输出模块相连,结果输出模块分别与拓扑分析模块和拓扑更新模块相连。
[0096] 数据读入模块用于采集电网的节点、支路和断路器状态信息,并将采集的信息发送至拓扑分析模块。其中,断路器状态包括断路器断开和断路器闭合。
[0097] 拓扑分析模块用于根据采集的信息生成关联矩阵,并对生成的关联矩阵进行分析,得到电网拓扑结构数据,再将所述电网拓扑结构数据发送至拓扑更新模块和结果输出模块。电网拓扑结构数据包括电网的电气岛集合、树支集合和连支集合。
[0098] 拓扑更新模块用于根据电网拓扑结构数据生成回路矩阵,并在断路器状态发生变化时,借助回路矩阵更新电网拓扑结构数据,再将更新后的电网拓扑结构数据发送至输出模块。
[0099] 其中,拓扑更新模块还包括支路断开子模块和支路闭合子模块。支路断开子模块分别与数据读入模块、拓扑分析模块和输出模块相连,支路闭合子模块分别与数据读入模块、拓扑分析模块和输出模块相连。支路断开子模块在断路器断开时,借助回路矩阵判断断开支路的类型,并根据断开支路的类型更新电网拓扑结构数据,再将更新后的电网拓扑结构数据发送至输出模块。支路闭合子模块在断路器闭合时,根据闭合支路的类型更新电网拓扑结构数据,再将更新后的电网拓扑结构数据发送至输出模块。
[0100] 输出模块用于接收电网拓扑结构数据并输出。
[0101] 图2是本发明提供的基于关联矩阵与回路矩阵的电网拓扑分析方法流程图。如图2所示,本发明提供的基于关联矩阵与回路矩阵的电网拓扑分析方法包括:
[0102] 步骤1:采集电网的节点、支路和断路器状态信息。
[0103] 在本发明中,电网节点包括发电节点、负荷节点和平衡节点。发电节点是提供电能的场站,如发电厂、变电站、配电站等。负荷节点是消耗电能的场所,如用户变电站、用户配电所等。支路是电网中节点和节点之间的电力线路。断路器是用于控制电力线路断开或者闭合的设备。断路器状态包括断路器断开和断路器闭合,当断路器断开时,表示电力线路断开,即节点之间不连接;当断路器闭合时,表示电力线路闭合,即节点之间连接。
[0104] 步骤2:根据电网的节点、支路和断路器状态信息生成关联矩阵。
[0105] 以图3提供的电网结构示意图为例,生成关联矩阵的过程是:
[0106] 子步骤101:如果支路上的断路器处于闭合状态,则将支路作为边。
[0107] 子步骤102:利用节点和边生成关联矩阵。
[0108] 设图G={V,E}的顶点集合和边集分别为V={v1,v2,v3,…,vp},E={e1,e2,e3,…,eq}。bij表示节点vi与边ej关联值,B=(bij)p×q为图G的关联矩阵。图3所示的电网结构示意图的关联矩阵B可表示为:
[0109]
[0110] 由式(1)可知,关联矩阵B有如下性质:
[0111] 性质1:每条边关联两个节点,即列对应边,每列中元素为1的行数对应本边的端点,且每列元素之和均为2。
[0112] 性质2:B中每行元素为1的列数对应该节点相连的边,因此,每行元素之和表示本节点所连接边的个数。
[0113] 性质3:若某一行的元素均为0,则这一行对应的顶点是一个孤立点。
[0114] 步骤3:对生成的关联矩阵进行分析,得到电网拓扑结构数据。
[0115] 本发明利用关联矩阵标记法,将关联矩阵的物理意义及BFS的搜索原则相结合,判断图的连通性,同时标记网络的树支与连支,完成静态电网拓扑结构数据分析。其中,广度优先搜索法的基本思路是:从图的顶点中任选一个作为根,添加与该顶点相关联的全部边,并将这些边对应的其他顶点作为生成树1层的顶点,再将1层的顶点任意排序,然后逐个访问1层的顶点。在访问过程中,若不产生回路,则添加与这个顶点相关联的边,且边的另一端顶点成为2层的顶点。遵循同样的搜索原则,经有限步即得到生成树,树上每个顶点即为电气岛所包含的节点。
[0116] 分析电网拓扑数据结构的步骤大体是:
[0117] 首先,设关联矩阵B的第1个非零元素为bij,则电气岛I的第1个元素为vi,以vi为根,搜索B中第j行的所有非零元素,并将这些非零元素对应的边标记为树支,将树支另一端节点加入电气岛内,作为系统生成树的1层顶点。
[0118] 其次,由电气岛I内第2个元素开始,逐个搜索与其相关的边与节点,若节点vm为被访节点,则搜索B中第m行的非零元素。若非零元素对应列未标记过,且其另一端节点不在电气岛内,则将该列对应边标记为树支,并将节点加入电气岛;反之,若非零元素对应列未标记过,且其另一端节点已在I内,则将该列对应边标记为连支。
[0119] 最后,当搜索节点数与网络节点数相同,或所有边都被标记过,分析结束。
[0120] 依据上述原理,分析关联矩阵进而得到电网拓扑结构数据的具体步骤为:
[0121] 子步骤201:设定电气岛集合I1、树支集合S1和连支集合A1为空集。
[0122] 子步骤202:将关联矩阵B中未被标记的第一列中第一个非零元素bim所在行对应的节点vi作为根节点,将根节点vi加入电气岛集合I1中。
[0123] 子步骤203:搜索关联矩阵B中第i行全部非零元素bij所在j列中的其余非零元素bkj。
[0124] 子步骤204:如果第j列未标记过,且非零元素bkj所在行对应的节点vk不在电气岛集合I1内,则将vk加入电气岛集合I1,并将非零元素bkj所在列对应的边ej加入树支集合S1,同时标记第j列。
[0125] 子步骤205:如果第j列未标记过,且非零元素bkj所在行对应的节点vk在电气岛集合I1中,则将非零元素bkj所在列对应的边ej加入连支集合A1,同时标记第j列。
[0126] 子步骤206:判断电气岛集合I1中除根节点外的节点是否都已经被取用过,如果电气岛集合I1中除根节点外的节点都已经被取用过,则执行子步骤207;否则,取用电气岛集合I1中的下一个节点vn,并令i=n,返回子步骤203。
[0127] 子步骤207:判断电网中的所有节点是否都已经加入到电气岛集合I1中,如果电网中的所有节点都已经加入到电气岛集合I1中,则执行子步骤208;否则,返回子步骤202。
[0128] 子步骤208:电气岛集合I1、树支集合S1和连支集合A1即为所求电网拓扑结构数据。
[0129] 以图3所示的图为例,其关联矩阵B如式(1),则该电网拓扑结构数据的分析过程大致为:
[0130] 首先设定电气岛集合I1、树支集合S1和连支集合A1为空集。
[0131] 关联矩阵B中未被标记的第一列中第一个非零元素为b21,其所在行对应的节点v2作为根节点,将根节点v2加入电气岛集合I1中,这时I1={v2}。
[0132] 接下来,搜索关联矩阵B中第2行全部非零元素,分别为b21、b24和b28,他们所在的列分别为第1、4和8列,第1列中的其余非零元素为b41,第4列中的其余非零元素为b54,第8列中的其余非零元素为b18。
[0133] 由于第1、4和8列都未被标记过,且非零元素b41、b54和b18所在行对应的节点v4、v5和v1不在电气岛集合I1内,因此将节点v4、v5和v1加入电气岛集合I1,即I1={v2,v4,v5,v1}。将b41、b54和b18所在列对应的边e1、e4和e8加入树支集合S1,同时标记第1、4和8列,此时S1={e1,e4,e8}。
[0134] 由于此时电气岛集合I1中除根节点v2外,v4、v5和v1都未被取用过,因此取用电气岛集合I1中的下一个节点v4,令i=4。
[0135] 搜索关联矩阵B中第4行全部非零元素为b41、b46和b47,他们所在的第1、6和7列中的其余非零元素b21、b56和b37。由于第1列已经被标记过,而第6列虽然未被标记过,但b56所在行对应的节点v5已经在电气岛集合I1中,因此支路e1和e6不是树支。第7列未被标记过且b37所在行对应的节点v3不在电气岛集合I1中,因此将v3加入电气岛集合,则I1={v2,v4,v5,v1,v3}。同时将e7加入树支集合S1,则S1={e1,e4,e7,e8},并标记第7列。由于第6列未被标记过,但b56所在行对应的节点v5已经在电气岛集合I1中,因此将e6加入连支集合A1,并标记第6列,则A1={e6}。
[0136] 取用电气岛集合I1中的下一个节点v5,令i=5。
[0137] 搜索关联矩阵B中第5行全部非零元素为b54和b56,他们所在的第4和6列中的其余非零元素b24和b46。由于第4和6列都被标记过,因此没有集合被更新。
[0138] 取用电气岛集合I1中的下一个节点v1,令i=1。
[0139] 搜索关联矩阵B中第1行全部非零元素为b12、b13和b18,他们所在的第2、3和8列中的其余非零元素b32、b63和b28。由于第2列未被标记,但v3已经加入电气岛集合,因此e2不是树支而是连支,将其加入连支集合A1,同时标记第2列,则A1={e2,e6}。由于第3列未被标记,且v6未加入电气岛集合,因此e3是树支,将其加入树支集合S1,并标记第3列,则S1={e1,e3,e4,e7,e8}。另外,将节点v6加入电气岛集合I1,则I1={v2,v4,v5,v1,v3,v6}。第8列已经被标记,因此不对e8进行处理。
[0140] 取用电气岛集合I1中的下一个节点v3,令i=3。
[0141] 搜索关联矩阵B中第3行全部非零元素为b32、b35和b37,他们所在的第2、5和7列中的其余非零元素b12、b65和b47。由于第2列和第7列都已经被标记,因此考察第5列。由于节点v6已经加入电气岛集合I1,因此将b65所在列对应的边e5加入连支集合A1,同时标记第5列,则A1={e2,e5,e6}。
[0142] 取用电气岛集合I1中的下一个节点v6,令i=6。
[0143] 搜索关联矩阵B中第6行全部非零元素为b63和b65,他们所在的第3和5列中的其余非零元素b13和b35。由于第3列和第5列已经被标记,因此无需修改集合。
[0144] 至此,关联矩阵分析完毕。得到电气岛集合I1={v2,v4,v5,v1,v3,v6},树支集合S1={e1,e3,e4,e7,e8},连支集合A1={e2,e5,e6}。
[0145] 步骤4:根据电网拓扑结构数据生成回路矩阵。
[0146] 设u与v是图G的两个顶点,若u与v之间的途径l所经过的边互不相同,则称l为迹。若l中的顶点亦不相同,则称l为路。若G中存在一条u-v路,则称顶点u和v连通,并将起点和终点相同的路称为回路。由此可知,回路中任意两点间不只存在一条路,即回路中,边的断开不影响图的连通性,反应在电网拓扑中,即为电气岛分布不变。另外,在所有回路中,只含有一条连支的回路为基本回路。如图3所示,基本回路共3条,包括e3、e8、e1、e7和e5组成的回路,e8、e1、e7和e2组成的回路以及e1、e4和e6组成的回路。
[0147] 为提高拓扑更新的效率,考虑到回路对拓扑的影响,定义回路矩阵为Li(i表示电气岛编号),其中,Li第一列存放基本回路中连支的编号,该行其它位置存储本回路中树支,空位补0。根据静态拓扑分析所标记的连支与树支,离线形成回路矩阵。以图3所示系统为例,通过静态拓扑分析,标记出的连支为e2、e5、e6,则离线形成的回路矩阵L1如式(2)所示,其中第i行表示本拓扑下第i条回路。
[0148]
[0149] 步骤5:借助回路矩阵更新电网拓扑结构数据。
[0150] 因停运、检修、扩建等因素,原始的电网拓扑将发生改变,可以分为两种情况:支路断开和支路闭合。其中,支路断开的情况主要包括:断开支路为回路中的连支,断开支路为回路中的树支,断开的树支不属于任何回路三种情况。而当断开支路为回路中的树支,又分为两种情况,包括树支仅属于一条基本回路和树支属于两条或两条以上基本回路。闭合支路的情况主要包括:支路两端节点在同一电气岛内,支路两端节点在不同电气岛内,支路一端节点为新增节点三种情况。依照上述情况,借助回路矩阵更新电网拓扑结构数据的过程具体是:
[0151] 子步骤301:当电网中断路器状态发生变化时,判断断路器断开还是断路器闭合,如果断路器断开,则执行子步骤302;如果断路器闭合,则执行子步骤307。
[0152] 子步骤302:借助回路矩阵判断断开支路的类型。
[0153] 由于回路矩阵的第一列元素都为连支,因此当断开的支路为回路矩阵第一列中的支路时,可断定断开支路为连支。
[0154] 如果断开的支路不在回路矩阵的第一列,则可断定该断开的支路为树支。如果断开的支路不在回路矩阵的第一列,并且只在回路矩阵中出现一次,则可断定该断开的支路为树支,且该树支仅属于一条基本回路,如图3中的树支e4。
[0155] 如果断开的支路不在回路矩阵的第一列,并且在回路矩阵中出现次数大于一次,则可断定该断开的支路为树支,且该树支仅属于两条或两条以上的基本回路,如图3中的树支e1。
[0156] 如果断开的支路不在回路矩阵中,则可断定该断开的支路为树支,且该树支不属于任何基本回路。
[0157] 判断断开支路的类型后,如果断开支路为连支,则执行子步骤303;如果断开支路为基本回路中的树支,且所述树支仅属于一条基本回路,则执行子步骤304;如果断开支路为基本回路中的树支,且所述树支属于两条或两条以上基本回路,则执行子步骤305;如果断开支路为树支,且所述树支不属于任何基本回路,则执行子步骤306。
[0158] 子步骤303:由于断开的支路为连支,电气岛分布不变,因此,仅需更新回路矩阵,包括:
[0159] A、将断开的连支从连支集合A1中删除。
[0160] B、在回路矩阵中,将所述断开的连支所在的行从回路矩阵L1中删除。
[0161]
[0162] 如图3所示系统,若连支e2断开,电气岛不变,将e2从标记的连支集合中删除,并将式(2)中回路1(即第1行)删除,形成新的回路矩阵L1,如式(3)所示。
[0163] 操作之后返回子步骤301,继续监控电网拓扑结构的变化。
[0164] 子步骤304:断开支路为基本回路中的树支,且该树支仅属于一条基本回路,此时不改变系统的电气岛,仅需更新系统的回路矩阵。根据破圈法,将断开树支所在某一基本回路的连支变为树支,并修改相关回路中元素。
[0165] 破圈法基本思路:若图G中至少有一条回路C,在C中任取一条边e,则G-e仍连通;直至最后一条边从最后一个回路中删除,所得图T即G的一个生成树。因此,同一回路中任一树支可与其连支互换,而不影响其连通性。因此,当断开支路为基本回路中的树支,且该树支仅属于一条基本回路时,操作如下:
[0166] A、在回路矩阵中,将断开的树支所在的行删除。
[0167] B、将断开的树支从树支集合S1中删除。
[0168] C、将断开的树支所处的基本回路中的连支加入树支集合S1。
[0169] D、将断开的树支所处的基本回路中的连支从连支集合A1中删除。
[0170] 对于图3所示系统,若树支e4断开,离线更新回路矩阵式(2):将支路e4所在的回路3删除,并将回路3中连支e6标记为树支。电网拓扑变化后树支、连支集合和回路矩阵分别为S1={e1,e3,e7,e8,e6}、A1={e2,e5}及式(4)。
[0171]
[0172] 操作之后返回子步骤301,继续监控电网拓扑结构的变化。
[0173] 子步骤305:如果断开支路为基本回路中的树支,且所述树支属于两条或两条以上基本回路,则在断开的树支所属的基本回路中,选择支路数最少的基本回路,并进行如下操作:
[0174] A、将所述支路数最少的基本回路中的连支加入树支集合S1。
[0175] B、将所述支路数最少的基本回路中的连支从连支集合A1中删除。
[0176] C、将断开的树支从树支集合S1中删除。
[0177] D、将所述支路数最少的基本回路分别与其余含断开的树支的基本回路合并,合并时删除重复的支路,从而得到更新的基本回路。
[0178] E、根据更新的基本回路,更新回路矩阵。
[0179] 对于图3所示系统,若树支e1断开,由于e1同时存在于回路1、2、3中,选取支路数较少的回路3,将其连支e6变为树支,再与其它回路合并形成新的基本回路,得到更新后电网回路矩阵L1,如式(5)所示,其与电网拓扑吻合。
[0180]
[0181] 操作之后返回子步骤301,继续监控电网拓扑结构的变化。
[0182] 子步骤306:若断开的树支不在任何回路中,电网的连通性将发生变化,导致电气岛分裂。为此,本文借助半径搜索法,由断开节点沿树支向下搜索,当有一新电气岛形成即结束搜索,拓扑更新完成。
[0183] 根据图论的基本概念,设G是一个赋权图,每条边vivj上的权为wij≥0,每个顶点vi的权q(vi)≥0,d(u,v)表示在考虑边赋权下图G中顶点u到v的距离。图G的半径:
[0184]
[0185] 对于某一连通图,若支路断开前连通图中树的半径为rad,则支路断开后,最多仅需向下搜索至n=rad-1级相关树支即可到达树的边界点,形成新的电气岛。因此,在这种情况下,按下述方式操作:
[0186] A、设定电气岛集合I2、树支集合S2和连支集合A2为空集。
[0187] B、将搜索到的所有节点加入电气岛集合I2中,并将搜索到的所有节点从电气岛集合I1中删除。
[0188] C、如果搜索到的任意两个节点之间的支路是树支,则将所述树支加入树支集合S2,并将所述树支从树支集合S1中删除。
[0189] D、如果搜索到的任意两个节点之间的支路是连支,则将所述连支加入连支集合A2,并将所述连支从连支集合A1中删除。
[0190] F、更新回路矩阵。包括根据电气岛集合I2、树支集合S2和连支集合A2生成新的回路矩阵L2,根据更新后的电气岛集合I1、树支集合S1和连支集合A1更新回路矩阵L1。
[0191] 图3所示系统中,树支e8断开后,回路矩阵如式(7)所示。
[0192]
[0193] 此时,若将树支e7再断开,考虑到树支e7不在任何回路中,电气岛将发生分裂,根据半径搜索法,由断开节点v1和v2同时分别向下搜索树支,搜索1级相关树支后,即可形成由节点v2、v4、v5组成的新电气岛。拓扑更新完毕,离线修改回路矩阵,新电气岛内包含的树支e1、e4均在回路2中,因此将回路2从L1中分裂,形成新的回路矩阵L2,如式(8)所示。
[0194]
[0195] 操作之后返回子步骤301,继续监控电网拓扑结构的变化。
[0196] 子步骤307:如果断路器闭合导致电气岛集合内的两个节点相连,则进行如下操作:
[0197] A、将两个相连的节点之间形成的支路作为连支,加入连支集合A1中。
[0198] B、在回路矩阵中,增加一行,增加的行的第一列为所述连支,其余列顺序存放所述连支所在基本回路的树支,空出的位置用零填补。
[0199] 操作之后返回子步骤301,继续监控电网拓扑结构的变化。
[0200] 子步骤308:如果断路器闭合导致电气岛集合内的一个节点和另一个电气岛集合内的一个节点相连,则断路器闭合导致两组电网拓扑结构数据相连,此时进行如下操作:
[0201] A、将两个电气岛集合合并。
[0202] B、将两个树支集合合并。
[0203] C、将两个连支集合合并。
[0204] D、将两个相连的节点之间的支路作为树支并加入合并后的树支集合。
[0205] E、根据合并后的电气岛集合、树支集合和连支集合更新回路矩阵。
[0206] 操作之后返回子步骤301,继续监控电网拓扑结构的变化。
[0207] 子步骤309:如果断路器闭合导致电气岛集合内的一个节点和一个孤立节点相连,则进行如下操作:
[0208] A、将孤立节点加入到电气岛集合I1中。
[0209] B、将相连的两个节点之间形成的支路作为树支加入树支集合S1中。
[0210] 操作之后返回子步骤301,继续监控电网拓扑结构的变化。
[0211] 实施例2
[0212] 本实施例以新英格兰10机39节点系统(如图4所示)进行验证,该仿真系统中支路编号及其对应节点如图5所示。
[0213] 1、数据读入模块读入数据,其读入的数据如图5所示。
[0214] 2、根据图5中支路与节点的连接关系,根据开关状态(系统中断路器都闭合)形成关联矩阵。
[0215] 3、基于关联矩阵标记法,进行电网静态拓扑分析,可得系统中节点均在同一电气岛I1内,且标记的树支为:
[0216] S1={1,2,3,4,5,6,7,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24,25,28,30,32,33,35,36,37,38,39,40,41,42,43,45,46}。
[0217] 连支集合A1={8,22,26,27,29,31,34,44}。
[0218] 4、根据电网拓扑结构数据,可以在离线的情况下形成基本回路矩阵L1,如式(9)所示。
[0219]
[0220] 5、借助回路矩阵更新电网拓扑结构数据
[0221] (1)支路断开的情况。
[0222] 情况一:断开支路为回路中的连支。
[0223]
[0224] 连支8断开后,电气岛的分布不受影响,仅需将支路8从原拓扑连支集合中删除,并将回路矩阵中其所在回路1删除即可。离线修改的回路矩阵如式(10)所示。
[0225] 情况二:断开支路为回路中的树支。
[0226] 若系统在连支8断开后,树支6也断开,电气岛仍不变,仅需离线更新回路矩阵。式(10)中树支6包含在回路1、2、3中,选取支路数较少的回路2,将其连支26变为树支,然后将回路2与其它含有树支6的回路合并,同时删除公共支路,形成新的回路,最后将回路2删除,得到更新后回路矩阵如式(11)所示。
[0227]
[0228] 情况三:断开的树支不属于任何回路。
[0229] 树支36断开,由断开节点 向下搜索系统树支,根据半径搜索法,搜索2条树支即可得到新电气岛 新电气岛的树支集合为S2={37,38,39},离线更新回路矩阵。
[0230]
[0231] L2=0 (13)
[0232] 由于S2中的支路均不在回路中,因此无回路、连支从原电气岛中分离,即A2=0。两个电气岛的回路矩阵如式(12)与(13)所示。
[0233] (2)支路闭合的情况。
[0234] 式(11)中支路6闭合,其两端节点本身在同一电气岛内,电气岛分布无影响。离线更新回路矩阵,由于支路6为连支,因此增加一条回路,结果如式(14)所示。
[0235]
[0236] 式(12)与(13)中支路36闭合,其两端节点 分别在不同电气岛内,将两个电气岛合并,所得结果与静态拓扑分析结果相同。
[0237] 最后,电网拓扑结构数据通过输出模块输出,供潮流计算、状态估计、安全分析使用。
[0238] 以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。