💥1 概述
本文基于Nonconvex规划的配电网重构研究。并用Matlab代码实现之。
基于Nonconvex规划的配电网重构研究是针对配电网优化问题的一种方法。传统的配电网通常是基于线性或者凸规划进行设计和运行,但是实际配电网系统的复杂性往往导致非线性和非凸问题的出现。为解决这些问题,基于Nonconvex规划的方法被提出来更好地优化配电网系统。
配电网重构是指通过变换网络拓扑结构和配置设备参数,以改善配电网的性能和可靠性。基于Nonconvex规划的配电网重构研究通常包括以下几个方面:
1. 非线性建模:将配电网系统建模为非线性的数学模型。这包括考虑网络拓扑结构、设备参数、电流限制、电压限制等的非线性方程和约束条件。
2. 问题定义:明确定义配电网重构的目标,例如最小化损耗、提高电压稳定性、降低网络阻塞等。同时,考虑到配电网的约束条件,例如设备的额定容量、电压限制、工作模式等。
3. Nonconvex规划建模:将配电网重构问题转化为Nonconvex规划问题。这可能涉及到非线性约束和非凸目标函数,并且由于配电网的复杂性,问题可能具有多个局部最优解。
4. 优化算法:针对Nonconvex规划问题,需要选择适当的优化算法来求解最优解。常见的算法包括非线性规划算法、启发式算法(如遗传算法、粒子群算法等)以及近似方法等。这些算法可以搜索到全局或者局部最优解。
5. 结果分析和评估:根据求解得到的最优解,分析和评估配电网的性能指标。这可能包括网络损耗、电压稳定性、负荷均衡等方面的评估。
6. 重构方案实施:根据优化结果,制定并实施配电网重构方案。这可能涉及到改变配电网的拓扑结构、设备配置、控制策略等。
基于Nonconvex规划的配电网重构研究能够更好地应对实际配电网系统的复杂性,帮助提高能源利用效率,降低电力系统的运行成本,并提高系统的可靠性和稳定性。然而,由于Nonconvex规划问题的复杂性,求解过程可能较为困难,需要综合考虑求解效率和解的质量。
📚2 运行结果
14147.3秒得到了全局最优,网损为1.7430,AA=[1;1;1;1;1;1;0;1;0;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;0]
部分代码:
%SB=100MVA,UB=12.66kV,IEEE-33 Bus,Distflow SOC-ACOPF %考虑重构,全天拓扑不变 clear clc tic %网络数据,标幺值 Pload=。。。 Line(:,3)=Line(:,3)*100/(12.66^2); r=real(Line(:,3)); x=imag(Line(:,3)); father=zeros(33,37);son=zeros(33,37); for i=1:32 father(i,i)=1; end father(20,33)=1;father(14,34)=1;father(21,35)=1;father(32,36)=1;father(28,37)=1; for i=[1:16,18:20,22:23,25:31] son(i,i+1)=1; end son(1,18)=1;son(2,22)=1;son(5,25)=1;son(33,1)=1;son(7,33)=1;son(8,34)=1;son(11,35)=1;son(17,36)=1;son(24,37)=1; Umax=[1.07*1.07*ones(32,24);1.05*1.05*ones(1,24)]; Umin=[0.93*0.93*ones(32,24);1.05*1.05*ones(1,24)]; Pgmax=[zeros(32,24);ones(1,24)]; Qgmax=[zeros(32,24);ones(1,24)]; %定义变量 P=sdpvar(37,24);%线路有功 Q=sdpvar(37,24);%线路无功 U=sdpvar(33,24);%电压的平方 I=sdpvar(37,24);%电流的平方 Pg=[zeros(32,24);sdpvar(1,24)];%发电机有功 Qg=[zeros(32,24);sdpvar(1,24)];%发电机无功 AA=binvar(37,1);%网架结构 A0=[ones(32,1);zeros(5,1)];%初始拓扑 assign(AA,A0); Pin=-father*P+father*(I.*(r*ones(1,24)))+son*P;%节点注入有功 Qin=-father*Q+father*(I.*(x*ones(1,24)))+son*Q;%节点注入无功 P_tree=sdpvar(37,1);%虚拟有功 Pin_tree=-father*P_tree+son*P_tree;%虚拟节点注入有功 Ploss_total=sum(sum(I.*(r*ones(1,24))));%目标函数,网损最小 %约束条件 C1=[sum(AA)==32,U>=Umin,U<=Umax,Pg>=-Pgmax,Pg<=Pgmax,Qg>=-Qgmax,Qg<=Qgmax,I>=0,I<=0.11*AA*ones(1,24),-AA<=P_tree<=AA,-0.11*AA*ones(1,24)<=P<=0.11*AA*ones(1,24),-0.11*AA*ones(1,24)<=Q<=0.11*AA*ones(1,24)];%边界约束 C2=[Pin+Pload-Pg==0,Pin_tree(1:32)+0.01==0];%有功KCL约束 C3=[Qin+Qload-Qg==0];%无功KCL约束 C4=[-(1.07*1.07-0.93*0.93)*(1-AA)*ones(1,24)<=-U(Line(:,2),:)+U(Line(:,1),:)-2*(r*ones(1,24)).*P-2*(x*ones(1,24)).*Q+((r.^2+x.^2)*ones(1,24)).*I<=(1.07*1.07-0.93*0.93)*(1-AA)*ones(1,24)];%电压降落约束 C=[C1,C2,C3,C4]; toc%建模时间 ops=sdpsettings('solver','gurobi','usex0',1); [model,recoverymodel,diagnostic,internalmodel] = export(C,Ploss_total,ops);%得到除去P^2+Q^2=UI的约束 params.Nonconvex=2;%启动gurobi非线性求解器 params.FeasibilityTol=1e-9;%由于gurobi采取的是双层模型,因此可行性步长应尽可能小 params.IntFeasTol=1e-9;%由于gurobi对非线性模型采用的是外嵌分支定界算法,相当于求解MIP问题,因此整数可行性要足够精确 params.Threads=8;%并行计算,8线程 L=length(model.obj);%决策变量数 %下面定义P^2+Q^2=UI的约束,模型为sum(Qval*x(Qrow)*x(Qcol))+q*x=rhs for t=1:24 for j=1:37 model.quadcon(37*t-37+j).Qrow=[37*t-37+j,37*t-37+j+37*24,33*t-33+Line(j,1)+37*24*2];%P,Q,Uj model.quadcon(37*t-37+j).Qcol=[37*t-37+j,37*t-37+j+37*24,37*t-37+j+37*24*2+33*24];%P,Q,I model.quadcon(37*t-37+j).Qval=[1,1,-1];%P^2+Q^2-UI model.quadcon(37*t-37+j).q=sparse(L,1); model.quadcon(37*t-37+j).rhs=0; model.quadcon(37*t-37+j).sense='=';%严格等号
%定义变量 P=sdpvar(37,1);%线路有功 Q=sdpvar(37,1);%线路无功 U=sdpvar(33,1);%电压的平方 I=sdpvar(37,1);%电流的平方 Pg=[zeros(32,1);sdpvar];%发电机有功 Qg=[zeros(32,1);sdpvar];%发电机无功 AA=binvar(37,1);%网架结构 A0=[ones(32,1);zeros(5,1)];%初始拓扑 assign(AA,A0); Pin=-father*P+father*(I.*r)+son*P;%节点注入有功 Qin=-father*Q+father*(I.*x)+son*Q;%节点注入无功 P_tree=sdpvar(37,1);%虚拟有功 Pin_tree=-father*P_tree+son*P_tree;%虚拟节点注入有功 Ploss_total=sum(I.*r);%目标函数,网损最小 %约束条件 C1=[sum(AA)==32,U>=Umin,U<=Umax,Pg>=-Pgmax,Pg<=Pgmax,Qg>=-Qgmax,Qg<=Qgmax,I>=0,I<=0.11*AA,-AA<=P_tree<=AA,-0.11*AA<=P<=0.11*AA,-0.11*AA<=Q<=0.11*AA];%边界约束 C2=[Pin+Pload-Pg==0,Pin_tree(1:32)+0.01==0];%有功KCL约束 C3=[Qin+Qload-Qg==0];%无功KCL约束 C4=[-(1.07*1.07-0.93*0.93)*(1-AA)<=-U(Line(:,2),:)+U(Line(:,1),:)-2*r.*P-2*x.*Q+(r.^2+x.^2).*I<=(1.07*1.07-0.93*0.93)*(1-AA)];%电压降落约束 C=[C1,C2,C3,C4]; toc%建模时间 ops=sdpsettings('solver','gurobi','usex0',1); [model,recoverymodel,diagnostic,internalmodel] = export(C,Ploss_total,ops);%得到除去P^2+Q^2=UI的约束 params.Nonconvex=2;%启动gurobi非线性求解器 params.FeasibilityTol=1e-9;%由于gurobi采取的是双层模型,因此可行性步长应尽可能小 params.IntFeasTol=1e-9;%由于gurobi对非线性模型采用的是外嵌分支定界算法,相当于求解MIP问题,因此整数可行性要足够精确 params.Threads=8;%并行计算,8线程 L=length(model.obj);%决策变量数 %下面定义P^2+Q^2=UI的约束,模型为sum(Qval*x(Qrow)*x(Qcol))+q*x=rhs
🎉3 参考文献
部分理论来源于网络,如有侵权请联系删除。
[1]刘畅,王治邦,黎静华.考虑配电网重构的电-气联合传输网络规划[J].广西大学学报(自然科学版),2023,48(03):616-630.DOI:10.13624/j.cnki.issn.1001-7445.2023.0616.
[2]吴达雷.电动汽车规模化接入后配电网重构系统[J].机械设计与制造工程,2023,52(05):83-86.
[3]吴艳敏,程相,刘家旗.基于SA-CS算法的含分布式电源配电网优化重构[J].科学技术与工程,2023,23(02):626-632.