本程序参考论文《碳交易机制下考虑需求响应的综合能源系统优化运行》,程序中算例丰富,注释清晰,下面对文章和程序简要介绍。
综合能源系统是实现“双碳”目标的有效途径,为进一步挖掘其需求侧可调节潜力对碳减排的作用,提出了一种碳交易机制下考虑需求响应的综合能源系统优化运行模型。首先, 根据负荷响应特性将需求响应分为价格型和替代型2类,分别建立了基于价格弹性矩阵的价格型需求响应模型, 及考虑用能侧电能和热能相互转换的替代型需求响应模型;其次,采用基准线法为系统无偿分配碳排放配额,并考虑燃气轮机和燃气锅炉的实际碳排放量,构建一种面向综合能源系统的碳交易机制;最后,以购能成本、碳交易成本及运维成本之和最小为目标函数,建立综合能源系统低碳优化运行模型,并通过4类典型场景对所提模型的有效性进行了验证。通过对需求响应灵敏度、燃气轮机热分配比例和不同碳交易价格下系统的运行状态分析发现,合理分配价格型和替代型需求响应及燃气轮机产热比例有利于提高系统运行经济性,制定合理的碳交易价格可以实现系统经济性和低碳性协同。
程序结果:
部分程序:
%% 读取数据
shuju=xlsread('carbon+DR数据.xlsx'); %把一天划分为24小时
load_e=shuju(2,:); %初始电负荷
load_h=shuju(3,:); %初始热负荷
P_PV=shuju(4,:); %光电预测
P_WT=shuju(5,:); %风电预测
pe_b=shuju(6,:); %需求响应前电价
pe_a=shuju(7,:); %需求响应电价
ph_b=shuju(8,:); %需求响应前热价
ph_a=shuju(9,:); %需求响应热价
%% 需求侧定义变量
Z=zeros(24,24); %需求弹性矩阵
e_W1=0.5;e_W2=0.3;e_W3=0.15;e_W4=0.05;%约束:固定、可转移、可消减、可替代负荷占比50%,30%,15%,5% %这里进行4. 2. 2 需求响应灵敏度分析
h_W1=0.5;h_W2=0.2;h_W3=0.2;h_W4=0.1;%约束:固定、可转移、可消减、可替代负荷占比50%,30%,15%,5% %这里进行4. 2. 2 需求响应灵敏度分析
Psl_e=zeros(1,24);%转移电负荷量
Pcl_e=zeros(1,24);%消减电负荷量
Prl_e=zeros(1,24);%电负荷被替代量
Psl_h=zeros(1,24);%转移热负荷量
Pcl_h=zeros(1,24);%消减热负荷量
Prl_h=zeros(1,24);%热负荷被替代量
P2H=1.83; %电转热系数
OP_load_e=zeros(1,24);%优化后的电负荷
OP_load_h=zeros(1,24);%优化后的热负荷
%% IES电网交互电价
price_buy_grid=shuju(7,:); %向电网购电价
price_sell_grid=shuju(10,:); %向电网售电价
%% 供应测定义机组变量
%CHP
P_GT=sdpvar(1,24,'full');%燃气轮机输出功率
e_GT=0.3;%燃气轮机供电效率
h_GT=0.4;%燃气轮机供热效率
P_WHB=sdpvar(1,24,'full');%余热锅炉输出功率
r_WHB=0.80;%热回收效率
P_ORC=sdpvar(1,24,'full');%ORC输出功率
r_ORC=0.80;%ORC效率
P_GB=sdpvar(1,24,'full');%燃气锅炉输出功率
h_GB=0.9;%燃气锅炉供热效率
P_HP=sdpvar(1,24,'full');%热泵输入功率
COP_HP=4.4;%电制冷机冷系数
B_grid=sdpvar(1,24,'full');%购电电量
S_grid=sdpvar(1,24,'full');%售电电量
B_grid_sign=binvar(1,24,'full'); %购电标志
ES_char=sdpvar(1,24,'full');%储电系统充电
ES_dischar=sdpvar(1,24,'full');%储电系统放电
ES_char_sign=binvar(1,24,'full');%储电系统充电标志
ES_max=400; ES_loss=0.01;ES_c_char=0.95;ES_c_discharge=0.9;%电储能最大容量;自损系数;充、放能效率
HS_char=sdpvar(1,24,'full');%储热系统充热
HS_dischar=sdpvar(1,24,'full');%储热系统放热
HS_char_sign=binvar(1,24,'full'); %储热系统充热标志
HS_max=400; HS_loss=0.01;HS_c_char=0.95;HS_c_discharge=0.9;%热储能最大容量;自损系数;充、放能效率;原文0.8
%% DR-需求侧响应优化
Z_e=ElasticityMatrix(pe_a); %电价需求弹性矩阵
Z_e_CL=diag(diag(Z_e)); %消减电负荷弹性矩阵,对角阵
Z_e_SL=Z_e-Z_e_CL; %转移电负荷弹性矩阵
Z_h=ElasticityMatrix(ph_a); %热价需求弹性矩阵
Z_h_CL=diag(diag(Z_h)); %消减热负荷弹性矩阵,对角阵
Z_h_SL=Z_h-Z_h_CL; %转移热负荷弹性矩阵
%价格型需求响应
[Psl_e,Pcl_e]=IBDR(Z_e_SL,Z_e_CL,load_e,pe_a,pe_b,e_W2,e_W3);%(转移电负荷弹性矩阵,削减电负荷弹性矩阵,初始电负荷,需求响应电价,需求响应前电价,可转移电负荷比例,可削减电负荷比例)
[Psl_h,Pcl_h]=IBDR(Z_h_SL,Z_h_CL,load_h,ph_a,ph_b,h_W2,h_W3);%(转移热负荷弹性矩阵,削减热负荷弹性矩阵,初始热负荷,需求响应热价,需求响应前热价,可转移热负荷比例,可削减热负荷比例)
%替代型需求响应
[Prl_e,Prl_h]=RBDR(pe_a,ph_a,e_W4,h_W4);%(需求响应电价,需求响应热价,可替代电负荷占比,可替代热负荷占比)
OP_load_e=load_e+Psl_e+Pcl_e-Prl_e+Prl_h/P2H;%优化后的电负荷(初始电负荷,转移电负荷,削减电负荷,电负荷被替代量,热负荷被替代量)
OP_load_h=load_h+Psl_h+Pcl_h-Prl_h+Prl_e*P2H;%优化后的热负荷(初始热负荷,转移热负荷,削减热负荷,热负荷被替代量,电负荷被替代量)
%% IES供应侧储能约束
ES_start=80;
HS_start=50; %电储能和热储能的初始能量
for i=1:24
ES(1,i)=ES_start+ES_char(1,i)*ES_c_char-ES_dischar(1,i)/ES_c_discharge; %储电初始容量约束
ES_start=ES(1,i);
end
for i=1:23
ES(1,i+1)= ES(1,i)*(1-ES_loss)+ES_char(1,i)*ES_c_char-ES_dischar(1,i)/ES_c_discharge; %储电容量约束
end
ES_start=ES(1,24);
for i=1:24
EH(1,i)=HS_start+HS_char(1,i)*HS_c_char-HS_dischar(1,i)/HS_c_discharge; %储热初始容量约束
HS_start=EH(1,i);
end
for i=1:23
EH(1,i+1)= EH(1,i)*(1-HS_loss)+HS_char(1,i)*HS_c_char-HS_dischar(1,i)/HS_c_discharge; %储热容量约束
end
HS_start=EH(1,24);
欢迎感兴趣的小伙伴关注下方公众号获得完整版代码,小编会继续推送更有质量的学习资料、文章和程序代码!