【硕士论文完美复现】【价格型需求响应】基于需求侧响应的配电网供电能力综合评估(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
1.1 电价伸缩系数分析
1.2 需求侧响应数学模型
1.3 粒子群算法求解
1.4 本文流程图
📚2 运行结果
2.1 风电和光伏的出力情况
2.2 峰谷时段分类
2.3 分时电价制定及负荷响应结果
2.3.1 仅考虑需求响应
2.3.2 考虑分布式和需求响应
🎉3 参考文献
🌈4 Python代码、数据、文章讲解
💥1 概述

在配电网中,需求侧响应是一种通过激励用户在供电能力不足时减少用电量的策略。为了对配电网的供电能力进行综合评估,需要考虑以下几个方面:
1. 预测需求:根据历史数据和相关因素(如天气、季节等),预测未来的电力需求量。
2. 需求响应机制:制定需求响应机制,包括激励机制和合同设计,以鼓励用户减少用电量。
3. 用户参与度:评估用户参与需求响应的程度,包括参与率和减少用电量的程度。
4. 可靠性分析:分析需求响应对供电能力和系统可靠性的影响,评估在需求响应情况下是否能满足用户的电力需求。
5. 成本效益分析:评估需求响应机制的效益,包括节约的电力成本、减少的供电设备需求和改善的系统可靠性等方面。
通过对需求侧响应的配电网供电能力进行综合评估,可以为电力公司制定更有效的需求响应策略和合同设计提供依据,以实现可持续的供电和优化的系统运行。
1.1 电价伸缩系数分析
在经济学领域,通常采用价格伸缩系数来描述商品的需求对于价格敏感程度[50] 。电力能源作为商品,同样可以采用伸缩系数来描述电力需求和电价之间的关系。一方面,电价的变化可以影响电力客户的用电行为,进而影响用电量;另一方面,客户用电量的改变,也可以指导供电侧电价的制定,使电力企业获得更高的收益。客户用电量与电价之间的关系采用电价伸缩系数 k 来表示。k 可以定义为客户用电量波动率与价格波动率的比值,如式(2-17):

式中,p 和 m 分别表示该时刻初始的用电量和价格,∆p和∆m 分别表示该时刻的用电量和电价的改变量。实际生产生活中,电力客户的用电行受多重因素影响。一方面,当前时段电力价格的变化可能会导致当前时段用电行为的改变,产生了用电量的增减;同时,其他时段的电价变化也会对当前时段客户的用电行为产生影响,即产生了用电量的转移。所以,在分析价格伸缩性时,需要综合考虑上述两种伸缩变化[51] 。可定义第 i 时段的自伸缩系数为kii,第 i 时段对第 j 时段的互伸缩系数为kij,如式(2-18)~式(2-19)。在得到自伸缩系数kii和互伸缩系数kij后,则能形成需求侧响应电价伸缩系数矩阵 K,如式(2-20):

显然地,K 矩阵对角线元素k ff 、 k pp 、kgg 表征了当前时间电价变化与需求侧用电量之间的相互作用,是自伸缩系数;而矩阵中其他元素则表征了不同时间内电价变化与需求侧用电量的相互作用,是互伸缩系数。进一步地,在采用了分时电价之后,各个时间段用电变化量ΔP ,如式(221):

1.2 需求侧响应数学模型
对于配电网而言,如果在其允许的范围内峰值负荷过大,会导致其转带备用容量不足,负荷波动率较高,容易影响该配电网的稳定性[52] 。同时,文献[53]通过柯西-施瓦茨不等式证明了网损与最高-最低负荷比率成正比,即日内负荷的峰谷差越小,系统线损率越低。可见,缩小电网的高低负荷比率能够有效降低网损,提高系统负荷率,从而提升设备利用率。
基于上述分析,设置日最高负荷与日最高-最低负荷比率为规划目标。因为这两个目标可以从直观上判断出系统的供电能力,故也可以定义这两个规模目标为系统的显性供电能力,其值越小,系统的显性供电能力越好。规划目标如式(2-23)~式(2-24):

(1) 主观限制
某些时段过高的价格会导致客户支出过高,所以需要考虑客户负担的合理性,即在应用需求侧响应策略后客户所需负担的总费用不应升高。据此,定义客户支出合理性指标 H1,如式(2-26):

同时,在市场经济中,欲达到供需双方利益的最大化,不仅需要考虑商品的成本和用户的支出,同时也需要考虑商品是否满足需求方的舒适性。分析需求侧响应策略的削峰填谷作用可知,微观上,在采用需求侧响应策略之后,一部分客户会根据分时电价调整自身的用电安排,这会导致自身的舒适性降低,而使个人日用电需求曲线变的平缓;宏观上,电力日负荷曲线是全体电力客户当日用电情况的集中反映,当部分用户因参与需求侧响应而使得用电曲线变的平缓时,电网的日负荷曲线会随之变的平缓,日负荷标准差也会相应减小。
通过上述分析可知,负荷曲线的标准差可以从一定程度上体现客户对于需求侧响应的参与度。随着参与度的提升,负荷曲线的标准差也会在一定程度上减小,但是客户被迫调整或者削减原有的用电安排的情况就会越多,导致舒适性降低。基于上述分析,定义客户舒适性指标 H2如式(2-27):

(2) 客观限制
根据经济学相关知识可知,通常情况下商品的价格量是一个合理范围内的正数;同时,对于客户而言,为保证正常的生产生活用电需求,电力负荷高峰时的电费不可以过高;而对于供电企业而言,为保证盈利,则在电力负荷低谷时电费不能过低;此外,根据电力市场相关经验易知,商品定价时需要保证一定的价格梯度,即低谷时刻价格须比平时价格低,且平时价格也须比高峰时段价格低。客观价格边界条件如式(2-31):

1.3 粒子群算法求解
粒子群优化算法(Particle Swarm Optimization,PSO)属于进化算法的一种[54] 。这种算法与模拟退火算法相似,它是从随机解出发,通过迭代寻找最优解,同时通过适应度来描述所得解的优劣。PSO 法与遗传算法相比,不需要经过“交叉”和“变异”过程,而是跟踪当前搜索到的最优值来进行全局寻优。
PSO 算法中,每个规划目标的隐含解都是搜寻空间内的一枚粒子。所有粒子都存在由优化函数决定的适值,同时每个粒子还有一个速度决定它们“飞行”的方向和距离,全部粒子通过实时跟踪最优粒子在解空间中不断进行迭代。粒子的更新方式如图2-3 所示:

1.4 本文流程图

📚2 运行结果
2.1 风电和光伏的出力情况


2.2 峰谷时段分类

2.3 分时电价制定及负荷响应结果
本文也是粒子群算法进行求解,对于需求侧响应后负荷的变化,可根据电价伸缩系数和式(2-21)~式(2-22)计算得出。伸缩系数在工程使用时需要结合历史运行数据和当地情况并由式(2-17)~式(2-19) 计算得出。本文选择伸缩系数矩阵如式(2-37)

原文结果:

复现结果:

2.3.1 仅考虑需求响应
复现结果:


2.3.2 考虑分布式和需求响应



🎉3 参考文献
部分理论来源于网络,如有侵权请联系删除。
[1]魏鹏飞. 基于需求侧响应的配电网供电能力综合评估[D].内蒙古工业大学,2019.
🌈4 Python代码、数据、文章讲解
相关文章:
【硕士论文完美复现】【价格型需求响应】基于需求侧响应的配电网供电能力综合评估(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
Android Okhttp 源码浅析三
核心方法 getResponseWithInterceptorChain() internal fun getResponseWithInterceptorChain(): Response {// Build a full stack of interceptors.val interceptors mutableListOf<Interceptor>()interceptors client.interceptorsinterceptors RetryAndFollowUpI…...
一分钟学会用pygame制作棋盘背景
一分钟一个Pygame案例,这一集我们来学习一下如何生成一个视频中的棋盘背景效果,非常非常简单。 视频教程链接:https://www.bilibili.com/video/BV17G411d7Ah/ 当然我们这里是用来做页面的背景,你也可以拿来做别的效果࿰…...
Java --- 包装类
一、包装类 Java针对八种基本数据类型定义了相应的引用类型:包装类(封装类)。 二、基本数据类型与包装类的基本转换 public class WrapperTest {public static void main(String[] args) {//基本数据类型转换为包装类Boolean aBoolean new…...
[运维] wvp 28181安装部署全流程(ubuntu2204)
部署wvp 系统环境 系统版本:ubuntu2204 安装相关工具 sudo apt update ## 编译工具 sudo apt install git openjdk-11-jdk tar vim cmake gcc g libsrtp2-dev libssl-dev ## ffmepg sudo apt install ffmpeg编译zlm 编译zlm git clone https://gitee.com/xia-…...
vue实现富文本
效果图展示 一、安装依赖 npm install vue-quill-editor --save二、具体使用 html <template><!-- 富文本 --><quill-editorref"myQuillEditor"v-model"content":options"editorOption"blur"onEditorBlur($event)"…...
uniapp 开发微信小程序使用echart的dataZoom属性缩放功能不生效!bug记录!
在本项目中使用的是这个echart库 在项目中添加了dataZoom配置项但是不生效,突然想到微信小程序代码大小的限制,之前的echarts.js是定制的,有可能没有加dataZoom组件。故重新定制echarts.js。之前用的echarts版本是5.0.0,这次也是…...
用户端Web自动化测试_L4
目录: selenium多浏览器处理执行 javascript 脚本headless无头浏览器使用capability配置参数解析企业微信实战cypress测试框架介绍Playwright测试框架介绍 1.selenium多浏览器处理 多浏览器测试背景 用户使用的浏览器(firefox,chrome,IE 等)web 应用应该能在任何…...
CAPL - Panel和TestModule结合实现测试项可选
目录 一、定义脚本编号和脚本组编号 1、测试组定义 2、测试脚本编号定义...
机器学习,过拟合与欠拟合,正则化与交叉验证
目录 机器学习 过拟合与欠拟合 正则化与交叉验证 正则化 交叉验证 机器学习 的目的是使学到的模型不仅对已知数据而且对未知数据都能有很好的预测能力。 不同的机器学习方法会给出不同的模型。当损失函数给定时,基于损失函数的模型的训练误差(tra…...
gradio使用transformer模块demo介绍1:Text Natural Language Processing
文章目录 文本生成 Text Generation自动完成 Autocomplete情感分析 Sentiment Analysis命名实体识别 Name Entity Recognition NER多语种翻译文本生成 Text Generation import gradio as gr from transformers import pipelinegenerator = pipeline(text-generation, model=&l…...
算法通关村——数论经典问题解析
1. 辗转相除法 主要目的是获取两个数里面的最大公约数。 public int gcd(int a, int b) {int k 0;do {k a % b;a b;b k;} while (k ! 0);return a;}2. 素数和合数 素数的要求是必须大于等于2,并且只能被1和它本身整除。 判断的方法比较简单,就是从…...
代码随想录算法训练营第四十六天|LeetCode 1143,1035,53
目录 LeetCode 1143.最长公共子序列 动态规划五步曲: 1.确定dp[i][j]的含义 2.找出递推公式 3.初始化dp数组 4.确定遍历顺序 5.打印dp数组 LeetCode 1035.不相交的线 LeetCode 53.最大子序列和(动态规划) 动态规划五步曲: 1.确定…...
leetcode 541.反转字符串II
⭐️ 题目描述 🌟 leetcode链接:https://leetcode.cn/problems/reverse-string-ii/ ps: 这道题描述的有点晦涩难懂,意思就是每隔k个反转k个,末尾不够k个时全部反转,开始就不够k个也全部反转。 代码&#…...
MyBatis与Spring整合以及AOP和PageHelper分页插件整合
目录 前言 一、MyBatis与Spring整合的好处以及两者之间的关系 1.好处 2.关系 二、MyBatis和Spring集成 1.导入pom.xml 2.编写配置文件 3.利用mybatis逆向工程生成模型层代码 三、常用注解 四、AOP整合pageHelper分页插件 创建一个切面 测试 前言 MyBatis是一个开源的…...
《认知觉醒》读书笔记之潜意识
模糊--人生是一场消除模糊的比赛。 学习知识,消除认知模糊 掌握的工具越多,认知能力越强,消除模糊的能力就越强。 元认知-----》 如何反观自己。 刻意练习----》 如何精进自己。 运动改造大脑---》 如何激化自己的运动热情。 学习知识的…...
Stable Diffusion 系列教程 | 图生图基础
前段时间有一个风靡全网的真人转漫画风格,受到了大家的喜欢 而在SD里,就可以通过图生图来实现类似的效果 当然图生图还有更好玩的应用,我们一点一点来探索 首先我们来简单进行一下图生图的这一个实践---真人转动漫 1. 图生图基本界面 和…...
cuda编程day001
一、环境: ①、linux cuda-11.3 opecv4.8.0 不知道头文件和库文件路径,用命令查找: # find /usr/local -name cuda.h 2>/dev/null # 查询cuda头文件路径 /usr/local/cuda-11.3/targets/x86_64-linux/include/cuda.h # find /usr/…...
Java 中使用 ES 高级客户端库 RestHighLevelClient 清理百万级规模历史数据
🎉工作中遇到这样一个需求场景:由于ES数据库中历史数据过多,占用太多的磁盘空间,需要定期地进行清理,在一定程度上可以释放磁盘空间,减轻磁盘空间压力。 🎈在经过调研之后发现,某服务…...
C++最易读手撸神经网络两隐藏层(任意Nodes每层)梯度下降230821a
// c神经网络手撸20梯度下降22_230820a.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 #include<iostream> #include<vector> #include<iomanip> // setprecision #include<sstream> // getline stof() #include<fstream…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...
关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...
376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...
CMake 从 GitHub 下载第三方库并使用
有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...
在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)
考察一般的三次多项式,以r为参数: p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]; 此多项式的根为: 尽管看起来这个多项式是特殊的,其实一般的三次多项式都是可以通过线性变换化为这个形式…...
PHP 8.5 即将发布:管道操作符、强力调试
前不久,PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5!作为 PHP 语言的又一次重要迭代,PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是,借助强大的本地开发环境 ServBay&am…...
Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析
Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析 一、第一轮基础概念问题 1. Spring框架的核心容器是什么?它的作用是什么? Spring框架的核心容器是IoC(控制反转)容器。它的主要作用是管理对…...
spring Security对RBAC及其ABAC的支持使用
RBAC (基于角色的访问控制) RBAC (Role-Based Access Control) 是 Spring Security 中最常用的权限模型,它将权限分配给角色,再将角色分配给用户。 RBAC 核心实现 1. 数据库设计 users roles permissions ------- ------…...

