基于主从博弈的电热综合能源系统动态定价与能量管理附matlab代码

news2024/11/13 10:02:50

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测 雷达通信  无线传感器

信号处理 图像处理 路径规划 元胞自动机 无人机  电力系统

⛄ 内容介绍

随着能源市场由传统的垂直一体式结构向交互竞争型结构转变,社区综合能源系统的分布式特征愈发明显,传统的集中优化方法难以揭示多主体间的交互行为.该文提出一种基于主从博弈的社区综合能源系统分布式协同优化运行策略,将综合能源销售商作为领导者,新能源冷热电联供运营商和负荷聚合商作为跟随者,求解各方在追求目标最优时的交互策略.首先,介绍社区综合能源系统的交易模式及数学模型,并将其嵌入到主从博弈框架下,建立一主多从的分布式协同优化模型.其次,证明Stackelberg均衡的唯一性,并通过遗传算法和二次规划相结合的算法求解.最后,通过算例验证所提方法的有效性,供能侧的收益和用能侧的消费者剩余同时得到提升.

本文提出的 CIES 集成 IER、新能源 CCHP 系统以及可调节负荷于一体,以 IER 为纽带,新能源

CCHP 系统为基础,协同互联电力网络,实现经济、高效供能,科学、合理用能,具体架构如图 1 所示。本文中IER是基于电力市场中售电公司的概念提出的,在电能交易的基础上又考虑了热能交易,

满足用户的多样化需求。IER 作为源、荷之间的桥梁,基于供需关系,日前优化购入、售出的电价、

热价,从供能侧购买电、热等能源,并出售给用能侧,从中赚取收益。IER 这一模式的引入,能够提

供相比电网更加灵活的电价策略,对于引导分布式供能系统参与电力市场竞争、鼓励中小型社区用户

科学用能都具有积极作用。在能源交易过程中,IER同样需要承担因价格波动、供需不平衡而带来的风险。当 CCHP 输出电功率无法满足负荷需求时,IER必须高价从电网购电。考虑到热能转换、传输的损耗较大,所以热能主要由社区内的 CCHP 机组就地提供,为了避免出现供热中断,当 IER 不能满足热负荷需求时,需要支付一定的惩罚费用。

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

用户电、热、冷不同的能量需求,其结构示意图如图 2 所示。文中新能源包含风电、光伏等,并采用

最大化消纳原则。可控单元包括内燃发电机、燃气锅炉。内燃机发电的同时,缸套水和烟气中携带的

热量可以通过余热装置回收再利用,并与燃气锅炉产生的热量一起,在冬季经热交换器供热,或夏季

经吸收式制冷机转化为冷量为用户供冷。基于 IER的报价,运营商优化各设备的逐时出力,以获得更

高的收益。​

⛄ 部分代码

figure

plot(trace(:,1),trace(:,2),'r-*','linewidth',1.5)

xlabel('迭代次数');

ylabel('目标函数值');

set(get(gca,'XLabel'),'Fontsize',14) 

set(get(gca,'YLabel'),'Fontsize',14)

title('DE上层目标函数曲线');

legend('能源运营商收益曲线')

% set(gca,'YLim',[-20000 20000]);

box off

figure

plot(trace(:,1),trace(:,4),'b-o','linewidth',1.5);

xlabel('迭代次数');

ylabel('目标函数值');

set(get(gca,'XLabel'),'Fontsize',14) 

set(get(gca,'YLabel'),'Fontsize',14)

title('DE下层目标函数曲线');

legend('用户收益曲线');%%用户收益曲线

% set(gca,'YLim',[0 30000]);

box off

x=1:24;

figure

% yyaxis left

plot(x,Ppv,'r-*','linewidth',1.5)

hold on

plot(x,Pwt,'g-*','linewidth',1.5)

grid

xlabel('时间/h');

ylabel('风光出力');

% yyaxis right

plot(x,de,'b-*',x,dh,'y-+','linewidth',1.5);

xlabel('时间/h');

ylabel('用户负荷曲线/kW');

% set(get(gca,'XLabel'),'Fontsize',14) 

% set(get(gca,'YLabel'),'Fontsize',14)

% title('典型用户的负荷预测曲线');

legend('光伏预测曲线','风机预测曲线','电负荷曲线','热负荷曲线');

