|
含分布式电源的配电网可靠性评估:
该系统有 23 个负荷点、1 个隔离开关、23 台配电变压器、4 台断路器、23个熔断器(装设在负荷线路首端)。隔离开关操作时间为20 分钟。
- % 含分布式电源的配电网可靠性评估_吴颖超,P29-
- % 基于对偶抽样蒙特卡洛发求配电系统可靠性
- clc,clear,close all
- warning off;
- tic;
- nl=30; % 线路数
- nt=23; % 变压器及负荷点数
- nk=5; % 开关数
- n=nl+nt+nk; % 总的元件数
- % 线路长度
- xlcd=[2.8,2.5,1.6,0.9,1.6,2.5,0.6,1.6,0.75,0.9,3.2,2.8,0.6,3.5,1.6,2.8,3.2,2.5,3.2,1.6,0.8,2.8,2.5,3.2,2.8,2.5,0.75,1.6,3.2,2.8];
- % 各个负荷点的平均负荷
- lppjfh=[0.1659,0.1808,0.2501,0.2633,0.2070,0.1659,0.3057,0.1554,0.2831,0.1585,0.1554,0.1585,0.2501,0.1554,0.1929,0.1585,0.2501,0.2633,0.1554,0.1929,0.2831,0.1585,0.3057];
- % 各个负荷点的用户数
- lpyhs=[147,126,1,1,132,147,1,79,1,76,79,76,1,79,1,76,1,1,79,1,1,76,1];
- xlgzl=0.05; % 线路故障率
- byqgzl=0.015; % 变压器故障率
- kggzl=0.006; % 开关故障率
- xlxfsj=5; % 线路修复时间
- byqxfsj=30; % 变压器修复时间
- kgxfsj=4; % 开关修复时间
- lpgzcs=zeros(1,nt); % 初始化各个负荷点的故障次数
- lpgzsj=zeros(1,nt); % 初始化各个负荷点的故障时间
- lpgzl=zeros(1,nt); % 初始化各个负荷点的故障率
- lpgzcxsj=zeros(1,nt); % 初始化各个负荷点的平均故障持续时间
- lpngzsj=zeros(1,nt); % 初始化各个负荷点的年平均故障时间
- % 初始化各个元件的故障率和修复时间
- for i=1:nl
- yjgzl(i)=xlgzl*xlcd(i); % 故障率
- yjxfsj(i)=xlxfsj; % 修复时间
- end
- for i=nl+1:nl+nt
- yjgzl(i)=byqgzl;
- yjxfsj(i)=byqxfsj;
- end
- for i=nl+nt+1:n
- yjgzl(i)=kggzl;
- yjxfsj(i)=kgxfsj;
- end
- % 各个负荷点供电路径的元件组成
- lp1=[1,31,54];
- lp2=[1,2,32,54];
- lp3=[1,2,3,33,54];
- lp4=[1,2,3,4,34,54];
- lp5=[1,2,3,4,5,35,54];
- lp6=[1,2,3,4,5,6,7,36,54];
- lp7=[1,2,3,4,5,6,8,9,37,54];
- lp8=[1,2,3,4,5,6,8,10,11,38,54,56];
- lp9=[1,2,3,4,5,6,8,10,11,12,13,39,54,56];
- lp10=[1,2,3,4,5,6,8,10,11,12,14,40,54,56];
- lp11=[1,2,3,4,5,6,8,10,11,12,14,15,16,41,54,56,57];
- lp12=[1,2,3,4,5,6,8,10,11,12,14,15,16,17,42,54,56,57];
- lp13=[1,2,3,4,5,6,8,10,11,12,14,15,16,17,18,43,54,56,57];
- lp14=[1,2,3,4,5,6,8,10,19,44,54,55];
- lp15=[1,2,3,4,5,6,8,10,19,20,21,45,54,55];
- lp16=[1,2,3,4,5,6,8,10,19,20,22,46,54,55];
- lp17=[1,2,3,4,5,6,8,10,19,20,22,23,47,54,55];
- lp18=[1,2,3,4,5,6,8,10,19,20,22,23,24,48,54,55];
- lp19=[1,2,3,4,5,6,8,10,11,12,14,15,25,49,54,56,58];
- lp20=[1,2,3,4,5,6,8,10,11,12,14,15,25,26,27,50,54,56,58];
- lp21=[1,2,3,4,5,6,8,10,11,12,14,15,25,26,28,51,54,56,58];
- lp22=[1,2,3,4,5,6,8,10,11,12,14,15,25,26,28,29,52,54,56,58];
- lp23=[1,2,3,4,5,6,8,10,11,12,14,15,25,26,28,29,30,53,54,56,58];
- %% loop
- SUMTTF=0; % 初始化仿真时间
- while SUMTTF<=20000
- E1=rand(1,n); % 对每个元件产生一个随机数
- % 计算每个随机数的对偶随机数
- for i=1:n
- E2(i)=1-E1(i);
- end
- % 利用转换公式计算各个元件的TTF
- for i=1:n
- TTF1(i)=-1/yjgzl(i)*log(E1(i));
- end
- for i=1:n
- TTF2(i)=-1/yjgzl(i)*log(E2(i));
- end
- % 确定故障元件
- m1=TTF1(1);
- t1=1;
- for i=1:n
- if TTF1(i)<m1
- m1=TTF1(i);
- t1=i;
- end
- end
- % 利用转换公式计算故障元件的TTR
- TTR1=-yjxfsj(t1)*log(rand(1));
- % 确定故障元件
- m2=TTF2(1);
- t2=1;
- for i=1:n
- if TTF2(i)<m2
- m2=TTF2(i);
- t2=i;
- end
- end
- % 利用转换公式计算故障元件的TTR
- TTR2=-yjxfsj(t2)*log(rand(1));
- % 计算仿真时间
- SUMTTF=SUMTTF+m1+m2;
-
- % 计算各个负荷点的故障次数与故障时间
- % 计算负荷点1的故障次数与故障时间
- for i=1:3
- if lp1(i)==t1
- lpgzcs(1)=lpgzcs(1)+1;
- lpgzsj(1)=lpgzsj(1)+TTR1;
- end
- end
- for i=1:3
- if lp1(i)==t2
- lpgzcs(1)=lpgzcs(1)+1;
- lpgzsj(1)=lpgzsj(1)+TTR2;
- end
- end
-
- % 计算负荷点2的故障次数与故障时间
- for i=1:4
- if lp2(i)==t1
- lpgzcs(2)=lpgzcs(2)+1;
- lpgzsj(2)=lpgzsj(2)+TTR1;
- end
- end
- for i=1:4
- if lp2(i)==t2
- lpgzcs(2)=lpgzcs(2)+1;
- lpgzsj(2)=lpgzsj(2)+TTR2;
- end
- end
-
- % 计算负荷点3的故障次数与故障时间
- for i=1:5
- if lp3(i)==t1
- lpgzcs(3)=lpgzcs(3)+1;
- lpgzsj(3)=lpgzsj(3)+TTR1;
- end
- end
- for i=1:5
- if lp3(i)==t2
- lpgzcs(3)=lpgzcs(3)+1;
- lpgzsj(3)=lpgzsj(3)+TTR2;
- end
- end
-
- % 计算负荷点4的故障次数与故障时间
- for i=1:6
- if lp4(i)==t1
- lpgzcs(4)=lpgzcs(4)+1;
- lpgzsj(4)=lpgzsj(4)+TTR1;
- end
- end
- for i=1:6
- if lp4(i)==t2
- lpgzcs(4)=lpgzcs(4)+1;
- lpgzsj(4)=lpgzsj(4)+TTR2;
- end
- end
-
- % 计算负荷点5的故障次数与故障时间
- for i=1:7
- if lp5(i)==t1
- lpgzcs(5)=lpgzcs(5)+1;
- lpgzsj(5)=lpgzsj(5)+TTR1;
- end
- end
- for i=1:7
- if lp5(i)==t2
- lpgzcs(5)=lpgzcs(5)+1;
- lpgzsj(5)=lpgzsj(5)+TTR2;
- end
- end
-
- % 计算负荷点6的故障次数与故障时间
- for i=1:9
- if lp6(i)==t1
- lpgzcs(6)=lpgzcs(6)+1;
- lpgzsj(6)=lpgzsj(6)+TTR1;
- end
- end
- for i=1:9
- if lp6(i)==t2
- lpgzcs(6)=lpgzcs(6)+1;
- lpgzsj(6)=lpgzsj(6)+TTR2;
- end
- end
-
- % 计算负荷点7的故障次数与故障时间
- for i=1:10
- if lp7(i)==t1
- lpgzcs(7)=lpgzcs(7)+1;
- lpgzsj(7)=lpgzsj(7)+TTR1;
- end
- end
- for i=1:10
- if lp7(i)==t2
- lpgzcs(7)=lpgzcs(7)+1;
- lpgzsj(7)=lpgzsj(7)+TTR2;
- end
- end
-
- % 计算负荷点8的故障次数与故障时间
- for i=1:12
- if lp8(i)==t1
- lpgzcs(8)=lpgzcs(8)+1;
- lpgzsj(8)=lpgzsj(8)+TTR1;
- end
- end
- for i=1:12
- if lp8(i)==t2
- lpgzcs(8)=lpgzcs(8)+1;
- lpgzsj(8)=lpgzsj(8)+TTR2;
- end
- end
-
- % 计算负荷点9的故障次数与故障时间
- for i=1:14
- if lp9(i)==t1
- lpgzcs(9)=lpgzcs(9)+1;
- lpgzsj(9)=lpgzsj(9)+TTR1;
- end
- end
- for i=1:14
- if lp9(i)==t2
- lpgzcs(9)=lpgzcs(9)+1;
- lpgzsj(9)=lpgzsj(9)+TTR2;
- end
- end
-
- % 计算负荷点10的故障次数与故障时间
- for i=1:14
- if lp10(i)==t1
- lpgzcs(10)=lpgzcs(10)+1;
- lpgzsj(10)=lpgzsj(10)+TTR1;
- end
- end
- for i=1:14
- if lp10(i)==t2
- lpgzcs(10)=lpgzcs(10)+1;
- lpgzsj(10)=lpgzsj(10)+TTR2;
- end
- end
-
- % 计算负荷点11的故障次数与故障时间
- for i=1:17
- if lp11(i)==t1
- lpgzcs(11)=lpgzcs(11)+1;
- lpgzsj(11)=lpgzsj(11)+TTR1;
- end
- end
- for i=1:17
- if lp11(i)==t2
- lpgzcs(11)=lpgzcs(11)+1;
- lpgzsj(11)=lpgzsj(11)+TTR2;
- end
- end
-
- % 计算负荷点12的故障次数与故障时间
- for i=1:18
- if lp12(i)==t1
- lpgzcs(12)=lpgzcs(12)+1;
- lpgzsj(12)=lpgzsj(12)+TTR1;
- end
- end
- for i=1:18
- if lp12(i)==t2
- lpgzcs(12)=lpgzcs(12)+1;
- lpgzsj(12)=lpgzsj(12)+TTR2;
- end
- end
-
- % 计算负荷点13的故障次数与故障时间
- for i=1:19
- if lp13(i)==t1
- lpgzcs(13)=lpgzcs(13)+1;
- lpgzsj(13)=lpgzsj(13)+TTR1;
- end
- end
- for i=1:19
- if lp13(i)==t2
- lpgzcs(13)=lpgzcs(13)+1;
- lpgzsj(13)=lpgzsj(13)+TTR2;
- end
- end
-
- % 计算负荷点14的故障次数与故障时间
- for i=1:12
- if lp14(i)==t1
- lpgzcs(14)=lpgzcs(14)+1;
- lpgzsj(14)=lpgzsj(14)+TTR1;
- end
- end
- for i=1:12
- if lp14(i)==t2
- lpgzcs(14)=lpgzcs(14)+1;
- lpgzsj(14)=lpgzsj(14)+TTR2;
- end
- end
-
- % 计算负荷点15的故障次数与故障时间
- for i=1:14
- if lp15(i)==t1
- lpgzcs(15)=lpgzcs(15)+1;
- lpgzsj(15)=lpgzsj(15)+TTR1;
- end
- end
- for i=1:14
- if lp15(i)==t2
- lpgzcs(15)=lpgzcs(15)+1;
- lpgzsj(15)=lpgzsj(15)+TTR2;
- end
- end
-
- % 计算负荷点16的故障次数与故障时间
- for i=1:14
- if lp16(i)==t1
- lpgzcs(16)=lpgzcs(16)+1;
- lpgzsj(16)=lpgzsj(16)+TTR1;
- end
- end
- for i=1:14
- if lp16(i)==t2
- lpgzcs(16)=lpgzcs(16)+1;
- lpgzsj(16)=lpgzsj(16)+TTR2;
- end
- end
-
- % 计算负荷点17的故障次数与故障时间
- for i=1:15
- if lp17(i)==t1
- lpgzcs(17)=lpgzcs(17)+1;
- lpgzsj(17)=lpgzsj(17)+TTR1;
- end
- end
- for i=1:15
- if lp17(i)==t2
- lpgzcs(17)=lpgzcs(17)+1;
- lpgzsj(17)=lpgzsj(17)+TTR2;
- end
- end
-
- % 计算负荷点18的故障次数与故障时间
- for i=1:16
- if lp18(i)==t1
- lpgzcs(18)=lpgzcs(18)+1;
- lpgzsj(18)=lpgzsj(18)+TTR1;
- end
- end
- for i=1:16
- if lp18(i)==t2
- lpgzcs(18)=lpgzcs(18)+1;
- lpgzsj(18)=lpgzsj(18)+TTR2;
- end
- end
-
- % 计算负荷点19的故障次数与故障时间
- for i=1:17
- if lp19(i)==t1
- lpgzcs(19)=lpgzcs(19)+1;
- lpgzsj(19)=lpgzsj(19)+TTR1;
- end
- end
- for i=1:17
- if lp19(i)==t2
- lpgzcs(19)=lpgzcs(19)+1;
- lpgzsj(19)=lpgzsj(19)+TTR2;
- end
- end
-
- % 计算负荷点20的故障次数与故障时间
- for i=1:19
- if lp20(i)==t1
- lpgzcs(20)=lpgzcs(20)+1;
- lpgzsj(20)=lpgzsj(20)+TTR1;
- end
- end
- for i=1:19
- if lp20(i)==t2
- lpgzcs(20)=lpgzcs(20)+1;
- lpgzsj(20)=lpgzsj(20)+TTR2;
- end
- end
-
- % 计算负荷点21的故障次数与故障时间
- for i=1:19
- if lp21(i)==t1
- lpgzcs(21)=lpgzcs(21)+1;
- lpgzsj(21)=lpgzsj(21)+TTR1;
- end
- end
- for i=1:19
- if lp21(i)==t2
- lpgzcs(21)=lpgzcs(21)+1;
- lpgzsj(21)=lpgzsj(21)+TTR2;
- end
- end
-
- % 计算负荷点22的故障次数与故障时间
- for i=1:20
- if lp22(i)==t1
- lpgzcs(22)=lpgzcs(22)+1;
- lpgzsj(22)=lpgzsj(22)+TTR1;
- end
- end
- for i=1:20
- if lp22(i)==t2
- lpgzcs(22)=lpgzcs(22)+1;
- lpgzsj(22)=lpgzsj(22)+TTR2;
- end
- end
-
- % 计算负荷点23的故障次数与故障时间
- for i=1:21
- if lp23(i)==t1
- lpgzcs(23)=lpgzcs(23)+1;
- lpgzsj(23)=lpgzsj(23)+TTR1;
- end
- end
- for i=1:21
- if lp23(i)==t2
- lpgzcs(23)=lpgzcs(23)+1;
- lpgzsj(23)=lpgzsj(23)+TTR2;
- end
- end
-
- end
- toc
- %% 结果分析
- for i=1:nt
- lpgzl(i)=lpgzcs(i)/SUMTTF; % 计算各个负荷点的故障率 λ
- lpgzcxsj(i)=lpgzsj(i)/lpgzcs(i); % 计算各个负荷点的平均故障持续时间 r
- lpngzsj(i)=lpgzl(i)*lpgzcxsj(i); % 计算各个负荷点的年平均故障时间 U
- end
- a=0; % 计算系统可靠性指标
- b=0;
- for i=1:nt
- A(i)=lpgzl(i)*lpyhs(i); % 各个负荷点的用户数 lpyhs
- a=a+A(i);
- b=b+lpyhs(i);
- end
- SAIFI=a/b; % 计算系统平均停电频率指标SAIFI
- disp(['计算系统平均停电频率指标SAIFI: ', num2str(SAIFI)])
- c=0;
- for i=1:nt
- C(i)=lpngzsj(i)*lpyhs(i);
- c=c+C(i);
- end
- SAIDI=c/b; % 计算系统平均停电持续时间指标SAIDI
- CAIDI=c/a; % 计算用户平均停电持续时间指标CAIDI
- disp(['计算系统平均停电持续时间指标SAIDI: ', num2str(SAIDI)])
- disp(['计算用户平均停电持续时间指标CAIDI: ', num2str(CAIDI)])
- d=0;
- for i=1:nt
- D(i)=lpyhs(i)*8760;
- d=d+D(i);
- end
- ASAI=(d-c)/d; % 计算平均供电可用率指标ASAI
- disp(['计算平均供电可用率指标ASAI: ', num2str(ASAI)])
- ENS=0;
- for i=1:nt
- F(i)=lpngzsj(i)*lppjfh(i);
- ENS=ENS+F(i);
- end % 计算电量不足指标ENS
- ENS;
- disp(['计算电量不足指标ENS: ', num2str(ENS)])
- % f=0;
- % for i=1:nt
- % F(i)=lpyhs(i)./(lpgzl(i)+eps);
- % f=f+F(i);
- % end
- % CAIFI=f/a; % 计算用户平均停电频率指标CAIFI
- % disp(['计算用户平均停电频率指标CAIFI: ', num2str(CAIFI)])
- fprintf('\n')
- %% 配网系统指标
- [SAIFI, SAIDI, CAIDI, ASAI, CAIFI, ENS] = Index_PeiWang(lpyhs, lpgzl, lpngzsj, lppjfh);
复制代码 计算系统平均停电频率指标SAIFI: 0.88498
计算系统平均停电持续时间指标SAIDI: 4.7817
计算用户平均停电持续时间指标CAIDI: 5.4032
计算平均供电可用率指标ASAI: 0.99945
计算电量不足指标ENS: 28.5165
计算用户平均停电频率指标CAIFI: 6.3135
代码分享:
参考文献:
含分布式电源的配电网可靠性评估_吴颖超,P29-
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|