首先列一下参考文献:

[1]配电网可靠性评估方法研究现状与展望

[2]计及分布式电源的配电网供电可靠性

[3]基于仿射最小路法的含分布式电源配电网可靠性分析

[4]含电动汽车和分布式电源的配电网的可靠性评估

之前的博客中介绍了配电网可靠性评估的三种方法、分别是解析法中的最小路法,以及序贯蒙特卡罗模拟法及非序贯蒙特卡洛模拟法:

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

配电网可靠性评估(一)—最小路法和非序贯蒙特卡洛模拟法的matlab实现

但是之前的内容里都没有涉及分布式电源,这篇博客主要介绍一下含分布式电源的配电网该如何进行可靠性评估。

一、引言

分布式电源( distributed generator,DG)凭借发电方式灵活、环境污染小等优点,越来越多地被接入到配电网中,在给配电网运行方式带了变化的同时,也给配电网的可靠性带来一定的影响。DG对配电网可靠性的影响主要体现在两个方面:

1.DG的输出具有不确定性,单凭DG并不能够保证能持续供应满足用户需求的电力;

2.在配电网发生故障时,DG可以和周围的负荷点形成孤岛,对其恢复供电,提高系统供电可靠性。

另外,根据对DG建模的方法不同,通常采用的可靠性评估方法也不一样。在含DG的配电网可靠性评估中,DG的数学模型主要包括概率模型和时序模型,两种模型的基本原理如下:

1.概率模型

这里的说的概率模型不是通常数学意义上的那种概率密度函数,而是通过计算得到DG不同出力对应的概率。最简单的概率模型就是两状态模型,假设DG额定功率运行的概率是P1,停运的概率是P2,满足P1+P2=1就行。再复杂一些的可以设计为多状态模型,比如参考文献[3]里面就设计了一种四状态模型,以各状态间的转移概率表征DG出力的波动,通过马尔可夫状态转移法求出各状态的概率,进一步确定出孤岛形成的概率。采用概率模型对DG进行建模时,可靠性评估方法一般就采用解析法或非序贯蒙特卡罗模拟法,在进行可靠性评估时,首先根据概率确定分布式电源的出力大小,再根据DG出力确定孤岛划分以及负荷的供应情况即可统计出可靠性指标。

2.时序模型

时序模型就是要得到DG按时间顺序变化的输出功率大小。很多时候都采用典型的变化曲线即可,也就是历史的变化曲线或者是预测的曲线,一般都是以1小时为时间间隔,一年则需要8760个采样点。也有一些文献根据历史参数拟合DG出力概率密度函数的参数,再根据概率密度函数来生成一些典型的场景。采用时序模型对DG进行建模时,可靠性评估方法一般就采用序贯蒙特卡洛模拟法,进行仿真的时候根据仿真的时长就可以确定分布式电源的出力大小,再根据DG出力确定孤岛划分以及负荷的供应情况即可统计出可靠性指标。

二、基本步骤

博客里以DG的概率模型+最小路法,以及DG的时序模型+序贯蒙特卡洛模拟法为例,介绍含DG的配电网可靠性评估的步骤。

1.概率模型+最小路法

以文献[3]中提到的四状态概率模型,加上我自己之前的博客里提到的最小路法进行含DG的配电网可靠性评估步骤如下:

step1:建立DG输出功率的概率模型

将DG视为一个具有若干容量状态的发电机,假设包含全额发电、两个降额运行以及全额停运四个状态。以各状态间的转移概率表征DG出力的波动,通过马尔可夫状态转移法求出各容量状态概率。系统在状态转态无关。采用Si表示第i个输出功率水平(S1>S2 >S3>S4),aij表示输出功率从Si转移到Sj的状态转移概率。所建立的发电机多容量状态模型如下所示。

以矩阵A'表示DG的马尔可夫状态转移概率。根据图1的状态空间,可以得到系统的状态转移率矩阵为:

step2:求负荷k到主电源节点的最短路径

