【电力系统】利用随机化学算法评估级联故障风险研究(Matlab代码实现)
欢迎来到本博客❤️❤️博主优势博客内容尽量做到思维缜密逻辑清晰为了方便读者。⛳️座右铭行百里者半于九十。本文内容如下⛳️赠与读者‍做科研涉及到一个深在的思想系统需要科研者逻辑缜密踏实认真但是不能只是努力很多时候借力比努力更重要然后还要有仰望星空的创新点和启发点。建议读者按目录次序逐一浏览免得骤然跌入幽暗的迷宫找不到来时的路它不足为你揭示全部问题的答案但若能解答你胸中升起的一朵朵疑云也未尝不会酿成晚霞斑斓的别一番景致万一它给你带来了一场精神世界的苦雨那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。或许雨过云收神驰的天地更清朗.......第一部分——内容介绍利用随机化学算法评估级联故障风险摘要——电力系统中潜在的级联故障大幅增加了整体可靠性风险。虽然可以利用蒙特卡洛采样结合电力系统模型来评估这种影响但计算成本高昂。本文提出了一种新方法用于评估由多重偶然事件引发的大规模级联停电的风险。该方法采用一种搜索算法随机化学算法来识别导致停电的偶然事件然后将结果与停电概率相结合来估算整体风险。通过两个测试案例IEEE RTS-96系统和波兰2383节点系统模型【温馨提示本文代码复现时候采用IEEE6节点和IIIE39节点点进行测试】将该方法与蒙特卡洛采样进行比较结果表明新方法比蒙特卡洛采样至少快两个数量级且不会引入可测量的偏差。此外该方法还能够计算整体停电风险对引发偶然事件中单个元件故障概率的敏感性从而能够快速识别降低风险的低成本策略。通过计算波兰系统风险对单个初始停电概率的敏感性我们发现将三条线路的停电概率降低50%可使级联故障风险降低33%。最后我们利用该方法评估了风险随负荷变化的函数。令人惊讶的是该计算表明风险有时会随着负荷的增加而降低。关键词——级联故障、蒙特卡洛采样、电力系统可靠性I. 引言大规模停电是低概率、高影响事件即它们发生的频率较低但一旦发生就会产生灾难性的社会和经济影响如2003年8月[1]和2011年9月[2]的北美大停电。因此可靠性标准如[3]越来越要求进行级联故障风险评估这也是IEEE电力与能源协会活动的重点[4]。可靠性风险分析方法的主要目标是生成统计可靠性指标如预期未供应能量EENS以便比较同一系统的不同版本或评估系统随时间的变化。蒙特卡洛MC方法在电力系统可靠性研究中的科学和实践应用已非常成熟[5]尤其是在评估发电和输电充足性方面。然而对于某些类型的问题蒙特卡洛方法需要大量样本才能产生高置信度的统计结果导致该方法在某些情况下计算成本过高甚至不可行[6]。一些研究通过以下方法减少了采样所需的计算量1方差缩减技术[7]2状态空间剪枝[8]3并行和分布式计算[6]4伪序贯模拟[9]5人工神经网络[10]。一般来说这些方法只能带来小幅改进通常加速不到10倍。据我们所知[10]中描述的方法加速效果最为显著比标准蒙特卡洛方法快45倍。将采样技术应用于级联故障风险评估的方法尚未完全成熟[4]原因有以下几点。首先级联故障的模拟仍然是一个难题难以估计级联触发扰动后的最终影响通常以负荷损失量来衡量。因此标准电力系统可靠性模型往往只能捕捉一到两代停电忽略了后续停电的影响[11]。其次即使能够准确估计级联规模这些规模也可能各不相同从几兆瓦到几十吉瓦。级联的特性导致了停电规模服从广为人知的幂律分布[12]、[13]。这意味着可能引发大规模级联故障的特定停电组合和操作员错误的发生概率非常低因此需要观察多个代表性事件才能获得准确的风险估计[14]。第三所有可能引发级联的n-k偶然事件的搜索空间巨大其中n是可能发生故障的元件数量k是实际发生故障的元件数量且该空间随n和k呈指数级增长。这进一步增加了对大量模拟的需求。尽管面临这些挑战仍有许多研究专注于级联故障建模如[11]、[15]-[17]。少数论文已将采样技术应用于级联故障风险评估问题[11]、[18]。在此过程中一些研究使用了方差缩减技术来减少计算量[19]-[22]其中[19]实现了5-10倍的加速[22]实现了2-4倍的加速。非采样方法如分支过程模型[23]、[24]可以提供有效的风险估计但会忽略一些细节例如无法计算特定停电对整体风险的相对贡献。在我们之前的工作[25]中我们将一种搜索算法随机化学算法RC应用于寻找导致级联故障的大量n-k偶然事件。然而这项初步工作并未解释如何利用该方法进行风险评估。在本文中我们在一些简化假设的基础上推导出一种利用随机化学算法评估级联故障导致停电风险的方法并将该方法的计算效率与蒙特卡洛采样进行了比较。本文基于[26]和[27]中报告的初步结果扩展了我们的方法以计算单个元件对整体风险的相对影响并展示了负荷增加和发电机调度方法如何影响风险。本文其余部分组织如下。第II节定义了级联故障风险并介绍了两种估算风险的一般方法。第III节描述了我们利用随机化学算法进行级联故障风险评估的方法第IV节给出了模拟结果。最后第V节给出了我们的结论。V. 结论与未来工作本文提出了一种基于[25]中随机化学算法的新型高效计算方法用于评估大规模如占系统负荷≥5%级联停电的风险。通过对两个测试案例IEEE RTS-96系统和波兰输电系统模型将该方法与蒙特卡洛模拟进行比较结果表明新方法比蒙特卡洛模拟至少快两个数量级且不会在估计中引入可测量的偏差。随机化学算法的计算效率源于其直接搜索导致大规模停电的偶然事件的方式而蒙特卡洛模拟则是对所有可能的偶然事件进行广泛采样。我们根据由此产生的停电规模以及风险对引发事件中单个线路停电概率的敏感性对风险进行了分解。对于后一种情况我们推导出一种方法利用随机化学算法生成的数据快速估算元件停电概率对整体风险的影响。对于波兰系统结果表明降低三条输电线路的非计划停电概率例如通过更积极的植被管理可使整体级联故障风险降低33%。为了说明所提方法的实用性我们计算了不同规模停电的风险如何随负荷水平变化。令人惊讶的是结果表明风险有时会随着负荷的增加而降低例如如果发电机是根据预防性安全约束最优潮流进行调度的。然而如果发电机按比例调度所有发电和负荷相对于低风险负荷水平按相同比例变化停电风险会小得多且风险会随负荷单调递增。这体现了经济效率与停电风险之间的重要权衡。这些结果为未来研究提出了若干重要课题。首先本文给出的结果基于以下假设线路停电不相关且使用相对简单的级联故障模拟器。未来研究将致力于确认在模拟相关停电和额外的级联机制后随机化学算法带来的效率提升是否仍然存在。此外我们仅研究了风险对引发事件的敏感性研究风险对级联过程中事件的敏感性将是未来的工作。最后未来研究需要将随机化学算法产生的数据转化为降低停电风险的有效策略。第二部分——运行结果2.1 IEEE30节点训练无并行2.2 IEEE30训练集生成损失基于PPO算法2.3 IEEE30训练生成损失基于策略梯度PG2.4 IEEE30训练生成损失基于演员-评论家算法AC2.5 IEEE6节点训练生成损失无并行模式运行结果图比较多就不一一截图。部分代码ObservationInfo rlNumericSpec([1 11]); ObservationInfo.Name Line State; ObservationInfo.Description line1, line2, line3, line4, line5, line6, line7, line8, line9, line10, line11; ObservationInfo.LowerLimit0; ObservationInfo.UpperLimit1; ActionInfo rlFiniteSetSpec([1 2 3 4 5 6 7 8 9 10 11]); ActionInfo.Name Attacker Action; ActionInfo.Description [attack-line1, attack-line2, attack-line3, attack-line4, ... attack-line5, attack-line6, attack-line7, attack-line8, attack-line9, attack-line10, attack-line11]; env rlFunctionEnv(ObservationInfo, ActionInfo,WW6_StepFunction_genloss,WW6_ResetFunction); obsInfo getObservationInfo(env); actInfo getActionInfo(env); % obsInfo.Dimension % 1 11 % actInfo.Dimension % 1 1 %% Hard dnn [ featureInputLayer(obsInfo.Dimension(2),Normalization,none,Name,state) fullyConnectedLayer(100,Name,CriticStateFC1) reluLayer(Name,CriticRelu1) fullyConnectedLayer(100, Name,CriticStateFC2) reluLayer(Name,CriticRelu2) fullyConnectedLayer(100, Name,CriticStateFC3) reluLayer(Name,CriticCommonRelu) fullyConnectedLayer(length(actInfo.Elements),Name,output)]; % % figure % plot(layerGraph(dnn)) criticOpts rlRepresentationOptions(LearnRate,0.001,GradientThreshold,Inf); criticOpts.Optimizeradam; % adam, sgdm , rmsprop critic rlQValueRepresentation(dnn,obsInfo,actInfo,Observation,{state},criticOpts); agentOpts rlDQNAgentOptions(... UseDoubleDQN,true, ... TargetSmoothFactor,1e-1, ... TargetUpdateFrequency,4, ... ExperienceBufferLength,100000, ... DiscountFactor,0.7, ... MiniBatchSize,256 ... ); agentOpts.EpsilonGreedyExploration.Epsilon1; agentOpts.EpsilonGreedyExploration.EpsilonDecay0.005; agentOpts.EpsilonGreedyExploration.EpsilonMin0.01; % agentOpts.EpsilonGreedyExploration.EpsilonDecay0.0005; agent rlDQNAgent(critic,agentOpts); trainOpts rlTrainingOptions(... MaxEpisodes,1000, ... MaxStepsPerEpisode,5, ... Verbose,false, ... Plots,training-progress,... StopTrainingCriteria,AverageReward,... StopTrainingValue,900); trainOpts.ScoreAveragingWindowLength5; trainingStats train(agent,env,trainOpts);function [MW, Failed_lines, Failed_times]IEEE30(attacked_bus) %% get constants that help us to find the data C psconstants; % tells me where to find my data® %% set some options opt psoptions; opt.verbose false; % set this to false if you dont want stuff on the command line % Stopping criterion: (set to zero to simulate a complete cascade) opt.sim.stop_threshold 0.00; % the fraction of nodes, at which to declare a major separation opt.sim.fast_ramp_mins 1; %% Prepare and run the simulation for the 6 bus case % load the case data ps case30_ps; ps updateps(ps); % ps redispatch(ps); ps rebalance(ps); ps dcpf(ps); %printps(ps); verbose 1; EPS 1e-6; % collect some data about the case n size(ps.bus,1); m size(ps.branch,1); ng size(ps.gen,1); nd size(ps.shunt,1); Pg_min zeros(ng,1); Pg_max ps.gen(:,C.ge.Pmax); flow_max ps.branch(:,C.br.rateB); % choose some branch outages % br_outages [1 5 6 8 11]; br_outages attacked_bus; % run the simulator [is_blackout,outages,MW_lost] dcsimsep(ps,br_outages,[],opt); clc Failed_linesoutages(:,2); Failed_timesoutages(:,1); MWMW_lost.rebalance; end第三部分——参考文献文章中一些内容引自网络会注明出处或引用为参考文献难免有未尽之处如有不妥请随时联系删除。(文章内容仅供参考具体效果以运行结果为准)第四部分——本文完整资源下载资料获取更多粉丝福利MATLAB|Simulink|Python|数据|文档等完整资源获取

