MATLAB|基于遗传算法的配电网故障重构

目录

主要内容   

部分代码   

下载链接


主要内容   

该程序采用遗传算法解决配电网故障重构问题,以33节点系统为研究对象,设置目标函数为网络损耗和开关动作次数,并通过权值将双目标转换为单目标,通过该方法的优化,可以在开关操作次数尽量少的前提下,实现降低网损、恢复配电网运行,程序注释清楚,含各函数功能说明,方便学习!

部分代码   

%存放初始开关集
population1=[1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,0,1,1,1,0];
%种群大小
popsize=50;
%基因块编码长度
%chromlength=5;
%移位概率
pc = 0.6;
%变异概率
pm = 0.001;
%初始种群
pop = initpop(popsize,bb);
%初始化x,y(存放每次迭代下的最优解)
x=zeros(1,50);
y=zeros(50,size(pop,2));
%计算适应度值
fitvalue = cal_fitvalue(pop);    
for i = 1:50  %50次迭代
    %选择操作
    newpop = selection(pop,fitvalue);
    %移位操作
    newpop = moveposition(newpop,pc,bb);
    %变异操作
    newpop = mutation(newpop,pm,bb);
    %更新种群
    pop = newpop;
    %计算适应度值,寻找最优解
    fitvalue = cal_fitvalue(pop);
    [bestindividual,bestfit] = best(pop,fitvalue); 
    %ws(i)=powerflow(transform(bestindividual)); %记录实际网损
    %cz(i)=sum(xor(bestindividual,population1))-1; %记录实际操作次数
    x(i)=bestfit;
    y(i,:)=bestindividual;
end
[bestfit1,index]=max(x);

结果一览

故障前网络拓扑图

故障后网络拓扑

这是电压对比图,大家要分清楚优化重构和故障重构的差异,故障是存在故障支路,这个时候网络状态是不佳的,优化的目的是找到一个能够让网络恢复供电的方案,因此电压效果可能会变差。而优化重构是在网络没有故障的情况下找到最佳方案,一般指标都要比优化前的要强。

下载链接

你可能感兴趣的:(配电网重构,matlab,重构)