电-热耦合市场联合出清!考虑均衡约束的综合能源系统电-热分配方法程序代码!

前言

随着现代城市面临环境问题,原来燃煤的水和空间供暖设备已逐渐被电锅炉和热泵等电气设备所取代。此外,集中生产热能并通过管网分配热能的区域供暖系统,由于其更高的效率,在冬季漫长寒冷的国家和地区越来越受欢迎。供暖设备的电气化和区域供暖网络(DHN)的迅速发展,创造了综合能源分配系统,利用城市地区的多种能源。这种耦合基础设施的关键组成部分是能源枢纽(EH),它起着能源生产、转换和储存的作用。EH影响具有异构能源载体的不同物理系统的运行,并有可能同时参与电力、供暖和天然气市场。

市场出清模型

所谓出清,即确定市场中的零售商可以出售的电量和价格。由此扩展到电热互联综合能源系统中,该系统共有3个责任主体:电网PDN,热网DHN,系统运行商EH,电网(热网)将可出售的电量及价格(热量及价格)上报给EH,EH与其他网络进行招投标,以高价匹配高价的形式锁定交易方,从而降低本系统的成本。

通过利用电能存储单元(ESU)和储热单元(TSU)提供的灵活性以及电力、供暖和天然气市场之间的耦合,专注于EH的投标与定价。作出以下假设:

1)考虑未来一天的电力和供暖市场变化,对负荷进行预测。忽略模型的不确定性,在需要时使用场景方法进行补充。实时市场中平衡发电和需求之间的差异。市场由电力市场运营商(EMO)和供热市场运营商单独运营。

2)PDN和DHN通过EH连接。PDN中的潮流状态由线性支路流模型表示。DHN中的热状态通过具有恒定流量的液压和热组合公式来描述。联合市场将其电力(供暖)报价/投标价格和容量提交给EMO(HMO),EMO随后对电力(供热)市场出清,以最大限度地降低总生产成本,并根据报价进行付款,这两个市场的投标策略在空间和时间上是对应的。

3)电力和热力的价格受到约束,并不是价格越高越好,因为较较高的价格会导致较低的市场份额(EMO和HMO自发自用,而不是购买能源)。从电力市场的角度来看EH是一个生产消费者:它既可以消耗电力,也可以提供电力;从供暖市场的角度来看,它是一家生产商。

在PDN的决策问题中,不确定性通常源于市场价格和可再生能源发电。两个市场之间的能源价格取决于投标策略或双边协议,天然气价格由天然气零售商决定。鉴于目前的天然气市场,天然气价格保持不变。然而,PDN总线上的节点电价由上层电网决定。

由于储能的存在,在模型中不考虑不确定因素,可以减少可再生能源波动带来的影响。尽管如此,如果考虑不确定因素对经济性的影响,我们可以使用基于场景的随机规划方法,从而最大限度地减少EH的预期收益。

所提出的模型和方法可以在各种应用中提供有用的信息。能源枢纽所有者可以使用所提出的方法来确定电力和供暖市场的最优投标策略;投资者可以使用该模型来检验给定条件下能源枢纽的利润,帮助他选择更好的计划;政府机构可以使用该模型来调查能源枢纽的市场力量和综合能源系统中的均衡状态,从而确定关键的市场参数(如最高发行价格),维护市场公平。

系统结构如下:

程序介绍

电-热(EH)互联系统提高了系统的能源利用效率,其中能源母线在能源生产、转换和储存方面发挥着重要作用。在综合能源背景下,程序提出了考虑平衡约束数学(MPEC)模型,研究EH在电力和热力市场中如何保证运行的经济性。在上层模型中,EH向电力市场和热力市场提交价格和容量。在下层模型中,两个市场同时出清,EH和两个市场之间的电热交易被锁定。通过互补性和松弛性条件进行整数处理,并对双线性项进行二进制展开,得到混合整数线性规划的MPEC模型。程序中算例丰富,注释清晰,干货满满,创新性和可扩展性很高,足以撑起一篇高水平论文!下面对程序做简要介绍!

程序适用平台:Matlab+Yalmip+Cplex

参考文献:《Participation of an Energy Hub in Electricity and Heat Distribution Markets: An MPEC Approach》-IEEE Trans on Smart Grid​;

程序结果

部分程序

