目录
1 主要内容
上层目标函数考虑光伏和储能的投资成本。
程序采用模块化编程,并有每个模块功能介绍,方便学习。
2 部分代码
3 程序结果
4 程序结果
该程序主要方法复现《含高比例可再生能源配电网灵活资源双层优化配置》运行-规划联合双层配置模型,上层为光伏、储能选址定容模型,即优化配置,下层考虑弃光和储能出力,即优化调度,模型以IEEE33节点为例,采用粒子群算法求解,下层模型为运行成本和电压偏移量的多目标模型,并采用多目标粒子群算法得到pareto前沿解集,从中选择最佳结果带入到上层模型,最终实现上下层模型的各自求解和整个模型迭代优化。
parameter; %输入所有的数据 % 各个决策变量的含义 st_pv1=st_pvc(x(1));%光伏1选址 cap_pv1=x(2);%光伏1容量 st_cn=st_cnc(x(3));%储能选址 cap_cn=x(4);%储能容量 %目标 %投资成本 u=(r*(1+r)^year2)/((1+r)^year2-1); C1=u*(cpv*cap_pv1*s_pv+cess*cap_cn*s_cn);%光伏储能投资成本之和 %带入参数调用运行层程序 [gxbest1,fymin1]=lowerlayer(x);
%运行成本=弃光成本+运维成本+购电成本+网损成本 %弃光成本 Cq=0; for i=1:K%不同场景 Cq=Cq+cqpv*sum(gailv(i)*(cap_pv1.*center(i,:)-pv1_s(i))); end %运维成本 Cy=cpvy*sum(gailv'.*(sum(pv1_s,2)+sum(pv1_s,2)))+cessy*sum(abs(cn)); %购电成本 网损成本 电压偏移量 Cgc=zeros(K,T);Clossc=zeros(K,T);Vpc=zeros(K,T); %matpower潮流计算
% ***************导入网络参数******************% parameter; st_pv1=st_pvc(upx(1));%光伏1选址 cap_pv1=upx(2);%光伏1容量 % st_pv2=st_pvc(upx(3)); % cap_pv2=upx(4); st_cn=st_cnc(upx(3));%储能选址 cap_cn=upx(4);%储能容量 global center; gama=0.9;%光伏最低消纳率 % *******************导入结束********************% %% ****************决策空间的设置1**************% maxFun=2; %2个目标函数 fff=[0,800000;0,90]; %各个目标函数的最小值和最大值,即绝对正理想解和绝对负理想解 %fff=[0,0.4;30,100;10000,20000]; n = 5; % 初始种群个数 d = 120; % 空间维数,即决策变量(各设备控制量)个数 maxIterations = 2; % 最大迭代次数 wmax=0.9; %maximum of inertia factor,最大惯性系数 wmin=0.4; %minimum of inertia factor,最小惯性系数 c1=1.4962; %1.4962; %learning factor1,自我学习因子 c2=1.4962; %1.4962; %learning factor2,群体学习因子 Xmax=[cap_pv1.*center(1,:),cap_pv1.*center(2,:),cap_pv1.*center(3,:),cap_pv1.*center(4,:),s_cn.*cap_cn.*ones(1,24)]; Xmin=[gama.*cap_pv1.*center(1,:),gama.*cap_pv1.*center(2,:),gama.*cap_pv1.*center(3,:),gama.*cap_pv1.*center(4,:),-s_cn.*cap_cn.*ones(1,24)]; dX=Xmax-Xmin; Vmax=dX; Vmin=ones(1,120); %***********决策空间设置1结束**********% %% ******种群位置与速度初始化*******% X = repmat(Xmin,n,1)+repmat((Xmax-Xmin),n,1).*rand(n,d); %初始种群的位置 V=repmat(Vmin,n,1)+repmat((Vmax-Vmin),n,1).*rand(n,d); % 初始种群的速度 %******变量维数(总共120维):场景4*1个pv消纳值+储能出力
点击直达!