1 内容介绍
一种基于粒子群算法的交直流混联配电网潮流最优化控制算法,属配电调控领域.根据配电网结构图确定区域间配电网互联的线路并编号;设定以线路分类的二维矩阵,关联线路编号与线路上的功率流动值;应用模糊评价理论,设定配电网运行优劣性评价标准;初始化粒子群的速度和位置;判断每条线路的功率流动值是否在边界范围内;对配电网进行潮流计算,得到配电网运行标准评价值,并将该值与之前获得的评价最高值进行对比.其采用粒子群算法对已知的多个交直流混联交直流混合配电网进行潮流计算,能够快速及时地计算最优功率流动值,实现整个配电网的实时潮流最优化控制,使得整个配电网处于最优化状况运行,建设更加利于整个配电网整体性能的输电线路.
2 仿真代码
%==========================================================================
clc
clear all
close all
N=100; %初始化分配100个粒子,代表网架规划的100种状态
D=15; %D代表待规划的15条线路
pbest1=zeros(N,1); %临时储存每个粒子的值
pbest1_x=zeros(N,D); %临时储存每个粒子的状态
pbest=zeros(N,1); %pbest代表每个粒子的最优值
pbest_x=zeros(N,D); %pbest_x代表每个粒子的最优状态
gbest_x=zeros(1,D); %gbest_x代表全局最优状态
S=zeros(N,D); %中间变量
Psp=zeros(6,1); %节点有功注入功率矩阵
R=20; %线路投资费用为20万元/km
c1=1.8; c2=2.2; w=0.6; %学习因子,惯性权重
M=200; %最大迭代次数
v_max=3; %粒子寻优更新的最大速度
%==========================节点功率平衡表===================================
% 节点 发电出力/MW 负荷/MW
Power=[1 50 80
2 0 240
3 165 40
4 0 160
5 0 240
6 545 0 ];
%===========================输电走廊参数====================================
% 始节点 末节点 已有线路回数 线路回数上限 线路长度/km 单条线路电抗 单条线路有功潮流上限/MW
Channel=[1 2 1 4 40 0.40 100
1 3 0 4 38 0.38 100
1 4 1 4 60 0.60 80
1 5 1 4 20 0.20 100
1 6 0 4 68 0.68 70
2 3 1 4 20 0.20 100
2 4 1 4 40 0.40 100
2 5 0 4 31 0.31 100
2 6 0 4 30 0.30 100
3 4 0 4 59 0.59 82
3 5 1 4 20 0.20 100
3 6 0 4 48 0.48 100
4 5 0 4 63 0.63 75
4 6 0 4 30 0.30 100
5 6 0 4 61 0.61 78 ];
%======================调用初始化寻优速度和寻优位置函数======================
[v,x]=Initialize(N,D);
%================================交流潮流计算===============================
for i=1:N
%===========================形成节点有功注入功率矩阵========================
Psp=Power(:,2)-Power(:,3);
%===============调用直流潮流计算函数DC_Power_Flow=======================
[P,P1]=DC_Power_Flow(Channel,x,i,Psp);
%=============调用线路容量约束函数Capacity_Constraint===============
x=Capacity_Constraint(Channel,x,i,Psp,P,P1);
%===================求取个体极值和个体最优状态===========================
pbest1(i)=20*(x(i,1)*Channel(1,5)+x(i,2)*Channel(2,5)+x(i,3)*Channel(3,5)+x(i,4)*Channel(4,5)+x(i,5)*Channel(5,5)+x(i,6)*Channel(6,5)...
+x(i,7)*Channel(7,5)+x(i,8)*Channel(8,5)+x(i,9)*Channel(9,5)+x(i,10)*Channel(10,5)+x(i,11)*Channel(11,5)+x(i,12)*Channel(12,5)...
+x(i,13)*Channel(13,5)+x(i,14)*Channel(14,5)+x(i,15)*Channel(15,5));
pbest1_x(i,:)=x(i,:);
pbest(i)=pbest1(i); %个体极值
pbest_x(i,:)=pbest1_x(i,:); %个体最优状态
end
%========================求取全局最优极值和全局最优状态======================
gbest=pbest(N); %定义全局最优极值
for i=1:N-1
if pbest(i)<gbest
gbest=pbest(i);
gbest_x=pbest_x(i,:);
end
end
%================================循环迭代寻优===============================
for t=1:M
for i=1:N
%====================更新寻优的速度和位置===========================
v(i,:)=w*v(i,:)+c1*rand()*(pbest_x(i,:)-x(i,:))+c2*rand()*(gbest_x-x(i,:));
for j=1:15
if v(i,j)>v_max
v(i,j)=v_max;
end
if v(i,j)<-v_max
v(i,j)=-v_max;
end
end
x(i,:)=ceil(x(i,:)+v(i,:)); %向上取整函数
%======================满足支路数上下限约束=========================
if x(i,1)<1
x(i,1)=1;
end
if x(i,3)<1
x(i,3)=1;
end
if x(i,4)<1
x(i,4)=1;
end
if x(i,6)<1
x(i,6)=1;
end
if x(i,7)<1
x(i,7)=1;
end
if x(i,11)<1
x(i,11)=1;
end
if x(i,2)<0
x(i,2)=0;
end
if x(i,5)<0
x(i,5)=0;
end
if x(i,8)<0
x(i,8)=0;
end
if x(i,9)<0
x(i,9)=0;
end
if x(i,10)<0
x(i,10)=0;
end
if x(i,12)<0
x(i,12)=0;
end
if x(i,13)<0
x(i,13)=0;
end
if x(i,14)<0
x(i,14)=0;
end
if x(i,15)<0
x(i,15)=0;
end
for j=1:15
if x(i,j)>4
x(i,j)=4;
end
end
end
end
%======================求取全局最优极值和全局最优状态====================
for i=1:N
if pbest(i)<gbest
gbest=pbest(i);
gbest_x=pbest_x(i,:);
end
end
end
%================================输出结果==================================
gbest
gbest_x
3 运行结果
4 参考文献
[1]潘欢, 杨丽, 胡钢墩. 基于改进量子粒子群算法的配电网络优化重构[J]. 电测与仪表, 2018, 55(18):7.