💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
⛳️赠与读者
👨💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。当哲学课上老师问你什么是科学,什么是电的时候,不要觉得这些问题搞笑。哲学是科学之母,哲学就是追究终极问题,寻找那些不言自明只有小孩子会问的但是你却回答不出来的问题。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能让人胸中升起一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它居然给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。
或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎
💥1 概述
文献来源:
摘要:相量测量单元(PMUs)收集高精度的电压和电流数据,以监测电力系统的性能。然而,在电力系统的每个母线上实施PMUs是昂贵的。最佳PMU位置确定(OPP)变得必要,以最小化实施的PMUs数量,同时保持网络的完全可观测性。本文考虑在优化PMU位置时节点连接的弹性。首先,开发了一个图形化和数学模型。接下来,将机会约束规划技术应用于创建一个考虑N-1故障情况的随机模型。最后,通过应用随机规划技术,使用IEEE 1996可靠性测试系统对模型进行了测试。
电网是一个互联的广域网,将电力从生产者输送到消费者。过去十年由于相量测量单元(PMUs)的实施,电网的智能监控已经成为可能。
PMUs是时间同步设备,不断地测量电信号的同步相量(幅度和相位角)。这些同步相量用于计算安装了PMU的变电站的电压和电流。当在电网上安装多个PMUs时,可以收集关于整个网络状态的信息。
不幸的是,一个PMU的总成本(包括采购、安装和投运)在40,000至180,000美元之间。这一成本阻止了工程师在系统的每个母线上安装PMU。成本效益设计方法变得必要。
本文旨在优化PMUs在电力传输网络中的布置,以最小化实施的PMUs数量,降低成本,同时保持对网络的完全可观测性。
📚2 运行结果
部分代码:
tb = 73; %total number of buses
tzib = 40; %total number of zero-injection buses
tbc = 107; %total number of bus connections (120, considering the 12 doubles)
tzibc = 99; %total number of zero-injection bus connections
%load probability of branch failures
%duration data [2] has been divided by 8760 to get a percentage of annual time offline
Eta_Failure = zeros(tb); %number of entries: tbc
beq = ones(1,tzib); %because all zero-injection buses have to equal 1
f = [ones(1,tb) zeros(1,tzibc)]; %optimizing f for cost only
intcon = 1:(tb+tzibc); %all must be integers
lb = zeros(1,(tb+tzibc)); %enforces binary
ub = ones(1,(tb+tzibc)); %enforces binary
[x,fval] = intlinprog(f,intcon,A,b,Aeq,beq,lb,ub);
disp(x) %displays a PMU configuration which maintains full observability with optimal cost
disp(sum(x)); %total number of PMUs in setup
%% OPTIMIZATION: WITH MONTE CARLO TESTING
[row3, col3] = size(Eta_Success_Gaussian);
[row4, col4] = size(Eta_Success);
pmu = [];
for c3 = 1:col3 %run user2 times
r3 = 1;
for r4 = 1:row4
for c4 = 1:col4
if Eta_Success(r4, c4) ~= 0 %if there's a connection...
Eta_Success(r4, c4) = Eta_Success_Gaussian(r3, c3); %...replace with monte carlo...
r3 = r3+1; %...and move onto the next
end
end
end
A1 = -Eta_Success+-eye(size(Eta_Success));
A2 = zeros(tb, tzibc);
A2(3,1) = A1(3,3); %bus 3
A2(24,2) = A1(24,3);
A2(9,3) = A1(9,3);
A2(4,4) = A1(4,4); %bus 4
A2(9,5) = A1(9,4);
A2(5,6) = A1(5,5); %bus 5
A2(10,7) = A1(10,5);
A2(6,8) = A1(6,6); %bus 6
A2(10,9) = A1(10,6);
A2(8,10) = A1(8,8); %bus 8
A2(9,11) = A1(9,8);
A2(10,12) = A1(10,8);
A2(9,13) = A1(9,9); %bus 9
A2(11,14) = A1(11,9);
A2(12,15) = A1(12,9);
A2(10,16) = A1(10,10); %bus 10
A2(11,17) = A1(11,10);
A2(12,18) = A1(12,10);
A2(11,19) = A1(11,11); %bus 11
A2(13,20) = A1(13,11);
A2(14,21) = A1(14,11);
A2(12,22) = A1(12,12); %bus 12
A2(13,23) = A1(13,12);
A2(23,24) = A1(23,12);
A2(17,25) = A1(17,17); %bus 17
A2(18,26) = A1(18,17);
A2(22,27) = A1(22,17);
A2(19,28) = A1(19,19); %bus 19
A2(20,29) = A1(20,19); %double
A2(20,30) = A1(20,20); %bus 20
A2(23,31) = A1(23,20); %double
A2(24,32) = A1(24,24); %bus 24
A2(27,33) = A1(27,27); %bus 27
A2(33,34) = A1(33,27);
A2(48,35) = A1(48,27);
A2(28,36) = A1(28,28); %bus 28
A2(33,37) = A1(33,28);
A2(29,38) = A1(29,29); %bus 29
A2(34,39) = A1(34,29);
A2(30,40) = A1(30,30); %bus 30
A2(34,41) = A1(34,30);
A2(32,42) = A1(32,32); %bus 32
A2(33,43) = A1(33,32);
A2(34,44) = A1(34,32);
A2(33,45) = A1(33,33); %bus 33
A2(35,46) = A1(35,33);
A2(36,47) = A1(36,33);
A2(34,48) = A1(34,34); %bus 34
A2(35,49) = A1(35,34);
A2(36,50) = A1(36,34);
A2(35,51) = A1(35,35); %bus 35
A2(37,52) = A1(37,35);
A2(38,53) = A1(38,35);
A2(36,54) = A1(36,36); %bus 36
A2(37,55) = A1(37,36);
A2(47,56) = A1(47,36);
A2(41,57) = A1(41,41); %bus 41
A2(42,58) = A1(42,41);
A2(46,59) = A1(46,41);
A2(43,60) = A1(43,43); %bus 43
A2(44,61) = A1(44,43); %double
A2(44,62) = A1(44,44); %bus 44
A2(47,63) = A1(47,44); %double
A2(48,64) = A1(48,48); %bus 48
A2(51,65) = A1(51,51); %bus 51
A2(57,66) = A1(57,51);
A2(72,67) = A1(72,51);
A2(52,68) = A1(52,52); %bus 52
A2(57,69) = A1(57,52);
A2(53,70) = A1(53,53); %bus 53
A2(58,71) = A1(58,53);
A2(54,72) = A1(54,54); %bus 54
A2(58,73) = A1(58,54);
A2(56,74) = A1(56,56); %bus 56
A2(57,75) = A1(57,56);
A2(58,76) = A1(58,56);
A2(57,77) = A1(57,57); %bus 57
A2(59,78) = A1(59,57);
A2(60,79) = A1(60,57);
A2(58,80) = A1(58,58); %bus 58
A2(59,81) = A1(59,58);
A2(60,82) = A1(60,58);
A2(59,83) = A1(59,59); %bus 59
A2(61,84) = A1(61,59);
A2(62,85) = A1(62,59);
A2(60,86) = A1(60,60); %bus 60
A2(61,87) = A1(61,60);
A2(71,88) = A1(71,60);
A2(65,89) = A1(65,65); %bus 65
A2(66,90) = A1(66,65);
A2(70,91) = A1(70,65);
A2(67,92) = A1(67,67); %bus 67
A2(68,93) = A1(68,67); %double
A2(68,94) = A1(68,68); %bus 68
A2(71,95) = A1(71,68); %double
A2(72,96) = A1(72,72); %bus 72
A2(73,97) = A1(73,73); %bus 73
A2(21,98) = A1(21,73);
A2(71,99) = A1(71,73);
A = [A1 A2];
[x,fval] = intlinprog(f,intcon,A,b,Aeq,beq,lb,ub);
disp(x); %displays a PMU configuration which maintains full observability with optimal cost
pmu = [pmu, sum(x)];
end
%% OUTPUT:
%print results (the number of PMUs determined for each configuration)
disp(pmu);
%graph results
figure();
bar(1:user2, pmu, 'FaceColor', [0.8 0.9 0.8], 'EdgeColor', [0.5 0.9 0.5]);
xlabel(['Results of ' num2str(user2) ' Simulations']);
ylabel('Total PMUs Required');
grid on;
title({'Optimal PMU Placement for IEEE RTS-96';['Confidence Interval: ' num2str(user) ' | Average PMUs Required: ' num2str(ceil(mean(pmu)))]});
hold on;
plot(xlim,[mean(pmu) mean(pmu)], 'r');
axis([0 user2+1 ceil(mean(pmu))-5 ceil(mean(pmu))+4]);
%print results summary
disp(['PMUs needed, on average = ' num2str(mean(pmu))]);
🎉3 参考文献
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。