相关新闻

COMSOL进阶技巧:矩形函数二维FFT的快速实现与可视化

COMSOL进阶技巧:矩形函数二维FFT的快速实现与可视化

1. 从零开始:为什么要在COMSOL里折腾二维FFT? 很多朋友刚接触COMSOL的时候,可能觉得它就是个做有限元仿真的工具,解解电磁场、算算应力应变。但用久了你会发现,它的“定义”模块里藏着一个功能强大的“计算器”&#x…

2026/5/17 8:35:30 阅读更多 →
RePKG:Wallpaper Engine资源处理的全流程效率解决方案

RePKG:Wallpaper Engine资源处理的全流程效率解决方案

RePKG:Wallpaper Engine资源处理的全流程效率解决方案 【免费下载链接】repkg Wallpaper engine PKG extractor/TEX to image converter 项目地址: https://gitcode.com/gh_mirrors/re/repkg 在数字创意领域,Wallpaper Engine资源包的高效处理面临…

2026/5/17 8:35:29 阅读更多 →
Mac终端美化全攻略:Iterm2搭配Dracula主题与Oh-My-Zsh插件配置

Mac终端美化全攻略:Iterm2搭配Dracula主题与Oh-My-Zsh插件配置

Mac终端美学与效率革命:从Iterm2到Oh-My-Zsh的深度定制之旅 对于长期与代码为伴的开发者而言,终端不仅是执行命令的工具,更是每天面对数小时的工作界面。一个赏心悦目、响应迅捷、功能强大的终端环境,其意义远超简单的“美化”——…

