简介《电力系统规划与可靠性电力元件和系统的可靠性模型》课件面向电气工程专业学生、电力系统规划与可靠性评估工程技术人员系统讲解电力元件停运建模与系统可靠性指标计算。内容从发电/发输电/整体可靠性三个评估层次切入介绍故障率、修复率、可修复强迫停运、计划停运、部分失效、共因停运及连锁停运等关键模型并给出我国220千伏变压器与架空线路的故障率参考数据便于工程对照。课件还概述了状态解析法、频率持续时间法、蒙特卡洛模拟法与故障树法等常用评估方法并以双回输电线路、风电场、换流变子系统等为例说明等值建模思路。压缩包内共1份完整幻灯片文件整体大小约987KB已有62人学习/下载。通过学习可快速搭建电力系统元件可靠性建模与分析的知识框架从基础参数到复杂相关停运模型均有示例支撑适合课堂学习、复习备考与工程入门。1. 电力系统规划与可靠性先弄懂元件和系统模型再谈指标讲“电力系统规划与可靠性”的培训材料里第六讲往往是整套内容的分水岭前面讲负荷预测、网架结构这一讲开始进入“电力元件和系统的可靠性模型”也就是把变压器、线路、开关这些设备的行为抽象成数学表达式再把它们组合成系统层面的可靠性度量。实际规划评审里我见过不少这样的情况两条 10kV 线路互为备用汇报材料写着“年停电时间 0.0005 小时”专家问一句“这两个元件独立吗检修重叠算没算计划停运考虑了没有”整个计算就站不住了。这套可靠性模型处理的正是这类问题——把元件的故障和修复行为压缩成参数再按拓扑组合成系统的可靠度、失效率和年停电时间。适合做电网规划的工程师、可靠性方向的研究生以及刚接手配电系统评估的同行照着算一遍。2. 电力元件的可靠性模型两状态模型与参数取值系统可靠性不是“系统自己”凭空冒出来的属性它是所有元件可靠性表现按拓扑组合后的整体行为。所以第一步不是急着搭系统而是先把每种元件抽象成能计算的数学对象。工程上用得最多的是两状态模型状态 0 正常运行状态 1 停运运行到停运由故障率驱动停运回到运行由修复率驱动。这个抽象在教材里往往只占几行但 λ、μ 取什么值、按什么逻辑随时间变化直接决定后面整个系统计算的准确性。2.1 不可修元件可靠度曲线与 MTTF不可修元件指一旦失效就无法维修、只能整体更换的设备典型代表是避雷器、熔断器、部分绝缘套管。这类元件用可靠度函数描述$R(t)$ 表示设备在 t 时刻之前不发生失效的概率。当失效率恒定为 λ 时可靠度服从指数分布$$R(t) e^{-\lambda t}$$平均寿命 MTTF 是可靠度函数从 1 衰减到 0 的期望时间等于 $1/\lambda$。λ 的单位是次/年比如 λ0.02 次/年意味着平均 50 年失效一次。工程里常说的浴盆曲线分三个阶段早期失效期、偶然失效期、磨损期。两状态指数模型严格来说只适用于“偶然失效期”那段平直区间也就是设备处于稳定运行阶段。规划计算默认设备落在这段区间除非设备已经超期服役或经历过多次返修否则不单独处理老化段的时变失效率。不可修模型在系统计算中最常见的用途其实不是算“这个元件本身”而是在短时间尺度评估里使用。比如做单次操作的风险评估研究周期只有几个小时维修根本来不及发生这时把元件当作不可修处理是合理近似。超过一天的评估就要换用可修元件模型否则结果会过度悲观。2.2 可修元件马尔可夫两状态模型与可用度输配电系统里绝大多数设备是可修的变压器故障可以返厂修复线路跳闸可以重合闸或抢修断路器拒动可以检修后重新投运。可修元件的经典建模是两个状态之间的马尔可夫转移状态 0 运行、状态 1 停运运行状态以转移率 λ 进入停运停运状态以转移率 μ 修复回到运行。写成状态转移关系就是λ 是故障率μ 是修复率修复率与平均修复时间 MTTR 互为倒数$\mu 1/MTTR$。求解稳态马尔可夫方程得到$$A P_0 \frac{\mu}{\lambda \mu},\quad U P_1 \frac{\lambda}{\lambda \mu}$$A 是稳态可用度U 是稳态不可用度。记得单位必须统一λ 通常给的是次/年MTTR 给的是小时μ 要先用 $\mu 8760 / MTTR$ 换算成年化修复率再代入公式。我一般拿到参数第一件事就是统一单位这一条能挡掉后面一半的乌龙。为什么规划计算可以用稳态概率而不解时变方程因为电网规划评估的是长时段平均行为研究对象是一年 8760 小时。可修元件的状态转移过程通常在几小时到几天内就达到平稳对年度指标来说稳态可用度已经足够精确。只有在研究几小时内的暂态可靠性时才需要解微分方程。2.3 规划场景常用参数表与获取途径做方案对比时参数一致性比参数绝对准确更重要。下面这组参数是电网规划里常用的元件可靠性数量级范围注意是工程习惯上的参考值不是某个导则的原文具体项目应以本地运行统计为准。元件类型故障率 λ平均修复时间 MTTR备注架空线路每 km0.05~0.5 次/年4~12 小时单回与多回差异大电力电缆每 km0.01~0.05 次/年8~24 小时受敷设方式和土壤影响油浸式变压器0.01~0.05 次/年50~300 小时严重故障需返厂断路器0.002~0.01 次/年8~72 小时拒动、误动需单独建母线0.001~0.01 次/年6~24 小时影响范围大后果严重从表里能读出几件事。架空线以每公里计失效率同一条线路长度翻倍λ 也随之翻倍变压器 λ 不高但 MTTR 很大故障一次的影响时间很长断路器 λ 虽小却存在拒动和误动两个额外模式必须在系统层面单独建模。参数到底从哪里来我一般按三个来源交叉取数设备台账和检修记录、历年故障统计、同电压等级同业基准值。三者出现数量级差异时先怀疑统计口径不一致而不是急着取平均。3. 系统的可靠性模型串并联、最小割集与 N-1 的关系元件模型解决的是“单个设备有多可靠”的问题系统模型解决的是“一堆设备组合在一起之后整体有多可靠”的问题。同样的两台变压器并联装在一个变电站里和分别给两个独立负荷供电系统层面的可靠性结果完全不同。系统可靠性模型就是把元件参数按拓扑结构合成系统指标的方法。3.1 串联系统与并联系统的经典组合公式串联系统要求所有元件都正常运行系统才正常运行。在元件独立失效的假设下系统可靠度是各元件可靠度的乘积$$R_s \prod_{i1}^{n} R_i$$对应的可用度同样相乘$$A_s \prod_{i1}^{n} A_i$$元件不可用度都很小时串联系统有个常用近似$U_s \approx \sum U_i$。这个近似在 U_i 小于 0.01 时误差可接受比如三个元件不可用度都是 0.001近似得到 0.003精确计算是 $1 - (0.999)^3 0.002997$几乎没差别。但如果元件不可用度到 0.1 量级近似会明显高估失效概率这时必须用精确乘积。并联系统只要至少一个支路正常运行系统就正常运行。在独立且容量充足的假设下系统失效概率是各支路失效概率的乘积$$U_p \prod_{i1}^{n} U_i$$这就是双回路供电可靠的理论基础。一个回路不可用度 0.0003 时两个独立回路并联后的系统不可用度是 $9 \times 10^{-8}$年停电时间从 2.6 小时降到不足一秒。但注意两个前提支路之间真的独立以及任一回路都能完整承担全部负荷。如果两条线路同塔架设或者一台变压器检修时另一台恰好故障独立性就不成立并联公式会给出过度乐观的结果。3.2 用最小割集处理复杂网络串并联公式只对能逐级化简的树状结构直接适用。实际电网里大量存在桥式、环网、多电源结构没法通过反复套串并联公式得到精确结果这时要用最小割集法。最小割集是这样一组元件集合集合里的元件全部失效会导致源点到负荷点失去连通但任意去掉其中一个元件后剩余集合就不再导致失效。比如一个典型的桥式网络源点经两条路径到负荷点中间有一条联络线跨接。设上路由元件 1、2 串联下路由元件 3、4 串联联络线为元件 5它的最小割集是$${1,3},\ {1,5,4},\ {2,5,3},\ {2,4}$$任意一组里的元件全部失效系统就失效。所以系统失效概率近似为所有最小割集失效概率之和$$U_{sys} \approx \sum_{j} P(C_j)$$这个近似在元件不可用度很小时是保守的也就是算出来的失效概率偏高一点规划中倾向保守可以接受。要求更精确时用容斥原理对割集并集做修正。最小割集还有一个工程价值它把“哪些薄弱环节组合会导致停电”直接列了出来比一个笼统的系统失效概率更能指导网架加强决策。3.3 N-1 准则与可靠性模型的对应关系电力系统规划的经典方法 N-1 准则是确定性校核任意一个元件停运后系统仍能保持稳定运行和正常供电。可靠性模型是概率性评估把所有可能的故障场景按概率加权得到期望指标。两者看起来是两套体系背后其实是同一套枚举逻辑。做 N-1 校核时本质上是在枚举所有一阶故障场景也就是单个元件停运的场景。可靠性模型里这些场景同样被枚举出来只是每个场景还带了一个发生概率和一个后果量化值。把概率乘后果求和就得到 year 平均停电时间 LOLE 或电量不足期望 EENS。可以理解为N-1 是“最坏单故障能不能扛住”可靠性指标是“所有故障场景平均下来每年损失多少”。规划中两者的配合关系是先做 N-1 校核保证网架在结构上满足安全底线再做可靠性概率评估用来比较多个都满足 N-1 的方案哪个经济性更优、哪个停电风险更低。N-1 全通过不等于可靠性高因为二阶故障、共同模式故障和检修重叠都不在 N-1 的检查范围内而这些恰恰是概率模型重点捕捉的对象。4. 用 Python 把可靠性模型落到数字状态枚举与算例模型公式摆出来是一回事真正能把某个具体网架算出一个可信数字是另一回事。最稳妥且完全可控的方法是状态枚举把系统里每个元件看作两状态变量枚举所有元件状态的组合逐个判断系统是否失效再按概率汇总。这个方法在元件数少于 20 时非常实用适合做算例验证和方案初筛。4.1 两状态元件的可用度计算函数先从最基础的计算开始。给定故障率和平均修复时间计算可修元件的稳态可用度与不可用度。def two_state_avail(lam_per_year, mttr_hours): 可修元件的稳态可用度和不可用度。 参数: lam_per_year: 故障率, 单位 次/年 mttr_hours: 平均修复时间, 单位 小时 mu_per_year 8760 / mttr_hours # 修复率换算为 次/年 a mu_per_year / (lam_per_year mu_per_year) u lam_per_year / (lam_per_year mu_per_year) return a, u这段代码的核心是单位换算。故障率通常以年为单位MTTR 以小时为单位所以修复率必须通过8760 / mttr_hours换成次/年再参与计算。如果直接用小时数代入μ 会变成比 λ 大好几个数量级可用度几乎等于 1看起来很美实际完全失真。调用时比如two_state_avail(0.02, 100)得到的是变压器在故障率 0.02 次/年、平均修复 100 小时下的可用度和不可用度常见结果大约是 A0.999772、U0.000228。4.2 用真值表枚举系统状态最小代码与连通性判断有了每个元件的不可用度下一步是把整个系统的所有状态枚举出来。核心是用itertools.product生成所有元件状态的组合再用图搜索判断每个状态下源点到负荷点是否连通。from itertools import product def system_connected(state, nodes, edges, source, target): 判断给定元件状态下, 源点到负荷点是否连通。 state: {元件id: 0停运/1运行} edges: [(节点1, 节点2, 元件id)] adj {n: [] for n in nodes} for n1, n2, cid in edges: if state[cid] 1: # 元件运行, 边才有效 adj[n1].append(n2) adj[n2].append(n1) seen {source} stack [source] while stack: cur stack.pop() for nb in adj[cur]: if nb not in seen: seen.add(nb) stack.append(nb) return target in seen def enum_system_failure_prob(n_components, nodes, edges, source, target, avail_list): 枚举所有元件状态组合, 计算系统失效概率。 total_fail 0.0 for state_tuple in product([0, 1], repeatn_components): state dict(zip(range(n_components), state_tuple)) p 1.0 for i in range(n_components): p * avail_list[i] if state_tuple[i] 1 else 1 - avail_list[i] if not system_connected(state, nodes, edges, source, target): total_fail p return total_fail这段代码把可靠性计算拆成了两个清晰的部分system_connected负责拓扑判断enum_system_failure_prob负责概率累积。state_tuple里的 1 表示元件运行0 表示停运p是在该状态下所有元件状态同时发生的联合概率。元件之间按独立处理概率直接相乘。product([0,1], repeatn)生成 2 的 n 次方种状态所以 n 超过 18~20 时枚举就会明显变慢那时要换蒙特卡洛或最小割集法。4.3 双回路供电算例结果、验证与解读用一个最常见的配电结构做完整算例两个完全相同的供电回路并联给一个负荷供电每个回路由变压器、线路、断路器串联。回路的元件参数如下。# 回路1: 变压器T1, 线路L1, 断路器B1 # 回路2: 变压器T2, 线路L2, 断路器B2 a_t, u_t two_state_avail(0.02, 100) # 变压器 a_l, u_l two_state_avail(0.10, 8) # 线路 a_b, u_b two_state_avail(0.005, 48) # 断路器 # 单回路的不可用度(串联) u_loop 1 - (1 - u_t) * (1 - u_l) * (1 - u_b) print(f单回路不可用度: {u_loop:.6f}, 年停电 {8760 * u_loop:.3f} 小时) # 解析法: 双回路并联 u_sys_analytic u_loop * u_loop print(f系统不可用度(解析): {u_sys_analytic:.8f}, 年停电 {8760 * u_sys_analytic:.3f} 秒) # 枚举法交叉验证 nodes [S, A, B, C, D, L] edges [(S, A, 0), (A, B, 1), (B, L, 2), (S, C, 3), (C, D, 4), (D, L, 5)] avail_list [a_t, a_l, a_b, a_t, a_l, a_b] u_sys_enum enum_system_failure_prob( n_components6, nodesnodes, edgesedges, sourceS, targetL, avail_listavail_list) print(f系统不可用度(枚举): {u_sys_enum:.8f}, 年停电 {8760 * u_sys_enum:.3f} 秒)解析法和枚举法得到的结果应该非常接近差异只在浮点精度。单回路不可用度大约 0.00034年停电 2.9 小时左右双回路并联后系统不可用度降到约 1.14e-7年停电不到 4 秒。这个算例有两个重点。第一并联带来的收益不是加法而是数量级变化从小时级降到秒级这也是双回路供电在规划中被广泛采用的原因。第二4 秒这个数字只存在于理想假设下两条回路完全独立、容量都足够、不存在共同检修、保护装置 100% 正确动作。实际工程里还要叠加母线故障、保护拒动、同塔架设等共同模式真实年停电时间会比理论值高一到两个数量级。模型的价值在于先算出理想下限再逐项叠加工程因素而不是把 4 秒直接写进可研报告。5. 可靠性模型使用避坑五个高频翻车点可靠性模型公式不多但用错的姿势非常多。这些年看下来常见的问题翻来覆去就那么几个每一个都让计算结果从“参考”变成“笑话”。按现象、原因、解决三步写出来对照自查。5.1 次/年与小时混用可靠度直接差出 50 倍现象算出来的年停电时间小得离谱比如一个故障率 0.02 次/年、修复时间 100 小时的变压器算出来停电 0.0002 小时/年明显和直觉不符。原因把 λ 用“次/年”、MTTR 用“小时”直接代入了马尔可夫公式。0.02 和 100 放在公式 $\lambda/(\lambda \mu)$ 里如果不把 μ 换算成年化修复率μ 会被当成 0.01 而不是 87.6结果天差地别。解决所有参数先统一到同一年纲再计算。我习惯写一个to_year(hours) hours / 8760MTTR 先转成年再算 μ。更稳妥的做法是直接用上一章写的two_state_avail函数把单位转换封在里面避免每次手动换算出错。5.2 把不可用度直接相加系统越算越悲观现象串联系统里有 5 个元件每个不可用度 0.05直接用 $U_s \sum U_i$ 算出 0.25但精确解是 $1 - (0.95)^5 0.226$两者差了 10%。原因串联系统失效概率近似等于各元件不可用度之和这个近似只在所有不可用度都很小经验上小于 0.01时成立。元件可靠性较差或元件数量多时多个元件同时失效的概率不能被忽略近似公式的系统性偏差会被放大。解决统一用精确乘积公式 $U_s 1 - \prod(1 - U_i)$。只有当所有 U_i 都小于 0.01 时才可以用求和快速心算。规划报告中涉及具体数字一律用精确公式。5.3 只统计故障停运漏了计划检修时间现象某台变压器故障率很低模型算出来年停电只有十几分钟但实际运行台账显示这台设备每年停电检修两天真实停电时长远高于模型结果。原因电网设备的停电来源不只是故障还有计划检修。故障率统计的是“非计划停运”检修停电是另一条独立的停运来源。如果模型里只有故障模式相当于假设设备全年无检修。解决把年计划检修时间折算进不可用度。常见做法是 $U_{total} \approx U_{fault} U_{maintenance}$其中 $U_{maintenance}$ 等于年计划检修小时数除以 8760。比如每年检修 24 小时对应不可用度 0.00274往往比故障不可用度还大。规划计算要求不高时直接相加要求严格时还要考虑检修与故障重叠的小概率修正。5.4 蒙特卡洛抽样年数不够结果来回跳现象同一个系统用蒙特卡洛算两遍第一遍 LOLE 是 0.5 小时/年第二遍变成 0.15 小时/年报告根本没法写。原因系统不可用度在 1e-4 量级时抽样 100 年只期望发生大约 0.01 次失效事件绝大多数年份根本观测不到停电统计量方差极大。蒙特卡洛的收敛速度只与抽样数有关失效概率越小需要的样本量越大。解决用变异系数 CV 做收敛判据工程上接受 CV 小于 5%对应需要观测到约 400 次失效事件。如果系统失效概率是 1e-4期望到 400 次失效需要抽样 400 万年这显然不现实。所以蒙特卡洛适合失效概率不太低的系统或作为解析法的验证工具。太可靠的系统建议直接用枚举或最小割集。5.5 把完美元件当默认漏掉保护和备自投的不确定性现象双回路供电理论上年停电 4 秒但实际运行统计显示年停电几十分钟甚至数小时模型和现实对不上。原因模型默认了所有保护装置正确动作、备自投 100% 成功、母线永远不会故障、两条回路完全独立。任何一项不成立理论结果都会被打破。备自投动作成功率通常只有 90%~99%失败一次就把停电时间从秒级拉回分钟级。解决把关键环节从“默认可靠”变成“显式建模”。备自投按 95%~99% 的成功率建一个两状态元件串在系统里保护拒动按断路器拒动概率处理同塔双回或共沟电缆要加共同失效模式。我一般先把所有非理想因素列成清单再逐个判断哪些对结果影响超过 1%只建影响大的项避免模型复杂到无法维护。6. 用非序贯蒙特卡洛验证可靠性模型收敛判据与敏感性6.1 抽样逻辑与收敛判据枚举法在元件数超过 20 时计算量爆炸这时常见做法是换非序贯蒙特卡洛把一年 8760 个小时逐个抽样每个小时按元件不可用度独立抽取一次状态系统失效就记 1 小时停电。统计停电小时数占总抽样小时的比例乘以 8760 就得到年停电时间期望。import random def mc_blackout_hours(avail_list, system_ok, hours8760): black 0 for _ in range(hours): state {i: (1 if random.random() a else 0) for i, a in enumerate(avail_list)} if not system_ok(state): black 1 return black多次运行取平均同时记录各批结果的标准差计算变异系数 CV。CV 小于 5% 时结果才稳定否则继续增加抽样批数。这个方法常用于验证解析模型如果枚举和蒙特卡洛结果在 CV 范围内对得上说明模型代码没有逻辑错误。6.2 结果对比与参数敏感性把第 4 章的双回路算例交给蒙特卡洛抽样函数跑 200 年LOLE 会稳定在 0.001 小时/年附近与枚举结果一致验证模型一致性。然后再做敏感性分析看看哪个参数对结果影响最大。参数调整系统年停电时间变化结论变压器 λ 提高 20%约增加 20%线性敏感MTTR 从 100h 降到 50h约降低一半修复速度影响显著两条回路共享检修从秒级升到分钟级独立性假设是最大风险这样一组敏感性数字放进报告比单给一个理论值有说服力得多。我现在拿到任何一套可靠性模型第一反应不是背公式而是先算一遍极限情况把所有不可用度设成 0结果应为 0把所有元件设成串联并联公式是否会退化。这些快速检验能拦住大部分低级错误。可靠性模型最后产出的是一个数字但这个数字是否可信取决于建模假设和参数取值是否经得起推敲。希望帮到你。本文还有配套的精品资源点击获取
