针对微电网中可时移,柔性,基础负荷的电价响应模型---代码解析
前言:
在上两篇帖子中,讲解了我对于粒子群算法的理解,站在巨人的肩膀上去回望:科研前辈们确实非常牛逼,所以它才成为了非常经典的算法。这篇帖子主要是想分享一下,对于微电网、电力系统的论文中,经常提及的负荷电价响应模型的概念,进行代码解析以及编程思路的复盘。本篇的风格将继续延续以往,需要具有的基础:MATLAB编程基础(能读代码),能静下来阅读的能力。
越发就觉得,文本阅读,是真正效率最高的知识传递形式。
基础知识:
1.研究电力系统负荷的意义:电力系统存在的初衷,就是满足用户的用电需求,电力系统的发展,可以说是为了更好的满足用户的使用,同时延伸出高效、可靠、安全等一系列概念。其中需要注意的是,用户需要多少电能 = 电力系统供应多少电能,这才是最理想的状态。用户需要多少电能,也就是在电力系统中称之为“负荷”。注意,用户真正需要的电能才是负荷。
若 电力系统供电 > 负荷所需,即造成了电力浪费,甚至电力设备的损坏;
若 电力系统供电 < 负荷所需,容易导致设备不在额定范围内运行,使得工作效率下降。
2.从电力系统安全性角度来说:电力系统一定要安全,才能够将电量按照要求和指标输送至用户侧,如果电力系统的安全性存在问题,比如:家用设备是220V,50Hz,但是输送过来的电是72Hz,这样一个奇葩的功率变化,导致的就是家电设备无法正常工作,导致设备损毁。如果这样的情况大量存在,那么发电厂发的电约等于没有发电(设备全都无法正常运行)。如果电力系统的损耗巨大,大量能量浪费在传输的路途中,最终的用电成本也是非常高的。
因此,研究电力系统供给电能刚好满足用户需要的电能,即电源侧供电 略大于 负荷侧,是非常有必要的。
3.因此研究者们相出了两种思路来提电源侧和负荷侧的效率,如下图所示。

这里我介绍的是指定需求响应计划,通过价格策略,鼓励用户调整负荷工作时间,平滑负荷曲线。
4.如何平滑负荷曲线呢?在生活中会有很多种负荷,直流的,交流的,比如电脑,照明,洗衣机,油烟机,路由器,电动汽车等等。平滑负荷曲线的意思就是直接按照比例,在高峰用电时段,降低这些设备的供电量吗?或者说,高峰用电时段关闭大功率电器------------------千万不能在这里搞一刀切。因为设备没有达到额定的工作功率,设备的正常性能无法保证,即,电脑用着用着突然关机了,或者直接无法开机。所以研究者们给出:对负荷进行分类的方案。根据用电设备的重要程度和具体特性,电力系统中的负荷可以分为以下8类。
常用的平滑负荷曲线的方法是:使用实时电价策略,让用户在价格高是降低用电量,电价低是恢复用电量,减少突然高峰和突然低谷的情况。
编程思路:
1.导入24小时内的实时电价数据、基准电价、导入24小时内的负荷数据;----这些都是预测值。
(暂时没有引入微网光伏和风电及储能数据,本篇主要介绍平滑负荷曲线的编程思路)
2.对导入的负荷数据进行分类,不同类的负荷具有不同的特征。
先划分负荷的类型,在本程序中分为:基础负荷(刚性负荷)、柔性负荷(易节约和替代负荷)、易转移负荷(可时移负荷)。保持基础负荷不动、柔性负荷根据价格适当变化,可中断负荷、可时移负荷进行灵活开关和功率增减。---------------这里我也在存疑,论文PDF说的易转移负荷,但是在代码中,使用的更像是柔性负荷,没有考虑到可时移负荷对应的具体功率(这部分功率大小应该是固定的,而不是按照比例细分到其他所有时间段,而是一个或者某几个连续的时间段,比如电动车充电,总不能让电动车50kW功率充2小时变为10kW功率充电10小时吧)--------------------回归正题
3.通过基准电价和实时电价对比,划分高电价时段和低电价时段,分别用两个数组记录。
4.计算高电价时段柔性负荷转移量。(根据文中的公式)将高电价时段中每个小时的柔性负荷转移到低电价段去,那么低电价时段的负荷=原有负荷+每个高电价时段给的转移负荷的叠加求和。
5.计算高电价时段易转移负荷的转移量:具体步骤同4.
6.将每个小时在调度之后的新一轮负荷数值进行叠加,得到新的负荷调度曲线。
7.绘图查看负荷转移数据与实时电价之间的关系。
公式讲解:
一定有读者会好奇,如何通过代码公式,实现步骤4和步骤5。那么我掰开了碎碎的写一下。
--------------------------------我表述的太啰嗦了,我还是交给AI来描述吧-----------------------------------
首先是第一类负荷----即易转移负荷(第二类负荷是易节约和替代负荷)
下图的作用是:计算高电价时段第i个在所有低电价区间的转出电量;
计算低电价时段第j个接纳由所有高电价区间时段叠加的接纳电量。

