2. 配电网拓扑建模基础

配电网拓扑分析的第一步,是把一条条真实的线路、一台台开关、一段段馈线,抽象成计算机能够存储和计算的“图”。如果抽象得不准确,后续的潮流计算、故障隔离、供电恢复都会建立在错误的结构之上。本节从基本元件建模讲起,逐步过渡到图论表示,并给出邻接矩阵与关联矩阵的具体构建方法。

一、基本元件的建模约定

配电网拓扑建模的核心对象有四类:节点、支路、开关、馈线,此外还有连接两条馈线的联络线。建模时首先要明确每个对象的物理含义和电气属性。

节点(Node / Bus)是网络中的连接点,通常对应母线、杆塔接点、开关两端、变压器高低压侧端子等。节点本身不消耗功率,但承载电压变量。工程上常把节点分为:电源节点(变电站10 kV母线出口)、负荷节点(配电变压器接入点)、联络节点(仅起连接作用)和开关节点(开关两侧的端点)。节点编号应全局唯一,建议按馈线分组编号,例如馈线F1的节点编号为1001、1002……,便于后续分区计算。

支路(Branch / Edge)表示两个节点之间的电气连接,通常对应一段架空线或电缆。支路的核心参数包括:首末节点编号、电阻R、电抗X、额定载流量、长度。在拓扑层面,支路只关心“连接了哪两个节点”;在电气层面,才需要R、X等参数。因此拓扑模型与电气模型应分开存储,用支路ID关联。

开关(Switch)是配电网拓扑中最特殊的元件,因为它具有两种状态:合闸(闭合)和分闸(断开)。开关建模的关键在于:开关本身占据一个支路位置,但其通断状态会改变网络的连通性。常见的开关类型包括断路器、负荷开关、隔离开关、熔断器。在拓扑模型中,开关通常建模为一条“可开断支路”,其状态用布尔量表示:1表示合闸,0表示分闸。当开关分闸时,该支路从拓扑图中移除(或标记为不可达)。

馈线(Feeder)是从变电站母线引出、向一片区域供电的辐射状线路集合。一条馈线通常包含一条主干线和若干分支线。馈线的建模要点是:馈线有明确的电源起点(根节点),正常运行时呈辐射状(树形),且同一馈线内不存在环网。

联络线(Tie Line)是连接两条不同馈线的支路,正常运行时通常处于分闸状态(常开联络开关),只有在故障或检修时才合闸转供。联络线的存在使配电网不再是纯粹的辐射状,而是“闭环设计、开环运行”。建模时必须把联络线和联络开关单独标识,因为它们是网络重构的关键手段。

建模约定建议:节点编号全局唯一;支路编号全局唯一;开关作为特殊支路单独建表;联络线用标志位区分于普通支路。这样在后续矩阵构建和重构计算中可以直接按标志筛选。

二、图论表示方法

配电网在数学上可以表示为一个图 G = (V, E),其中 V 是节点集合,E 是支路集合。对于配电网,通常使用无向图描述拓扑连接关系,因为线路的电气连接是对称的;但在潮流计算中,需要根据功率方向确定“首端—末端”,此时会引入有向图或有向树的概念。

配电网图论表示中有几个重要概念:

  • 度(Degree):与某节点相连的支路数。辐射状配电网中,末端负荷节点的度为1,分支节点的度≥3,电源根节点的度等于出线数。
  • 路径(Path):从一个节点到另一个节点经过的支路序列。配电网中任意两节点之间正常只有一条路径(辐射状),若存在多条路径则说明存在环网或联络线被合上。
  • 连通分量(Connected Component):图中相互连通的节点集合。开关分闸会把一个连通分量拆成两个,这是故障隔离的拓扑本质。
  • 树(Tree):不含回路的连通图。一条正常运行的馈线就是一个树,根节点是电源点。

实际建模时,常用“节点—支路表”来存储图:一张节点表记录节点ID和属性,一张支路表记录支路ID、首节点、末节点、支路类型(普通线路/开关/联络线)、开关状态。这种存储方式比直接存矩阵更节省空间,也便于增删改。

三、邻接矩阵与关联矩阵的构建

图论表示最终要落到矩阵上,才能参与数值计算。配电网中最常用的两种矩阵是邻接矩阵和关联矩阵。

邻接矩阵 A是一个 n×n 的方阵(n为节点数)。若节点 i 与节点 j 之间有支路直接相连,则 A[i][j] = 1,否则为 0。对于无向图,邻接矩阵是对称矩阵。若支路带权(如阻抗),则 A[i][j] 可填权值,称为带权邻接矩阵。邻接矩阵的物理意义是“一步可达性”:A 的 k 次幂中非零元素表示经过 k 步可达。在配电网中,邻接矩阵常用于判断节点连通性和搜索供电路径。

