本程序参考EI论文《考虑特性分布的储能电站接入的电网多时间尺度源储荷协调调度策略》,文章综合储能电站、负荷侧各类需求响应资源的多时间尺度特性制定日前调度计划,并通过日内滚动与实时修正实现对预测数据更高精度的保证。程序中算例丰富、注释清晰、干货满满,创新性很高!下面对文章和程序做简要介绍!
创新点:
1. 源-荷-储协同调度;
2. 多时间尺度:
3. 需求响应;
为提高区域电网新能源消纳率,使电力系统运行成本最小,提高电力系统供电可靠性。提出考虑特性分布的储能电站接入的电网多时间尺度“源–储–荷”协调调度策略。综合储能电站、 负荷侧各类需求响应资源的多时间尺度特性制定日前调度计划,并通过日内滚动与实时修正实现对预测数据更高精度的保证。以系统运行成本、弃风惩罚成本、失负荷惩罚成本为目标函数,建立多时间尺度调度模型。最后通过MATLAB平台调用商用软件包CPLEX完成混合整数规划优化,结果表明该调度策略可以达到系统运行成本最优,降低弃风率的效果。有效提高了“源–储–荷”系统的新能源消纳率。
程序结果:
上图为系统成本运行结果图,日内小时调度结果!
部分程序:
%目标函数
%常规机组运行成本a2*p+bp+c分段线性化
Pmax=[mp(1,2),mp(2,2),mp(3,2),mp(4,2),mp(5,2),mp(6,2)];
Pmin=[mp(1,3),mp(2,3),mp(3,3),mp(4,3),mp(5,3),mp(6,3)];
gn=5;%分段函数线性化,下同x_pf=sdpvar(6, tn,'full');
gz5=binvar(gn, tn,'full');gz6=binvar(gn, tn,'full');
gl1=(Pmax-Pmin)./gn;gl2=zeros(6,gn+1);
gl2(i,:)=Pmin(i):gl1(i):Pmax(i);
con = [con, x_pf(1,:)==gl2(1,:).^2*gw1];con = [con, x_pf(6,:)==gl2(6,:).^2*gw6];
con = [con, gw1(1,:)<=gz1(1,:)];con = [con, gw1(i,:)<=gz1(i-1,:)+gz1(i,:)];
con = [con, gw1(gn+1,:)<=gz1(gn,:)];con = [con, gw3(i,:)<=gz3(i-1,:)+gz3(i,:)];
con = [con, gw6(i,:)<=gz6(i-1,:)+gz6(i,:)];con = [con, gw6(gn+1,:)<=gz6(gn,:)];
con = [con, sum(gz6)==ones(1,tn)];con = [con, Pgone(1,:)==gl2(1,:)*gw1];
con = [con, Pgone(2,:)==gl2(2,:)*gw2];con = [con, gw5>=0];
%场景2线性化
x_pfz=sdpvar(6, tn,'full');gw1z=sdpvar(gn+1,tn,'full');
gz5z=binvar(gn, tn,'full');gz6z=binvar(gn, tn,'full');
gl1z=(Pmax-Pmin)./gn;gl2z=zeros(6,gn+1);
gl2z(i,:)=Pmin(i):gl1z(i):Pmax(i);
con = [con, x_pfz(1,:)==gl2z(1,:).^2*gw1z];con = [con, x_pfz(6,:)==gl2z(6,:).^2*gw6z];
fpg1(gi,gt)=mp(gi,4).*x_pf(gi,gt)+mp(gi,5).*Pgone(gi,gt)+mp(gi,6);
fpg2(gi,gt)=mp(gi,4).*x_pfz(gi,gt)+mp(gi,5).*Pgtwo(gi,gt)+mp(gi,6);
yyone=binvar(6,23,'full')yytwo=binvar(6,23,'full');
con=[con,0<=plossone<=pload1,0<=plosstwo<=pload1];
fg=sum(sum(ps(1).*fpg1+ps(2).*fpg2))+0.9*sum(sum(ps(1).*yyone+ps(2).*yytwo));
fess=sum(ps(1)*(0.53*abs(Perssone)+0.12*abs(Perssone))+ps(2)*(0.53*abs(Persstwo)+0.12*abs(Persstwo)))+sum(0.012.*(uersstwo+uersstwo));
fdg=ps(1)*sum(0.02.*Pwone)+ps(2)*(sum(0.02.*Pwtwo)+0.9*sum(ps(1).*yygone+ps(2).*yygtwo))+ps(1)*5.2*sum(pw1-Pwone)+ps(2)*5.2*sum(pw2-Pwtwo);
fload=ps(1)*(sum(100.*abs(Pidraone)+125.*abs(Pidrbone))+15.9.*sum(sum(plossone)))+ps(2)*(sum(100.*abs(Pidratwo)+125.*abs(Pidrbtwo))+15.9.*sum(sum(plosstwo)));
f1=fg+fess+fdg+fload;
ops=sdpsettings('solver','cplex');
result=optimize(con,f1,ops);
部分内容源自网络,侵权联系删除!
欢迎感兴趣的小伙伴点击文末阅读原文获取完整版代码,小编会不定期更新高质量的学习资料、文章和程序代码,为您的科研加油助力!
更多创新性预测及优化程序请点击公众号首页:《预测优化》|《综合能源》链接!