基于主从博弈的社区综合能源系统分布式协同优化运行策略(Matlab代码实现)

简介: 基于主从博弈的社区综合能源系统分布式协同优化运行策略(Matlab代码实现)

💥1 概述

文献来源:

高效、清洁、低碳是当今世界能源发展的主流 方向。发展实现能源与信息等领域新技术深度融


合,适应分布式能源发展、多元化(冷、热、电、气 等)用能需求等新业态的综合能源系统已成为能源 革命的客观要求与必然选择[1]。其中,以冷热电联 供(combined cooling heating and power,CCHP)系统 为核心,以“源–网–荷”各环节协同为主要特征的社区综合能源系统(community integrated energy system,CIES),有助于促进新能源规模化开发,实现不同能源的优势互补,保障社区内部经济高效用能[2-3],日益成为研究热点。


随着 CIES 的发展和电力市场的改革,源荷之间的耦合交互愈加明显,正由传统的垂直一体式结构


(自上而下)向交互竞争型结构(互相作用)转变[12]。电价不仅会影响负荷需求,负荷也会反作用于电价,传统集中优化方法难以描述两者之间的交互行为。此外,CIES 优化属于一类大规模复杂系统的优化问题,参数、变量繁多,集中优化对数据的传输、通信和处理能力要求较高,且不能保护各主体的信息隐私安全。因此,研究 CIES 分布式优化是更合适的选择,例如博弈论[13]、一致性理论[14-15]、交替方向乘子法[16]、分布式凸交计算[17]等。其中,博弈论是研究当多个决策主体之间存在利益关联或冲突时,各主体如何根据自身能力及所掌握信息,做出合理决策的理论[13]。非合作博弈[18]、讨价还价博弈[19]、演化博弈[20]、主从博弈[21]等博弈模型,逐渐应用于能源系统的优化运行和能量管理等领域。


本文中IER是基于电力市场中售电公司的概念提出的,在电能交易的基础上又考虑了热能交易,


满足用户的多样化需求。IER 作为源、荷之间的桥梁,基于供需关系,日前优化购入、售出的电价、热价,从供能侧购买电、热等能源,并出售给用能侧,从中赚取收益。IER 这一模式的引入,能够提供相比电网更加灵活的电价策略,对于引导分布式供能系统参与电力市场竞争、鼓励中小型社区用户科学用能都具有积极作用。在能源交易过程中,IER同样需要承担因价格波动、供需不平衡而带来的风险。当 CCHP 输出电功率无法满足负荷需求时,IER必须高价从电网购电。


新能源CCHP系统将新能源发电与传统燃料发电优势互补,基于能量梯级利用的原则,同时满足


用户电、热、冷不同的能量需求,其结构示意图如图 2 所示。文中新能源包含风电、光伏等,并采用最大化消纳原则。可控单元包括内燃发电机、燃气锅炉。内燃机发电的同时,缸套水和烟气中携带的热量可以通过余热装置回收再利用,并与燃气锅炉产生的热量一起,在冬季经热交换器供热,或夏季经吸收式制冷机转化为冷量为用户供冷。基于 IER的报价,运营商优化各设备的逐时出力,以获得更高的收益。

📚2 运行结果


部分代码:

%燃气发电机、锅炉常数
ae=0.0013;
be=0.16;
ce=0;
ah=0.0005;
bh=0.11;
ch=0;
ce_ave=0.7;%平均电价约束
ch_ave=0.45;%平均热价约束
n_c=0.8;%热交换效率
n_ex=0.83;   %余热回收效率
n_ice=0.35;   %内燃机发电效率
%热储能
H_storage_max=1500; h_n=0.98;h_charge=0.98;h_discharge=1;%热储能容量/自损/充热/放热;
%电储能
E_storage_max=2000; e_n=1;e_charge=0.95;e_discharge=0.95;%电储能容量/自损/充电/放电;
bggin=1000;%%电储能
for i=1:24
    B(1,i)=bggin+Pcharge(1,i)*e_charge-Pdischarge(1,i); % 0.98为转换率
    bggin=B(1,i);
end
begin=1000;%%热储能
for i=1:24
    L(1,i)=begin*h_n+h_charge*Hti(1,i)-Hto(1,i);%%%热储能容量
    begin=L(1,i);
