配电网可靠性评估(二)—序贯蒙特卡洛模拟法的matlab实现

简介: 电力系统的可靠性研究是相关领域的热点问题。根据研究对象的不同,又可分为发电系统的可靠性,输电系统的可靠性和配电系统的可靠性。配电网在电力系统中处于最末端的位置,直接和用户相连,一旦出现故障情况,就会在用户侧表现为停电事故。因此对配电网的可靠性评估有着重大意义。

         之前的文章简单介绍了配电网可靠性评估解析法和模拟法的基本原理,分别以最小路法和非序贯蒙特卡洛模拟法为例进行介绍。

一、序贯和非序贯蒙特卡罗模拟法的区别

       发出来之后很多朋友私信我有没有序贯蒙特卡洛模拟法的程序,以及非序贯蒙特卡洛模拟法和序贯蒙特卡洛模拟法的区别,闲下来就写了这篇博客,跟大家一起交流学习。其实非序贯和序贯蒙特卡洛模拟法原理和步骤比较相似,主要的区别有下面这些:

       (1)顾名思义,序贯蒙特卡洛模拟法是基于时序进行模拟的,而非序贯模拟法是基于事件进行模拟的,不考虑时序关系。近年来配电网的研究基本都离不开分布式电源、储能这些时序特性非常明显的设备,因此现在基本上文章都是采用序贯蒙特卡洛模拟法。

       (2)在故障场景抽样时,非序贯蒙特卡洛模拟法的每次模拟对应的时间都是一整年,序贯蒙特卡洛模拟法每次模拟的时间不等,是基于设备的TTR和TTF变化的。另外,统计负荷可靠性指标时,两种算法的计算公式也存在明显区别。

       具体来说,非序贯每次仿真时,要对每个设备产生一个随机数,如果这个随机数小于设备的故障率,就假定本次模拟中该设备发生故障,也就是在一年内设备会发生故障,这是重点,非序贯蒙特卡罗模拟法每次模拟对应的是时间是一年!!!最后统计负荷可靠性指标时,用累计的停电次数除以总仿真次数就可以得到年平均停电次数(因为一次仿真其实就对应一年),停电时间、失负荷量之类的指标也是同理。

       而采用序贯抽样时,每次仿真的时间是不确定的,取决于设备的TTF。对故障场景进行抽样时,故障设备的确定是基于自己设定的规则。一般的文章中都假设抽样时TTF最小的设备为故障元件,这是只考虑了一阶故障。也可以认为TTF最小的前n个设备为故障元件,这样考虑的就是n阶故障。最后统计负荷可靠性指标时,负荷的故障率=仿真中总停电次数/负荷的总正常工作时间,负荷的平均故障持续时间=仿真中总停电时间/仿真中总停电次数。

二、序贯蒙特卡洛模拟法的基本步骤

       用序贯蒙特卡洛模拟法进行配电网可靠性评估的步骤如下:

       (1)初始化负荷可靠性指标和仿真参数;

       (2)计算每个设备的正常工作时间TTF,利用一定规则确定故障的设备;

       (3)确定故障设备的修复时间或者上级开关设备的切换时间;

       (4)确定因设备故障而停运的负荷,以及因开关设备切换而受影响的负荷,累加负荷的正常工作时间,停运次数、停运时间等。

       (5)仿真时间加上TTF和故障持续时间,判断是否达到仿真阈值,若是则进行下一步,否则返回步骤(2);

       (6)统计负荷可靠性指标和系统可靠性指标。

matlab代码:

clc
clear
close all
%% 读取数据
[line_num,line,load_num,load] = IEEE_RBTS_BUS6_F4;
%生成图
g=digraph(line(:,1),line(:,2),line(:,3));
%% 利用节点网络分析法确定影响负荷的元件
node_analyse;
%% 序贯蒙特卡洛法
load_users=load(:,5);
load_fault=zeros(1,load_num);%故障次数
load_fault_time=zeros(1,load_num);%故障时间
load_power=zeros(1,load_num);%失负荷量
Lambda=(line(:,3).*line(:,4))';
Gamma1=line(:,5);
Gamma2=line(:,8);
power=load(:,3);
N=500;%仿真的年数
time=0;%初始化仿真时间
load_normal=zeros(1,load_num);%正常工作时间
while time<N*8760
    进行故障抽样
    %累加仿真时间
    time=time+min_TTF+max([TTR1,TTR2]);
