700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 基于多目标粒子群算法在分布式电源选址和定容中的应用matlab程序

基于多目标粒子群算法在分布式电源选址和定容中的应用matlab程序

时间:2019-02-25 03:36:03

相关推荐

基于多目标粒子群算法在分布式电源选址和定容中的应用matlab程序

基于多目标粒子群算法在分布式电源选址和定容中的应用matlab程序

摘 要: 为更好地解决分布式电源选址定容问题,提出一种改进的多目标粒子群算法。考虑投资成本、网损以及电压稳定性三因素建立了一个三目标的数学模型,并采用上述多目标粒子群算法对模型求解。最后利用 IEEE-69节点系统仿真来验证所提算法在分布式电源选址定容方面的有效性。

关键词: 分布式电源; 选址定容; 多目标粒子群

1 含有分布式电源的配电网结构

分布式电源接入配电网前后的情况如图 1、图 2所示。

图中,R+jX 表示线路总阻抗;w 表示 DG 接入配电网后距离配电所端的距离占线路总长度的 w%;IL、 IS 和 Id 分别代表负荷端电流、配电所端注入电流、分布式电源注入电流;设 PL、QL 分别代表负荷端有功功率和无功功率;U 表示负荷端电压;PG、QG分别代表 DG 端有功功率和无功功率;LossLA、LossLB 分别表示图 1 和图 2 中的网络损耗​。

当不考虑 DG 时,有

考虑到 DG 的注入功率时,配电网网络损耗可划分为两部分:①SUB-DG 之间线路损耗;②DG-load 之间线路损耗。可推导出

因此整个网络损耗为

分布式电源接入前后的网络损耗变化可以由以上推导出

可见,分布式电源接入后与接入前对网络损耗的影响主要取决于配电所端和分布式电源端功率的大小。

2 含 DG 的配电网优化配置模型2.1 目标函数

( 1) 投资与运行成本

( 2) 配电网总有功网损

( 3) 配电网电压安全稳定性

式中: r 是折现率; k 是设备使用年限; s 为 DG 接入系统的节点数; xi 为接入 DG 的有功容量; Nb 为系统中的支路数; N 为网络节点数; UN 为额定电压,取 1. 05; Ui 表示实际电压幅值。

2.2 约束条件

(1) 等式约束条件

(2) 不等式约束条件

3 算例

IEEE69节点系统结构

IEEE69节点系统参数

4 程序运行结果

5 matlab程序

%% 多目标粒子群算法分布式电源定容选址优化规划tic %测试时间format short ;clc;clear close all%% 算法初始参数设置pop=90; %种群粒子数目gen=200; %最大迭代次数M=4;%目标函数个数(M-1)V=68; %控制变量个数Xmax=10;%控制变量约束最大值Xmin=0; %控制变量约束最小值g_best=zeros(gen,V); %全局最优存放位置pop_num=50; %保存的最优前沿lamda=0.5; %退火常数%% 初始化种群个体[pop_x,pop_v]=initial(pop,V,M);%% 模拟退火粒子群算法for t=1:gen %进入主要循环,gen迭代次数clear Gbest_valueclear R%% 1.寻找全局最优[pbest,pbest_value,k]=gbest_fitness(pop_x,V,M,pop); g_best(t,:)=pbest;g_best_value(t,:)=pbest_value;%% 1.对各目标函数值进行排序for j = 1 : M[Gbest_value(:,j),R(:,j)]=sort(g_best_value(:,j));end%% 2.根据个体排序计算其适应度for i = 1 : tfor j = 1 : Mif R(i,j)>1ex(i,j)=(pop-R(i,j))^2;else ex(i,j)=k*pop; endendendex=sum(ex');%% 3.得到适应度最好的全局最优解[Fit,index]=sort(ex');%[y_val,index]=min(g_best_value);clear Fit;gbest=g_best(index,:);%% 2.速度更新change_v=update_v(t,gen,pop_v,pop_x(:,1:68),g_best,V,pop,pbest);pop_v=change_v;%% 2.更新位置change_x=pop_x(:,1:V)+change_v(:,1:V);%% 控制变量约束for i = 1 : popfor j = 1 : Vif change_x(i,j)>Xmaxchange_x(i,j)=randi([0,10],1,1);else if change_x(i,j)<Xminchange_x(i,j)=randi([0,10],1,1);endendendend%% 粒子群速度限制约束%% 求出各个体的目标函数值for i=1:popchange_x(i,V+1:V+M)=mokuaihanshu(pop_x(i,:),pop,M,V);%求出各个体的目标函数值end%% 形成混合种群[y1,x1]=size(pop_x);[y2,x2]=size(change_x);%注意:此时x1不等于x2migle_x(1:y1,:)=pop_x;migle_x(y1+1:y1+y2,1:x2)=change_x;%% 进行非支配排序migle_x = non_domination_sort_mod(migle_x, M, V);%% 选择下一代种群pop_x = replace_chromosome(migle_x, M, V, pop);%% 画图输出Ploss=pop_x(:,V+1)./(10^9);Cost=pop_x(:,V+2)./(10^6);plot3(Ploss,Cost,pop_x(:,V + 3),'b*');xlabel('网损');ylabel('总投资与运行成本');zlabel('负荷节点电压偏差');grid onhold offtitle('多目标优化结果')drawnowendpop_x(1:(V+3))。。。。。。。。略

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。