Shapley量化调峰成本?高比例可再生能源电力系统的调峰成本量化与分摊模型程序代码!

news2024/11/16 12:58:14

前言

在能源安全、环境污染和气候变化的大背景下,大力发展可再生能源是应对全球气候变化,实现“碳达峰、碳中和”和可持续发展的重大需求。截至2020年底,中国风电总装机容量为281GW,风力发电466.5TW·h,同比增长约15%;光伏发电总装机容量为253 GW,光伏发电260.5TW·h,同比增长约16%。风电、光伏等可再生能源出力具有波动性、不确定性以及不可调峰性等特点,大规模可再生能源接入对电力系统调峰能力提出了更高要求。现行的调峰成本分摊机制按照上网电量或电费的比例在发电侧内部平衡,无法反映负荷和可再生能源等主体对调峰成本引发的程度。明确调峰辅助服务的需求主体,制定公平合理的调峰费用分摊机制将有利于促进发电企业为消纳可再生能源提供辅助服务。

调峰成本分摊机制

调峰需求主体

调峰服务是指发电机组为了跟踪负荷的峰谷变化而有计划地、按照一定调节速度调整发电机组出力所提供的服务。区别于表现为静态容量特性的备用服务,调峰辅助服务更多地表现为应对负荷变化的动态调节特性。随着可再生能源上网电量比例的增加,系统净负荷的波动变化逐渐偏离系统负荷的波动变化。常规机组需要同时调节负荷的峰谷变化和可再生能源出力的波动,调峰服务的具体体现为对净负荷波动变化的调节。

风电、光伏等可再生能源受自然资源的影响,出力具有波动性和不可调峰性等特征,和负荷比较类似,可以看成是一种“负”负荷。

下图所示为含可再生能源消纳的电力系统调峰示意图。上调峰极限与净负荷之间的差值表示系统预留的正旋转备用,下调峰极限与净负荷之间的差值为系统的负旋转备用,系统的正、负旋转备用要求一般取负荷的一定比例。常规机组不仅要满足正负备用需求,还需要跟踪净负荷的峰谷变化,常规机组提供的最大下调峰深度随着净负荷峰谷差的加大而增加。当净负荷波动处于系统基本调峰范围内时,仅通过基本调峰就能满足净负荷的峰谷变化。当净负荷波动变化超过系统基本调峰临界值时,则需要根据经济性原则投入抽水蓄能、深度调峰、启停调峰等高成本调峰方式。随着净负荷峰谷差加大,投入的高成本调峰资源越多,调峰成本越大。当消纳可再生能源导致的调峰成本大于可再生能源的价值时,适当削减可再生能源上网电量有利于电力系统的经济运行。

调峰成本分析

在量化调峰需求主体导致的调峰成本时,借鉴了分析风电波动成本时用到的替代场景思路,但不同之处主要有两点:其一,研究对象不局限于风电,对每个调峰需求主体建立了无调峰需求的替代场景,将负荷和可再生能源出力曲线分别转换为无波动的均值线;其二,综合考虑了不同调峰需求主体对系统调峰成本的相互影响。单一主体有无调峰需求两种情况下系统调峰成本的差值仅能代表该主体导致的边际调峰成本。将调峰需求主体导致的加权平均边际调峰成本作为各自导致的调峰成本,这种方法既体现了不同主体之间对系统调峰成本的相互影响,也体现了公平性原则。对于负荷,其替代场景可以理解为负荷转移;对于可再生能源,其替代场景则可以理解为与储能或需求响应资源联合实现,如风电厂联合抽水蓄能电站实现电能的平缓输出。

调峰成本分摊方法

Shapley值是经济学上解决公共费用分摊与补偿问题最常用的方法之一,其思想为参与者应承担的成本等于参与者对其所参与联盟的平均边际贡献。为体现不同调峰需求主体对系统调峰成本的相互影响,采用Shapley值计算不同调峰需求主体导致的调峰成本,并以此为基础分摊有偿调峰成本。这种分摊方法体现了调峰需求主体对系统调峰成本的影响,符合“谁引发谁承担”的原则。由于目前可再生能源参与辅助服务的市场交易机制尚不完善,文中未考虑负荷和可再生能源主动参与调峰辅助服务的情况。另外,基于Shapley值的调峰成本量化方法需要2|N|次调度优化计算,面临一定的计算困难,因此这种方法适用于调峰需求主体有限的情况。为了降低计算难度,可采用分类或聚类等方法减少Shapley值计算的成员数量,然后对同一类别内的成员采用相同的规则分摊成本。