end
%负荷停电次数
Lambda_load=load_fault./load_normal;
%负荷停电时间
Gamma_load=load_fault_time./load_fault;
U_load=Lambda_load.*Gamma_load;
disp('**************系统可靠性指标**************')
SAIFI=Lambda_load*load_users/(sum(load_users));
disp(['SAIFI=',num2str(SAIFI),'次/(年·户)'])
SAIDI=U_load*load_users/(sum(load_users));
CAIDI=SAIDI/SAIFI;
disp(['SAIDI=',num2str(SAIDI),'小时/(年·户)'])
EENS=load_power*load_users/(sum(load_users))/N;
disp(['EENS=',num2str(EENS),'MW/(年·户)'])
ASAI=1-U_load*load_users/(sum(load_users*8760));
disp(['ASAI=',num2str(ASAI*100),'%'])
figure(1)
bar(Lambda_load,'stack')
title('负荷可靠性评估结果')
xlabel('负荷节点');ylabel('年平均停电次数/次');
figure(2)
bar(U_load,'stack')
title('负荷可靠性评估结果')
xlabel('负荷节点');ylabel('年平均停电时间/h');
Z=[SAIFI SAIDI CAIDI ASAI];
figure(3)
bar(Z,0.2)
title('系统可靠性评估结果')
set(gca,'XTickLabel',{'SAIFI','SAIDI','CAIDI','ASAI'});
Lambda_load0=[1.6725  1.6725  1.6725  1.6725  1.6725  1.7115  1.7213  2.5370  2.5890  2.5370  2.5370  2.5370  1.6725  1.7115  1.6725  2.5110  2.5598  2.5110  2.5110  2.5110  2.2250  2.2250  2.2250 ];
U_load0=[8.4015   8.4015  8.4015  8.4015  8.4015  8.5965  8.6453  12.7240   12.9840   12.7240   12.7240   12.7240   11.2875   11.4825   11.2875   15.4800   15.7238   15.4800   15.4800   15.4800   14.0500   14.0500   14.0500 ];
SAIFI0=1.97781318681319;
SAIDI0=11.074659340659341;
CAIDI0=5.599446608253094;
ASAI0=0.998735769481660;
figure(4)
bar(Lambda_load-Lambda_load0,'stack')
title('模拟法误差分析-负荷年平均停电次数')
xlabel('负荷节点');ylabel('年平均停电次数的误差');
figure(5)
bar(U_load-U_load0,'stack')
title('模拟法误差分析-负荷年平均停电时间')
xlabel('负荷节点');ylabel('年平均停电时间的误差');
figure(6)
Z0=[SAIFI0 SAIDI0 CAIDI0 ASAI0];
bar(Z-Z0,0.4)
title('系统可靠性评估误差')
set(gca,'XTickLabel',{'SAIFI误差','SAIDI误差','CAIDI误差','ASAI误差'});

image.gif

三、运行结果

image.gifimage.gifimage.gifimage.gifimage.gif

image.gif


相关文章
|
9天前
|
编解码 算法 异构计算
基于FPGA的NC图像质量评估verilog实现,包含testbench和MATLAB辅助验证程序
在Vivado 2019.2和Matlab 2022a中测试的图像质量评估算法展示了效果。该算法基于NC指标,衡量图像与原始图像的相似度,关注分辨率、色彩深度和失真。提供的Verilog代码段用于读取并比较两个BMP文件,计算NC值。
|
20天前
|
算法 调度
面向配电网韧性提升的移动储能预布局与动态调度策略(matlab代码)
面向配电网韧性提升的移动储能预布局与动态调度策略(matlab代码)
|
20天前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
|
20天前
|
运维 算法
基于改进遗传算法的配电网故障定位(matlab代码)
基于改进遗传算法的配电网故障定位(matlab代码)
|
20天前
|
调度
Matlab|考虑源-荷-储协同互动的主动配电网优化调度研究
Matlab|考虑源-荷-储协同互动的主动配电网优化调度研究
|
20天前
|
算法
考虑分布式电源的配电网无功优化问题研究(matlab代码)
考虑分布式电源的配电网无功优化问题研究(matlab代码)
|
20天前
|
算法 调度
基于CCG算法的IEEE33配电网两阶段鲁棒优化调度matlab
基于CCG算法的IEEE33配电网两阶段鲁棒优化调度matlab
|
20天前
|
数据安全/隐私保护
地震波功率谱密度函数、功率谱密度曲线,反应谱转功率谱,matlab代码
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
20天前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)

热门文章

最新文章