针对微电网中可时移,柔性,基础负荷的电价响应模型---代码解析
前言:
在上两篇帖子中,讲解了我对于粒子群算法的理解,站在巨人的肩膀上去回望:科研前辈们确实非常牛逼,所以它才成为了非常经典的算法。这篇帖子主要是想分享一下,对于微电网、电力系统的论文中,经常提及的负荷电价响应模型的概念,进行代码解析以及编程思路的复盘。本篇的风格将继续延续以往,需要具有的基础: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…...

【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...
MySQL用户和授权
开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务: test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...

破解路内监管盲区:免布线低位视频桩重塑停车管理新标准
城市路内停车管理常因行道树遮挡、高位设备盲区等问题,导致车牌识别率低、逃费率高,传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法,正成为破局关键。该设备安装于车位侧方0.5-0.7米高度,直接规避树枝遮…...
Python竞赛环境搭建全攻略
Python环境搭建竞赛技术文章大纲 竞赛背景与意义 竞赛的目的与价值Python在竞赛中的应用场景环境搭建对竞赛效率的影响 竞赛环境需求分析 常见竞赛类型(算法、数据分析、机器学习等)不同竞赛对Python版本及库的要求硬件与操作系统的兼容性问题 Pyth…...
LLaMA-Factory 微调 Qwen2-VL 进行人脸情感识别(二)
在上一篇文章中,我们详细介绍了如何使用LLaMA-Factory框架对Qwen2-VL大模型进行微调,以实现人脸情感识别的功能。本篇文章将聚焦于微调完成后,如何调用这个模型进行人脸情感识别的具体代码实现,包括详细的步骤和注释。 模型调用步骤 环境准备:确保安装了必要的Python库。…...

【51单片机】4. 模块化编程与LCD1602Debug
1. 什么是模块化编程 传统编程会将所有函数放在main.c中,如果使用的模块多,一个文件内会有很多代码,不利于组织和管理 模块化编程则是将各个模块的代码放在不同的.c文件里,在.h文件里提供外部可调用函数声明,其他.c文…...