基于合作博弈的综合能源系统利益分配优化调度(Matlab代码实现)

 💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

目录

💥1 概述

基于合作博弈的综合能源系统利益分配优化调度研究

一、引言

二、综合能源系统概述

(一)综合能源系统定义与结构

(二)综合能源系统的优势

三、合作博弈理论基础

(一)合作博弈的基本概念

(二)Shapley 值法

四、基于合作博弈的综合能源系统模型构建

(一)综合能源系统设备建模

(二)合作博弈模型构建

五、模型求解

六、案例分析

(一)案例系统描述

(二)结果分析

七、结论与展望

(一)研究成果总结

(二)研究不足与展望

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码、数据


💥1 概述

基于合作博弈的综合能源系统利益分配优化调度研究

摘要: 本研究聚焦于综合能源系统(IES),旨在通过合作博弈方法实现利益分配的优化调度。在双碳背景下,提高综合能源系统的能源利用率、减少碳排放量并提升系统运行灵活性具有重要意义。本文构建基于合作博弈的 IES 协同优化调度模型,利用 Shapley 值法对合作剩余按贡献进行分配,采用 matlab + cplex 求解,为综合能源系统的高效运行与合理利益分配提供理论与方法支持。

一、引言

随着能源需求的增长和对环境保护的重视,综合能源系统作为一种整合多种能源形式的系统,能有效提高能源利用效率、降低碳排放。然而,综合能源系统涉及多个参与主体,各主体间存在利益冲突,合理的利益分配机制是保障系统稳定运行的关键。合作博弈理论为解决综合能源系统中各主体间的利益分配问题提供了有效途径。通过合作博弈,各主体可以实现资源共享、优势互补,达到共赢的局面,同时优化系统的调度运行,提高整体性能。

二、综合能源系统概述

(一)综合能源系统定义与结构

综合能源系统是一种将电力、热力、天然气等多种能源形式进行有机整合和协同运行的能源系统。它通常包括能源生产设备(如发电厂、燃气热电厂等)、能源转换设备(如电转气设备(P2G)、热电联产设备(CHP)等)、能源存储设备(如储氢罐、热储能装置等)以及能源消费终端。这些设备相互关联、相互影响,通过复杂的能源网络实现能源的传输和分配。

(二)综合能源系统的优势

  1. 提高能源利用效率:通过能源的梯级利用和多能互补,避免了单一能源系统中能源的浪费,实现能源的高效转换和利用。
  2. 降低碳排放:整合可再生能源和清洁能源,减少对传统化石能源的依赖,从而降低温室气体排放,符合环保要求。
  3. 增强系统稳定性和可靠性:多种能源形式相互备用,当一种能源供应出现故障时,其他能源可以及时补充,保障能源供应的连续性。

三、合作博弈理论基础

(一)合作博弈的基本概念

合作博弈是指博弈参与者通过达成有约束力的协议,进行合作以实现共同利益最大化的博弈形式。在合作博弈中,参与者关注的是如何分配合作带来的收益,以保证合作的稳定性和可持续性。

(二)Shapley 值法

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 值法具有公平性、有效性等良好性质,能够合理地分配合作剩余。

四、基于合作博弈的综合能源系统模型构建