% set(gca,'XLim',[1 24]);%X轴的数据显示范围

% set(gca,'YLim',[0 2000]);

% legend('光伏预测曲线','风机预测曲线');

box off

xx=1:24;

figure

plot(xx,de,'-*',xx,de1+le,'-+','linewidth',1.5);

hold on 

bar((de-de1),0.5)

grid

xlabel('时间/h');

ylabel('电负荷/kW');

set(get(gca,'XLabel'),'Fontsize',14) 

set(get(gca,'YLabel'),'Fontsize',14)

title('需求响应前后电负荷曲线');

legend('优化前电负荷','优化后电负荷','削减负荷量');

set(gca,'XLim',[0.5 24.]);%X轴的数据显示范围

 set(gca,'YLim',[0 2000]);

box off

figure

plot(xx,dh,'-*',xx,dh+lh,'-+','linewidth',1.5);

hold on

grid

bar(lh,0.5)

xlabel('时间/h');

ylabel('热负荷/kW');

set(get(gca,'XLabel'),'Fontsize',14) 

set(get(gca,'YLabel'),'Fontsize',14)

title('需求响应前后热负荷曲线');

legend('优化前热负荷','优化后热负荷','削减负荷量');

set(gca,'XLim',[1 24]);%X轴的数据显示范围

 set(gca,'YLim',[-500 1500]);

box off

figure

bar(Qgb,'stack')

hold on

grid

plot(xx,Pice,'r-*',xx,Pice*(1-n_ice)*n_ex/n_ice,'g-o','linewidth',1.5);

xlabel('时间/h');

ylabel('功率/kW');

set(get(gca,'XLabel'),'Fontsize',14) 

set(get(gca,'YLabel'),'Fontsize',14)

title('需求响应前后热负荷曲线');

legend('燃气轮机出力','燃气锅炉出力','余热锅炉出力');

set(gca,'XLim',[1 24]);%X轴的数据显示范围

box off

figure

bar(Qgb,'stack')

hold on

grid

plot(xx,Pice,'r-*',xx,Pice*(1-n_ice)*n_ex/n_ice,'g-o','linewidth',1.5);

xlabel('时间/h');

ylabel('功率/kW');

set(get(gca,'XLabel'),'Fontsize',14) 

set(get(gca,'YLabel'),'Fontsize',14)

title('需求响应前后热负荷曲线');

legend('燃气轮机出力','燃气锅炉出力','余热锅炉出力');

set(gca,'XLim',[1 24]);%X轴的数据显示范围

box off

figure

% plot(xx,Psell,'-*',xx,Pbuy,'-+');