程序介绍

程序从净负荷波动的角度出发,建立了调峰成本的量化与分摊模型,构造了无调峰需求的替代场景,将负荷和可再生能源出力曲线分别转换为无波动的均值线。其次,建立了含深度调峰和抽水蓄能的调度优化模型,用于计算不同场景下的调峰成本,并将有无调峰需求两种场景下的系统调峰成本之差作为单一主体导致的边际调峰成本,然后采用Shapley值计算不同主体导致的调峰成本。最后,根据成本的引发程度分摊调峰成本。程序中算例丰富,注释清晰,干货满满,创新性和可扩展性很高,足以撑起一篇高水平论文!下面对程序做简要介绍!

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

参考文献:《高比例可再生能源电力系统的调峰成本量化与分摊模型》-电力系统自动化

程序结果

部分程序

%%  公式(6)   目标函数:调峰成本
Cost = sdpvar(1,1);   %系统总调峰成本​P300_Diot = sdpvar(18,4,24,'full');
P600_Diot = sdpvar(18,4,24,'full'); 
y300_it = binvar(18,24,'full');  % 机组i在时段t是否开启动作的0-1变量
z300_it = binvar(18,24,'full');  % 机组i在时段t是否停机动作的0-1变量
y600_it = binvar(18,24,'full');      z600_it = binvar(18,24,'full');      ​
%% 公式(7)   电平衡约束
%需要注意的是,AA(i,j,t),无法通过AA(1,1,1:24)的方式,调取出一个向量
%只能通过AA(1,1,1)的方式,调取出一个数值,范例如下:
% A = ones(18,4,24);
% AA = sum(sum(A(:,:,1)));
% AAA=AA(1,1,1:24);
P_PuG = sdpvar(4,24,'full');    %抽水蓄能发电​
%%  公式(8-9)系统正负旋转备用约束
u200Git = binvar(20,24,'full');   %uit 表示机组运行状态的0-1变量,1开机,0关机
u300Git = binvar(18,24,'full');  ​u600Git = binvar(18,24,'full');  
R_Ureq = (Eload*0.05+E_Wind*0.05+E_PV*0.05);    %正旋转备用
R_Dreq = (Eload*0.05+E_Wind*0.05+E_PV*0.05);    %负旋转备用​
%%  公式(10-12)火电机组功率大小约束,这里换一种方法去写
uP300_Diot = binvar(18,4,24,'full');​uP600_Diot = binvar(18,4,24,'full');
%公式(11-12)不用再写了,已经隐含在上式(10)里了。
%%   公式(13-14)
%约束的含义是,持续运行需要受到上下爬坡约束,但启停不受爬坡约束。火电机组爬坡率为2%/min,小时调度体现不出来
sum(P300_Diot(i,:,t))-sum(P300_Diot(i,:,t-1)) <= 0.3*300+(1-u300Git(i,t-1))*300,​              
​P200_it(i,t)-P200_it(i,t-1) <= 0.3*200+(1-u200Git(i,t-1))*200,
​P200_it(i,t-1)-P200_it(i,t) <= 0.3*200+(1-u200Git(i,t))*200,     
%%   公式(15-16)   火电机组的启停状态标识位置
 y200_it(:,2:24)-z200_it(:,2:24)==u200Git(:,2:24)-u200Git(:,1:23),  %公式(15)​
%%   公式(17-18)   最短运行时间,最短停机时间限值,取20h和10h
%需要注意的是,调度的维度只有24,因此,编写代码的时候,需要避免调用越界24​
 C = [C,sum(u200Git(i,t:(t+Ton-1))) >= Ton*y200_it(i,t)];C = [C,sum(u300Git(i,t:(t+Ton-1))) >= Ton*y300_it(i,t)];​
