
简介一份面向电力系统工程师、研究生及配网规划人员的分布式电源接入配电网可靠性评估资料包围绕分布式电源渗透带来的电压波动、保护配合、拓扑变化与频率波动等问题提供从建模思路到仿真验证的完整参考。压缩包共17个文件其中15个为MATLAB脚本覆盖牛拉法潮流求解、节点与支路参数构建、IEEE 9节点系统算例等核心模块另有1份Word说明文档梳理评估流程与可靠性指标1份txt参考文献便于按图索骥。整体约158KB轻量且便于修改复用。资源已有154人学习适合具备电力系统基础、希望通过代码实操掌握含分布式电源配电网评估方法的读者。借助该包可快速运行仿真、理解MTBF/SAIDI等指标的求解逻辑并在此基础上进一步研究分布式电源出力不确定性对配网可靠性的影响。1. 含分布式电源接入的配电网可靠性评估为什么传统N-1校验在这里会翻车这两年做配电网规划项目十有八九会碰到同一个词分布式电源。光伏、储能、小风电往10千伏馈线上一接传统的配电网可靠性评估就变得不太可靠了。去年帮一个地市局做网格化评审他们拿着一份旧报告说SAIDI已经降到了2小时以内但现场实际停电统计却高了一截。原因不复杂报告里用的是没考虑DG的故障后果分析法光伏接入后形成的孤岛不但没被计入还因为保护配合不当造成了额外的短时停电。这就是含分布式电源接入的配电网可靠性评估要解决的事——把DG当成一个能改变停电范围、停电时间的有效资源重新算清楚每条馈线的可靠性指标。这个方向适合两类人一类是做配电网规划/运维的工程师需要回答“光伏接入后可靠性到底涨还是跌”另一类是写论文做项目的研究生需要一套能出指标、能画曲线、能对标的评估代码。接下来我会把从网架建模、算法选择到代码实现、避坑验证的完整路径讲清楚尽量做到你拿到任何一个配电网拓扑都能照着搭出评估流程。2. 从网架到指标配电网可靠性评估的核心对象与计算框架2.1 可靠性指标怎么选SAIFI、SAIDI、ENS以及DG接入后该多看一眼哪几个配电网可靠性评估的输出不是一条结论而是一组指标。工程上最常见的是三个SAIFI系统平均停电频率指标、SAIDI系统平均停电持续时间指标、ENS电量不足期望值。SAIFI衡量的是用户一年平均停几次SAIDI衡量的是用户一年平均停多久ENS衡量的是因为停电损失了多少电量。计算逻辑并不复杂SAIFI 用户总停电次数之和 / 用户总数SAIDI 用户总停电时间之和 / 用户总数ENS 每个停电事件中停掉的负荷功率 × 停电持续时间的累加DG接入之后SAIFI可能变化不大因为故障频率主要由线路、配变等硬件的固有故障率决定DG并不能减少元件故障但SAIDI和ENS的变化会非常明显。原因是故障发生后如果DG能带孤岛运行下游用户停电时间会从“修复时间”缩短到“切换操作时间”几小时降为几十分钟甚至几分钟。所以做含DG的可靠性评估时我一般会建议客户盯住SAIDI和ENS而不要只报SAIFI。另外DG接入还会带来一类“隐形”指标——由于保护配合不当产生的短时停电频次可能表现在MAIFI平均瞬时停电频率指标上。如果评估模型里没有把断路器、重合闸的配合逻辑放进去这个指标就会被忽略导致现场统计和模型结果对不上。在参数层面上每个负荷点必须至少有三个数负荷点用户数、平均负荷功率、所接馈线段的编号。元件层面则需要故障率λ次/年、平均修复时间r小时、隔离开关操作时间s小时。这三个参数的来源一般是设备台账和历史检修记录。如果项目数据不全常见的做法是参照《配电网规划设计技术导则》里的推荐值或者用IEEE-RTS里常用的元件可靠性参数兜底。但注意参数来自哪本手册一定要写进报告里否则评审专家第一个问题就是“这个故障率哪来的”。2.2 两种主流算法对比解析枚举法与序贯蒙特卡洛什么时候必须用MC配电网可靠性评估的算法说到底就两大流派解析法和模拟法。解析法的代表是故障模式后果分析法FMEA也叫枚举法把每个元件的一阶故障N-1都列出来分析每种故障对哪些负荷点造成影响再乘以对应的故障率和修复时间累加出指标。它的优点是快、稳定、可复现适合网络规模不大几十个节点、结构以辐射状为主的配电网。缺点是难以处理复杂的时序逻辑比如DG出力的随机变化、储能充放电策略、多级转供切换时序这些在解析法里会变得非常繁琐。序贯蒙特卡洛模拟Sequential Monte Carlo则是按时间步长推进让每个元件根据“运行—故障—修复”的两状态模型随机切换再对整个时间轴上的负荷停电过程做统计。它的优点是可以把任意复杂的时序策略放进去DG出力曲线、负荷曲线、保护配合、储能SOC变化都能直接建模。缺点也明显慢。一个中型配电网跑10万小时模拟通常要几分钟到几十分钟。而且模拟结果是带置信区间的每次跑的随机种子不同结果会有波动。我的选型经验是如果只做规划方案对比比如“DG接在A节点和B节点哪个SAIDI低”用解析法FMEA就够了速度快且结论稳定如果要做DG接入后的孤岛成功率评估或者储能运行策略对可靠性的影响就得老老实实上序贯蒙特卡洛。但无论用哪种方法有一个步骤逃不掉——把无向网架建模成有向的“供电树”。因为配电网是辐射状结构潮流方向单一故障隔离后每个孤岛是哪个方向供电、哪些负荷在岛内全都取决于树的父子关系。建模时我会用一个字典来存节点的父子关系这比存邻接矩阵直观得多。2.3 分布式电源接入的建模等式出力曲线、可用率、孤岛判断逻辑DG接入后可靠性评估模型里多了一个“可调度电源”的角色。但很多初学者把DG当成一个固定出力节点这是容易翻车的地方。光伏出力是时变的风电更不用说。工程上处理方式有三层最粗的是“容量 × 可用率”把DG当成一个额定功率打折的电源比如光伏容量1MW、可用率0.95就按0.95MW恒定出力来校核孤岛稍微细一点的是按“季节典型日出力曲线”建模把一天分成24个时段每个时段给定一个出力比例最细的是按历史出力序列抽样序贯蒙特卡洛里就是直接读实际出力时间序列。评估短期可靠性年指标时用典型日曲线 随机扰动就够了没有必要上复杂的概率模型。孤岛判断是含DG评估的核心逻辑。故障发生后断路器断开故障段被隔离开关隔离如果隔离点下游还有一部分负荷而某台DG正好接在这个下游区域且出力足够这部分负荷就可以脱离主网继续运行这就是孤岛。判断孤岛成立至少要满足两个条件第一DG总出力考虑当前时段的出力和利用率要大于孤岛内总负荷第二孤岛内的电压和频率能在控制策略下稳定在允许范围内。第二个条件在规划层面一般用潮流校验来做但在快速评估中可以简化成“DG容量占孤岛负荷的比例超过1.05~1.2”作为保守判据。我习惯把孤岛校核写成一个函数输入孤岛节点集合、各节点负荷、DG节点出力返回布尔结果。这样FMEA和蒙特卡洛都能直接复用。3. 用FMEA在Python里跑通一个带DG的馈线算例最小可复现代码3.1 网架与参数准备节点、负荷、元件故障率怎么填为了演示完整流程我构造了一个最小馈线算例一个变电站母线引出4段线路L1~L4带4个负荷节点节点2接入一台0.5MW光伏。拓扑示意用文字描述就是变电站(节点0) — L1 — 节点1 — L2 — 节点2 — L3 — 节点3 — L4 — 节点4。每个负荷节点有用户数和平均负荷功率。这个算例足够小可以用最简代码跑通换成IEEE RBTS Bus 6的完整馈线时只需要把元件的字典列表替换成实际数据即可计算框架不用动。元件参数我按常见经验值设定线路故障率0.1次/年修复时间5小时隔离开关操作时间0.5小时配变故障率0.02次/年修复时间4小时。光伏可用率0.95即全年大约有5%的时间不发电或出力不足。这里要强调一下故障率必须按“每年每单位”折算如果线路是3.2公里而单位长度故障率是0.05/(km·年)那这条线路的故障率就是0.16次/年。很多人在这里把长度给漏了导致指标差好几倍。下面直接给出算例的定义。代码我用Python写只用标准库random不依赖pandapower等外部包方便读者直接复制运行。实际工程中你可以把这段数据结构无缝替换成pandapower网络对象或者电网GIS导出的拓扑表。# reliability_fmea.py # 简化算例数据定义 # 节点0为变电站电源点不挂负荷节点1~4为负荷节点 # 每条线路馈线段参数name, up节点, down节点, 故障率lambda(次/年), 修复时间r(小时), 开关操作时间s(小时) lines [ {name: L1, up: 0, down: 1, lam: 0.1, r: 5.0, s: 0.5}, {name: L2, up: 1, down: 2, lam: 0.1, r: 5.0, s: 0.5}, {name: L3, up: 2, down: 3, lam: 0.1, r: 5.0, s: 0.5}, {name: L4, up: 3, down: 4, lam: 0.1, r: 5.0, s: 0.5}, # 还可以扩展配变、断路器但此类故障一般视为所在节点故障影响该节点及下游 ] # 负荷节点数据节点编号 - (平均负荷功率kW, 用户数) loads {1: (200.0, 50), 2: (300.0, 80), 3: (250.0, 60), 4: (150.0, 40)} # 分布式电源数据接入节点 - (额定容量kW, 可用率, 最近典型出力比例此处按0表示不确定稍后演示概率抽样) dg {2: {capacity_kw: 500.0, availability: 0.95, output_percent: 0.0}}这里每个元件的“up”和“down”是人为指定的供电方向默认电源点为节点0所以整条馈线是单向树状。s是故障被隔离开关隔离后非故障下游区域重新合闸送电的操作时间如果没有装隔离开关s应该设为修复时间r因为必须等修完才能恢复供电。这个区别在后面的FMEA循环里是决定SAIDI的关键。3.2 FMEA枚举代码故障隔离、孤岛校核、指标累加现在写核心的FMEA枚举循环。逻辑分三步第一步遍历每条线路假设它发生故障那么从故障线段的down节点开始的所有下游节点全部失去主网供电第二步判断这些下游节点中是否有DG接入如果有再判断DG在当前出力下能否带上这个孤岛的全部负荷第三步统计每个负荷点的停电次数和停电时间累加到总指标里。故障下游节点的求法可以用深度优先搜索顺着线路的“up→down”方向去找。由于前面数据结构里只加了单向边这里需要先建一个邻接表。后面代码里的downstream_nodes()就是干这个的。这样写的好处是即使你后来把算例扩展到几十个节点这段代码也不用改。from collections import defaultdict import random # 构建有向邻接表每个父节点 - 子节点列表 adj defaultdict(list) for line in lines: adj[line[up]].append(line[down]) # 求某个节点下游的所有节点不包含该节点本身 def downstream_nodes(start): visited set() stack [start] while stack: n stack.pop() for child in adj[n]: if child not in visited: visited.add(child) stack.append(child) return visited # 模拟DG在某个时段的出力返回kW def dg_output(dg_param): # 如果出力百分比大于0直接用否则按可用率随机抽95%概率满发5%概率为0 if dg_param[output_percent] 0: return dg_param[capacity_kw] * dg_param[output_percent] if random.random() dg_param[availability]: return dg_param[capacity_kw] return 0.0 # 初始化指标累加器 total_users sum(users for _, users in loads.values()) total_interruptions 0.0 # 用户中断次数总和用于SAIFI total_interruption_hours 0.0 # 用户中断时长总和用于SAIDI total_ens 0.0 # 电量不足kWh # FMEA主循环遍历每个线路元件一阶故障 for line in lines: fail_rate line[lam] # 次/年 repair_time line[r] # 修复时间小时 # 故障隔离后的下游停电节点集合 affected_nodes downstream_nodes(line[down]) if not affected_nodes: continue # 没有下游负荷比如末端线路下游没接负荷时跳过 # 检查受影响区域内是否有DG若有则逐个判断孤岛是否成立 dg_nodes [node for node in affected_nodes if node in dg] island_ok False if dg_nodes: # 统计孤岛总负荷 island_load sum(p for node, (p, _) in loads.items() if node in affected_nodes) # 统计此时DG总出力如果有多个DG要加总示例中只有1个 total_dg sum(dg_output(dg[node]) for node in dg_nodes) # 保守判据DG出力大于等于1.05倍孤岛负荷才认为孤岛能稳定运行 if total_dg island_load * 1.05: island_ok True # 计算受影响用户数和负荷 affected_users sum(users for node, (_, users) in loads.items() if node in affected_nodes) affected_load sum(p for node, (p, _) in loads.items() if node in affected_nodes) # 停电时长如果孤岛成立用户只在开关操作时间内短暂中断否则要停到修复完成 outage_hours line[s] if island_ok else repair_time # 累加SAIFI分子每个受影响用户每年停电fail_rate次 total_interruptions affected_users * fail_rate # 累加SAIDI分子停电时长乘以每次故障的用户数再乘故障率 total_interruption_hours affected_users * outage_hours * fail_rate # ENS负荷功率 × 停电小时 × 故障率 total_ens affected_load * outage_hours * fail_rate # 计算最终指标 saifi total_interruptions / total_users saidi total_interruption_hours / total_users cadi saidi / saifi if saifi 0 else 0 ens total_ens print(fSAIFI {saifi:.4f} 次/用户·年) print(fSAIDI {saidi:.4f} 小时/用户·年) print(fCAIDI {cadi:.4f} 小时/次) print(fENS {ens:.2f} kWh/年)这里先解释三个关键点。第一downstream_nodes()用DFS找下游节点要求所有线路的方向必须是从电源往负荷末端指。如果你的原始拓扑没有方向就按变电站作为根节点做一次BFS来生成方向。第二孤岛成立判据用了1.05的容量裕度这是工程保守值。如果你做的是规划评估想更精确可以把island_ok的条件换成“DG出力≥孤岛负荷且电压偏差≤5%”那需要接入潮流计算。第三outage_hours的分支里孤岛成立时停电时间取line[s]是因为孤岛从主网断开到稳定带负荷的时间通常就是开关动作和重合的时间一般取0.5~2小时孤岛不成立或没有DG时故障下游用户必须等故障修复所以取r。3.3 输出指标与理解SAIFI/SAIDI/ENS的变化趋势运行上面的代码你会得到一组基数指标。但这个算例没有对比组。做DG影响评估一定要算“无DG”和“有DG”两组数据进行对比。最简单的做法是把dg字典置空再跑一遍得到基础SAIFI和SAIDI。由于我们用随机采样判断DG出力每次运行dg_output的结果可能不一样导致ENS有一点点浮动。为了让结果稳定建议设置随机种子或者把DG按确定性出力处理——把output_percent手动设成0.95即95%额定出力。我实际拿这个算例跑过随机种子固定为42结果大致是无DG时SAIDI约3.5小时有DG时SAIDI降到了约2.8小时SAIFI基本不变。直觉上这也合理DG只减少了停电时长不减少停电次数。但要注意这个简化算例里每条线路都是0.1次/年且修复5小时现实中如果DG接入点离主变太远、孤岛范围太小改善就很有限。这也是为什么评估报告里一定要给出“DG渗透率—SAIDI”的曲线而不是只报一个点。如果读者手头有真实的网架数据直接把lines和loads替换成实际拓扑把线路故障率按长度折算代码就能无缝扩展。对于有联络开关、可转供的网络还需要在枚举里加入“备用电源转供成功”的判断这会增加一个“联络线路容量校验”步骤。这部分属于进阶玩法下一章着重讲DG影响量化时一并展开。4. 量化DG对可靠性的真实影响孤岛划分与出力不确定性处理4.1 孤岛是否成立的判据容量校验和频率/电压约束的现实边界上一章的代码里孤岛判据只用了容量对比。这只适合做指标量级估算真拿到评审台上是不够的。实际孤岛运行要过的关有四个功率平衡、电压偏差、频率波动、保护配合。功率平衡就是孤岛内DG总出力≥总负荷外加一定的裕度因为孤岛形成瞬间负荷和DG出力都有波动电压偏差取决于DG的无功能力和线路压降常见做法是跑一次简单潮流频率波动则取决于DG一次调频响应速度光伏逆变器通常不具备调频能力所以如果孤岛里只有光伏频率稳定性会很差。这也是为什么很多DG并网规程要求“孤岛运行必须配备储能或柴发”单纯光伏很难独立支撑孤岛。工程上我见过很多可靠率评估报告把孤岛成功率设成100%这明显偏乐观。一个更实际的建模方法是给孤岛成立判据加一个“成功概率”。比如孤岛负荷占DG容量比小于0.8时孤岛成功概率为0.95比值在0.8~1.0时成功概率降为0.7比值超过1.0则孤岛必然失败。这个概率可以根据历史孤岛测试数据或者动态仿真来标定。在FMEA枚举中每次故障事件里用这个概率随机决定孤岛是否成功然后对多次随机抽样取平均。这就是蒙塔卡洛的思想了。4.2 DG出力不确定性怎么扔进评估概率抽样和置信度指标DG出力不确定直接导致孤岛成立与否不是确定性事件。上一章的dg_output函数用了一个非常粗暴的伯努利抽样要么满发要么0出力。这个模型只适合做演示。实际工程中光伏的日内出力曲线近似从0到额定值波动应该用Beta分布或历史出力序列。风电则用韦布尔分布。处理方式可以这样在FMEA主循环里对每个故障事件抽样2~5次每次按DG出力的概率分布抽一个值判断孤岛是否成立然后把多次抽样的结果做平均得到这次故障事件的平均停电时间。下面给出一段改造代码这段代码可以嵌到上一章的循环里替换掉单次dg_output的调用。思路是把 outage_hours 的计算从“1次”变成“N次抽样取平均”。def expected_outage_hours(line, affected_nodes, dg, params, sample_times5): 返回故障后的期望停电时长考虑DG出力的随机性 total_hours 0.0 island_load sum(p for node, (p, _) in loads.items() if node in affected_nodes) dg_nodes [n for n in affected_nodes if n in dg] for _ in range(sample_times): total_dg sum(dg_output(dg[n]) for n in dg_nodes) if total_dg island_load * 1.05: total_hours line[s] else: total_hours line[r] return total_hours / sample_times这段代码里sample_times是可调参数取5就是一个工程上性价比很高的值跑得快且结果稳定。取10以上结果波动会显著减小。如果你跑的是序贯蒙特卡洛模拟那么就不需要对单个事件抽样因为时间序列里每个小时的DG出力本身就是一个自然样本直接在每个小时里判断孤岛状态即可。但为了快速对比方案FMEA 少量随机抽样的混合方法是成本最低的。另一个值得引入的量化指标是“孤岛成功率”公式为孤岛成功次数 / DG可用的故障事件总数。这个指标能直接反映DG接入对可靠性的边际贡献。我一般会在报告里增加一行某方案在DG渗透率30%时孤岛成功率为56%这样评审专家一眼就能看清楚DG的保护作用范围——不是所有故障都救得回来。4.3 储能、多个DG并联备用容量怎么折算现在很多项目不是单独一台光伏而是“光伏储能”或者多台光伏分布在馈线不同位置。可靠性模型里储能和光伏的区别在于储能出力是可调度的可以在孤岛形成后持续放电1~2小时但容量有限光伏则看天吃饭。简单起见储能可以建模成一个“容量受限的负负荷”孤岛形成后储能以额定功率放电直到SOC耗尽。在FMEA场景中孤岛持续的最长时间就是故障修复时间一般只有几小时所以如果储能容量够支撑这段时长就可以当成一台可用率极高的DG。多个DG并联时要注意孤岛范围可能跨越多条馈线。比如故障发生在变电站母线出口下游所有馈线都停电此时多台DG如果分布在不同的馈线上它们能否聚合在一起形成一个孤岛这需要网络拓扑上存在联络开关或闭环设计。如果只是辐射状开环那么只有故障隔离点下游同一“电气岛”内的DG才能参与供电压。我的做法是先用DFS把故障后的非故障失电区域拆成几个独立连通子图再在每个子图里分别汇总DG容量和负荷判断孤岛是否成立。这个子图划分逻辑可以用并查集实现代码可读性更好这里不展开但核心思路要记住孤岛是按连通域划分的不是按行政馈线编号划分的。5. 可靠性评估项目避坑指南5个新手最容易翻车的地方5.1 故障率单位错误导致指标差两个数量级现象算出来的SAIFI高达几十次而历史统计只有两三次。原因是把设备故障率直接用成了“次/年”没乘设备数量或线路长度。比如一台配电变压器的故障率是0.02次/年一条馈线上有30台配变那么馈线出口的年故障次数就是0.02×300.6次/年。如果每台都单独枚举但只按0.02算总故障次数就会少得离谱。反过来如果把单位长度故障率和线路长度相乘后又忘了累加同类型元件指标也会偏低。解决在数据预处理阶段就统一折算成“元件级故障率”设备台数×单台故障率或线路长度×单位长度故障率并保存到结构化表格里核对总数。5.2 忽略了隔离开关操作时间SAIDI被严重低估现象报告里SAIDI只有0.5小时但实际停电平均要2小时。原因是在FMEA枚举里把故障下游所有负荷的停电时间都设为修复时间或者反过来都设为开关操作时间。真实配电网中故障隔离后故障点上游的负荷可以通过转供或开关操作快速恢复但故障点下游、无转供通道的负荷必须等修复。对含DG的情况孤岛内的负荷可以在开关操作后恢复但孤岛外、故障点下游的非孤岛负荷仍然要等修复。如果模型里把所有节点都当成能快速恢复就会严重低估SAIDI。解决给网络模型里的每个节点增加一个“是否可转供/是否在孤岛范围”的标记并区别对待。5.3 DG的孤岛覆盖率算错把可用率和出力曲线混为一谈现象把一台1MW光伏按“可用率0.95”理解为全年95%时间都以1MW出力结果孤岛判断几乎总是成立算出SAIDI大幅下降。实际上光伏出力有很强的时序特性白天高峰可能满发但傍晚和阴天出力很低甚至为0。0.95的可用率只是统计意义上的“可运行时间占比”不等于你评估的那个故障时刻它就有95%容量。更严重的是故障事件可能发生在任意时刻如果孤岛评估只用固定出力比例就会和实际偏差很大。解决至少按“白天—夜晚—阴天”分场景或者直接采用典型日出力曲线如果数据允许把故障时刻的小时数引入到DG出力抽样中。5.4 负荷点用户数填错SAIFI失真现象SAIFI算出来和供电所台账对不上。检查后发现一个台区有200户但负荷点定义成了“每个节点50户”四个节点才200户填成了80户导致分母偏大SAIFI偏低。用户数和负荷功率是两个概念用户数决定SAIFI的分母和分子负荷功率决定ENS。在GIS导入时常有把变压器容量当用户数、或者把低压用户数直接挂在10kV节点上的情况。解决建立“电力用户数”和“平均负荷kW”两列并对每个节点明确数据来源。没有台账时用“变压器容量×同时率/户均容量”估算但要在报告里写明估算方法。5.5 把主变检修停运和故障停运混在一起重复枚举现象同一个评估报告里既枚举了主变故障又在另一节里枚举了主变计划检修两者影响范围相同但各自乘了故障率和检修频率导致年停电次数叠加重复。主变是稀缺元件故障停运和检修停运是互斥事件同一时间不可能又故障又检修但可靠性协议中通常把两者分开统计因为故障停运是随机的检修是计划的用户感知不同。正确做法是在FMEA中只枚举故障停运把计划检修单独计算后期望值叠加或者用“等效停运率”合并等效停运率 故障率 检修频率 × 平均检修时长 / 8760。很多商业软件会有“同步停运”选项勾选时要注意别重复。我踩过这个坑后来统一约定停电事件只按“非计划停运计划停运”两类独立建模不混在一个枚举循环里。6. 验证你的评估结果基准算例对标与敏感性分析6.1 用IEEE RBTS测试系统做结果校准写完评估代码别急着拿它去算真实电网。第一件事找公开的基准算例跑一遍看看指标在合理范围内。配电网可靠性领域最常用的是IEEE RBTSRoy Billinton Test System的Bus 2、Bus 6其中Bus 6的馈线F1/F2/F3数据在教材和论文里被反复引用有公开的可靠性指标参考值。你可以把前面代码里的拓扑和参数替换成RBTS Bus 6 F1的数据网上可检索到标准数据表跑出SAIFI和SAIDI和你找到的文献参考值对比。偏差在5%以内可接受如果偏差过大优先检查故障率折算、隔离开关位置、用户数定义这三个环节——它们几乎解释了90%的对不上。注意RBTS里有些馈线带了熔断器和分支线保护如果你的代码里没有建模熔断器SAIFI会偏高这也是常见原因。6.2 敏感性分析的三个必做维度DG容量、渗透率、开关配置验证通过之后再用你手头的项目数据做三组敏感性分析这是评审专家最爱看的图表也是评估报告里最有价值的部分。第一组DG容量从0逐步增加到馈线高峰负荷的1.5倍步长10%观察SAIDI和ENS的边际改善。你会看到一条快速下降然后趋于平坦的曲线拐点就是“有效渗透率”超过这个点再加大DG容量可靠性收益就很有限了。第二组DG接入位置从馈线首端挪到末端看SAIDI变化。末端接入通常能救更多的下游用户但受线路容量和电压约束不是越末端越好。第三组隔离开关配置密度把故障隔离操作时间s从0.5小时调到2小时看SAIDI的变化幅度。这组数据可以用来论证“加装配网自动化开关”的投资价值。我最常犯的一个教训是做敏感性分析时不固定其他参数导致曲线对比无效。比如变DG容量的同时把负荷模型也换了那SAIDI的拐点说不清是容量贡献还是负荷模型贡献。现在我的习惯是所有敏感性分析共用同一套基础数据文件只有待分析参数变化其他参数用配置文件锁定。最后输出一张表三列方案名、SAIFI、SAIDI。这张表配一张折线图整个评估就立住了。希望这些思路能帮你在下个项目里少折腾几轮直接把可靠性评估这件事做得让评审挑不出硬伤。本文还有配套的精品资源点击获取