【电力系统综合能源】“双碳“背景下|综合能源系统中的经济-二氧化碳排放协调最优调度和敏感性分析研究(Matlab代码实现)

简介: 【电力系统综合能源】“双碳“背景下|综合能源系统中的经济-二氧化碳排放协调最优调度和敏感性分析研究(Matlab代码实现)

💥1 概述

综合能源系统(IES)因其在能源效率和可再生能源消费方面的优异表现而在工程应用中具有广阔的前景。在IES中,热舒适度同时受到加热功率,建筑物参数和室外温度的影响。因此,室外温度的不确定性会对热舒适性带来一些不利影响,在IES的调度决策中需要考虑这一点。


“双碳”战略倡导绿色、环保、低碳的生活方式。加快降低碳排放步伐,有利于引导绿色技术创新,提高产业和经济的全球竞争力。中国持续推进产业结构和能源结构调整,大力发展可再生能源,在沙漠、戈壁、荒漠地区加快规划建设大型风电光伏基地项目,努力兼顾经济发展和绿色转型同步进行。碳排放量是指在生产、运输、使用及回收某产品时所产生的温室气体排放量。而动态的碳排放量,则是指每单位货品累积排放的温室气体量。


为了减轻全球变暖的威胁,CO2减排是电力系统可持续发展不可逆转的趋势。在各种低碳技术中,燃气发电厂和电转气设施在减少排放方面发挥着重要作用,它们正在增加电力和天然气系统之间的相互依存关系。同时考虑到风力发电渗透率的提高,本文提出了一种在电力和天然气系统约束下低碳经济调度模型。减少二氧化碳在排放和提高风电利用率方面,提出了燃烧后碳捕集系统和电转气设施的数学公式。此外,进一步分析了燃烧后碳捕集系统和电转气设施的灵活运行模式。所提出的模型的目标功能是最小化总成本,其中包括运营成本,CO2弃风的处理成本和罚金成本。然后将优化模型转换为混合整数线性规划问题,以实现高效的计算目的。通过数值算例验证了所提模型和灵活运行模式的有效性。


本文在“双碳"背景下,对综合能源系统中的经济-二氧化碳排放协调最优调度和敏感性分析研究


📚2 运行结果

部分代码:

function define_objective()
global data model
price_buy=data.mpc.cost(1,:);
price_sell=0.49;%0.49
model.cost.Cgrid_buy=sum((10000*model.judge.Pbuy).*price_buy);
model.cost.Cgrid=model.cost.Cgrid_buy;
%% calculate CO2
%购电部分产生的CO2
model.CO2_buy_grid=0.5810*sum(sum(10000*model.judge.Pbuy));%
%data.E_G表示六台发电机组的机组节点碳势,碳排放等于节点碳势乘以出力乘以时间
P_g=[10000*model.p_wt(1,:); 10000*model.judge.P_CHP; 10000*model.p_wt(2,:); 10000*model.p_wt(3,:); 10000*model.p_wt(4,:)];
%5*24,10是chp,其他的都是风力发电机和蓄电池
p_H=[model.judge.H_CHP;model.judge.H_GB];%1*24,6/51节点热网管道都只有一个热源点
data.E_G=([0; 443; 0; 0; 0]/1000)';
data.E_H=([443.0;516]/1000)';
model.CO2_all=0;
CO2_G=sum(sum(data.E_G*P_g));
CO2_H=sum(sum(data.E_H*p_H));
model.CO2_all=CO2_G + CO2_H +model.CO2_buy_grid;
model.CO2_e=CO2_G +model.CO2_buy_grid;
%%%%%%%%%%%
model.CO2_chp=CO2_G;
model.CO2_grid=model.CO2_buy_grid;
model.CO2_GB=sum(sum(model.judge.H_GB*0.516));
model.CO2_CHP_all=sum(sum(model.judge.H_CHP*0.443+10000*model.judge.P_CHP*0.443));
%% calculat cost
model.cost.CHP.coal = 0;%CHP机组煤耗成本
c_gas=0.575;%0.571
model.cost.CHP.coal=c_gas*(sum(model.judge.P_CHP*10000)/0.3+sum(model.judge.H_GB)/0.99);
model.cost.CHP.total = model.cost.CHP.coal ;%CHP机组总成本
%% IES运行成本
model.cost.IES_run = 0;%运行成本
K_ESS=0.01685;%运行维护费用
K_CHP=0.0480;%CHP机组运行维护
K_WT=0.02;%风机运行维护费用
K_TST=0.013;
K_GB=0.0457;
model.cost.IES_run = ...
    (K_WT*(sum(sum(model.p_wt*10000))) +...
    K_CHP*(sum(sum(model.judge.P_CHP*10000))) + K_CHP*(sum(sum(model.judge.H_CHP)))+...
    K_ESS*(sum(sum(abs(model.judge.P_BT_charge*10000)))+sum(sum(abs(model.judge.P_BT_discharge*10000))))+...
    K_TST*(sum(sum(abs(model.judge.H_HS_in)))+sum(sum(abs(model.judge.H_HS_out)))) +...
    +K_GB*(sum(sum(model.judge.H_GB))));