2026/5/17 8:35:27 阅读更多 →

最新新闻

PyTorch模型性能优化实战:从数据加载到部署

PyTorch模型性能优化实战:从数据加载到部署

1. PyTorch模型性能优化全景解析在深度学习项目实践中,模型性能优化是每个从业者必须掌握的硬核技能。最近接手的一个工业级图像分类项目让我深刻体会到:当数据集规模达到千万级,即使使用RTX 4090这样的顶级显卡,未经优化的PyTorc…

2026/7/3 21:05:29 阅读更多 →
MuleSoft企业级AI编排:让大模型听懂ERP与CRM

MuleSoft企业级AI编排:让大模型听懂ERP与CRM

1. 项目概述:当企业级集成平台遇上大语言模型,不是叠加,而是重定义工作流“AI Orchestration in Action: How MuleSoft and LLMs Fuel the Future of Enterprise AI”——这个标题里藏着一个正在发生的、静默却剧烈的范式转移。它说的不是“用…

2026/7/3 21:05:29 阅读更多 →
STM32与TI降压转换器的高效电源管理方案

STM32与TI降压转换器的高效电源管理方案

1. 项目背景与硬件选型解析在嵌入式电源管理领域,DC-DC降压转换是基础但至关重要的技术环节。本次项目采用171010550电源管理IC与STM32F215ZG微控制器的组合方案,这个搭配在工业控制领域颇具代表性。171010550是TI(德州仪器)旗下的…

