联合复现!考虑最优弃能率的风光火储联合系统分层优化经济调度!
前言
目前,尽管不断地追逐可再生能源全额消纳方式,大幅减小弃风弃光电量,但是若考虑风电、光伏发电的随机属性,全额消纳可能造成电网峰谷差、调峰难度及调峰调频等辅助服务费用的剧增,引起电网潜在运行风险。因此,如果在风光大发与负荷低谷重叠时段选择弃掉一部分的风光尖峰电力,不仅能够降低电网运行风险,而且有助于提升电网调度的灵活性和整体经济效益。若系统中配置了一定容量的储能,则能够在保证总体经济效益最大的前提下,提高系统对于可再生能源的消纳能力,实现最优弃风弃光率和弃电总量的双降,减小净负荷曲线的波动程度和电网的调峰难度,使火电机组出力更平稳。因此,研究考虑最优弃能率的风光火储联合发电系统的优化调度方法,对于实现风光的最经济消纳具有重要意义。
调峰过程及弃风弃光对电网调峰的影响
火电机组调峰过程及调峰成本模型
根据机组的出力状态,火电机组的调峰阶段通常可划分为基本调峰阶段和深度调峰阶段,而深度调峰阶段按照调峰深度和燃烧介质又可划分为投油深度调峰阶段和不投油深度调峰阶段,如下图所示。其中,Pmax为机组出力最大值,Pmin为基本调峰阶段机组出力最小值,Pn为不投油深度调峰阶段机组出力最小值,Pm为投油深度调峰阶段机组出力最小值。
合理弃风弃光对电网调峰的影响分析
下图为1天24h内风电和光伏出力曲线。由下图可知,风电出力随机性和波动性特征明显,在日间负荷高峰时段出力偏低,在凌晨和夜间这些时段出力较大,具有明显的反调峰特征。若风电全额并网消纳,将会增大受端电网净负荷峰谷差,增加火电机组的调峰成本。然而,光伏出力的特征则与风电完全相反,凌晨和夜间时段的光伏出力为零,而日间的光伏出力先增大后减小,在正午时段出力达到最大值。若光伏全额并网消纳,则会降低受端电网正午时段的净负荷及其峰谷差,从而降低电网调峰难度,增大火电机组调度的灵活性。
下图给出了不同情景下受端电网净负荷曲线及风光并网功率的变化情况。由图可知,由于风电和光伏在时间尺度上具有较为明显的互补特性,两者之和往往在一定范围内上下浮动。因此,风电和光伏两者同时全额并网消纳并不一定能够减小火电机组的调峰成本,实现电力系统的最优运行。若在某些时段弃掉一定比例的风光电力,尤其是低谷负荷时段,则会明显减小净负荷曲线的峰谷差和机组参与深度调峰的时段数。此外,由于储能可在低负荷时段充电,在峰荷时段放电,具有较好的能量时移特性,因此在消纳风光电力的同时,配置一定容量的储能可以进一步降低受端电网净负荷的峰谷差,使净负荷曲线更为平滑,从而进一步降低火电的调峰成本。
考虑最优弃能率的双层优化调度模型
程序以寻求各时段的最优弃风弃光率为切入点,并利用储能系统良好的能量时移特性,构建了考虑最优弃能率的风光火储联合系统双层优化调度模型,其结构如下图所示。
上层优化模型以受端电网净负荷方差最小为目标函数,在满足弃风弃光率约束及储能电站运行约束的基础上,对各时段的弃风弃光率及储能系统充放电功率进行优化,由此得出各时段最优风光并网功率及储能充放电功率。同时,将考虑最优弃能率的风光并网功率曲线及储能系统充放电功率曲线,传递至下层优化模型。
下层优化模型基于上层模型传递的最优风光并网功率曲线及储能系统充放电功率曲线,并结合净负荷曲线,以受端电网运行成本最小为目标对各时段火电机组出力进行优化。目标函数中同时考虑了多项成本,包括火电机组调峰成本、风电、光伏和储能电站运行成本、系统旋转备用成本、环境保护税、风光并网消纳及储能系统的环境收益,通过优化求解得出受端电网火电机组的最优出力及最小运行成本。
程序介绍
程序提出了一种考虑最优弃能率的分层优化调度策略,主要研究合理弃风弃光对电网调峰难度及整体经济性的影响。为此,首先分析了火电机组调峰过程及合理弃风弃光对电网调峰的影响;其次,综合考虑电网调峰难度及整体经济效益,提出了最优弃能率的约束模型,并构建了以电网净负荷方差最小为上层目标函数、电网运行成本最小为下层目标函数的双层优化调度模型,选取IEEE-30节点系统进行算例分析。程序中算例丰富,注释清晰,干货满满,创新性和可扩展性很高,足以撑起一篇高水平论文!下面对程序做简要介绍!
程序适用平台:Matlab+Yalmip+Gurobi
程序结果
部分程序
%% 定义决策变量 para2;R_wt= sdpvar(1,24);R_pv = sdpvar(1,24); P_c = sdpvar(1,24); P_d = sdpvar(1,24); P_net= sdpvar(1,24); %净负荷P_wt1=sdpvar(1,24);%并网风力发电P_pv1=sdpvar(1,24);%并网光伏发电 %其他变量 Q_s = sdpvar(1,24); % 蓄电池剩余电量
% P_Gt1=sdpvar(1,24); % 燃气发电机1提供的功率
% P_Gt2=sdpvar(1,24); % 燃气发电机2提供的功率
%% 目标函数
P_net(t)=P_f(t)-(1-R_wt(t))*P_wt(t)-(1-R_pv(t))*P_pv(t)+...
h_c*P_c(t)-h_d*P_d(t);
sum=sum+P_f(t)-(1-R_wt(t))*P_wt(t)-(1-R_pv(t))*P_pv(t)+...
sum=sum./24;
%负荷平方差
objective=objective+((P_f(t)-(1-R_wt(t))*P_wt(t)-(1-R_pv(t))*P_pv(t)+...
h_c*P_c(t)-h_d*P_d(t))-sum).^2;objective=objective./24;
%% 约束条件
constraint=[constraint,0<=R_wt(t)<=1];
constraint=[constraint,0<=R_pv(t)<=1];
for t=1:24 %(6-1) 储能系统约束
constraint=[constraint, 40<=Q_s(t)<=360];
constraint=[constraint, Q_s(t)==Q_s_init+P_c(t)-P_d(t)];
constraint=[constraint, Q_s(t)-Q_s(t-1)-P_c(t)+P_d(t)==0];
% 其他不等式约束
constraint=[constraint, 0<=P_wt(t)<=400] ;
A=A+P_wt(t)*R_wt(t);B=B+P_pv(t)*R_pv(t);
C=C+P_wt(t);D=D+P_pv(t);
% 弃风弃光约束%储能系统充放电约束for t=1:24 %(6-2) 蓄电池不等式约束constraint=[constraint,0<=P_c(t)<=P_c_max];
% (6-3) 电池储能初始和最终状态相等约束constraint = [constraint, Q_s_init-Q_s(24)==0 ];
%% 求解和显示
option = sdpsettings('verbose',1,'solver','gurobi');%调用gurobi求解器
optimize(constraint,objective,option)%Yalmip求解的命令
部分内容源自网络,侵权联系删除!
欢迎感兴趣的小伙伴关注并私信获取完整版代码,小编会不定期更新高质量的学习资料、文章和程序代码,为您的科研加油助力!
相关文章:

联合复现!考虑最优弃能率的风光火储联合系统分层优化经济调度!
前言 目前,尽管不断地追逐可再生能源全额消纳方式,大幅减小弃风弃光电量,但是若考虑风电、光伏发电的随机属性,全额消纳可能造成电网峰谷差、调峰难度及调峰调频等辅助服务费用的剧增,引起电网潜在运行风险。因此&…...

Vue开发前端图片上传给java后端
前端效果图 图片上传演示 1 前端代码 <template><div><!-- 页面标题 --><h1 class"page-title">图片上传演示</h1><div class"upload-container"><!-- 使用 van-uploader 组件进行文件上传,v-model 绑…...

react hooks--useCallback
概述 useCallback缓存的是一个函数,主要用于性能优化!!! 基本用法 如何进行性能的优化呢? useCallback会返回一个函数的 memoized(记忆的) 值;在依赖不变的情况下,多次定义的时候,返回的值是…...

828华为云征文|华为云Flexus X实例docker部署最新Appsmith社区版,搭建自己的低代码平台
828华为云征文|华为云Flexus X实例docker部署最新Appsmith社区版,搭建自己的低代码平台 华为云最近正在举办828 B2B企业节,Flexus X实例的促销力度非常大,特别适合那些对算力性能有高要求的小伙伴。如果你有自建MySQL、Redis、Ng…...