(一)综合能源系统设备建模

  1. 电转气设备(P2G):P2G 设备可以将电能转换为天然气,其转换过程可以通过相应的能量转换效率进行建模。设输入的电功率为 PP2GPP2G​,输出的天然气功率为 Pgas,P2GPgas,P2G​,转换效率为 ηP2GηP2G​,则有 Pgas,P2G=ηP2GPP2GPgas,P2G​=ηP2G​PP2G​。
  2. 热电联产设备(CHP):CHP 设备能够同时生产电能和热能,其能量转换关系较为复杂。根据其工作原理和性能参数,可以建立输入燃料功率与输出电能、热能之间的数学模型。设输入燃料功率为 Pfuel,CHPPfuel,CHP​,输出电功率为 Pelec,CHPPelec,CHP​,输出热功率为 Pheat,CHPPheat,CHP​,发电效率为 ηelec,CHPηelec,CHP​,供热效率为 ηheat,CHPηheat,CHP​,则 Pelec,CHP=ηelec,CHPPfuel,CHPPelec,CHP​=ηelec,CHP​Pfuel,CHP​,Pheat,CHP=ηheat,CHPPfuel,CHPPheat,CHP​=ηheat,CHP​Pfuel,CHP​。
  3. 储氢罐:储氢罐用于存储氢气,其充放氢过程涉及能量的存储和释放。设储氢罐的当前储氢量为 EH2EH2​,充氢功率为 PchargePcharge​,放氢功率为 PdischargePdischarge​,充氢效率为 ηchargeηcharge​,放氢效率为 ηdischargeηdischarge​,则在一个时间间隔 ΔtΔt 内,储氢量的变化为 EH2(t+Δt)=EH2(t)+ηchargePchargeΔt−PdischargeηdischargeΔtEH2​(t+Δt)=EH2​(t)+ηcharge​Pcharge​Δt−ηdischarge​Pdischarge​​Δt。

(二)合作博弈模型构建

  1. 确定参与主体:综合能源系统中的参与主体包括新能源电厂、燃气热电厂、能源用户等。
  2. 定义联盟及联盟价值:各参与主体可以通过不同的组合形成联盟,联盟的价值通过联盟内各主体合作带来的综合效益来衡量,例如能源成本降低、系统可靠性提高等。设联盟 SS 的价值为 v(S)v(S),可以通过对联盟内各设备的运行成本、能源供应收益等进行综合计算得到。
  3. 目标函数:以综合能源系统整体效益最大化为目标,同时考虑各参与主体的利益分配公平性。目标函数可以表示为:

Maximize∑S⊆Nv(S)Maximize∑S⊆N​v(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、储氢罐等设备。详细描述系统的规模、设备参数、能源需求等信息。具体以运行结果为准。

(二)结果分析

  1. 优化调度结果:展示模型求解得到的各设备的优化调度曲线,分析不同时间段内各设备的功率变化情况,以及如何通过协同调度实现能源的高效利用。
  2. 利益分配结果:根据 Shapley 值法计算各参与主体的利益分配份额,分析各主体对合作联盟的贡献以及所得收益是否合理。通过对比合作前后各主体的收益情况,验证合作博弈模型在提高各主体收益和促进合作方面的有效性。
  3. 敏感性分析:分析关键参数(如能源价格、设备效率等)的变化对优化调度结果和利益分配的影响,为实际系统的运行和决策提供参考。

七、结论与展望

(一)研究成果总结

本研究通过构建基于合作博弈的综合能源系统利益分配优化调度模型,利用 Shapley 值法实现了各参与主体的合理利益分配,并通过优化调度提高了综合能源系统的能源利用效率、降低了碳排放。案例分析验证了模型和方法的有效性和可行性。

(二)研究不足与展望

虽然本研究取得了一定的成果,但仍存在一些不足之处。例如,模型对一些复杂的实际情况考虑不够全面,未来可以进一步拓展模型,考虑更多的不确定性因素(如可再生能源的波动性)和市场因素(如电力市场的实时电价波动)。同时,可以探索更加有效的合作博弈方法和利益分配机制,以适应不同类型的综合能源系统。此外,加强与实际工程的结合,推动研究成果的实际应用,也是未来研究的重要方向。

📚2 运行结果

部分代码:

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(['********************']);

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]王永利,刘振,薛露等.基于多主体博弈的综合能源系统运行优化方法[J].控制理论与应用,2022,39(03):499-508.

[2]祝荣,任永峰,孟庆天等.基于合作博弈的综合能源系统电-热-气协同优化运行策略[J].太阳能学报,2022,43(04):20-29.DOI:10.19912/j.0254-0096.tynxb.2022-0112

🌈4 Matlab代码、数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值