model.cost_obj=model.cost.IES_run+model.cost.CHP.total+model.cost.Cgrid;
model.CO2_obj=model.CO2_all;
model.obj1=model.cost_obj;
model.obj2=model.CO2_obj;
%% 探究CHP局部碳减排对整体的影响
% %CHP
% m1=20;
% F2_new=zeros(20,1);
% F1_new=zeros(20,1);
% delta_F2=zeros(20,1);delta_F1=zeros(20,1);
% delta_CHP=zeros(20,1);
% TCHP=[66160.1645700000;68976.7318400000;71645.5313900000;74103.2038300000;76521.0783900000;78679.2305400000;80742.9631200000;82804.0476000000;84911.6212500000;86869.0288500000;88655.3394400000;90413.9354200000;92105.2402400000;93780.6945400000;95433.8139400000;97083.8130600000;98890.4039000000;100980.876600000;102750.906500000;104150.187000000];
% F1=[182397.865916657;182524.454718706;182675.316393106;182843.134267172;183027.782553574;183228.697592839;183438.388926405;183656.462514397;183880.874738848;184110.915454502;184345.403398763;184584.078607678;184827.138496165;185074.596797007;185326.364934565;185582.768660740;185844.357913700;186129.989065402;186480.836239024;186930.763229854];
% F2=[141803.691569005;141317.147058091;140864.257716798;140434.915506760;140028.866895398;139645.413181390;139274.106101138;138914.439585869;138563.569474724;138220.510988072;137883.603197424;137552.507168951;137227.498830555;136908.614797601;136595.665226767;136289.151004832;135989.846523783;135723.884964778;135548.397844598;135513.839067998];
% %循环求CHP的CLCER
% for j=1:m1
%     model.st_New_CHP1= [model.st, model.CO2_CHP_all ==TCHP(j,1)-200];%CHP源节点10的碳排放约束
%     model.st_New_CHP1= [model.st_New_CHP1, model.obj2== F2(j,1)];
%     model.ops=sdpsettings('verbose', 0, 'solver', 'cplex');
%     model.sol=optimize(model.st_New_CHP1,model.obj1,model.ops);
%     F1_new(j,1)=value(model.obj1);
%     delta_F1(j,1)=F1_new(j,1)-F1(j,1);
%     delta_CHP(j,1)=200;
%     if model.sol.problem == 0
%         disp('succcessful solved');disp(j);
%     else
%         disp('error');disp(j);
%         yalmiperror(model.sol.problem)
%     end
% end
% CLCER_CHP=delta_F1./delta_CHP;
% %循环求CHP的SLCER
% for j=1:m1
%     model.st_New_CHP2= [model.st, model.CO2_CHP_all ==TCHP(j,1)-200];%CHP源节点10的碳排放约束
%     model.st_New_CHP2= [model.st_New_CHP2, model.obj1== F1(j,1)];
%     model.ops=sdpsettings('verbose', 0, 'solver', 'cplex');
%     model.sol=optimize(model.st_New_CHP2,model.obj2,model.ops);
%     F2_new(j,1)=value(model.obj2);
%     delta_F2(j,1)=F2_new(j,1)-F2(j,1);
%     delta_CHP(j,1)=200;
%     if model.sol.problem == 0
%         disp('succcessful solved');disp(j);
%     else
%         disp('error');disp(j);
%         yalmiperror(model.sol.problem)
%     end
% end
% SCER_CHP=delta_F2./delta_CHP;
%% 探究GB局部碳减排对整体的影响
% %GB
% m1=20;
% F2_new=zeros(20,1);F1_new=zeros(20,1);
% delta_F2=zeros(20,1);delta_F1=zeros(20,1);
% delta_GB=zeros(20,1);
% TGB=[61699.5287800000;59410.2323600000;57243.6428100000;55248.3810600000;53294.7231400000;51542.0055800000;49862.4904900000;48185.0340100000;46474.2228200000;44885.6794100000;43435.5165300000;42008.6072800000;40636.0495000000;39276.5557900000;37934.4916300000;36594.9716600000;35127.6683500000;33428.4465200000;32050.6095000000;31094.1468600000];
% F1=[182397.865916657;182524.454718706;182675.316393106;182843.134267172;183027.782553574;183228.697592839;183438.388926405;183656.462514397;183880.874738848;184110.915454502;184345.403398763;184584.078607678;184827.138496165;185074.596797007;185326.364934565;185582.768660740;185844.357913700;186129.989065402;186480.836239024;186930.763229854];
% F2=[141803.691569005;141317.147058091;140864.257716798;140434.915506760;140028.866895398;139645.413181390;139274.106101138;138914.439585869;138563.569474724;138220.510988072;137883.603197424;137552.507168951;137227.498830555;136908.614797601;136595.665226767;136289.151004832;135989.846523783;135723.884964778;135548.397844598;135513.839067998];
% %循环求GB的CLCER
% for j=1:m1
%     model.st_New_GB1= [model.st, model.CO2_GB ==TGB(j,1)-100];%CHP源节点10的碳排放约束
%     model.st_New_GB1= [model.st_New_GB1, model.obj2== F2(j,1)];
%     model.ops=sdpsettings('verbose', 0, 'solver', 'cplex');
%     model.sol=optimize(model.st_New_GB1,model.obj1,model.ops);
%     F1_new(j,1)=value(model.obj1);
%     delta_F1(j,1)=F1_new(j,1)-F1(j,1);
%     delta_GB(j,1)=100;
%     if model.sol.problem == 0
%         disp('succcessful solved');disp(j);
%     else
%         disp('error');disp(j);
%         yalmiperror(model.sol.problem)
%     end
% end
% CLCER_GB=delta_F1./delta_GB;
% %循环求GB的SLCER
% for j=1:m1
%     model.st_New_GB2= [model.st, model.CO2_GB ==TGB(j,1)-100];%CHP源节点10的碳排放约束
%     model.st_New_GB2= [model.st_New_GB2, model.obj1== F1(j,1)];
%     model.ops=sdpsettings('verbose', 0, 'solver', 'cplex');
%     model.sol=optimize(model.st_New_GB2,model.obj2,model.ops);
%     F2_new(j,1)=value(model.obj2);
%     delta_F2(j,1)=F2_new(j,1)-F2(j,1);
%     delta_GB(j,1)=100;
%     if model.sol.problem == 0
%         disp('succcessful solved');disp(j);
%     else
%         disp('error');disp(j);
%         yalmiperror(model.sol.problem)
%     end
% end
% SCERP_GB=delta_F2./delta_GB;
%% 准备求Pareto
model.ops=sdpsettings('verbose', 0, 'solver', 'cplex');
model.sol=optimize(model.st,model.obj1,model.ops);
if model.sol.problem == 0
    disp('succcessful solved');
