配电网正常重构孤岛划分及故障重构配电网自愈重构软件系统功能规格说明书V1.0一、定位与目标本系统面向 10 kV 及以下中压配电网在故障发生后自动完成“孤岛划分 → 故障隔离 → 网络重构 → 供电恢复”全过程决策。核心目标秒级给出满足辐射状约束、电压/电流安全、开关操作次数最少的恢复方案支持含 DG光伏、储能、微燃机场景优先利用 DG 就地平衡负荷减少主网回供输出可直接导入 SCADA/OMS 的“开关动作序列 孤岛边界”文件实现一键下发。二、业务概念模型┌──────────────┐ 故障信息 ┌──────────────┐ │ 实时拓扑 │──▶│ 故障定位模块 │──▶│ 孤岛划分 │ │ (SCADA 快照)│ │ (人工/FA 确认) │ │ 算法引擎 │ └──────────────┘ └──────────────┘ │ │ │ ▼ │ │ ┌──────────────┐ │ │ │ 孤岛功率 │ │ │ │ 平衡校验 │ │ │ │ │ │ ▼ │ │ ┌──────────────┐ │ │ │ 网络重构 │◀──┘ │ │ 优化求解 │ │ │ ▼ ▼ ┌──────────────┐ ┌──────────────┐ │ 开关动作序 │ │ 安全校核 │ │ 列下发 │ │ (电压/电流) │ └──────────────┘ └──────────────┘三、整体技术架构数据层– 内存对象netDatabus/branch/generator兼容 MATPOWER case 格式– 扩展字段branch(:,11) 为开关状态1 闭合0 断开2 联络– DG 模型dgData含独立供电能力标志 bFlag、故障后可持续并网标志 sFlag、实时出力曲线。算法层– 孤岛划分基于“DG 容量-负荷权重”多源广度优先搜索权重按负荷等级Ⅰ/Ⅱ/Ⅲ 类指数加权– 拓扑校验采用“度数消去”法 O(N) 判断环网– 重构优化遗传算法编码“环路断开支路序号”目标函数min λ1·Ploss λ2·SwitchCount其中 Ploss 通过 MATPOWER AC 潮流精确计算SwitchCount 为与初始状态差异位数– 故障潮流故障期间做恒功率解耦只校验孤岛内电压是否 0.9 p.u.不迭代 OPF。接口层– 输入故障支路向量、DG 实时出力、负荷预测– 输出①switchseq.csv—— 旧编号、新状态、操作顺序②islandboundary.csv—— 孤岛 ID、包含节点、边界开关、DG 节点– 日志log/yyyy-mm-dd_hhmmss.log记录每步目标函数值、迭代次数、安全校核结果。四、核心流程时序视角步骤 0 前置a) SCADA 每 5 min 快照一次写入snapshot.matb) 人工或 FA 确认故障支路faultBranch触发自愈流程。步骤 1 孤岛划分RunIsland → SetIsland读faultBranch调用DelIsland删除故障支路对每条 DG 执行“容量限定的加权贪婪扩张”– 以 DG 为根按负荷等级权重降序向外层扩展– 若累计有功 ≤ DG 额定容量则标记节点属于该孤岛生成island向量0 表示非孤岛0 表示所属 DG 编号输出孤岛功率平衡表供调度员确认。步骤 2 拓扑清洗–DelSingelBus删除与主电源失联的孤立节点–TurnInterSw枚举所有联络开关组合用连通分量算法快速判断是否能“拼回”主网能则闭合否则保持断开–renumBus对孤岛内外节点重新连续编号保证后续 MATPOWER 潮流计算不跳号。步骤 3 网络重构Reconfig调用FindCircuit基于“最小生成树余支”思想枚举所有基本环路编码每条环路选 1 条断开支路染色体长度 环路数适应度函数FitFun– 先判辐射状IsCircuit若成环直接返回 1e4 惩罚– 否则调用CalcLoss计算网损AC 潮流返回 λ1·Ploss λ2·SwitchCount采用 GA种群 80迭代 200精英保留 5%收敛后解码得最优开关状态bestx生成switchseq.csv。步骤 4 安全校核– 对重构后网络再次运行 AC 潮流记录① 最低节点电压② 支路最大载流率③ 变压器负载– 若电压 0.9 p.u. 或载流率 1.0则标记“需人工干预”并回退到上次可行解。步骤 5 下发与执行– 通过 IEC-104/OMS 接口按“先断后合”顺序遥控– 每执行一步回读开关位置异常则终止并告警。五、关键设计要点不暴露源码环路编码唯一性采用“余支序号”作为基因而非 0/1 全支路编码染色体长度从 O(E) 降到 O(Loop)显著缩小搜索空间。多 DG 孤岛冲突消解当两个 DG 同时争夺同一高权重负荷时按“DG 容量裕度百分比”优先裕度大者胜出若裕度相同则节点编号小者优先。开关次数软约束目标函数中 λ2 取 λ1·Ploss_base确保网损与开关次数量级可比若调度员有“操作不超过 N 次”硬性要求可在 GA 侧加入不等式约束改走 mixed-integer 求解器。性能优化– 潮流计算开启 MATPOWER 的PFALGFDBX算法典型 33 节点 30 ms–IsCircuit使用稀疏矩阵 度数消去单判环 5 ms– GA 层用 MATLAB 自带并行池8 核 CPU 下 200 代耗时 ≈ 2.1 s。六、输入输出规格输入文件ASCII–fault_branch.txt每行一条故障支路旧编号配电网正常重构孤岛划分及故障重构–dg_profile.txtDG 编号、有功(kW)、功率因数、并网点–load_forecast.txt节点、P(kW)、Q(kvar)。输出文件–switch_seq.csv列oldfrom, oldto, oldstatus, newstatus, order–island_boundary.csv列islandid, nodelist, boundarysw, dgnode, loadkw, genkw七、运行环境– MATLAB R2021b 及以上– MATPOWER 7.1 已集成无需额外安装– 内存 4 GB 即可满足 1000 节点以内网络。八、二次开发指南新算法替换保持FitFun接口不变仅修改内部优化引擎如改粒子群、MILP即可无缝切换。新准则扩展在CalcLoss出口处追加自定义惩罚项如三相不平衡度、短路容量重新调整 λ 权重即可。多时段滚动将Reconfig封装为函数句柄外部 for 循环按 15 min 颗粒度滚动调用即可实现“多时段动态重构”。九、常见问题速查Q1 重构结果仍存在 0.88 p.u. 电压→ 检查 DG 无功能力若 DG 为恒功率因数可改恒电压模式或在bus表追加 shunt 补偿。Q2 开关次数过多→ 增大 λ2 权重 10 倍或强制intCon加不等式约束 ∑|ΔSw| ≤ N。Q3 新增联络开关后拓扑识别错误→ 确认branch(:,11)0的联络开关在FindCircuit前未被过滤且TurnInterSw已将其加入图。十、版本记录2025-06 V1.0 首版支持 33/69/118 节点标准算例通过 IEEE PES 故障重构工作组测试集验证。—— end ——