%%  参数选择 ​
BAU = 0;   ​ % 基准值 1, 0
Option_Price = 4;   % 分时电价 1, 峰谷 2, 偶尔 3, LMP 4
Option_Gas = 1;     % 便宜 1, 昂贵 2, 随机 3​
​Option_GenCostCap = 1;  % 减少发电成本 & 增加 GTGB 容量
case 1  % 春季SeasonP = 1; SeasonD = 2;
​case 2  % 夏季SeasonP = 2; SeasonD = 1;
​case 3  % 秋季SeasonP = 3; SeasonD = 3;
​case 4  % 冬季SeasonP = 4; SeasonD = 3;
%% 负荷参数​
eval('SysPDN33'); % 负荷 0.35 ~0.5 p.u.eval('SysDHN32'); % 负荷 0.2 p.u. ​
%% 约束条件
% 上层约束为常数
Para_Price_P_in =  7758;​Para_Price_P_out = 201314;
Para_Price_H = 52121;Para_Quan_P_in = 7474;​
%%  KKT条件
%%% 导出矩阵形式​%%% 定义上层变量
clear Pr_E_in Pr_E_out p_hat_hub_in p_hat_hub_out
Pr_E_in = sdpvar(1,NT,'full');​Pr_E_out = sdpvar(1,NT,'full');
p_hat_hub_in = sdpvar(1,NT,'full');p_hat_hub_out = sdpvar(1,NT,'full');​
%%% 查找参数
Ind_Vara_P_out = getvariables(p_hub_out); % 无功约束​
%%% 更新变量矩阵
x_kkt_PDN = sdpvar(length(recoverymodel_PDN.used_variables),1,'full');​
big_M = 1e5;​
%%% 变量 & 约束
Ind_Vara_Others = setdiff(1:size(x_kkt_PDN,1),[Ind_Vara_P_out, Ind_Vara_P_in]);
Ind_Cons_Others = setdiff(1:size(model_PDN.Aineq,1),[Ind_Cons_Quan_P_out, Ind_Cons_Quan_P_in]);​
%% KKT约束
Obj_DOWN_DHN = (1+GenCost_Factor)*alphaGB(DataDHN.IndGB(1),:)*sum(Hg_GB(DataDHN.IndGB(1),:).^2) + betaGB(DataDHN.IndGB(1),:)*sum(Hg_GB(DataDHN.IndGB(1),:))+...​
%% 上层变量
clear Pr_H h_hat_hubPr_H = sdpvar(1,NT,'full');​h_hat_hub = sdpvar(1,NT,'full');
%%% 查找参数 
Ind_Vara_H = getvariables(h_hub); % 无功变量
% !!!注意两次导出时变量的重叠!!!
[Index,ia_out,ib] = intersect(recoverymodel_DHN.used_variables,Ind_Vara_H); ​
%%% 更新矩阵
x_kkt_DHN = sdpvar(length(recoverymodel_DHN.used_variables),1,'full');​
big_M = 1e5;​
%% 市场博弈层​F_PF_Hub_Bid = [];

部分内容源自网络,侵权联系删除!

欢迎感兴趣的小伙伴关注并私信获取完整版代码,小编会不定期更新高质量的学习资料、文章和程序代码,为您的科研加油助力!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Windows电脑搭建HarmonyOS NEXTDeveloper Preview2环境详解

Windows电脑搭建HarmonyOS NEXTDeveloper Preview2环境详解: HarmonyOS NEXT Preview系列教程基于Api11讲解-IT营大地老师 1 、电脑要求以及注意事项 操作系统 : Windows10 64 位、 Windows11 64 位 内存 : 8GB 及以上,推荐 16G…

传闻不断!TCL紧急澄清 | 百能云芯

TCL科技5月7日晚间发布澄清公告称,近日关注到有媒体发布《TCL华星年内投630亿元加入8代oled线竞逐!》《TCL华星计划年内投资第八代OLED》等相关报道。公司目前无新建8代或8.6代OLED产线的投资计划,公司不存在通过定增募集资金新建显示产线的计…

启英泰伦“离线自然说”技术,让智能语音芯片更善解人意

“以科技创新推动产业创新,特别是以颠覆性技术和前沿技术催生新产业、新模式、新动能,发展新质生产力”。2023年12月,中央经济工作会议强调了发展新质生产力的路径。“科技创新是发展新质生产力的核心要素,这也是我们一直潜心在做…

spring模块(六)spring监听器(2)@EventListener