2026/7/3 21:03:28 阅读更多 →
Rust 流式输出:让模型边生成边显示,但别忘了中断

Rust 流式输出:让模型边生成边显示,但别忘了中断

Rust 流式输出:让模型边生成边显示,但别忘了中断 第一次用 AI CLI 工具时,我最喜欢的体验就是"字一个一个往外蹦"的感觉——不用等模型完全生成完,就能看到内容在慢慢出现。但自己动手实现流式输出后才知道,…

2026/7/3 21:03:28 阅读更多 →
STM32F415RG与ICM-45605构建高精度IMU系统指南

STM32F415RG与ICM-45605构建高精度IMU系统指南

1. 项目背景与核心器件选型在嵌入式系统开发中,精确测量物体的运动状态是一个常见但极具挑战性的需求。ICM-45605作为TDK InvenSense最新推出的6轴MEMS IMU传感器,配合STM32F415RG这款高性能ARM Cortex-M4微控制器,能够构建一个高精度、低功耗…

2026/7/3 21:01:28 阅读更多 →
AI智能剪辑新范式:用LLM“阅读”视频,告别传统剪辑苦力

AI智能剪辑新范式:用LLM“阅读”视频,告别传统剪辑苦力

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Claude 随心用,限时 5 折。 👉 点击领海量免费额度 如果你还在用传统剪辑软件,一帧一帧地剪掉“嗯…啊…”的停顿,手动对齐字幕,反复渲染预览&#…

2026/7/3 21:01:28 阅读更多 →

日新闻

Nginx防御TLS重协商攻击实战:从原理到配置与监控

Nginx防御TLS重协商攻击实战:从原理到配置与监控

1. 项目概述:为什么TLS重协商攻击至今仍需警惕十多年前的CVE-2011-1473,一个关于TLS/SSL协议重协商机制的漏洞,现在提起来还有必要吗?很多运维和开发朋友可能会觉得,这都老掉牙了,现代服务器和客户端不都默…

2026/7/3 0:03:59 阅读更多 →
华为防火墙双通道远程管理实战:Web与SSH配置详解

华为防火墙双通道远程管理实战:Web与SSH配置详解

1. 项目概述:为什么需要双通道远程管理防火墙?在任何一个稍具规模的企业网络里,防火墙都是那个默默守护在边界的关键角色。作为网络工程师,我们不可能每次都跑到机房,插上console线去配置它。远程管理能力,…

2026/7/3 0:03:59 阅读更多 →
AD74413R与PIC18F65K40的高精度工业数据采集方案

AD74413R与PIC18F65K40的高精度工业数据采集方案

1. 项目概述:AD74413R与PIC18F65K40的协同工作在工业自动化和精密测量领域,同时实现高精度模数转换(ADC)和数模转换(DAC)功能是许多复杂系统的核心需求。AD74413R作为一款四通道可配置模拟输入/输出器件,与PIC18F65K40微控制器的组合&#xf…

2026/7/3 0:05:59 阅读更多 →

周新闻

月新闻