【电力系统综合能源】“双碳“背景下|综合能源系统中的经济-二氧化碳排放协调最优调度和敏感性分析研究(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.


相关文章
|
8天前
|
数据可视化 算法
MATLAB Simulink晶闸管的特性分析
MATLAB Simulink晶闸管的特性分析
28 2
参与辅助服务的用户侧储能优化配置及经济分析(matlab代码)
参与辅助服务的用户侧储能优化配置及经济分析(matlab代码)
|
8天前
|
数据挖掘
考虑时空相关性的风电功率预测误差建模与分析(matlab程序)
考虑时空相关性的风电功率预测误差建模与分析(matlab程序)
|
8天前
|
关系型数据库 新能源 调度
【matlab测试与修正】考虑源荷两侧不确定性的含风电电力系统低碳调度
【matlab测试与修正】考虑源荷两侧不确定性的含风电电力系统低碳调度
|
8天前
|
新能源 调度
日前日内多阶段多时间尺度源荷储协调调度(matlab代码)
日前日内多阶段多时间尺度源荷储协调调度(matlab代码)
|
8天前
|
算法 异构计算
基于直方图的图像曝光量分析FPGA实现,包含tb测试文件和MATLAB辅助验证
该内容包括了算法的运行效果展示、软件版本信息、理论概述和核心程序代码。在正常图像中,`checkb`位于`f192b`和`f250b`之间,而多度曝光图像中`checkb`超出此范围,判断为曝光过度。使用的软件为Vivado 2019.2和MATLAB 2022a。理论依据未详细给出,但提及主要方法。提供的Verilog代码段用于处理图像数据,包括读取文件、时钟控制及图像histogram计算等,其中模块`im_hist`似乎是关键部分。
|
8天前
|
机器学习/深度学习 算法 数据可视化
Matlab决策树、模糊C-均值聚类算法分析高校教师职称学历评分可视化
Matlab决策树、模糊C-均值聚类算法分析高校教师职称学历评分可视化
|
8天前
|
SQL 移动开发 算法
MATLAB改进模糊C均值聚类FCM在电子商务信用评价应用:分析淘宝网店铺数据|数据分享
MATLAB改进模糊C均值聚类FCM在电子商务信用评价应用:分析淘宝网店铺数据|数据分享
|
8天前
|
算法 搜索推荐 数据挖掘
MATLAB模糊C均值聚类FCM改进的推荐系统协同过滤算法分析MovieLens电影数据集
MATLAB模糊C均值聚类FCM改进的推荐系统协同过滤算法分析MovieLens电影数据集
|
8天前
|
机器学习/深度学习 安全 算法
Matlab基于SEIRD模型,NSIR预测模型,AHP层次分析法新冠肺炎预测与评估分析
Matlab基于SEIRD模型,NSIR预测模型,AHP层次分析法新冠肺炎预测与评估分析

热门文章

最新文章