else
    disp('error');
    yalmiperror(model.sol.problem)
end
data.G1_x1=value(model.obj1);
data.G2_x1=value(model.obj2);
model.ops=sdpsettings('verbose', 0, 'solver', 'cplex');
model.sol=optimize(model.st,model.obj2,model.ops);
data.G1_x2=value(model.obj1);
data.G2_x2=value(model.obj2);
if model.sol.problem == 0
    disp('succcessful solved');
else
    disp('error');
    yalmiperror(model.sol.problem)
end


🌈4 Matlab代码、数据

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。


[1]S. Lu, W. Gu, S. Zhou, S. Yao and G. Pan, "Adaptive Robust Dispatch of Integrated Energy System Considering Uncertainties of Electricity and Outdoor Temperature," in IEEE Transactions on Industrial Informatics, vol. 16, no. 7, pp. 4691-4702, July 2020, doi: 10.1109/TII.2019.2957026.


[2]陆帅,陈帅,余威,方俊,丁海龙.惯性辅助GNSS跟踪环路技术研究[J].航天控制,2016,34(01):20-24.DOI:10.16804/j.cnki.issn1006-3242.2016.01.004.


[3]姚帅,顾伟,张雪松,赵波,陆帅,吴晨雨.热网特性对于综合能源系统超短期调度的影响[J].电力系统自动化,2018,42(14):83-90.


