联合复现!考虑最优弃能率的风光火储联合系统分层优化经济调度!
前言
目前,尽管不断地追逐可再生能源全额消纳方式,大幅减小弃风弃光电量,但是若考虑风电、光伏发电的随机属性,全额消纳可能造成电网峰谷差、调峰难度及调峰调频等辅助服务费用的剧增,引起电网潜在运行风险。因此,如果在风光大发与负荷低谷重叠时段选择弃掉一部分的风光尖峰电力,不仅能够降低电网运行风险,而且有助于提升电网调度的灵活性和整体经济效益。若系统中配置了一定容量的储能,则能够在保证总体经济效益最大的前提下,提高系统对于可再生能源的消纳能力,实现最优弃风弃光率和弃电总量的双降,减小净负荷曲线的波动程度和电网的调峰难度,使火电机组出力更平稳。因此,研究考虑最优弃能率的风光火储联合发电系统的优化调度方法,对于实现风光的最经济消纳具有重要意义。
调峰过程及弃风弃光对电网调峰的影响
火电机组调峰过程及调峰成本模型
根据机组的出力状态,火电机组的调峰阶段通常可划分为基本调峰阶段和深度调峰阶段,而深度调峰阶段按照调峰深度和燃烧介质又可划分为投油深度调峰阶段和不投油深度调峰阶段,如下图所示。其中,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 长尾数据是一种特殊类型的多类不平衡数据,其中包含大量少数/尾部类别,这些类…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...

微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...

Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...

如何更改默认 Crontab 编辑器 ?
在 Linux 领域中,crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用,用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益,允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...

STM32---外部32.768K晶振(LSE)无法起振问题
晶振是否起振主要就检查两个1、晶振与MCU是否兼容;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容(CL)与匹配电容(CL1、CL2)的关系 2. 如何选择 CL1 和 CL…...
基于鸿蒙(HarmonyOS5)的打车小程序
1. 开发环境准备 安装DevEco Studio (鸿蒙官方IDE)配置HarmonyOS SDK申请开发者账号和必要的API密钥 2. 项目结构设计 ├── entry │ ├── src │ │ ├── main │ │ │ ├── ets │ │ │ │ ├── pages │ │ │ │ │ ├── H…...

第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10+pip3.10)
第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10pip3.10) 一:前言二:安装编译依赖二:安装Python3.10三:安装PIP3.10四:安装Paddlepaddle基础框架4.1…...