Matlab|含sop的配电网故障重构matlab

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版本,本公众号免费软件里面有对应配套的yalmip和cplex以及详细的安装教程

下载链接 

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值