%%  公式(19)  可再生能源出力约束​
0<=P_PVcur,P_PVcur<=E_PV,​P_PV+P_PVcur==E_PV,
​0<=P_Wind,P_Wind<=E_Wind,
​<=P_Windcur,P_Windcur<=E_Wind,
%%  公式(20-24)  抽水蓄能电站功率约束
U_PuG = binvar(4,24,'full');​U_PuS = binvar(4,24,'full');
u_PuG = binvar(1,24,'full');u_PuS = binvar(1,24,'full');​
%%  公式(25-27)  抽水蓄能电站容量约束
%抽水蓄能电站的综合效率为0.75,取抽水效率为0.9 ,发电效率为0.833 ,nG=1.2
%抽水蓄能可以直接用电量表示容量,也可以用蓄水量代表容量​
%仔细看公式(25)可知,文中的抽水蓄能是四个抽水机,四个发电机,共用一个蓄水池

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

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

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

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

相关文章

Reddit数据API 获取reddit的帖子、评论、按关键字搜索

近期调研发现 iDataRiver平台 https://www.idatariver.com/zh-cn/ 提供开箱即用的Reddit数据采集API&#xff0c;是目前用下来最方便简单的API&#xff0c;可以抓取 reddit 公开数据&#xff0c;例如 subreddit 中的帖子、按关键字搜索以及文章评论等&#xff0c;供用户按需调用…

【算法】实验室2024第一次考核复盘

【算法】实验室2024第一次考核复盘 本篇博客将遵循从易到难的原则&#xff0c;依次解析这几道考核题目。 原题链接&#xff1a; 125. 验证回文串 - 力扣&#xff08;LeetCode&#xff09; 使用两个指针i和j分别从字符串的两端开始&#xff0c;i从左往右&#xff0c;j从右往左。…

MySQL如何避免全表扫描?

MySQL如何避免全表扫描&#xff1f; 这篇文章解释了何时以及为什么MySQL会执行全表扫描来解析查询&#xff0c;以及如何避免在大型表上进行不必要的全表扫描。 何时会发生全表扫描 MySQL使用全表扫描&#xff08;在EXPLAIN输出中的type列显示为ALL&#xff09;来解析查询的几…

继东风一汽通信后,天磊咨询再次与东风集团达成深度业务合作

&#xff08;天磊咨询总经理&#xff1a;刘文喜&#xff09; 在风起云涌的市场激战中&#xff0c;天磊咨询凭借其出类拔萃的专业实力与服务品质&#xff0c;犹如一颗璀璨明星般脱颖而出&#xff0c;成功与赫赫有名的东风集团达成业务合作。这一合作的达成&#xff0c;不单彰显…

用java实现PDF的下载

1.下载PDF模版 2.导入依赖 <dependency><groupId>com.itextpdf</groupId><artifactId>itext7-core</artifactId><version>7.2.5</version><type>pom</type></dependency> 3.完整代码 package com.by.controller…

数据存储的大小端和测试程序

1.引言 计算机和嵌入式产品中数据的存储方式分为大端和小端两种方式。为什么呢&#xff1f;因为对于大多数设备都需要存储超过1个字节的数据单元。比如&#xff0c;你要表达0x12345678这个数字。使用1个字节的存储空间是肯定完成不了的。因此&#xff0c;你必须使用4个字节的空…

Postgres数据库中的死锁是如何产生的,如何避免和解决?

文章目录 死锁的产生原因如何避免死锁如何解决死锁示例代码查询死锁信息终止事务 在Postgres数据库中&#xff0c;死锁是一种特殊的情况&#xff0c;其中两个或多个事务相互等待对方释放资源&#xff0c;从而导致它们都无法继续执行。这种情况通常发生在多个事务尝试以不同的顺…

HarmonyOS NEXT 使用Canvas实现模拟时钟案例

介绍 本示例介绍利用 Canvas 和定时器实现模拟时钟场景&#xff0c;该案例多用于用户需要显示自定义模拟时钟的场景。 效果图预览 使用说明 无需任何操作&#xff0c;进入本案例页面后&#xff0c;所见即模拟时钟的展示。 使用说明 无需任何操作&#xff0c;进入本案例页…

2024化工制造企业数字化白皮书

来源&#xff1a;蓝凌研究院 中国石油和化学工业联合会发布2023年中国石油和化工行业经济运行情况。数据显示&#xff0c;2023年&#xff0c;我国石化行业实现营业收入15.95万亿元&#xff0c; 同比下降1.1%&#xff0c;利润总额8733.6亿元&#xff0c;行业经济运行总体呈现低…

FastJson2中FastJsonHttpMessageConverter找不到类问题