公式(2)和公式(3)的工作原理如下:


通过公式(2)和公式(3)可以计算出高电价时段的转出负荷量,以及低电价时段的接收负荷量。
但是需要注意:这个转移机制的标准,什么电价转移多少比例的负荷?这个是需要纳入考虑的。
下图表示针对易转移负荷的转移衡量标准-----什么电价转出多少负荷。

公式(4)给出了负荷转移率函数𝑓(Δ𝑝),它是根据消费者心理学原理建立的模型,描述了负荷转移率与电价变化的关系。这个函数分为三个区域,分别是死区、线性区和饱和区,对应分段函数个段:

然后就可以通过叠加操作(叠加每一个高价时段给第i个低价时段的转移量),计算出各个时间段对应最新的易转移负荷的负荷曲线。
公式(5)和(6)就是计算高电价时段负荷减少量和低电价时段负荷增加量得出最新的负荷曲线



然后是第二类负荷------------柔性负荷(易节约和易替代负荷量)
由于两类负荷的特性不同,因此无法使用相同的转移量计算公式。
在下图中定义了一个24*24的电价弹性系数矩阵

公式(7)(8)的功能如下:

求解第二类负荷(易节约和替代负荷)的各时段对应值




这样便完成了第一类和第二类负荷的转移计算,得到新的负荷曲线。
代码解析



接下来就是绘制第一和第二类负荷转移之后的负荷曲线


