基于遗传算法的DG选址定容--33节点

为研究分布式电源(DG)接入对配电网静态电压稳定的影响问题,推导了能反映配电网各负 荷节点电压稳定程度的电压稳定指标,提出了一种针对配电网的负荷增长策略,对DG接入前后全 网最薄弱节点以及整个系统的静态电压稳定性进行了定量分析,结合PV曲线探讨了配电网电压 崩溃事故的发生机理,对比分析了DG出力波动性较大时,集中接入和分散接入方式对静态电压稳 定性的改善效果。所提的基于系统各节点电压稳定指标计算的静态电压稳定性分析方法可对负荷 节点电压稳定裕度进行快速排序,并可实现全网薄弱节点的准确定位。DG接入前后的仿真实验 结果表明,合理位置的DG接入可有效改善全网的静态电压稳定性。

部分代码:

clc;
clear;
close all;
nbus=33;
DG_LOCATION=ones(1,4);
DG_UNIT_SIZE=ones(1,4);
[V,L1]=DG_process(DG_LOCATION,DG_UNIT_SIZE);%初始电压,脆弱性指标L:越小表示系统越稳定
voltval1=V;
%% 设置种群迭代参数
iter_max=80;  %迭代次数    
no_of_pop=80;     %种群数量 
prop_crsval=0.7;   %交叉概率
no_of_crs=2*round(prop_crsval*no_of_pop/2);  
prop_mutval=0.3;    %突变概率                          
no_of_mut=round(prop_mutval*no_of_pop);   
mu=0.02;   
sigma=2;
%  runpf(case33)
%mpc=case33bw;
%mpc.branch ;
%% 初始化种群
int_tmp_pop.Position=[];
int_tmp_pop.Cost=[];
int_tmp_pop.Rank=[];
int_tmp_pop.DominationSet=[];
int_tmp_pop.DominatedCount=[];
int_tmp_pop.CrowdingDistance=[];% 拥挤度
%储存每次迭代结果
population_func_data=repmat(int_tmp_pop,no_of_pop,1);
%B = repmat(A,m,n),将矩阵 A 复制 m×n 块,即把 A 作为 B 的元素,B 由 m×n 个 A 平铺而成。B 的维数是 [size(A,1)*m, size(A,2)*n] 。
%% dg位置与容量约束
minval1=1;%dg位置范围
maxval1=nbus;%dg位置,在1-33节点中
minval2=0;%dg容量下限
maxval2=2;%dg容量上限
no_of_dg=4;%dg数量

%% randsrc函数,无参数形式,随机输出
for locm=1:no_of_pop
    %产生变量,随机生成dg位置与容量,
    population_func_data(locm).Position=[randsrc(1,no_of_dg,minval1:maxval1) randsrc(1,no_of_dg,minval2:maxval2)];
    %计算出随机生成对应位置与容量情况下的目标函数值
    population_func_data(locm).Cost=feed_power(nbus,population_func_data(locm).Position);
    
end
[population_func_data, rankval]=non_dominate_sorting_process(population_func_data);%% 非支配种群排序过程
population_func_data=cal_crown_dist(population_func_data,rankval);%% 计算种群拥挤度
[population_func_data, rankval]=sort_process(population_func_data);%% 排序过程
%% 迭代
for iter=1:iter_max
       %% 种群交叉
    population_cross=repmat(int_tmp_pop,no_of_crs/2,2);%B = repmat(A,m,n),将矩阵 A 复制 m×n 块,即把 A 作为 B 的元素,B 由 m×n 个 A 平铺而成。B 的维数是 [size(A,1)*m, size(A,2)*n] 。
    for k=1:no_of_crs/2
        loc1=randi([1 no_of_pop]);
        loc1_data=population_func_data(loc1);
        
        loc2=randi([1 no_of_pop]);
        loc2_data=population_func_data(loc2);
        [population_cross(k,1).Position, population_cross(k,2).Position]=cross_over_process(loc1_data.Position,loc2_data.Position,minval1,maxval1,minval2,maxval2);
        
        population_cross(k,1).Cost=feed_power(nbus,population_cross(k,1).Position);
        population_cross(k,2).Cost=feed_power(nbus,population_cross(k,2).Position);
        
    end
    population_cross=population_cross(:);
    %% 种群变异
    population_mute=repmat(int_tmp_pop,no_of_mut,1);
    for k=1:no_of_mut
        locm=randi([1 no_of_pop]);
        data_locm=population_func_data(locm);
        population_mute(k).Position=mutation_process(data_locm.Position,mu,sigma,minval1,maxval1,minval2,maxval2);
        population_mute(k).Cost=feed_power(nbus,population_mute(k).Position);
        
    end
    

  • 24
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值