摘要: 本研究聚焦于综合能源系统(IES),旨在通过合作博弈方法实现利益分配的优化调度。在双碳背景下,提高综合能源系统的能源利用率、减少碳排放量并提升系统运行灵活性具有重要意义。本文构建基于合作博弈的 IES 协同优化调度模型,利用 Shapley 值法对合作剩余按贡献进行分配,采用 matlab + cplex 求解,为综合能源系统的高效运行与合理利益分配提供理论与方法支持。
随着能源需求的增长和对环境保护的重视,综合能源系统作为一种整合多种能源形式的系统,能有效提高能源利用效率、降低碳排放。然而,综合能源系统涉及多个参与主体,各主体间存在利益冲突,合理的利益分配机制是保障系统稳定运行的关键。合作博弈理论为解决综合能源系统中各主体间的利益分配问题提供了有效途径。通过合作博弈,各主体可以实现资源共享、优势互补,达到共赢的局面,同时优化系统的调度运行,提高整体性能。
综合能源系统是一种将电力、热力、天然气等多种能源形式进行有机整合和协同运行的能源系统。它通常包括能源生产设备(如发电厂、燃气热电厂等)、能源转换设备(如电转气设备(P2G)、热电联产设备(CHP)等)、能源存储设备(如储氢罐、热储能装置等)以及能源消费终端。这些设备相互关联、相互影响,通过复杂的能源网络实现能源的传输和分配。
合作博弈是指博弈参与者通过达成有约束力的协议,进行合作以实现共同利益最大化的博弈形式。在合作博弈中,参与者关注的是如何分配合作带来的收益,以保证合作的稳定性和可持续性。
Shapley 值法是合作博弈中常用的一种利益分配方法,它基于参与者对合作联盟的边际贡献来确定其应得的利益份额。对于一个包含 nn 个参与者的合作博弈,参与者 ii 的 Shapley 值 φiφi 计算公式为:
φi(v)=∑S⊆N∖{i}∣S∣!(n−∣S∣−1)!n![v(S∪{i})−v(S)]φi(v)=∑S⊆N∖{i}n!∣S∣!(n−∣S∣−1)![v(S∪{i})−v(S)]
其中,NN 是所有参与者的集合,SS 是 NN 的一个子集,∣S∣∣S∣ 表示子集 SS 的元素个数,v(S)v(S) 是子集 SS 形成的联盟的价值。Shapley 值法具有公平性、有效性等良好性质,能够合理地分配合作剩余。
Maximize∑S⊆Nv(S)Maximize∑S⊆Nv(S)
约束条件包括设备的功率限制、能源平衡约束、储氢罐的容量限制等。例如,对于 P2G 设备,有 0≤PP2G≤PP2G,max0≤PP2G≤PP2G,max;对于储氢罐,有 0≤EH2≤EH2,max0≤EH2≤EH2,max 等。
本文采用 matlab + cplex 对上述模型进行求解。Matlab 是一款功能强大的数学计算和建模软件,拥有丰富的函数库和工具箱,方便进行模型的构建和数值计算。Cplex 是一款高效的优化求解器,能够快速准确地求解复杂的优化问题。
在 Matlab 中,首先根据上述模型建立相应的数学表达式,然后调用 Cplex 求解器对模型进行求解。通过编写清晰的程序代码,设置合理的参数和约束条件,最终得到综合能源系统各设备的优化调度方案以及各参与主体的利益分配结果。例如,通过程序计算可以得到新能源电厂收益、燃气热电厂收益等具体数值,并通过 disp 函数输出结果,如 “新能源电厂收益为[具体数值]元”,“燃气热电厂收益为[具体数值]元” 等。
以一个实际的综合能源系统为例,该系统包含新能源电厂(如风力发电厂、太阳能发电厂)、燃气热电厂、多个能源用户以及 P2G、CHP、储氢罐等设备。详细描述系统的规模、设备参数、能源需求等信息。具体以运行结果为准。
本研究通过构建基于合作博弈的综合能源系统利益分配优化调度模型,利用 Shapley 值法实现了各参与主体的合理利益分配,并通过优化调度提高了综合能源系统的能源利用效率、降低了碳排放。案例分析验证了模型和方法的有效性和可行性。
虽然本研究取得了一定的成果,但仍存在一些不足之处。例如,模型对一些复杂的实际情况考虑不够全面,未来可以进一步拓展模型,考虑更多的不确定性因素(如可再生能源的波动性)和市场因素(如电力市场的实时电价波动)。同时,可以探索更加有效的合作博弈方法和利益分配机制,以适应不同类型的综合能源系统。此外,加强与实际工程的结合,推动研究成果的实际应用,也是未来研究的重要方向。

编辑

编辑

编辑

编辑

编辑

编辑

