目录
[1 主要内容](#1 主要内容)
[2 部分程序](#2 部分程序)
[3 程序结果](#3 程序结果)
[4 下载链接](#4 下载链接)
1 主要内容
该程序方法复现《参与辅助服务的用户侧储能优化配置及经济分析》,首先, 建立了用户侧储能的全生命周期成本和考虑辅助服务的收益模型;其次,在两部制电价下,基于对储能电池运行特性和用户负荷特性的考虑,建立了一种参与辅助服务的用户侧储能优化配置模型,以储能容量和辅助服务参数为优化变量,对工业用户全寿命周期的净收益进行优化计算;最后,以某具体用户为例,实现了用户侧储能最优容量下的配置优化,确定了参与辅助服务的变量值。程序采用1h作为采样间隔,实现了全天24小时的模型方法复现。
目标函数
目标函数包括投资成本、运行维护成本、峰谷套利收益、需量管理收益、需求响应收益和应急供电收益。
2 部分程序
s2=12*(max(e_load)-pd)*pb*kr;%需量管理收益
s3=kr*sum(1.5.*c.*Pdsm);
s4=kr*sq*Pems;%应急供电收益
F=s1+s2+s3+s4-Cinv-Cope;%总目标函数
%优化求解
ops=sdpsettings('solver','cplex');
sol=optimize(f,-F,ops);%因为求利润最大,二而yalmip默认求最小,所以s1加负号
if sol.problem == 0
% Extract and display value
result=double(s1);
else
display('Hmm, something went wrong!');
sol.info
yalmiperror(sol.problem)
end
%result=optimize(f,pd);
xx1=value(Pcharge);
xx2=value(Pdischarge);
xx3=c;
xx4=value(e_load);
xx5=value(e_load+Pcharge-Pdischarge-Pdsm);
ss1=value(s1);
z=value(SOC);
Pdsm=value(Pdsm);
Em=value(Em);
pe=value(pe);
Cinv=value(Cinv);
Pems=value(Pems);
figure(1)
plot(1:24,xx3,'-ob');%电价
hold on
xlabel('时间/h');
ylabel('分时电价/元');
yyaxis right
plot(1:24,xx4,'-or');%电负荷
xlabel('时间/h');
ylabel('电负荷/kW');
legend('分时电价','电负荷');
grid on
figure(2)
% plot(1:24,xx1,'-ob',1:24,-xx2,'-or');
bar(xx1-xx2,'m')
ylabel('充放电功率');
hold on
yyaxis right
plot(1:24,z/Em,'-ob');
legend('充放电功率','soc');
ylabel('soc');
xlabel('时间');
figure(3)
bar(xx4,'r');
hold on
plot(1:24,xx5,'-ob');
title('优化前后电负荷曲线');
legend('优化前电负荷','优化后电负荷');
fprintf('配置储能容量容量%d/kWh\n',Em );
fprintf('储能最优充放电功率%d/kW\n',pe );
fprintf('初始投资成本%d/万元\n',Cinv/10000 );
fprintf('需求侧响应上报响应量%d/kW\n',max(Pdsm) );
fprintf('应急供电上报功率%d/kW\n',Pems );