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


相关文章
|
4月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
224 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
4月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
141 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
4月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
109 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
7月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
7月前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
|
7月前
|
Serverless
基于Logistic函数的负荷需求响应(matlab代码)
基于Logistic函数的负荷需求响应(matlab代码)
|
7月前
|
供应链 算法
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)
|
7月前
|
算法 调度
基于多目标粒子群算法冷热电联供综合能源系统运行优化(matlab代码)
基于多目标粒子群算法冷热电联供综合能源系统运行优化(matlab代码)
|
7月前
|
算法 调度 SoC
电动汽车充放电V2G模型(Matlab代码)
电动汽车充放电V2G模型(Matlab代码)

热门文章

最新文章