目录
1 主要内容
2 部分代码
3 程序结果
4 下载链接
1 主要内容
程序模型参考《分布式光伏储能系统的优化配置方法》,分为上下层求解方式,上层采用粒子群算法确定储能的选址和容量方案,以全年购电成本、网络损耗、光伏运行成本、储能充放电和投资成本为目标;下层采用混合整数规划算法(默认求解器为cplex,也可替换成gurobi),以IEEE33节点配电网为研究对象,通过二阶锥模型求解,以电网购电成本为目标函数。程序注释清晰,方便参考学习!
因此,本程序和原文还是有些明显的区别:
1.原文中双层模型均采用智能算法,遗传/粒子群算法,本程序上层采用粒子群,下层采用规划算法,需要求解器求解。
2.原文中以9节点系统为例,本程序实际上采用33节点,该节点系统应用更广泛,参考性更强。
2 部分代码
%计算各个粒子的适应度,并初始化Pi和Pg**************** Pgrid=zeros(33,24); %上网购电 p_ch=zeros(1,24); %储能充电功率 p_dch=zeros(1,24); %储能放电功率 p_pv=zeros(1,24); %光伏出力 I=zeros(32,24); %电流平方值 Pg=zeros(32,1); %风机出力 E_ess=zeros(1,24); %储能电量 for i=1:N [y1,y2,y3,y4,y5,y6,y7]=solution(x(i,:)); Pgrid=y1; p_ch=y2; p_dch=y3; p_pv=y4; I=y5; Pg=y6; E_ess=y7; p(i)=fitness(x(i,:),Pgrid,p_ch,p_dch,p_pv,I,Pg,s); y(i,:)=x(i,:);%每个粒子的个体寻优值 end Pbest=fitness(x(1,:),Pgrid,p_ch,p_dch,p_pv,I,Pg,s); pg=x(1,:);%Pg为全局最优 for i=2:N [y1,y2,y3,y4,y5,y6,y7]=solution(x(i,:)); Pgrid=y1; p_ch=y2; p_dch=y3; p_pv=y4; I=y5; Pg=y6; E_ess=y7; if fitness(x(i,:),Pgrid,p_ch,p_dch,p_pv,I,Pg,s):),Pgrid,p_ch,p_dch,p_pv,I,Pg,s); pg=x(i,:);%全局最优更新 end end %进入主循环***************************************** for t=1:Max_Dt t for i=1:N w=w_max-(w_max-w_min)*t/Max_Dt;%惯性权重更新 c1=(0.5-2.5)*t/Max_Dt+2.5; %认知 c2=(2.5-0.5)*t/Max_Dt+0.5; %社会认识 w=0.7; v(i,:)=w*v(i,:)+c1*rand()*(y(i,:)-x(i,:))+c2*rand()*(pg-x(i,:)); for m=1:D if(v(i,m)>v_max) v(i,m)=v_max; elseif(v(i,m)<-v_max) v(i,m)=-v_max; end end