相关文章
|
7月前
|
机器学习/深度学习 传感器 算法
【红外图像】利用红外图像处理技术对不同制冷剂充装的制冷系统进行性能评估(Matlab代码实现)
【红外图像】利用红外图像处理技术对不同制冷剂充装的制冷系统进行性能评估(Matlab代码实现)
|
7月前
|
机器学习/深度学习 传感器 算法
【视频去噪】基于全变异正则化最小二乘反卷积是最标准的图像处理、视频去噪研究(Matlab代码实现)
【视频去噪】基于全变异正则化最小二乘反卷积是最标准的图像处理、视频去噪研究(Matlab代码实现)
|
3月前
|
Perl
【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)
【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)
|
3月前
【数值分析】迭代法求方程的根(附matlab代码)
【数值分析】迭代法求方程的根(附matlab代码)
|
3月前
【数值分析】Jacobi、Seidel和Sor迭代法求解线性方程组(附matlab代码)
【数值分析】Jacobi、Seidel和Sor迭代法求解线性方程组(附matlab代码)
|
3月前
【数值分析】二分法求方程的根(附matlab代码)
【数值分析】二分法求方程的根(附matlab代码)
|
20天前
|
存储 人工智能 机器人
【Matlab】Matlab电话拨号音合成与识别(代码+论文)【独一无二】
【Matlab】Matlab电话拨号音合成与识别(代码+论文)【独一无二】
|
2月前
|
机器学习/深度学习 算法 计算机视觉
霍夫变换车道线识别-车牌字符识别代码(matlab仿真与图像处理系列第5期)
霍夫变换车道线识别-车牌字符识别代码(matlab仿真与图像处理系列第5期)
30 2
|
2月前
|
算法
MATLAB | 插值算法 | 一维interpl插值法 | 附数据和出图代码 | 直接上手
MATLAB | 插值算法 | 一维interpl插值法 | 附数据和出图代码 | 直接上手
40 0
|
2月前
|
算法
MATLAB | 插值算法 | 二维interp2插值法 | 附数据和出图代码 | 直接上手
MATLAB | 插值算法 | 二维interp2插值法 | 附数据和出图代码 | 直接上手
83 0

热门文章

最新文章