关联矩阵 B是一个 n×m 的矩阵(n为节点数,m为支路数)。对于无向图,若支路 e 连接节点 i 和 j,则 B[i][e] = 1,B[j][e] = 1,其余为 0。对于有向图,通常规定支路方向从首节点指向末节点,则首节点处为 +1,末节点处为 -1。关联矩阵的物理意义是“节点与支路的关联关系”,它是建立节点电压方程和支路电流方程的基础,也是配电网潮流计算中节点—支路关联矩阵的原型。

下面给出一个简单配电网示例,用于说明两种矩阵的构建。设某馈线有4个节点:节点1为电源点,节点2、3、4为负荷节点;支路e1连接1-2,e2连接2-3,e3连接2-4。节点编号为1、2、3、4,支路编号为e1、e2、e3。

节点表:
节点ID  类型
1       电源节点
2       分支节点
3       负荷节点
4       负荷节点

支路表:
支路ID  首节点  末节点  类型    开关状态
e1      1       2       线路    合闸
e2      2       3       线路    合闸
e3      2       4       线路    合闸

根据上述数据,邻接矩阵 A(4×4)为:

A = [ 0  1  0  0
      1  0  1  1
      0  1  0  0
      0  1  0  0 ]

关联矩阵 B(4×3,无向图,两端均填1)为:

B = [ 1  0  0
      1  1  1
      0  1  0
      0  0  1 ]

若采用有向图约定,规定每条支路从首节点指向末节点,则关联矩阵变为:

B_dir = [ +1   0   0
          -1  +1  +1
           0  -1   0
           0   0  -1 ]

可以看到,有向关联矩阵每一列只有一个 +1 和一个 -1,其余为 0,这正好对应基尔霍夫电流定律中“流入等于流出”的约束。在配电网潮流计算中,通常采用有向关联矩阵来建立节点注入电流与支路电流的关系。

当开关分闸时,对应支路从图中移除,邻接矩阵和关联矩阵中该支路对应的列应删除或置零。例如,若e2分闸,则节点3与节点2断开,节点3成为孤岛。此时邻接矩阵中 A[2][3] 和 A[3][2] 变为0,关联矩阵中e2列删除。这一操作在程序实现中通常通过“支路状态过滤”完成,而不是真正删除矩阵行列,以便开关重新合闸时快速恢复。

注意:邻接矩阵和关联矩阵的维度会随节点数和支路数增长而快速增长。对于上千节点的实际配电网,直接存储稠密矩阵会浪费大量内存。工程实现中通常采用稀疏矩阵存储(如CSR格式),或直接用邻接表、支路表进行图搜索,只在需要数值计算时才生成局部矩阵。

四、从建模到矩阵的完整流程

综合以上内容,配电网拓扑建模的完整流程可以概括为:

  1. 确定建模范围,划分馈线,分配全局唯一的节点编号和支路编号。
  2. 建立节点表,标注节点类型(电源、负荷、联络、开关节点)。
  3. 建立支路表,记录首末节点、支路类型(线路/开关/联络线)、电气参数和开关状态。
  4. 根据支路表生成邻接矩阵或邻接表,用于连通性搜索和路径查询。
  5. 根据支路表生成关联矩阵,用于潮流计算和网络方程建立。
  6. 当开关状态变化时,更新支路状态,并同步更新矩阵或图结构。

下面用一张SVG图展示本节的核心建模关系:从物理元件到图论对象,再到矩阵表示的映射过程。

配电网拓扑建模:物理元件 → 图论对象 → 矩阵表示 物理元件层 节点 母线/杆塔/端子 支路 架空线/电缆 开关 合闸/分闸 馈线 辐射状线路 联络线 馈线间连接 抽象 图论对象层 顶点 V 节点集合 边 E 支路集合 树 / 连通分量 辐射状结构 路径 / 度 搜索与判断 矩阵化 矩阵表示层 邻接矩阵 A (n×n) A[i][j]=1 表示 i、j 直接相连 用于连通性搜索、路径查询 关联矩阵 B (n×m) 无向:两端填1;有向:首+1末-1 用于潮流计算、网络方程建立 开关分闸 → 支路移除 → 矩阵更新 → 连通分量变化

上图展示了从物理元件到图论对象、再到矩阵表示的映射关系。需要强调的是,开关状态是动态变化的,因此矩阵不是一成不变的。在实际程序中,通常维护一份“基础拓扑矩阵”,再根据开关状态生成“当前运行矩阵”。这样既保留了完整网络信息,又能快速响应开关操作。

掌握节点、支路、开关、馈线、联络线的建模方法,理解邻接矩阵和关联矩阵的构建过程,是后续配电网潮流计算、故障定位和网络重构的基础。建议读者在理解本节内容后,用一个小型配电网算例手动写出节点表、支路表、邻接矩阵和关联矩阵,以加深对拓扑建模的直观认识。