目录
[1 主要内容](#1 主要内容)
[2 部分代码](#2 部分代码)
[3 程序结果](#3 程序结果)
[4 下载链接](#4 下载链接)
1 主要内容
程序采用适用于辐射状网络的DistFlow潮流模型,可输入任意故障线路编号,得到优化重构结果。这个程序是配电网故障重构可视化matlab+yalmip的升级版,原来的程序是以电压质量作为目标函数的,未采用配电网严格的辐射状和连续状约束,如果改目标为网损或者弃负荷就会出现环网或者孤岛的情形。
本升级后的程序加入了辐射状和连续状约束,保证网络连通性和辐射性,改换成任意目标都不会导致配电网或者环网,本程序以网损和弃负荷作为目标,以二阶锥、电压电流、欧姆定律、网络潮流等作为约束条件,非常有利于初学者掌握配网故障重构的精髓!
2 部分代码
%% 2.设变量
V = sdpvar(nb,T);%电压的平方
I = sdpvar(nl,T);%电流的平方
P = sdpvar(nl,T);%线路有功
Q = sdpvar(nl,T);%线路无功
Pg = sdpvar(nb,T);%发电机有功
Qg = sdpvar(nb,T);%发电机无功
lamda = sdpvar(nb,T);%弃负荷比例
Zij=binvar(nl,1);%网架结构
Z0=[ones(nl-nc,1);zeros(nc,1)];%初始拓扑
assign(Zij,Z0);
%% 3.设约束
Constraints = [];
%% 网络重构约束
Constraints = [Constraints, sum(Zij) == 32];
Constraints = [Constraints, I(AA) == 0];
Constraints = [Constraints, 0<=lamda<=1];
% P_tree = sdpvar(37,1);%虚拟有功
% Pin_tree = -upstream*P_tree + dnstream*P_tree;%虚拟节点注入有功
% Constraints = [Constraints,-Zij <= P_tree <= Zij];
% Constraints = [Constraints, Pin_tree(1:32) + 0.01==0];
%% 潮流约束
%节点功率约束
Pin = -upstream*P + upstream*(I.*(r*ones(1,T))) + dnstream*P;%节点注入有功
Qin = -upstream*Q + upstream*(I.*(x*ones(1,T))) + dnstream*Q;%节点注入无功
Constraints = [Constraints, Pin + (1-lamda).*pload - Pg==0];
Constraints = [Constraints, Qin + qload - Qg==0];
%欧姆定律约束
m = 1.06*1.06 - 0.94*0.94;
M = (ones(nl,1) - Zij)*m;
Constraints = [Constraints, V(branch(:,1),:) - V(branch(:,2),:) <= M + 2*(r).*P + 2*(x).*Q - ((r.^2 + x.^2)).*I];
Constraints = [Constraints, V(branch(:,1),:) - V(branch(:,2),:) >= -M + 2*(r).*P + 2*(x).*Q - ((r.^2 + x.^2)).*I];
3 程序结果
支路13故障
星标为故障线路,红色线路为断开支路,黑实线为常规闭合支路,黑虚线为联络闭合支路。
支路20故障
星标为故障线路,红色线路为断开支路,黑实线为常规闭合支路,黑虚线为联络闭合支路。
支路5故障
星标为故障线路,红色线路为断开支路,黑实线为常规闭合支路,黑虚线为联络闭合支路。