目录
1 主要内容
程序主要以33节点为研究对象,编制配电网故障重构模型,采用图论知识保证配电网的连通性和辐射性,以网损和负荷损失作为目标函数,包括潮流约束、电压电流约束、sop约束、辐射性约束等。
文章《主动配电网故障恢复与孤岛划分模型/多时段》提到图论方法的约束非充要条件,导致在修改故障线路时需要增加相应约束。
2 部分代码
%% 定义决策变量 lamda=sdpvar(33,N,'full'); x_Iij_square=sdpvar(37,N,'full'); x_ui_square=sdpvar(33,N,'full'); x_pij=sdpvar(37,N,'full'); x_qij=sdpvar(37,N,'full'); x_p_sop1=sdpvar(2,N,'full'); x_q_sop1=sdpvar(2,N,'full'); opt_num=1; beta=binvar(37,37,'full'); Zij=binvar(nl,1);%网架结构 % Z0=[ones(nl-nc,1);zeros(nc,1)];%初始拓扑 % assign(Zij,Z0); % x_sop_L=sdpvar(2,N,'full'); %% 定义约束条件 Constraints=[]; %for opt_num=1:N Constraints = [Constraints, sum(Zij) == 32]; Constraints = [Constraints, 0<= x_pij(33:37) <= 0.1.*Zij(33:37)]; %连续性和辐射性约束 % dd = binvar(37,2); for i=1:37 Constraints=[Constraints, implies(Zij(i)==0,[beta(Branch(i,2),Branch(i,3))==0,beta(Branch(i,3),Branch(i,2))==0]),%非联通情况下的参数关系 implies(Zij(i)==1,[beta(Branch(i,2),Branch(i,3))+beta(Branch(i,3),Branch(i,2))==1])];%联通情况下的参数关系 end for i=1:37 for j=1:37 if ~ismember([i,j],Branch(:,[2,3])) Constraints=[Constraints,beta(i,j)==0];%非联通节点的参数beta设置为0 end end end Constraints=[Constraints,sum(beta(1:37,:),2)==1];%公式6c Constraints=[Constraints,beta(1,2)==0];%6d %% 定义目标函数 f=r_ij'*x_Iij_square(:,opt_num)+100*sum(p_load)+100*sum(-lamda.*p_load);
3 程序结果
注:该程序对matlab版本有要求,如果使用gurobi作为求解器都可行,如果采用cplex作为求解器,考虑到2020和2021等版本和cplex软件的匹配性问题,建议多安装一个2018a版本。