编辑
部分代码:
P_wt=value(P_wt); %风机消纳功率 P_pv=value(P_pv); %光伏消纳功率 V_gas=value(V_gas); %P2G产生天然气体积 Q_co2=value(Q_co2); %制气厂消耗二氧化碳的量 P_H2=value(P_H2); %电解池产生的氢气量 P_P2G=value(P_P2G); %P2G消耗电功率量 P_h2cha=value(P_h2cha); %储氢罐充气功率 P_h2dis=value(P_h2dis); %储氢罐放气功率 H_h2cha=value(H_h2cha); %储氢罐充气变量 H_h2dis=value(H_h2dis); %储氢罐放气变量 P_H2total=value(P_H2total); E_h=value(E_h); %储氢罐放气功率 P_CHPe=value(P_CHPe); %CHP发电功率 P_CHPh=value(P_CHPh); %CHP发热功率 P_CHPg=value(P_CHPg); %CHP耗气功率 Q_co2out=value(Q_co2out); %CHP燃烧产生的co2 P_be=value(P_be); %购电功率 P_bg=value(P_bg); %购气功率 V_CB=value(V_CB); %燃气锅炉进气量 Q_CB=value(Q_CB); %燃气锅炉发热量 P_MRh=value(P_MRh); %甲烷反应器输入氢功率 P_MRg=value(P_MRg); %甲烷反应器输出天然气功率 F=value(F);
%% 绘图 figure(1); plot(load_e,'linewidth',1.5); hold on plot(load_h,'-*','linewidth',1.5); hold on plot(load_g,'--','linewidth',1.5); hold on plot(load_H,'-^','linewidth',1.5); hold on axis([1,24,0,1000]); title('典型日负荷曲线'); legend('电负荷','热负荷','气负荷','氢负荷'); xlabel('时刻'); ylabel('功率/kW'); grid on
figure(2); plot(P_wt,'r--','linewidth',1.5); hold on plot(P_pv,'b-*','linewidth',1.5); hold on axis([1,24,0,1000]); legend('风机出力','光伏出力'); xlabel('时刻'); ylabel('功率/kW'); grid on figure(3); stairs(C_e,'r--','linewidth',1.5); hold on stairs(C_g,'b-*','linewidth',1.5); hold on axis([1,24,0,4]); legend('购电电价','购气价格'); xlabel('时刻'); ylabel('功率/kW'); grid on figure(4) F11=zeros(2,24); F11(1,:)=load_e; F11(2,:)=P_P2G; AA=bar(F11(:,:)','stack'); set(AA(1),'FaceColor',[0.1 0.5 0.9]); set(AA(2),'FaceColor',[0.9 0.1 0.5]); hold on FF=zeros(4,24); FF(1,:)=P_wt; FF(2,:)=P_pv; FF(3,:)=P_CHPe; FF(4,:)=P_be; bar(-FF(:,:)','stack') axis([0.5,24.5,-1500,1500]); xlabel('时刻/h'); ylabel('电功率/kW'); legend('电负荷','P2G消耗电量','风机出力','光伏出力','CHP发电功率','购电功率'); title('电负荷平衡'); grid on
figure(5) F22=zeros(3,24); F22(1,:)=load_g; F22(2,:)=P_CHPg; F22(3,:)=V_CB; BB=bar(F22(:,:)','stack'); set(BB(1),'FaceColor',[0.1 0.5 0.9]); set(BB(2),'FaceColor',[0.9 0.1 0.5]); set(BB(2),'FaceColor',[0.2 0.4 0.2]); hold on FFF=zeros(2,24); FFF(1,:)=P_MRg; FFF(2,:)=P_bg; bar(-FFF(:,:)','stack') axis([0.5,24.5,-600,600]); xlabel('时刻/h'); ylabel('气功率/kW'); legend('气负荷','CHP耗气量','燃气锅炉进气量','甲烷反应器输出天然气','购气功率'); title('气负荷平衡'); grid on %% 合作博弈处理
F1=sc1(); F2=sc2(); F3=sc3(); F12=sc12(); F13=sc13(); F23=sc23();
s=[1,0,0 0,1,0 0,0,1 1,1,0 1,0,1 0,1,1 1,1,1 ]; v=[F1 F2 F3 F12 F13 F23 F]; abcd=shapley1(s,v);
clc disp(['********************']);
disp(['shapley分配前的收益为:']);
disp([' 新能源电厂收益为 ',num2str(F1),'元']);
disp([' 燃气热电厂收益为 ',num2str(F2),'元']);
disp([' 电制气厂收益为 ',num2str(F3),'元']);
disp(['********************']); disp(['********************']); disp(['shapley分配后的收益为:']);
disp([' 新能源电厂收益为 ',num2str(abcd(1)),'元']);
disp([' 燃气热电厂收益为 ',num2str(abcd(2)),'元']);
disp([' 电制气厂收益为 ',num2str(abcd(3)),'元']); disp(['********************']);
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。
[1]王永利,刘振,薛露等.基于多主体博弈的综合能源系统运行优化方法[J].控制理论与应用,2022,39(03):499-508.
[2]祝荣,任永峰,孟庆天等.基于合作博弈的综合能源系统电-热-气协同优化运行策略[J].太阳能学报,2022,43(04):20-29.DOI:10.19912/j.0254-0096.tynxb.2022-0112
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删