✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
微电网集中了分布式发电、负荷和储能,其并网接入必然对配电网的无功优化产生影响。提出了考虑微电网的配电网动态无功优化模型,在模型中考虑微电网运行特性对于动态无功优化的影响。利用基于粒子群算法进行无功优化求解,通过 IEEE33节点配电网系统的仿真算例验证了本文计算的合理性和有效性。
⛄ 部分代码
%% 清空环境
clc;
clear;
%% 参数初始化
%粒子群算法中的两个参数
c1 = 1.5;
c2 = 1.5;
maxgen=50; %进化次数
sizepop=60; %种群规模
Vmax=[4 4 4 4 4 4 4 0 0 4];
Vmin=[-4 -4 -4 -4 -4 -4 -4 0 0 -4];
popmax=[60 60 0 34 400 15 15 0 10 60];
popmin=[0 0 0 0 0 0 0 0 10 0];
%% 产生初始粒子和速度
for z=1:sizepop
%随机产生一个种群
pop(z,:)=60*rand(); %初始种群
pop(z,2)=60*rand();
pop(z,3)=0;
pop(z,4)=34*rand();
pop(z,5)=400*rand();
pop(z,6)=15*rand();
pop(z,7)=15*rand();
pop(z,8)=0;
pop(z,9)=10;
pop(z,10)=60*rand();
V(z,1)=4*rand(); %初始化速度
V(z,2)=4*rand();
V(z,3)=4*rand();
V(z,4)=4*rand();
V(z,5)=4*rand();
V(z,6)=4*rand();
V(z,7)=4*rand();
V(z,8)=0;
V(z,9)=0;
V(z,10)=4*rand();
%计算适应度
fitness(z)=fun1(pop(z,:)); %染色体的适应度
end
end
%[bf bt]=max(fitness);
%gb=pop(bt,:); %最佳geti
%disp(gb);
for j=1:sizepop
%个体最优更新
if fitness(j) < fitnessgbest(j)
gbest(j,:) = pop(j,:);
fitnessgbest(j) = fitness(j);
end
%群体最优更新
if fitness(j) < fitnesszbest
zbest = pop(j,:);
fitnesszbest = fitness(j);
end
end
result(z)=fitnesszbest;
yy(:,z)=zbest;
end
disp (zbest);
disp (fitnesszbest);
g=[zbest(1)+zbest(6)*1i zbest(2)+zbest(7)*1i zbest(3)+zbest(8)*1i zbest(4)+zbest(9)*1i];
u=sum(g);
disp(g);
disp(u);
l=zbest(5)+zbest(10)*1i;
disp(l);
t=u-l;
disp(t);
%% 结果分析
plot(result)
title('最优个体适应度','fontsize',12);
xlabel('进化代数','fontsize',12);ylabel('适应度','fontsize',12);
⛄ 运行结果
⛄ 参考文献
[1]贺志华等. "基于多智能体遗传算法的微电网优化策略研究." 工业控制计算机 30.2(2017):3.
[2]彭涛. 考虑微电网的配电网动态无功优化[J]. 建筑遗产, 2013, 000(017):297-298.