1. 故障重构到底在解决什么问题
1.1 停电场景下的网络转供
去年夏天一个雷雨夜,某条10kV馈线遭外力破坏跳闸,非故障段用户停电接近三个小时。问题不在故障点本身,而在故障点隔离之后,下游一大片区域的负荷没有任何供电路径。值班调度能做的只是拉开故障两侧的隔离开关,然后等抢修。整个过程里真正影响停电时长的,不是修线路的时间,而是"如何让失电用户尽快恢复供电"这件事。
配电网故障重构,说白了就是在故障区段被隔离之后,通过改变分段开关和联络开关的开合状态,把还完好的非故障失电区域重新接到别的带电馈线上。这是配电自动化里FLISR(故障定位、隔离与供电恢复)的最后一步,也是决定恢复效果的关键一步。
这个问题的难点在于:开关组合数量巨大。一个中等规模的配电馈线组可能有几十个开关,每个开关只有开和合两种状态,穷举所有拓扑组合在计算上完全不现实。而且"能恢复供电"只是底线,工程上还要考虑恢复之后的电压是否合格、线路是否过载、网损是否过高、开关动作次数是否在合理范围内。这就把问题从"找一组可行开关组合"升级成了一个优化问题。
1.2 为什么必须写成优化问题
有朋友问过我:配电网那么多规则,用专家系统或者查表不也能给出一个恢复方案吗?确实,简单场景下规则是可以的。比如"某条馈线故障,合上特定的联络开关"这种固定预案。但实际故障发生后,负荷分布、分布式电源出力、联络开关的可用状态都是变化的,固定预案经常不是最优解,甚至在某些组合故障场景下根本没有可行解。
把重构写成优化问题的意义在于:它能在一个统一的数学框架里同时处理拓扑选择、潮流约束、电压约束、设备容量约束和操作次数约束,自动找出满足所有约束的解里目标最优的那个。这个"目标"可以由运行人员自己定义,可以是最小化失电负荷、最小化网损、最小化开关动作次数,或它们的加权组合。
配电网重构问题本质上是一个混合整数非线性规划(MINLP)。二进制变量表示开关开合状态,潮流约束是非线性等式。这是这类问题难解的根源。早些年大家用遗传算法、粒子群这类启发式算法直接硬搜,速度快但没法保证找到全局最优。直到DistFlow方程和二阶锥松弛这套组合被引入,情况才好起来——它能把原问题松弛成一个混合整数二阶锥规划(MI-SOCP),在多项式时间内求到全局最优解或带最优性边界的近似解。这也是Matlab+二阶锥这条技术路线近年来在配电网重构研究里几乎成为标配的原因。
1.3 重构与常规网架规划的区别
很多刚接触这个方向的同学会把故障重构和网架优化规划混在一起。两者确实共享大量数学模型,但出发点完全不同。
网架规划是"在现有或未来网架基础上,通过新建线路和开关,确定最优的运行结构",它考虑的是长期投资和全生命周期成本,时间尺度以年为单位。而故障重构发生在故障隔离后的短时间窗口内,时间尺度以分钟甚至秒为单位,目标是在不新增设备的前提下,通过切换现有开关来改变运行拓扑,快速恢复供电。
这个区别直接决定了建模细节。规划问题可以不关心重构时间,但故障重构必须考虑开关动作次数限制——每多动作一个开关,就多一分操作风险和执行时间。规划问题允许把整个网络状态当成一个静态优化来处理,而故障重构往往需要分阶段考虑:先快速恢复关键负荷,再优化运行状态。这些差异最终都会体现在目标函数和约束的形式上。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 数学模型:从DistFlow到二阶锥是关键一步
2.1 DistFlow潮流方程的前提与形式
配电网和输电网在电气特性上有明显区别:辐射状结构、线路电阻与电抗的比值(R/X)偏高、线路对地电容小、三相不平衡明显。如果用输电网那套牛顿-拉夫逊潮流来建模,在配电网里计算效率不高且容易不收敛,更麻烦的是它无法直接嵌入整数优化模型——你没法让优化器在求解开关状态的过程中反复调用一个牛拉潮流求解器,这在数学上是行不通的。
DistFlow方程就是为了避开这个问题而提出的配电网专用潮流模型。它把潮流约束写成一组关于支路有功、无功、电流平方和节点电压平方的代数方程,形式如下:
对于每条支路(i, j),记从节点i流向节点j的支路功率为P_ij + jQ_ij,电阻为r_ij,电抗为x_ij,那么:
- 节点j的有功平衡:Σ_{k:(j,k)∈E} P_jk = P_ij - r_ij·l_ij - p_j
- 节点j的无功平衡:Σ_{k:(j,k)∈E} Q_jk = Q_ij - x_ij·l_ij - q_j
- 电压降方程:V_j² = V_i² - 2(r_ij·P_ij + x_ij·Q_ij) + (r_ij² + x_ij²)·l_ij
- 电流平方约束:l_ij ≥ (P_ij² + Q_ij²) / V_i²
其中l_ij表示支路电流的平方,V_i²表示节点电压的平方。
注意这里用电流平方和电压平方作为状态变量,是为了把约束写成关于这些变量的线性或二次形式,方便后面的凸松弛操作。如果直接用电流、电压的幅值,约束会变成带根号的复杂非线性函数,求解器处理起来会很吃力。
还有一个细节:精确版DistFlow第一步是线性的(功率平衡和电压降方程),唯一非凸的是"电流平方 ≥ 功率平方和/电压平方"这个二次约束。这正是后面可以做二阶锥松弛的空间。
2.2 开关状态与潮流约束的耦合处理
拓扑重构和潮流约束的耦合是建模的第一个坎。开关状态z_ij是个二进制变量,z_ij=1表示支路闭合,z_ij=0表示支路断开。