可采用Dijkstra算法,Bellman-Ford算法,Floyd算法和SPFA算法等最短路径的算法求出负荷节点到主电源节点的最短路径,并确定路径中包含的元件;

step3:判断元件故障对负荷k的影响

根据有无备用电源、有无分段装置、有无熔断器保护、元件是否在负荷的最小路上判断各个元件故障对负荷k的影响,这里不再赘述,可以参考我之前的博客以及文献[2];

step4:判断孤岛形成条件

假设在不含DG的情况下,某个元件m故障会使负荷k发生故障,这时候需要根据故障的位置,负荷的位置,开关动作以及DG的输出功率等条件判断是否可以通过DG形成孤岛对负荷k恢复供电,并根据DG各个出力的概率求出孤岛形成的概率。进行孤岛划分时,一般采用广度优先的原则进行孤岛划分,同时需要满足连通性约束与功率平衡约束。以下图为例进行说明:

假设图中DG四个状态分别为[S1 S2 S3 S4]=[0 100 200 300]kW,出现概率均为0.25,负荷1-4均为100kW。

如果线路3处发生故障,断路器QF1断开,此时只要DG出力达到一定要求,就可以形成孤岛,恢复对负荷2-4的供电。当状态为S2、S3、S4时,可以恢复对负荷2的供电,也就是在线路3故障时负荷2由DG恢复供电的概率为0.75;当状态为S3、S4时,可以恢复对负荷3的供电,也就是在线路3故障时负荷3由DG恢复供电的概率为0.5;当状态为S4时,可以恢复对负荷4的供电,也就是在线路3故障时负荷4由DG恢复供电的概率为0.25。这是DG出力的不同导致孤岛划分不同。

另外,故障位置也会影响孤岛的形成。假设线路5处发生故障,断路器QF1断开,此时无论DG出力在什么状态,最多只能恢复对负荷2的供电。这是因为线路5的故障导致DG无法和负荷3及负荷4形成供电回路,无法满足孤岛形成的连通性约束。

综上,这一步骤需要判断不同情况下形成孤岛对负荷k恢复供电的概率。

step5:累加负荷可靠性指标

根据上述计算累计负荷的年平均故障率、年平均故障时间以及平均年失负荷等可靠性指标;

step6:迭代终止判断

如果统计完所有负荷的可靠性指标,则进行下一步,否则令k=k+1然后返回步骤2;

step7:统计系统可靠性指标

根据所有负荷节点的可靠性指标,统计系统的可靠性指标。

2.时序模型+序贯蒙特卡洛模拟法

以DG的时序模型为基础,加上我自己之前的博客里提到的序贯蒙特卡洛模拟法进行含DG的配电网可靠性评估步骤如下:

step1:建立DG输出功率的时序模型

可以像文献[4]中一样,写出DG的出力概率密度函数,再经过抽样得到DG的时序出力变化,具体过程如下:

也可以采用历史数据,效果大差不大。为简单起见,这里就直接采用历史数据。

step2:初始化仿真参数

读取设备的可靠性参数,初始化仿真年限;

step3:确定故障设备和故障时间

计算每个设备的正常工作时间TTF,利用一定规则确定故障的设备与故障的时间,一般都是假定TTF最小的设备为本次模拟时发生故障的设备;

step4:确定受影响负荷

根据故障元件的位置,各个负荷所处的位置,开关的动作状态以及DG的出力大小等因素确定本次故障导致停运的负荷,并统计停运时间和失负荷量。孤岛的形成在要这一步骤进行考虑,划分的依据和上面一样;

step5:迭代终止判断

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

step6:可靠性统计

统计各个负荷节点的可靠性指标以及系统平均可靠性指标。

三、运行结果

采用IEEE RBTS BUS6 F4作为算例,假设有两个DG分别接在图示的位置,分别采用两种方法进行可靠性评估,并进行对比分析。

1.概率模型+最小路法

假设两个DG的出力状态均为S=[0,240,640,800]kW,可靠性评估的结果如下:

由结果可知,在DG接入点附近的负荷,部分故障发生时可以形成孤岛供电,因此年平均停电次数和年平均停电时间均有非常明显的改善,系统整体可靠性指标也因此有了比较明显的改善。

2.时序模型+序贯蒙特卡洛模拟法

假设两个DG的额定功率均为800kW,采用光伏输出功率的历史数据作为DG的时序模型,可靠性评估的结果如下:

由结果可知,采用时序模型+序贯蒙特卡洛模拟法对DG进行建模,也是DG接入点附近的负荷可靠性指标有比较大的改善,但是改善幅度并没有像概率模型那么大。实际上,采用时序模型比概率模型还是要精确一些的,直接把DG等同于只有几个状态的发电机也太粗糙了。

四、matlab代码

1.概率模型+最小路法

采用概率模型+最小路法进行含DG的配电网可靠性评估部分matlab代码如下:

clc
clear
close all
% 读取数据
[line_num,line,load_num,load] = IEEE_RBTS_BUS6_F4;%可以自己修改参数
% 生成图
g=graph(line(:,1),line(:,2),line(:,3));
% plot(g)%生成节点图
% DG接入位置,可修改
DG_position=[13,27];
% 初始化负荷点可靠性指标
Lambda_load=zeros(1,load_num);
Gamma_load=zeros(1,load_num);
U_load=zeros(1,load_num);
P_load=zeros(1,load_num);
load_users=zeros(1,load_num);
% DG四状态概率模型,DG出力大小可以自己修改,如果四个状态均为零就相当于不含DG的系统
[P1,S1]=DG_probability_model(0,240,640,800);
[P2,S2]=DG_probability_model(0,240,640,800);
% 各个状态下可形成孤岛供电的负荷及恢复比例
node_island1=cell(2,4);
node_island2=cell(2,4);
% 可恢复负荷的搜索顺序
search_order1=[9 10 8 11 12 7 13 6];
search_order2=[19 18 20 17 16 15 14];
% 确定可以形成孤岛的负荷
for k=1:4省略...
end
for k=1:load_num省略...
end
SAIFI=Lambda_load*(load_users')/(sum(load_users));
EENS=sum(P_load);
SAIDI=U_load*(load_users')/(sum(load_users));
CAIDI=SAIDI/SAIFI;
ASAI=1-SAIDI/8760;
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;
EENS0=57.7903811000000;
figure
bar(1:23,[Lambda_load;Lambda_load0]')
xlim([0,24])
title('负荷可靠性评估结果')
xlabel('负荷节点');ylabel('年平均停电次数/次');
legend('含有DG','不含DG')
figure
bar(1:23,[U_load;U_load0]')
xlim([0,24])
title('负荷可靠性评估结果')
xlabel('负荷节点');ylabel('年平均停电时间/h');
legend('含有DG','不含DG')
Z=[SAIFI SAIDI CAIDI ASAI;SAIFI0 SAIDI0 CAIDI0 ASAI0]';
figure(3)
bar(Z,0.4)
title('系统可靠性评估结果')
set(gca,'XTickLabel',{'SAIFI','SAIDI','CAIDI','ASAI'});
legend('含有DG','不含DG')
disp('**************含DG配电网可靠性指标**************')
disp(['SAIFI=',num2str(SAIFI),'次/(年·户)'])
disp(['SAIDI=',num2str(SAIDI),'小时/(年·户)'])
disp(['EENS=',num2str(EENS),'MW/(年·户)'])
disp(['ASAI=',num2str(ASAI*100),'%'])
disp('**************不含DG配电网可靠性指标**************')
disp(['SAIFI=',num2str(SAIFI0),'次/(年·户)'])
CAIDI=SAIDI/SAIFI;
disp(['SAIDI=',num2str(SAIDI0),'小时/(年·户)'])
disp(['EENS=',num2str(EENS0),'MW/(年·户)'])
disp(['ASAI=',num2str(ASAI0*100),'%'])

2.时序模型+序贯蒙特卡洛模拟法

采用时序模型+序贯蒙特卡洛模拟法进行含DG的配电网可靠性评估部分matlab代码如下:

clc
clear
close all
%% 序贯蒙特卡洛模拟法,假设DG为光伏发电,采用历史数据构建时序模型,以1小时为采样间隔
%% 读取数据
[line_num,line,load_num,Pload] = IEEE_RBTS_BUS6_F4;% 配电网参数
load('pv_data.mat');% 光伏参数
%% DG接入位置,可修改
DG_position=[13,27];
%% DG容量,可修改
P_pv=[800,800]/1000;
%% 可恢复负荷的搜索顺序
search_order1=[9 10 8 11 12 7 13 6];
search_order2=[19 18 20 17 16 15 14];
%生成图
g=digraph(line(:,1),line(:,2),line(:,3));
%% 利用节点网络分析法确定影响负荷的元件
node_analyse;
%% 序贯蒙特卡洛法
load_users=Pload(:,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=Pload(:,3);
N=1000;%仿真的年数
time=0;%初始化仿真时间
load_normal=zeros(1,load_num);%正常工作时间
while time<N*8760省略...
end
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;
EENS0=57.7903811000000;
%负荷停电次数
Lambda_load=load_fault./load_normal;
%负荷停电时间
Gamma_load=load_fault_time./load_fault;
U_load=Lambda_load.*Gamma_load;
figure
bar(1:23,[Lambda_load;Lambda_load0]')
xlim([0,24])
title('负荷可靠性评估结果')
xlabel('负荷节点');ylabel('年平均停电次数/次');
legend('含有DG','不含DG')
figure
bar(1:23,[U_load;U_load0]')
xlim([0,24])
title('负荷可靠性评估结果')
xlabel('负荷节点');ylabel('年平均停电时间/h');
legend('含有DG','不含DG')
Z=[SAIFI SAIDI CAIDI ASAI;SAIFI0 SAIDI0 CAIDI0 ASAI0]';
figure(3)
bar(Z,0.4)
title('系统可靠性评估结果')
set(gca,'XTickLabel',{'SAIFI','SAIDI','CAIDI','ASAI'});
legend('含有DG','不含DG')
disp('**************含DG配电网可靠性指标**************')
disp(['SAIFI=',num2str(SAIFI),'次/(年·户)'])
disp(['SAIDI=',num2str(SAIDI),'小时/(年·户)'])
disp(['EENS=',num2str(EENS),'MW/(年·户)'])
disp(['ASAI=',num2str(ASAI*100),'%'])
disp('**************不含DG配电网可靠性指标**************')
disp(['SAIFI=',num2str(SAIFI0),'次/(年·户)'])
CAIDI=SAIDI/SAIFI;
disp(['SAIDI=',num2str(SAIDI0),'小时/(年·户)'])
disp(['EENS=',num2str(EENS0),'MW/(年·户)'])
disp(['ASAI=',num2str(ASAI0*100),'%'])

这上面提供的是部分的代码,要获取完整代码可以戳这里:

含分布式电源的配电网可靠性评估的matlab实现

配电网可靠性评估(三)——含分布式电源的配电网可靠性评估相关推荐

  1. 【三相潮流】基于仿射区间的,含分布式电源的配电网三相潮流算法

    1.软件版本 matlab2021a 2.本算法理论知识 当只采用区间运算,得到的结果则有可能过于保守,而采用仿射运算后,本文方法能够得到更窄的不确定区域,从而得到更窄的区间. 针对本课题要求,&qu ...

  2. 含分布式电源的配电网日前两阶段调度模型matlab程序(粒子群算法)

    含分布式电源的配电网日前两阶段调度模型matlab程序(粒子群算法) 参考文献:含分布式电源的配电网日前两阶段优化调度模型 摘要:在电力市场环境下,供电公司通过对接入配电网的分布式电源(distrib ...

  3. 含分布式电源的配电网日前两阶段优化调度模型

    (1)含分布式电源的配电网日前两阶段优化调度模型,EI,如图1-3 matlab源代码,高水平文章,保证正确,可先发您文章看是否满足您的要求 在电力市场环境下,供电公司通过对接入配电网的分布式电源(d ...

  4. 含分布式电源的配电网日前两阶段优化调度模型(Matlab代码实现)

  5. 含分布式电源的33节点配电网matlab模型图 分布式电源可自行修改输出功率以及调整接入配电网节点的位置

    含分布式电源的33节点配电网matlab模型图,支持matlab2021a版及以上版本运行,分布式电源可自行修改输出功率以及调整接入配电网节点的位置,联系可附含分布式电源的33节点配电网潮流计算程序以 ...

  6. 含分布式电源的33节点配电网matlab模型图,支持matlab2021a版及以上版本运行,分布式电源可自行修改输出功率以及调整接入配电网节点的位置

    含分布式电源的33节点配电网matlab模型图,支持matlab2021a版及以上版本运行,分布式电源可自行修改输出功率以及调整接入配电网节点的位置,联系可附赠含分布式电源的33节点配电网潮流计算程序 ...

  7. 含分布式电源的33节点配电网matlab模型图

    含分布式电源的33节点配电网matlab模型图,支持matlab2021a版及以上版本运行,分布式电源可自行修改输出功率以及调整接入配电网节点的位置,联系可附含分布式电源的33节点配电网潮流计算程序以 ...

  8. 含分布式电源的三相潮流计算,程序采用前推回代法开展潮流计算,考虑了三相不平衡的情况

    含分布式电源的三相潮流计算,程序采用前推回代法开展潮流计算,考虑了三相不平衡的情况,通过求解,得到了三相的电压分布和相角分布,同时,还与单相的结果开展对比 ID:6950652403033247

  9. 分布式电源接入配电网

    目录 1 考虑时序特性的分布式电源接入配电网规划 2 计及分布式电源接入的配电网优化调度方法研究

最新文章

  1. thinkphp-条件判断-范围判断-range标签
  2. matlab图像中心坐标的确定,已知散点图中各点的坐标,如何确定散点图的中心点坐标?Matlab? 爱问知识人...
  3. Dapper操作MySQL数据库获取JSON数据中文乱码
  4. SHELL TIPS: GNU SCREEN 的一些小技巧
  5. [渝粤教育] 西南科技大学 高速铁路线路与车站 在线考试复习资料
  6. 80%的Oracle JDK用户正在寻找免费的替代品!!!
  7. 《SQL Server2008》第二章 创建和管理数据库
  8. 【代码优化】返回0长度数组或者集合
  9. 基于51单片机的直流电机正反转及控速+proteus仿真图
  10. ubuntu 解压与压缩 zip 文件
  11. 动手打造Android7.0以上的注入工具
  12. 探访厦航飞机女“医生” 有机务“熊猫”美誉
  13. python快速排名seo代码_seo评价机制图(python快速排名seo)
  14. 力扣--阿拉伯转数字
  15. C语言全网最详细的分支和循环语句讲解
  16. 网站seo优化,网站SEO优化方案
  17. C++空间中一点到平面投影
  18. 通过 GCC 学习 OpenMP 框架
  19. VMware Workstation 16Pro在windows7中无法安装VMware Tools的解决方法
  20. 面试的时候问:你的期望薪资多少?怎么谈?

热门文章

  1. 初级统计专业技术资格考试试题(含答案)
  2. 玩纸牌游戏计算机教案,小学电脑的教案设计
  3. 课程6 :PLC常见指令详解:MOVE指令,教你将数据传递至PLC界任意角落
  4. 基于SF1565的120W反激式开关电源设计
  5. 华清远见-重庆中心-JavaWeb综合阶段技术总结
  6. Java实现Http代理服务器通过http代理进行内网安装yum软件
  7. scala之隐式转换
  8. WooYun-2015-110216 ElasticSearch写入webshell漏洞
  9. 用PyQt5编辑 12306车票信息爬取程序
  10. 录屏大师怎么用 录屏大师使用教程