webservice cxf框架 jaxrs jaxws spring整合 接口测试方法 wsdl报文详解 springboot整合 拦截器 复杂参数类型
webservice cxf框架 jaxrs jaxws spring整合 【java进阶教程之webservice深入浅出【黑马程序员】】 webservice接口测试方法 【SoapUI让你轻松玩转WebService接口测试【特斯汀学院】】 webservice wsdl报文详解 【webservice - 尚硅谷周阳新视频】 webservice springbo…...

2024AI做PPT软件如何重塑演示文稿的创作
现在AI技术的发展已经可以帮我们写作、绘画,最近我发现了不少ai做ppt的工具!不体验不知道,原来合理使用AI工具可以有效的帮我们进行一些办公文件的编写,提高了不少工作效率。如果你也有这方面的需求就接着往下看吧。 1.笔灵AIPPT…...

谷神后端list转map
list转map /*** list2map* list转map:支持全量映射、单字段映射。* * param $list:list:列表。* param $key:string:键。* param $field:string:值字段域。** return map**/ #function list2map($list, $key, $field)#if ($vs.util.isList($list) and $vs.util.is…...

Java集合(Map篇)
一.Map a.使用Map i.键值(key-value)映射表的数据结构,能高效通过key快速查找value(元素)。 ii.Map是一个接口,最常用的实现类是HashMap。 iii.重复放入k-v不会有问题,但是一个…...

VUE3配置路由(超级详细)
第一步创建vue3的项目...

【笔记】机器学习算法在异常网络流量监测中的应用
先从一些相对简单的综述类看起,顺便学学怎么写摘要相关工作的,边译边学 机器学习算法在异常网络流量监测中的应用 原文:Detecting Network Anomalies in NetFlow Traffic with Machine Learning Algorithms Authors: Quc Vo, Philippe Ea, Os…...

江协科技STM32学习- P15 TIM输出比较
🚀write in front🚀 🔎大家好,我是黄桃罐头,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝…...

使用python-pptx批量删除备注:清除PPT文档中的所有备注信息
哈喽,大家好,我是木头左! 在制作和分享PPT时,经常需要添加一些注释或备注来帮助观众更好地理解内容。然而,有时候需要将这些备注从PPT中移除,以保持演示的简洁性。幸运的是,可以使用python-pptx库来实现这一目标。本文将详细介绍如何使用python-pptx批量删除PPT中的备注…...

RTX NVIDIA 3090卡配置对应pytorch,CUDA版本,NVIDIA驱动过程及问题整理
买了两块3090卡闲置很长时间了,之前tf 1.12.0版本用习惯了不想转工具。这段时间闲下来转了之后有些环境不适配,在雷神帮助下安装完毕,虽然出了点怪东西,整体还好。 原环境CUDA为11.4 其他配置如下 之前conda install的pytorch实为…...
【Verilog学习日常】—牛客网刷题—Verilog快速入门—VL21
根据状态转移表实现时序电路 描述 某同步时序电路转换表如下,请使用D触发器和必要的逻辑门实现此同步时序电路,用Verilog语言描述。 电路的接口如下图所示。 输入描述: input A , input clk , …...

【深度】为GPT-5而生的「草莓」模型!从快思考—慢思考到Self-play RL的强化学习框架
原创 超 超的闲思世界 2024年09月11日 19:17 北京 9月11日消息,据外媒The Information昨晚报道,OpenAI的新模型「草莓」(Strawberry),将在未来两周内作为ChatGPT服务的一部分发布。 「草莓」项目是OpenAI盛传已久的…...

【编程底层原理】Java常用读写锁的使用和原理
一、引言 在Java的并发世界中,合理地管理对共享资源的访问是至关重要的。读写锁(ReadWriteLock)正是一种能让多个线程同时读取共享资源,而写入资源时需要独占访问的同步工具。本文将带你了解读写锁的使用方法、原理以及它如何提高…...

自恢复保险丝SMD1206B005TF在电路中起什么作用
自恢复保险丝SMD1206B005TF在电路中起到过流保护的作用。 自恢复保险丝,也称为正温度系数(PTC)热敏电阻,是一种能够在电流超过预设值时自动断开电路,并在故障排除后自动恢复的元件。这种保险丝的核心材料是高分子聚合…...