如果真的静下来捋一捋,代码量其实不大,但是对于刚刚入门的兄弟们来说,我觉得这份解析应该是一个不错的辅助材料。代码和对应的PDF我都放在了下面,有需要自取。
数据、代码和PDF
链接:https://pan.baidu.com/s/1c6GDhWDgHPqrsquqa39NuQ
提取码:2222
如有表述不对之处,请大家批评指正。
相关文章:
针对微电网中可时移,柔性,基础负荷的电价响应模型---代码解析
前言: 在上两篇帖子中,讲解了我对于粒子群算法的理解,站在巨人的肩膀上去回望:科研前辈们确实非常牛逼,所以它才成为了非常经典的算法。这篇帖子主要是想分享一下,对于微电网、电力系统的论文中,…...
git使用http协议时免密pull和push方法
1、创建文件 在项目目录下创建.git-credentials文件,内容如下,填入自己的用户名和密码即可,如果是gitlab,把地址换成自己的gitlab的地址即可。 https://{用户名}:{密码}github.com2、终端执行 git config --global credential.…...
编译期间生成代码(Lombok原理)
通过在编译期间,修改Java的AST(Abstract Syntax Tree)树,可以往类中,添加/修改(覆盖)方法、属性等。 现在比较常见的三方依赖例子有:Lobbok的Data可以生成get、set方法,Sl4j2可以生成静态常量l…...
第2讲:pixi.js 绘制HelloWorld
基于第0讲和第1讲,我们增添了vite.config.ts文件。并配置了其他的http端口。 此时,我们删除掉没用的东西。 删除 conter.ts、typescript.svg 在main.ts中改成如下内容: import {Application, Text} from pixi.js import ./style.css// 指明…...
golang HTTP2 https测试POST变GET问题小记
概述 因为工作需要协助修改某个golang程序,添加双向认证。但是在调整的过程遇到一个HTTP POST请求变成GET诡异的问题,最后各种搜索,总算解决,博文记录,用于备忘。 代码 服务端 因工作内容,代码有删减&a…...
Linux下的lvm镜像与快照
lvm镜像(mirror) (1)划分三个PV,其中2个PV大小要一模一样 Disk /dev/sdb: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units cylinders of 16065 * 512 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/…...
嵌入式linux系统中SPI子系统原理分析01
大家好,今天给大家分享一下,如何使用linux系统中的SPI通信协议,实现主从设备之间的信息传递。 SPI是一种常见的设备通用通信协议。它是一个独特优势就是可以无中断发送数据,可以连续发送或接收任意数量的位。而在I2C和UART中,数据以数据包的形式发送,有限定位数。 …...
Part 4.2 背包动态规划
->背包模型模板(0/1,分组,完全,多重)<- [NOIP2018 提高组] 货币系统 题目背景 NOIP2018 提高组 D1T2 题目描述 在网友的国度中共有 n n n 种不同面额的货币,第 i i i 种货币的面额为 a [ i ] a[i] a[i],你可以假设每…...
Elasticsearch-使用Logstash同步Mysql
1.安装logstash es服务器版本必须和logstash版本一致 7.9.2 在/usr/local/src/下新建logstash文件夹,解压 下载logstash后查看是否安装成功,在logstash的bin目录下输入指令: ./logstash -e input { stdin { } } output { stdout {} }2.my…...
6.17作业
升级优化自己应用程序的登录界面。 要求: 1. qss实现 2. 需要有图层的叠加 (QFrame) 3. 设置纯净窗口后,有关闭等窗口功能。 4. 如果账号密码正确,则实现登录界面关闭,另一个应用界面显示。 //发送端头文件…...
算法思想个人总结(结合生活理解)
主要思想: 结合生活和游戏理解思想,先知道什么场景用什么算法,然后再理解就能记住 遇到问题可以考虑选择使用,这样才是学活了 https://www.yuque.com/yuqueyonghu5znoyv/ifb5ga/nfcvg3ft9ryuqeem?singleDoc# 《元启发式算法》...
openh264 帧间预测编码过程源码分析
openh264 OpenH264 是一个开源的 H.264 编码和解码器,由思科系统开发并维护。它专为实时应用程序如 WebRTC 设计,提供了从基础到高级特性的广泛支持。OpenH264 的编码器支持从 Constrained Baseline Profile 到 5.2 级别,允许任意分辨率的编…...
Linux网络 - HTTP协议
文章目录 前言一、HTTP协议1.urlurl特殊字符 requestrespond 总结 前言 上一章内容我们讲了在应用层制定了我们自己自定义的协议、序列化和反序列化。 协议的制定相对来讲还是比较麻烦的,不过既然应用层的协议制定是必要的,那么肯定已经有许多计算机大佬…...
面试题——Nginx
1.Nginx是什么? 是一个高性能的Web服务器和反向代理服务器,也可以作为静态文件的缓存服务器,也能够进行负载均衡。 2.Nginx的作用? 1.反向代理:将多台服务器代理为一台服务器。客户端不了解底层服务端。 2.负载均衡…...
持续学习的综述: 理论、方法与应用
摘要 为了应对现实世界的动态,智能系统需要在其整个生命周期中增量地获取、更新、积累和利用知识。这种能力被称为持续学习,为人工智能系统自适应发展提供了基础。从一般意义上讲,持续学习明显受到灾难性遗忘的限制,在这种情况下…...
跨域资源共享(CORS)问题与解决方案
跨域资源共享(CORS,Cross-Origin Resource Sharing)是现代web开发中常见且重要的一个概念。它涉及到浏览器的同源策略(Same-Origin Policy),该策略用于防止恶意网站从不同来源窃取数据。然而,在…...
实用软件分享-----一款免费的人工智能替换face的神器
专栏介绍:本专栏主要分享一些实用的软件(Po Jie版); 声明1:软件不保证时效性;只能保证在写本文时,该软件是可用的;不保证后续时间该软件能一直正常运行;不保证没有bug;如果软件不可用了,我知道后会第一时间在题目上注明(已失效)。介意者请勿订阅。 声明2:本专栏的…...
不可思议!这款 Python 库竟然能自动生成GUI界面:MagicGUI
目录 什么是MagicGUI? 编辑 MagicGUI的工作原理 安装MagicGUI 创建你的第一个GUI 编辑 其他案例 输入值对话框 大家好,今天我们来聊一聊一个非常有趣且实用的Python库——MagicGUI。这个库可以让你用最少的代码,快速创建图形用户…...
论文发表CN期刊《高考》是什么级别的刊物?
论文发表CN期刊《高考》是什么级别的刊物? 《高考》是由吉林省长春出版社主管并主办的省级教育类期刊,期刊以科教兴国战略为服务宗旨,专门反映和探索国内外教育教学和科研实践的最新成果。该期刊致力于为广大教育工作者提供一个高质量的学术…...
离散数学复习
1.关系的介绍和性质 (1)序偶和笛卡尔积 两个元素按照一定的顺序组成的二元组就是序偶,使用尖括号进行表示,尖括号里面的元素一般都是有顺序的; 笛卡尔积就是有两个集合,从第一个集合里面选择一个元素&am…...
Chapter03-Authentication vulnerabilities
文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...
从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
SciencePlots——绘制论文中的图片
文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...
PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...
前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...
使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度
文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...
2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...
Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案
在大数据时代,海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构,在处理大规模数据抓取任务时展现出强大的能力。然而,随着业务规模的不断扩大和数据抓取需求的日益复杂,传统…...
DAY 45 超大力王爱学Python
来自超大力王的友情提示:在用tensordoard的时候一定一定要用绝对位置,例如:tensorboard --logdir"D:\代码\archive (1)\runs\cifar10_mlp_experiment_2" 不然读取不了数据 知识点回顾: tensorboard的发展历史和原理tens…...
