当前位置: 首页 > news >正文

联合复现!考虑最优弃能率的风光火储联合系统分层优化经济调度!

前言

目前,尽管不断地追逐可再生能源全额消纳方式,大幅减小弃风弃光电量,但是若考虑风电、光伏发电的随机属性,全额消纳可能造成电网峰谷差、调峰难度及调峰调频等辅助服务费用的剧增,引起电网潜在运行风险。因此,如果在风光大发与负荷低谷重叠时段选择弃掉一部分的风光尖峰电力,不仅能够降低电网运行风险,而且有助于提升电网调度的灵活性和整体经济效益。若系统中配置了一定容量的储能,则能够在保证总体经济效益最大的前提下,提高系统对于可再生能源的消纳能力,实现最优弃风弃光率和弃电总量的双降,减小净负荷曲线的波动程度和电网的调峰难度,使火电机组出力更平稳。因此,研究考虑最优弃能率的风光火储联合发电系统的优化调度方法,对于实现风光的最经济消纳具有重要意义。

调峰过程及弃风弃光对电网调峰的影响

火电机组调峰过程及调峰成本模型

根据机组的出力状态,火电机组的调峰阶段通常可划分为基本调峰阶段和深度调峰阶段,而深度调峰阶段按照调峰深度和燃烧介质又可划分为投油深度调峰阶段和不投油深度调峰阶段,如下图所示。其中,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求解的命令

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

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

相关文章:

联合复现!考虑最优弃能率的风光火储联合系统分层优化经济调度!

前言 目前&#xff0c;尽管不断地追逐可再生能源全额消纳方式&#xff0c;大幅减小弃风弃光电量&#xff0c;但是若考虑风电、光伏发电的随机属性&#xff0c;全额消纳可能造成电网峰谷差、调峰难度及调峰调频等辅助服务费用的剧增&#xff0c;引起电网潜在运行风险。因此&…...

Vue开发前端图片上传给java后端

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

react hooks--useCallback

概述 useCallback缓存的是一个函数&#xff0c;主要用于性能优化!!! 基本用法 如何进行性能的优化呢&#xff1f; useCallback会返回一个函数的 memoized&#xff08;记忆的&#xff09; 值&#xff1b;在依赖不变的情况下&#xff0c;多次定义的时候&#xff0c;返回的值是…...

828华为云征文|华为云Flexus X实例docker部署最新Appsmith社区版,搭建自己的低代码平台

828华为云征文&#xff5c;华为云Flexus X实例docker部署最新Appsmith社区版&#xff0c;搭建自己的低代码平台 华为云最近正在举办828 B2B企业节&#xff0c;Flexus X实例的促销力度非常大&#xff0c;特别适合那些对算力性能有高要求的小伙伴。如果你有自建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技术的发展已经可以帮我们写作、绘画&#xff0c;最近我发现了不少ai做ppt的工具&#xff01;不体验不知道&#xff0c;原来合理使用AI工具可以有效的帮我们进行一些办公文件的编写&#xff0c;提高了不少工作效率。如果你也有这方面的需求就接着往下看吧。 1.笔灵AIPPT…...

谷神后端list转map