一、介绍 监听器的简化写法 二、原理 三、使用 Slf4j Component public class MyTask {EventListenerpublic void onApplicationEvent(ApplicationEvent event) {if (event instanceof ContextRefreshedEvent) {log.info("监听到 ContextRefreshedEvent...");}if…

牛客题-链表内区间反转

链表内区间反转 这是代码 typedef struct ListNode listnode; struct ListNode* reverseBetween(struct ListNode* head, int m, int n ) {if (head NULL) {return NULL;}listnode* findhead head;listnode* findtail head;listnode* prev NULL;int count1 m;int count2…

基于Springboot的校园招聘系统(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的校园招聘系统(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构&…

Unity数据持久化之Json

Json概述 Json是什么? 全称:JavaScript对象简谱(JavaScript Object Notation) Json是国际通用的一种轻量级的数据交换格式 主要在网络通讯中用于传输数据,或本地数据存储和读取 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率 我们一般使用Json文件来…

SF 不消费buffer

1、请求合成请求vsync MessageQueue.cpp 返回nextWakeupTime struct ArmingInfo { nsecs_t mActualWakeupTime; nsecs_t mActualVsyncTime; nsecs_t mActualReadyTime; }; 在schedule 请求vsync 时会根据算法计算出nextVsyncTime时间&#…

企业怎样进行IT外包以及IT外包服务内容

在数字化时代的浪潮中,企业逐渐认识到信息技术的关键作用,特别是制造业基地对于IT外包和运维服务的需求持续增长。然而,在诸多可供选择的IT外包和运维方案中,企业如何推动与IT外包公司的合作?本文将深入介绍IT外包方案…

Python解释器3.8.2版本安装详细教程

Python解释器提取链接链接: https://pan.baidu.com/s/1eDvwYmUJ4l7kIBXewtN4EA?pwd1111 提取码:1111 演示版本为3.6.8,链接安装包为3.8.2版,包中附加pytharm安装包。 1.双击提取好的python-exe安装文件,会…

泛型编程四:容器

文章目录 前言一、序列容器verctor 总结 前言 STL有六大部件,容器、算法、仿函数、迭代器、适配器和分配器。除了算法是函数模板,其他都是类模板。容器可以分为序列容器和关联容器。常见的序列容器有vector、array、deque、list、forward-list&#xff…

Ansible——playbook编写

一、简介 1.什么是playbook Ansible Playbook 是设定自动化任务的一种蓝图,可在无需人工干预或有限干预的前提下执行复杂的 IT 操作。Ansible Playbook 对一组或一类共同构成 Ansible 清单的主机执行。 Ansible Playbook 本质上是一些框架,是一些预先编…

C/C++ 入门(10)list类(STL)

个人主页:仍有未知等待探索-CSDN博客 专题分栏:C 欢迎来指教! 一、标准库中的list 1、了解 list:是一个双向带头循环链表,不支持随机访问(即下标访问),任意位置的插入删除效率高。 …

1.使用uniapp搭建微信小程序项目并引入前端组件资源

文章目录 1. 项目配置1.1. 新建vue3项目1.2. 关联云空间1.3. 运行到微信开发者工具 2. 前端组件2.1. uniCloud的内置组件和扩展组件2.2. uView3.02.3. 在uniapp项目引入uview3 1. 项目配置 1.1. 新建vue3项目 由于我们要使用vue3而不是vue2,所以要选好版本&#x…

1688数据分析实操技巧||1688商品数据采集接口 数据分析

今天,聊一聊B2B平台的数据分析,以1688国内站为例。 1688平台数据接口 1688也属于阿里巴巴的体系,跟淘宝天猫运营很像,因此很多淘宝天猫的玩法调整后也适用于1688。数据分析也是如此。 在1688搞数据分析,搞数据化运营可…

路由策略与路由控制

1.路由控制工具 匹配工具1:访问控制列表 (1)通配符 当进行IP地址匹配的时候,后面会跟着32位掩码位,这32位称为通配符。 通配符,也是点分十进制格式,换算成二进制后,“0”表示“匹配…

(二刷)代码随想录第1天|704. 二分查找 27. 移除元素

704. 二分查找 704. 二分查找 - 力扣(LeetCode) 代码随想录 (programmercarl.com) 手把手带你撕出正确的二分法 | 二分查找法 | 二分搜索法 | LeetCode:704. 二分查找_哔哩哔哩_bilibili 给定一个 n 个元素有序的(升序&#xff09…

(六)JSP教程——out对象

out对象是在JSP中经常使用到的对象,它本质上是一个输出流,前面已经多次使用,我们经常使用它的print()和println()方法,这些方法主要用于实现客户端数据的输出。通过out对象也可以直接向客户端发送一个由程序动态生成的HTML文件。 …

时序图详解

1.这是iic总线在回应时候的时序图,data in代表eeprom收到数据,回stm32的ack,数据回应,data out代表stm32收到eeprom的消息,数据输出ack回应 2.交叉线 代表在这一次输出高电平,或者在这一次也可能输出低电…

JAVA队列相关习题4

1. 用队列实现栈。 225. 用队列实现栈 - 力扣(LeetCode) 一个队列无法实现栈 尝试使用两个队列 1)push元素的时候应当放在那里?哪个队列不为空就放在哪里 2)出栈的时候,出不为空的队列size-1元素,剩余元…
最新文章