end
%约束条件
Constraints =[];
for i=1:24
    Constraints=[Constraints,200<=L(1,i)<=H_storage_max];
end
Constraints=[Constraints,L(1,24)>=800];
for i=1:24
    Constraints=[Constraints,0<=Hti(1,i)<=200*UHti(1,i)];
    Constraints=[Constraints,0<=Hto(1,i)<=150*UHto(1,i)];
end
for i=1:23
    Constraints=[Constraints,-300<=Hti(1,i+1)-Hto(1,i+1)-(Hti(1,i)-Hto(1,i))<=200];
end
for i=1:24
    Constraints=[Constraints,UHti(1,i)+UHto(1,i)<=1];
end
%% 电储能容量约束、充电约束、放电约束、状态约束、SOC约束
for i=1:24
    Constraints=[Constraints,0<=Pcharge(1,i)<=200*UPcharge(1,i)];
    Constraints=[Constraints,0<=Pdischarge(1,i)<=200*UPdischarge(1,i)];
end
%% 蓄电池爬坡约束
for i=1:24
    if  i>0&&i<24
        Constraints=[Constraints,-200<=Pcharge(1,i+1)-Pdischarge(1,i+1)-(Pcharge(1,i)-Pdischarge(1,i))<=200];
    elseif i==24
        Constraints=[Constraints,-200<=Pcharge(1,1)-Pdischarge(1,1)-(Pcharge(1,i)-Pdischarge(1,i))<=200];
    end
end
%% 蓄电池充放电约束
for i=1:24
    Constraints=[Constraints,UPcharge(1,i)+UPdischarge(1,i)<=1];
end
Constraints=[Constraints,sum(UPcharge(1,1:24)+UPdischarge(1,1:24))<=10];%考虑寿命
Constraints=[Constraints,B(1,24)==1000];
for i=1:24
    Constraints=[Constraints,400<=B(1,i)<=1600];
end

🎉3 参考文献

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


[1]王海洋,李珂,张承慧,马昕.基于主从博弈的社区综合能源系统分布式协同优化运行策略[J].中国电机工程学报,2020,40(17):5435-5445.DOI:10.13334/j.0258-8013.pcsee.200141.

🌈4 Matlab代码实现