list转map /*** list2map* list转map&#xff1a;支持全量映射、单字段映射。* * 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.键值&#xff08;key-value&#xff09;映射表的数据结构&#xff0c;能高效通过key快速查找value&#xff08;元素&#xff09;。 ii.Map是一个接口&#xff0c;最常用的实现类是HashMap。 iii.重复放入k-v不会有问题&#xff0c;但是一个…...

VUE3配置路由(超级详细)

第一步创建vue3的项目...

【笔记】机器学习算法在异常网络流量监测中的应用

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

江协科技STM32学习- P15 TIM输出比较

&#x1f680;write in front&#x1f680; &#x1f50e;大家好&#xff0c;我是黄桃罐头&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流 &#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐️ 留言&#x1f4dd;​…...

使用python-pptx批量删除备注:清除PPT文档中的所有备注信息

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

RTX NVIDIA 3090卡配置对应pytorch,CUDA版本,NVIDIA驱动过程及问题整理

买了两块3090卡闲置很长时间了&#xff0c;之前tf 1.12.0版本用习惯了不想转工具。这段时间闲下来转了之后有些环境不适配&#xff0c;在雷神帮助下安装完毕&#xff0c;虽然出了点怪东西&#xff0c;整体还好。 原环境CUDA为11.4 其他配置如下 之前conda install的pytorch实为…...

【Verilog学习日常】—牛客网刷题—Verilog快速入门—VL21

根据状态转移表实现时序电路 描述 某同步时序电路转换表如下&#xff0c;请使用D触发器和必要的逻辑门实现此同步时序电路&#xff0c;用Verilog语言描述。 电路的接口如下图所示。 输入描述&#xff1a; input A , input clk , …...

【深度】为GPT-5而生的「草莓」模型!从快思考—慢思考到Self-play RL的强化学习框架

原创 超 超的闲思世界 2024年09月11日 19:17 北京 9月11日消息&#xff0c;据外媒The Information昨晚报道&#xff0c;OpenAI的新模型「草莓」&#xff08;Strawberry&#xff09;&#xff0c;将在未来两周内作为ChatGPT服务的一部分发布。 「草莓」项目是OpenAI盛传已久的…...

【编程底层原理】Java常用读写锁的使用和原理

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

自恢复保险丝SMD1206B005TF在电路中起什么作用

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

2024年躺平,花大半年的时间,就弄了这一件事儿:《C++面试真题宝典》

今年&#xff0c;是我的第3个躺平年&#xff0c;躺得我四肢都快蜕化了... 为了让一切都变得舒服&#xff0c;我决定主动地去做些什。 在我生命的一个不起眼却意义非凡的角落&#xff0c;我与C结下了不解之缘。这份热爱&#xff0c;如同一位老友&#xff0c;陪伴我度过了无数个…...

PHP基础语法讲解

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

【论文速看】DL最新进展20240923-长尾综述、人脸防伪、图像分割

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

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误

HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误&#xff0c;它们的含义、原因和解决方法都有显著区别。以下是详细对比&#xff1a; 1. HTTP 406 (Not Acceptable) 含义&#xff1a; 客户端请求的内容类型与服务器支持的内容类型不匹…...

大型活动交通拥堵治理的视觉算法应用

大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动&#xff08;如演唱会、马拉松赛事、高考中考等&#xff09;期间&#xff0c;城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例&#xff0c;暖城商圈曾因观众集中离场导致周边…...

Java如何权衡是使用无序的数组还是有序的数组

在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

基于服务器使用 apt 安装、配置 Nginx

&#x1f9fe; 一、查看可安装的 Nginx 版本 首先&#xff0c;你可以运行以下命令查看可用版本&#xff1a; apt-cache madison nginx-core输出示例&#xff1a; nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

在四层代理中还原真实客户端ngx_stream_realip_module

一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡&#xff08;如 HAProxy、AWS NLB、阿里 SLB&#xff09;发起上游连接时&#xff0c;将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后&#xff0c;ngx_stream_realip_module 从中提取原始信息…...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API&#xff0c;查询的是单条数据&#xff0c;比如根据主键ID查询用户信息&#xff0c;sql如下&#xff1a; select id, name, age from user where id #{id}API默认返回的数据格式是多条的&#xff0c;如下&#xff1a; {&qu…...

关于 WASM:1. WASM 基础原理

一、WASM 简介 1.1 WebAssembly 是什么&#xff1f; WebAssembly&#xff08;WASM&#xff09; 是一种能在现代浏览器中高效运行的二进制指令格式&#xff0c;它不是传统的编程语言&#xff0c;而是一种 低级字节码格式&#xff0c;可由高级语言&#xff08;如 C、C、Rust&am…...

dify打造数据可视化图表

一、概述 在日常工作和学习中&#xff0c;我们经常需要和数据打交道。无论是分析报告、项目展示&#xff0c;还是简单的数据洞察&#xff0c;一个清晰直观的图表&#xff0c;往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server&#xff0c;由蚂蚁集团 AntV 团队…...

基于matlab策略迭代和值迭代法的动态规划

经典的基于策略迭代和值迭代法的动态规划matlab代码&#xff0c;实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...

【Java学习笔记】BigInteger 和 BigDecimal 类

BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点&#xff1a;传参类型必须是类对象 一、BigInteger 1. 作用&#xff1a;适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...