2024年躺平,花大半年的时间,就弄了这一件事儿:《C++面试真题宝典》
今年,是我的第3个躺平年,躺得我四肢都快蜕化了... 为了让一切都变得舒服,我决定主动地去做些什。 在我生命的一个不起眼却意义非凡的角落,我与C结下了不解之缘。这份热爱,如同一位老友,陪伴我度过了无数个…...

PHP基础语法讲解
大家好,我是程序员小羊! 前言: PHP(Hypertext Preprocessor)是一种常用于网页开发的服务器端脚本语言,易于学习并且与 HTML 紧密结合。以下是 PHP 的基础语法详细讲解。 1. PHP 基础结构 1.1 PHP 脚本结…...

【论文速看】DL最新进展20240923-长尾综述、人脸防伪、图像分割
目录 【长尾学习】【人脸防伪】【图像分割】 【长尾学习】 [2024综述] A Systematic Review on Long-Tailed Learning 论文链接:https://arxiv.org/pdf/2408.00483 长尾数据是一种特殊类型的多类不平衡数据,其中包含大量少数/尾部类别,这些类…...

device靶机详解
靶机下载地址 https://www.vulnhub.com/entry/unknowndevice64-1,293/ 靶机配置 主机发现 arp-scan -l 端口扫描 nmap -sV -A -T4 192.168.229.159 nmap -sS -Pn -A -p- -n 192.168.229.159 这段代码使用nmap工具对目标主机进行了端口扫描和服务探测。 -sS:使用…...

十四、SOA(在企业中的应用场景)
在企业中,**SOA(面向服务架构)**被广泛应用于多个场景,帮助企业提高灵活性、效率和业务响应能力。SOA通过分解企业系统中的功能模块,以服务的形式进行封装和集成,支持跨平台、跨系统的协同工作。以下是SOA在…...

单片机与PIC的区别:多方面对比
单片机与PIC的区别:多方面对比 在现代电子产品的设计中,单片机和PIC都是不可或缺的控制器。尽管它们在功能上有许多相似之处,但在设计、应用、优势和劣势等方面却有显著区别。今天,我们就来详细对比一下单片机和PIC。 1. 定义与…...

python新手的五个练习题
代码 # 1. 定义一个变量my_Number,将其设置为你的学号,然后输出到终端。 my_Number "20240001" # 假设你的学号是20240001 print("学号:", my_Number) # 2. 计算并输出到终端:两个数(例如3和5)的和、差、乘积和商。 num1 3 num2 5 print(&…...

Go语言并发编程之sync包详解
在当今多核时代,如何高效地利用并发是每个Go语言开发者都需要掌握的技能。Go语言为我们提供了丰富的并发编程工具,其中最基础也是最重要的就是sync包。本文将深入探讨sync包的各种并发原语,包括WaitGroup、Mutex、RWMutex、Cond、Once和Pool,并通过丰富的代码示例和详尽的解…...

函数题 6-10 阶乘计算升级版【PAT】
文章目录 题目函数接口定义裁判测试程序样例输入样例输出样例 题解解题思路完整代码AC代码 编程练习题目集目录 题目 要求实现一个打印非负整数阶乘的函数。 函数接口定义 void Print_Factorial ( const int N ); 其中N是用户传入的参数,其值不超过 1000 1000 10…...

java项目之基于springboot的医院资源管理系统源码
风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的医院资源管理系统。项目源码以及部署相关请联系风歌,文末附上联系信息 。 💕💕作者:风…...

Docker命令全解析:掌握容器化技术的基石
在容器化技术日益普及的今天,Docker作为其中的佼佼者,凭借其轻量级、可移植和易于管理的特性,赢得了广泛的关注和应用。而掌握Docker命令,则是深入理解和高效利用Docker的关键。本文将带您走进Docker命令的世界,从基础…...

2024.9.19
[ABC266F] Well-defined Path Queries on a Namori 题面翻译 题目描述 给定一张有 N N N 个点、 N N N 条边的简单连通无向图和 Q Q Q 次询问,对于每次询问,给定 x i , y i x_i,y_i xi,yi,表示两点的编号,请你回答第 x i …...

“跨链桥“的危害
跨链桥(Cross-Chain Bridges)是连接不同区块链网络的工具,允许用户在不同的区块链之间转移资产和数据。尽管跨链桥为区块链生态系统带来了许多便利,但它们也存在一些潜在的危害和风险。以下是一些主要的危害: 1. 安全…...