目录
该程序采用遗传算法解决配电网故障重构问题,以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);
结果一览
故障前网络拓扑图
故障后网络拓扑
这是电压对比图,大家要分清楚优化重构和故障重构的差异,故障是存在故障支路,这个时候网络状态是不佳的,优化的目的是找到一个能够让网络恢复供电的方案,因此电压效果可能会变差。而优化重构是在网络没有故障的情况下找到最佳方案,一般指标都要比优化前的要强。