问题描述 如果你最近也在升级FastJson到FastJson2版本&#xff0c;而跟我一样也遇到了FastJsonHttpMessageConverter找不到类问题以及FastJsonConfig找不到问题&#xff0c;那么恭喜你&#xff0c;看完本文&#xff0c;安装完fastjson2、fastjson2-extension、fastjson2-exte…

Ubuntu 安装 wine

本文所使用的 Ubuntu 系统版本是 Ubuntu 22.04 ! 如果你使用 Ubuntu 系统&#xff0c;而有些软件只在 Windows 上运行&#xff0c;例如&#xff1a;PotPlayer&#xff0c;那么该如何在 Ubuntu 系统中使用到这些 Windows 的软件呢&#xff1f;答案是安装 wine。 简单的安装步骤如…

ZeRO论文阅读

一.前情提要 1.本文理论为主&#xff0c;并且仅为个人理解&#xff0c;能力一般&#xff0c;不喜勿喷 2.本文理论知识较为成体系 3.如有需要&#xff0c;以下是原文&#xff0c;更为完备 Zero 论文精读【论文精读】_哔哩哔哩_bilibili 二.正文 1.前言 ①为什么用该技术&…

负载均衡——华为云ELB

登陆华为云--点击控制台 首先购买弹性云服务器ECS &#xff08;能省则省&#xff09; 基础配置 网络配置 高级配置 &#xff08;购买两台&#xff09; 点击购买 在安全组开放了一个端口9090 分别登陆两台后端服务器&#xff0c;打开http服务于9090端口 用 nohup python …

腾讯云服务器,部署mysql数据库后无法远程访问?

一&#xff0c;首先确定自己部署的数据库&#xff0c;是否可以正常登录&#xff0c;验证部署是否是否成功 mysql -u root -p二、放开mysql远程访问权限&#xff0c;依次输入这些命令 create user root% identified with mysql_native_password by xxxxx; grant all privilege…

linux 设备树-of_address_to_resource

实例分析-reg 属性解析(基于ranges属性) /{#address-cells <0x01>;#size-cells <0x01>;soc {compatible "simple-bus";#address-cells <0x01>;#size-cells <0x01>;ranges <0x7e000000 0x3f000000 0x1000000 0x40000000 0x40000000…

lesson03:类和对象(中)

1.类的6个默认的成员函数 2.构造函数 3.析构函数 4.拷贝构造函数 1.类的6个默认的成员函数 空类&#xff08;类中一个成员都没没有&#xff09;会有成员函数吗&#xff1f; 其实是有的&#xff01;如果我们在类中什么都不写&#xff0c;编译器会自动生成6个默认成员函数&a…

HTML的学习-通过创建相册WEB学习HTML-第二部分

文章目录 二、学习开始3.6、form元素示例&#xff1a;添加form元素示例&#xff1a;action属性添加到form属性中 3.7、input元素示例&#xff1a;在input属性中添加参数 3.8、button元素示例&#xff1a;在button中添加type元素示例&#xff1a;定义单选按钮radio 3.9、id属性示…

时序分析基础(6)——input delay时序分析

1 简介 FPGA对于外部的时钟以及数据的延时信息是不知道的&#xff0c;在低速时钟且时钟发射沿在数据正中心的时候&#xff0c;一般可以不做约束来直接使用。但是到了高速时钟或者双沿采样或者发射沿和数据对齐的情况下&#xff0c;这时候就需要告诉VIVADO外部的时钟与数据情况来…

[2021最新]大数据平台CDH存储组件kudu之启用HA高可用(添加多个master)

今天在做kudu高可用的时候没有参考官网&#xff0c;直接按照常规方式&#xff08;添加角色—>编辑属性—>启动&#xff09;结果发现报错&#xff1f;然后参考了一下文档之后发现这玩意儿还有点玄学&#xff0c;做一下记录。 1.添加两个master。kudu master有leader和foll…

革命性创新,实景AI无人自动直播系统,轻松实现24小时日不落直播卖券。

革命性创新&#xff01;实景AI无人自动直播系统&#xff0c;轻松实现24小时日不落直播卖券&#xff01; 最近&#xff0c;越来越多的朋友纷纷关注到了AI自动直播带货的新玩法&#xff0c;并且也都想要开设自己的自动直播间。然而&#xff0c;对于这种自动讲解、自动回复的直播…