相关文章
|
8天前
|
算法
基于GA遗传优化的PID控制器最优控制参数整定matlab仿真
通过遗传算法优化PID控制器的参数,可以有效提高控制系统的性能。本文详细介绍了GA优化PID参数的原理、适应度函数的设计以及MATLAB实现步骤,并通过仿真验证了优化效果。希望本文能为读者在实际应用中提供参考和帮助。
43 18
|
2天前
|
算法 数据安全/隐私保护
基于惯性加权PSO优化的目标函数最小值求解matlab仿真
本程序基于惯性加权粒子群优化(IWPSO)算法,在MATLAB2022A上实现目标函数最小值求解的仿真。核心代码通过主循环迭代更新粒子速度和位置,动态调整惯性权重,平衡全局探索与局部开发。最终输出最优解及适应度变化图,并绘制等高线图展示优化过程。完整程序运行后无水印。 IWPSO改进了基本PSO算法,通过引入惯性权重因子,提高了复杂优化问题的搜索效率和精度,避免早熟收敛,增强了全局寻优能力。
|
4天前
|
机器学习/深度学习 数据采集 算法
基于GA遗传优化的CNN-LSTM-SAM网络时间序列回归预测算法matlab仿真
本项目使用MATLAB 2022a实现时间序列预测算法,完整程序无水印。核心代码包含详细中文注释和操作视频。算法基于CNN-LSTM-SAM网络,融合卷积层、LSTM层与自注意力机制,适用于金融市场、气象预报等领域。通过数据归一化、种群初始化、适应度计算及参数优化等步骤,有效处理非线性时间序列,输出精准预测结果。
|
3天前
|
算法 数据安全/隐私保护 索引
基于GWO灰狼优化的多目标优化算法matlab仿真
本程序基于灰狼优化(GWO)算法实现多目标优化,适用于2个目标函数的MATLAB仿真。使用MATLAB2022A版本运行,迭代1000次后无水印输出结果。GWO通过模拟灰狼的社会层级和狩猎行为,有效搜索解空间,找到帕累托最优解集。核心步骤包括初始化狼群、更新领导者位置及适应值计算,确保高效探索多目标优化问题。该方法适用于工程、经济等领域复杂决策问题。
|
7天前
|
算法 数据安全/隐私保护
基于ACO蚁群优化的城市最佳出行路径规划matlab仿真
本程序基于蚁群优化(ACO)算法,使用MATLAB2022A进行城市最佳出行路径规划仿真。用户可调整城市数量,输出路径规划结果及ACO收敛曲线。核心代码实现最短路径更新、信息素强化与全局最优路径绘制。ACO模拟蚂蚁行为,通过信息素机制迭代优化路径,适用于不同规模的城市节点,展示从局部探索到全局最优的智能搜索过程。程序运行结果展示了点数较少、中等和较多时的路径规划效果,无水印。
|
11天前
|
NoSQL Java 中间件
【📕分布式锁通关指南 02】基于Redis实现的分布式锁
本文介绍了从单机锁到分布式锁的演变,重点探讨了使用Redis实现分布式锁的方法。分布式锁用于控制分布式系统中多个实例对共享资源的同步访问,需满足互斥性、可重入性、锁超时防死锁和锁释放正确防误删等特性。文章通过具体示例展示了如何利用Redis的`setnx`命令实现加锁,并分析了简化版分布式锁存在的问题,如锁超时和误删。为了解决这些问题,文中提出了设置锁过期时间和在解锁前验证持有锁的线程身份的优化方案。最后指出,尽管当前设计已解决部分问题,但仍存在进一步优化的空间,将在后续章节继续探讨。
446 131
【📕分布式锁通关指南 02】基于Redis实现的分布式锁
|
15天前
|
NoSQL Java Redis
Springboot使用Redis实现分布式锁
通过这些步骤和示例,您可以系统地了解如何在Spring Boot中使用Redis实现分布式锁,并在实际项目中应用。希望这些内容对您的学习和工作有所帮助。
138 83
|
5月前
|
NoSQL Java Redis
太惨痛: Redis 分布式锁 5个大坑,又大又深, 如何才能 避开 ?
Redis分布式锁在高并发场景下是重要的技术手段,但其实现过程中常遇到五大深坑:**原子性问题**、**连接耗尽问题**、**锁过期问题**、**锁失效问题**以及**锁分段问题**。这些问题不仅影响系统的稳定性和性能,还可能导致数据不一致。尼恩在实际项目中总结了这些坑,并提供了详细的解决方案,包括使用Lua脚本保证原子性、设置合理的锁过期时间和使用看门狗机制、以及通过锁分段提升性能。这些经验和技巧对面试和实际开发都有很大帮助,值得深入学习和实践。
太惨痛: Redis 分布式锁 5个大坑,又大又深, 如何才能 避开 ?
|
10天前
|
缓存 NoSQL 搜索推荐
【📕分布式锁通关指南 03】通过Lua脚本保证redis操作的原子性
本文介绍了如何通过Lua脚本在Redis中实现分布式锁的原子性操作,避免并发问题。首先讲解了Lua脚本的基本概念及其在Redis中的使用方法,包括通过`eval`指令执行Lua脚本和通过`script load`指令缓存脚本。接着详细展示了如何用Lua脚本实现加锁、解锁及可重入锁的功能,确保同一线程可以多次获取锁而不发生死锁。最后,通过代码示例演示了如何在实际业务中调用这些Lua脚本,确保锁操作的原子性和安全性。
36 6
【📕分布式锁通关指南 03】通过Lua脚本保证redis操作的原子性
|
23天前
|
缓存 NoSQL 中间件
Redis,分布式缓存演化之路
本文介绍了基于Redis的分布式缓存演化,探讨了分布式锁和缓存一致性问题及其解决方案。首先分析了本地缓存和分布式缓存的区别与优劣,接着深入讲解了分布式远程缓存带来的并发、缓存失效(穿透、雪崩、击穿)等问题及应对策略。文章还详细描述了如何使用Redis实现分布式锁,确保高并发场景下的数据一致性和系统稳定性。最后,通过双写模式和失效模式讨论了缓存一致性问题,并提出了多种解决方案,如引入Canal中间件等。希望这些内容能为读者在设计分布式缓存系统时提供有价值的参考。感谢您的阅读!
112 6
Redis,分布式缓存演化之路