bar(Psell','stack');

hold on

bar(Pbuy','stack')

xlabel('时间/h');

ylabel('功率/kW');

set(get(gca,'XLabel'),'Fontsize',14) 

set(get(gca,'YLabel'),'Fontsize',14)

title('市场交易结果');

legend('卖的电量','买的电量');

set(gca,'XLim',[0.5 24.5]);%X轴的数据显示范围

box off

figure

for xx=1:24

    a1(xx)=best(xx);%ceb

    a3(xx)=best(xx+48);%ces

end

xx=1:24;

stairs(xx,grid_fs,'r--','linewidth',1.5);

hold on

stairs(xx,grid_sw,'g--','linewidth',1.5);

hold on

stairs(xx,a1,'b-*','linewidth',1.5);

hold on

stairs(xx,a3,'c-+','linewidth',1.5);

xlabel('时间/h');

ylabel('电价/元');

set(get(gca,'XLabel'),'Fontsize',14) 

set(get(gca,'YLabel'),'Fontsize',14)

title('内部电价结果');

legend('电网分时电价','电网上网电价','IER购电电价','IER售电电价');

set(gca,'XLim',[1 24]);%X轴的数据显示范围

set(gca,'YLim',[0 2]);

box off

figure

for xx=1:24

    a2(xx)=best(xx+24);%ceb

    a4(xx)=best(xx+72);%ces

end

xx=1:24;

stairs(xx,ch_min,'r--','linewidth',1.2);

hold on

stairs(xx,ch_max,'g--','linewidth',1.2);

hold on

stairs(xx,a2,'b-*','linewidth',1.2);

hold on

stairs(xx,a4,'c-+','linewidth',1.2);

xlabel('时间/h');

ylabel('电价/元');

set(get(gca,'XLabel'),'Fontsize',14) 

set(get(gca,'YLabel'),'Fontsize',14)

title('内部热价结果');

legend('热价下线','热价上限','IER购热价','IER售热价');

set(gca,'XLim',[1 24]);%X轴的数据显示范围

set(gca,'YLim',[0 1]);

box off

x=1:24;

PP=[Pbuy;Pdischarge;Pice;Pwt;Ppv];

PP1=[Psell;-Pcharge];

figure

bar(PP','stack');

% set(h,'Orientation','horizon')

hold on

bar(PP1','stack');

plot(x,value(de1+le),'g-*','linewidth',1.5);

legend('交换功率','蓄电池出力','燃气轮机出力','风电出力出力','光伏出力','售电电量','充电电量','负荷曲线');

xlabel('时段');ylabel('功率/kW');

hold off

x=1:24;

QQ=[Hto;Qgb*n_c;Pice*(1-n_ice)*n_ex/n_ice*n_c];

QQ1=[-Hti];

figure

bar(QQ',0.6,'stack');

hold on

bar(-value(dh+lh)',0.6,'stack');

bar(QQ1',0.6,'stack');

hold on

xlabel('时段');ylabel('功率/kW');

legend('蓄热槽出力','燃气锅炉出力','余热锅炉出力','总热负荷','充热量');

% set(h,'Orientation','horizon')

hold off

⛄ 运行结果

⛄ 参考文献

[1]王海洋, 李珂, 张承慧,等. 基于主从博弈的社区综合能源系统分布式协同优化运行策略[J]. 中国电机工程学报, 2020, 40(17):10.

⛄ Matlab代码关注

❤️部分理论引用网络文献,若有侵权联系博主删除

❤️ 关注我领取海量matlab电子书和数学建模资料

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/99743.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

你真的了解缓存吗?(2)

在上一篇文章你真的了解缓存吗?(1)中,我介绍了引入缓存的利与弊,以及在选择一款缓存中间件时应该注意什么。在这一篇文章中,我们继续介绍在不同的业务场景下,如何进行缓存的选择,具体来说就是缓存的分类,和…

嵌入式分享合集123

一、简易大功率变压器电路图 本文介绍的电子变压器克服了传统硅钢片变压器体积、重量大、效率低、价格高的缺点,电路成熟,性能稳定。 本电子变压器工作原理与开关电源相似,电路原理图见图1,由VD1-VD4将市电整流为直流&#xff0c…

书店管理系统(基于MySQL存储)

🎈 作者:Linux猿 🎈 简介:CSDN博客专家🏆,华为云享专家🏆,Linux、C/C、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊! &…

对标测评YD云电脑和天翼云电脑公众版

最近听说YD也推出了自研云电脑产品,抱着吃瓜心态网上充值体验了一把YD云电脑,正好我手上有天翼云电脑,凑一对测试看看两家央企在云计算领域的技术实力究竟如何。 测试环境搭建在我的个人pc上,分别下载YD云和天翼云电脑最新Windows…

[思维模式-3]:《如何系统思考》-3- 认识篇 - 什么是系统?系统的特征?

目录 第1章 什么是系统 1.1 万事万物都是一个有机的系统 1.2 系统的科学定义 1.3 系统的构成 1.4 系统的分类 第2章 动态复杂系统的八大特征 2.1 目的性 2.8 边界 2.3 结构影响行为 2.4 总体大于部分之和 2.5 因果互动 2.6 反馈 2.7 动态稳定性(动态自…

SAP ABAP 小工具 获取两个日期时间秒数和输出时间转换文本

SAP ABAP 小工具 获取两个日期时间秒数和输出时间转换文本 引言: 小工具 获取两个日期时间秒数和输出时间转换文本,用于加强用户交互直观性。 关键字:SAP ABAP 日期时间间隔 秒数 转换时间文本 文章目录SAP ABAP 小工具 获取两个日期时间秒…

[附源码]Python计算机毕业设计Django吾悦商城管理系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

计算机毕业设计springboot+vue基本微信小程序的小区防疫监管系统

项目介绍 编写工具用idea 、Maven包,后端数据库是mysql,Java语言,springboot框架。其间,在健康打卡位置和物资选购要调用接口才可实现其功能。 1、研究对象:小区居民普通用户和小区管理员 管理员权限:管理员是整个系统的操作者,系统的各个模块都能进行信…

python中pandas进行数据分析与可视化(3)

1.创建数据源 在前几篇博客中,都是手动创建少量数据充当数据源,这次通过随机生成,让数据量多一些 # 导入所有需要的库 import pandas as pd import numpy.random as np import openpyxl import xlrd import matplotlib.pyplot as plt#创建一…

Python基础 - 本地模块的绝对导入/引用

目录 1. 项目入口文件 2. 绝对导入 Python本地模块的引入是比较简单的,包括绝对引用和相对引用(相对引用的博客参考下一篇Python基础 - 本地模块的相对导入/引用),个人比较推荐使用绝对引用,会避免掉很多错误,本篇文章主要介绍绝…

【Javassist】快速入门系列01 使用Javassist实现Hello World

系列文章目录 01 使用Javassist实现Hello World 文章目录系列文章目录前言引入Javassist jar包使用Javassist实现Hello World总结说明前言 本篇文章为Javassist入门系列文章,适合了解Java基础语法的人零基础学会使用Javassist实现一个Hello World程序。 引入Javas…

国企招聘: 中国雄安集团2023校园招聘,面向全国,不限户籍

中国雄安集团有限公司2023年校园招聘公告 中国雄安集团有限公司(以下简称“中国雄安集团”)成立于2017年7月18日,是雄安新区开发建设的主要载体和运作平台。结合雄安新区建设需要,中国雄安集团布局金融与投资、城市发展与城市资源…

高低电平报警器-(模电、数电电子课程设计,毕业设计)Multisim仿真图

目录1 背景与意义1.1 研究背景1.2 研究内容1.3 技术指标2 电路设计2.1 各单元电路设计2.1.1 步进电源电路设计2.1.2 比较电路设计2.1.3 报警电路设计2.2 总体电路设计3 Multisim电路仿真与调试3.1仿真过程3.1.1 步进电源仿真调试3.1.2 总体电路仿真与调试3.2仿真结果分析4 总结…

Java项目:SSM婚纱影楼摄影商城项目网站

作者主页:源码空间站2022 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 本项目分为前后台,前台为普通用户登录,后台为管理员登录; 管理员角色包含以下功能: 管理员登录…

R语言学习笔记——高级篇:第十四章-主成分分析和因子分析

R语言 R语言学习笔记——高级篇:第十四章-主成分分析和因子分析 文章目录R语言前言一、R中的主成分和因子分析二、主成分分析2.1、判断主成分的个数2.2、提取主成分2.3、主成分旋转2.4、获取主成分得分三、探索性因子分析3.1、判断需提取的公共因子数3.2、提取公共…

uboot启动流程

目录 1. 从汇编到C语言 1. 从汇编到C语言 uboot整个程序的入口是 ./arch/arm/lib/vectors.S 的 start 其中,reset 来自于 ./arch/arm/cpu/armv7/start.S, ./arch/arm/cpu/armv7/start.S 程序的执行路径为 reset --> save_boot_params_ret --> cp…

【C语言数据结构(基础版)】第四站:栈和队列

目录 一.栈的表示和实现 1.栈的概念及结构 2.栈的实现 二、栈的实现 1.栈的声明和定义 2.栈的初始化 3.栈的销毁 4.入栈 5.出栈 6.返回栈顶元素 7.返回栈的元素个数 8.栈是否为空 9.测试 三、栈的完整代码 四、队列的表示和实现 1.队列的概念和结构 2.队列的实现…

光环:工业互联网探索及案例——杨宝刚

摘要:文章内容主要来源于光环国际2022年第三届中国科创者大会杨宝刚老师的分享,原分享名称为"工业互联网助力企业数智化转型"。讲述了工业互联网概念及用友锅炉的一个实例运用。业互联网是一个整合平台,把你的需求告诉平台&#xf…

比亚迪携手亚洲足球小姐王霜发布品牌广告:为梦想,一路向前

在世界杯进入半决赛的最后一天——12月15日,比亚迪发布了全新的品牌宣传片《为梦想,一路向前》:携手亚洲足球小姐王霜,通过足球与梦想的故事,向每一位勇敢前行的追梦人致敬。业内几乎所有人都肯定了此次合作&#xff0…

java基于微信小程序的点餐系统-计算机毕业设计

开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:…