(文章复现)分布式电源接入配电网承载力评估方法研究

参考文献:

[1]郝文斌,孟志高,张勇,等.新型电力系统下多分布式电源接入配电网承载力评估方法研究[J].电力系统保护与控制,2023,51(14):23-33.

1.摘要

        随着光伏和风电等多种分布式电源的接入,使得传统配电网的结构及其运行状态发生了较大改变。因此,通过建立直观的分布式电源接入评价体系,对新型电力系统背景下的配电网接入分布式电源的承载力进行合理评估成为重要的研究内容。以可再生能源及无功补偿装置接入的新型配电网中风电和光伏发电的最大容量为目标函数,建立分布式电源接入配电网的承载能力模型,通过二阶锥松弛将该模型转化为二阶锥规划模型进行求解。然后考虑到配电网运行的优质性、经济性以及灵活性,建立多层次承载能力评估体系,根据模型求解结果计算承载能力评价指标,再通过组合赋权法将评价指标计算结果转化为综合评分。最后通过对 IEEE33 节点系统配电网模型进行算例分析,结果表明所提评估方法更为全面、有效。

2.原理介绍

2.1 新型配电网分布式电源承载能力模型

        为了对配电网中接入分布式电源的承载能力进行准确的评估,对接入的分布式电源进行充分的分配和使用,本文以一个完整的调度周期内分布式新能源承载能力最大化为优化目标函数,对配电网潮流、分布式电源和无功补偿装置等可控单元出力等方面建立模型约束。

1) 目标函数

2) 约束条件

        (1) 支路潮流约束

        本文以辐射型配电网为研究对象,选取其中一条支路在t 时刻下的运行状态建立支路潮流模型,如图 1 所示。

(2) 离散无功补偿约束

        静止无功补偿器可以实现无级连续可调,实现静止、快速、连续无级地向电网提供容性或感性无功,达到全面提高电压的质量、满足供电要求的目的。其应该满足的运行约束如式(8)所示。

(3) 连续无功补偿约束

        在电网中接入分组投切电容器组,其满足的运行约束为

(4) 分布式新能源运行约束

        在节点i 接入分布式电源,则其在t 时刻的出力 应该满足式(11)。

(5) 节点电压约束

        由于负荷具有时变性,且加入的分布式能源与无功补偿装置也具有同样的特性,使得系统的实时运行状况会更加复杂,因此为了系统运行安全,加入节点电压约束保证各节点电压能够运行在合理安全的范围内,节点电压约束如式(12)。

2.2多层次评估体系建立

        承载能力评价指标体系需遵循构建评价指标的制定原则,即基于科学性、系统性、层次性、时效性等确定影响承载能力的关键指标[23]。本文以配网新能源承载力评价为目标层,参照国内外评价指标构建情况,考虑到大量分布式能源接入的影响,建立如图 2 所示的配电网接入分布式电源承载能力评估体系。

        根据图 2 所示,评价指标体系共三层,第一层为目标层,第二层为性能层,第三层为指标层。目标层为评价体系的目的。性能层是能够评价配电网总体性能的指数,主要有安全性、经济性及灵活性。指标层是将性能层转化为具体的数值指标,方便观测。其中,安全性包括电压偏移指数和电压合格率两项指标,经济性包括无功补偿合格率和平均线损率两项指标,灵活性包括净负荷波动率和新能源发电占比两项指标。

2.3 指标计算模型

1) 安全性指标

2) 经济性指标

3) 灵活性指标

2.4 指标体系统一化

        以上指标是从某一方面来评估分布式电源接入对配网的影响,为了综合评估分布式能源接入的影响,本文采用层次分析法和熵权法主客观相结合的组合赋权法对上述指标进一步进行量化,形成全面的承载能力评价分数,其流程图如图 3 所示,并在此基础上针对配电网系统提出承载能力改善方案。其具体实现流程如下所述。

1) 指标正向化

        指标分为正向指标和负向指标。正向指标是指指标越大,则指标越优;负向指标是指指标越小,则指标越优。因此为了方便计算,需要把所有指标转化为正向指标。

        设有 m 个待评对象,n 个评价指标,可以构成数据矩阵 X,如式(29)所示。

2) min-max 标准化

        由于每个指标的数量级和量纲可能有差别,因此采用 min-max 标准化对正向化处理后的矩阵进行标准化处理,设标准化后的数据矩阵元素为rij ,由上可得指标正向化后数据矩阵元素为 xij'*,则标准化处理公式如式(32)。

3) 层次分析法

        层次分析法是一种主观赋权的方法,将决策问题按照目标、准则及具体评价方案分解为不同的层次,然后用求解判断矩阵特征向量的办法,进行定性和定量结合的决策分析,最后得到主观权重[24]。其具体实现流程如下。

(1) 针对研究的问题建立分层级的指标体系。本文的评价指标体系即分层级指标体系,便于后续进行计算。

(2) 通过标度系统表建立判断矩阵,标度系统表如表1所示,判断矩阵表明指标两两相较的重要程度。

(5) 若判断矩阵通过校验,则将特征向量W 归 一化得到所求主观权重向量。若未通过校验,则修 改判断矩阵中的元素值,再次进行计算。

4) 熵权法

        熵权法是一种常用的客观赋权法,与层次分析法需要评判者写出判断矩阵进行权重计算不同,其赋值指标权重仅依靠指标数据本身的信息熵进行计算。当指标的信息熵值越大,其权重就越小;当指标的信息熵值越小,其权重就越大[25]。利用熵权法计算客观权重的计算步骤如下。

5) 计算组合权重

最后计算组合权重Wj ,得出可观测的分数,如 式(39)所示。

3.编程思路

3.1参数和变量定义

3.2编程思路

        根据对文献内容的解读,可以设计下面的编程思路:

步骤1:输入所需数据

        这一步比较简单,所需数据文中基本都已给出,按照表1的格式输入matlab中即可。IEEE33节点系统直接使用Matpower工具箱的数据。

步骤2定义决策变量

        这一步也比较简单,按照表2,初始化决策变量即可,仔细检查变量的维度和类型,不要出错。

步骤3:写目标函数和约束条件

        这一步比较容易出错,按照给定的数据和定义的变量,仔细写出优化问题的目标函数和约束条件。写约束条件时尤其要注意电压、功率、电流等参数和变量最好都使用标幺值,避免单位不统一导致优化问题无解。

步骤4:使用yalmip工具箱对优化问题进行求解

        文中构建的优化问题是混合整数二阶锥规划形式,代码中是采用yalmip+gurobi进行求解,也可以改成cplex求解器或mosek求解器。

3.3文献中存在的问题分析

1)一些细节问题

        连续无功补偿和离散无功补偿约束写反了,电容器组的容量设定为500Mvar,太大了,应该是500kvar,也就是0.5Mvar;还有像电容器最大组数、电压上下限等参数没有给定。

2)优化模型的问题

        文中给出的优化模型存在一定问题。

        ①.IEEE33节点配电网应有上级电源出力,文中并未体现仅靠分布式电源和无功补偿装置无法实现功率平衡;

        ②.文中缺少支路电流、支路有功功率、无功功率、网络损耗的约束,所得分布式电源承载力计算结果不准确。

        ③.优化模型中已经给定了电压上下限约束,那么所有节点电压都会是合格的。文中所提的电压合格率指标不知是什么含义?优化模型中将节点电压标幺值约束为0.95以上,计算电压合格率指标时要求0.96以上才合格,不然所有场景都会是100%。

        ④.按照文中表A5的结果,RPG指标最大为1,应该是约束了DG出力小于等于总负荷需求,按图5给出的负荷曲线,结合33节点基本的负荷需求,得到24小时总负荷需求为50MWh左右,但表3的结果中,DG最大承载力超过了50MW,说明某些时刻RPG指标会大于1。从这一点看,论文的数据存在被“优化”过的嫌疑。

4.代码运行结果

场景1求解成功
通过一致性校验
场景1下指标VEI的权重为:0.096939
场景1下指标VQR的权重为:0.14476
场景1下指标RPQ的权重为:0.23727
场景1下指标ALR的权重为:0.11273
场景1下指标FRL的权重为:0.39869
场景1下指标RPG的权重为:0.0096119
场景1下最大接入容量为:50.7297MW
场景1下组合赋权最终评分为:68.921
场景2求解成功
通过一致性校验
场景2下指标VEI的权重为:0.1031
场景2下指标VQR的权重为:0.19119
场景2下指标RPQ的权重为:0.1638
场景2下指标ALR的权重为:0.10701
场景2下指标FRL的权重为:0.34779
场景2下指标RPG的权重为:0.087104
场景2下最大接入容量为:50.7297MW
场景2下组合赋权最终评分为:71.3996
场景3求解成功
通过一致性校验
场景3下指标VEI的权重为:0.10884
场景3下指标VQR的权重为:0.20094
场景3下指标RPQ的权重为:0.12603
场景3下指标ALR的权重为:0.11802
场景3下指标FRL的权重为:0.36992
场景3下指标RPG的权重为:0.076246
场景3下最大接入容量为:50.7297MW
场景3下组合赋权最终评分为:59.2832
场景4求解成功
通过一致性校验
场景4下指标VEI的权重为:0.13066
场景4下指标VQR的权重为:0.14261
场景4下指标RPQ的权重为:0.079379
场景4下指标ALR的权重为:0.17224
场景4下指标FRL的权重为:0.40254
场景4下指标RPG的权重为:0.072572
场景4下最大接入容量为:50.7297MW
场景4下组合赋权最终评分为:65.2187
场景5求解成功
通过一致性校验
场景5下指标VEI的权重为:0.091708
场景5下指标VQR的权重为:0.13409
场景5下指标RPQ的权重为:0.089711
场景5下指标ALR的权重为:0.16251
场景5下指标FRL的权重为:0.42322
场景5下指标RPG的权重为:0.098762
场景5下最大接入容量为:50.7297MW
场景5下组合赋权最终评分为:61.0308

5.matlab代码

% 作者:CSDN博主—配电网与matlab,
% 面包多账号—配电网精品代码,其他渠道均为倒卖的代码,欢迎联系我举报代码贩子,成功可得红包!!!
clc
clear
close all
warning off%% 绘制风光负荷曲线
data = xlsread('风光负荷曲线.xlsx');    % 风光负荷数据  
Ppv0 = data(:,1)';                      % 光伏出力曲线
Pwt0 = data(:,2)';                      % 风电出力曲线
Pload0 = data(:,3)';                    % 负荷曲线
figure
hold on
bar(Pload0,'y')
plot(Ppv0,'.-b','linewidth',1)
plot(Pwt0,'.-r','linewidth',1)
xlabel('时间')
ylabel('时序值')
legend('负荷','光伏','风电')%% 计算每个场景的指标
case_num = 5;                   % 场景总数
NT = 24;                        % 时段数
PV_node = [6,6,13,13,23];       % 各个场景光伏接入位置
WT_node = [9,19,19,29,29];      % 各个场景风电接入位置% 电压偏移指数
c_VEI = zeros(case_num, NT);
VEI = zeros(case_num, 1);% 电压合格率
c_VQR = zeros(case_num, NT);
VQR = zeros(case_num, 1);% 无功补偿合格率
c_RPQ = zeros(case_num, NT);
RPQ = zeros(case_num, 1);% 平均线损率
c_ALR = zeros(case_num, NT);
ALR = zeros(case_num, 1);% 净负荷波动率
c_FRL = zeros(case_num, NT);
FRL = zeros(case_num, 1);% 新能源发电占比
c_RPG = zeros(case_num, NT);
RPG = zeros(case_num, 1);% 节点电压
Uit = zeros(33,NT,case_num);% 光伏最大接入容量
Smax = zeros(case_num, 1);% 最终评分
Score0 = zeros(case_num, 1);
Scoret = zeros(case_num, NT);for s = 1:case_num%% 计算各个场景的优化结果[c_VEI(s,:), c_VQR(s,:), c_RPQ(s,:), c_ALR(s,:), c_FRL(s,:), c_RPG(s,:), ~, ~, ~, ~, ~, ~, Smax(s), Uit(:,:,s)] = cal_index(PV_node(s), WT_node(s), s);%% 1.指标正向化,VEI,ALR,FRL为负向指标,需要正向化c_VEI(s,:) = normalization(c_VEI(s,:));c_ALR(s,:) = normalization(c_ALR(s,:));c_FRL(s,:) = normalization(c_FRL(s,:));xij = [c_VEI(s,:);c_VQR(s,:);c_RPQ(s,:);c_ALR(s,:);c_FRL(s,:);c_RPG(s,:)]';%% 2.min-max 标准化rij = min_max(xij);%% 3.层次分析法求主观权重aj = AHP(rij);%% 4.熵权法求客观权重bj = entropy_weight(rij);%% 5.计算组合权重Wj = sqrt(aj.*bj)/sum(sqrt(aj.*bj));%% 输出结果Score0(s) = mean(rij)*Wj*100;Scoret(s,:) = rij*Wj*100;disp(['场景',num2str(s),'下指标VEI的权重为:',num2str(Wj(1))])disp(['场景',num2str(s),'下指标VQR的权重为:',num2str(Wj(2))])disp(['场景',num2str(s),'下指标RPQ的权重为:',num2str(Wj(3))])disp(['场景',num2str(s),'下指标ALR的权重为:',num2str(Wj(4))])disp(['场景',num2str(s),'下指标FRL的权重为:',num2str(Wj(5))])disp(['场景',num2str(s),'下指标RPG的权重为:',num2str(Wj(6))])disp(['场景',num2str(s),'下最大接入容量为:',num2str(Smax(s)),'MW'])disp(['场景',num2str(s),'下组合赋权最终评分为:',num2str(Score0(s))])[X1,Y1] = meshgrid(1:24,1:33);figure Fig1 = surf(X1,Y1,Uit(:,:,s));colorbar;ylabel('节点编号')xlabel('时间')zlabel('电压幅值/pu')title(['场景',num2str(s),'的节点电压分布'])end
figure
hold on
plot(c_VEI'*100,'linewidth',1)
xlabel('时间')
ylabel('电压偏移指数/%')
legend('场景1','场景2','场景3','场景4','场景5')figure
for s = 1:case_numsubplot(case_num,1,s);plot(Scoret(s,:),'.-','linewidth',1)legend(['场景',num2str(s)])axis([1,24,0,100])
end
xlabel('时间')
ylabel('综合评分')

        以上仅为程序主函数代码,完整代码获取方式如下:

(文章复现)分布式电源接入配电网承载力评估方法研究matlab代码资源-CSDN文库

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/18710.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习-8-超参数寻优的常用算法

参考参数优化系列1–随机搜索算法原理及其代码实现 参考参数优化系列2–网格搜索 参考参数优化系列3–贝叶斯算法 参考参数优化系列4–强化学习算法 参数优化系列5–粒子群算法 参考贝叶斯超参数寻优scikit-optimize 参考全面总结机器学习超参数调优 1 随机搜索算法 随机搜索…

【网络】网络编程套接字

一、知识提及 1.源IP地址和目的IP地址 在IP数据包头部中, 有两个IP地址, 分别叫做源IP地址, 和目的IP地址 2.端口号 端口号(port)是传输层协议的内容. 端口号是一个2字节16位的整数;端口号用来标识一个进程, 告诉操作系统, 当前的这个数据要交给哪一个进程来处理;IP地址 …

一文介绍数据和模型漂移(Drift):漂移检测示例

大家好,漂移(Drift)是机器学习中用来描述模型在生产环境中随着时间推移而性能逐步下降的现象,由很多原因引起,主要原因是随着时间推移输入数据(x)分布的变化和期望目标(y)之间的关系发生了变化。…

PHP MySQL图解学习指南:开启Web开发新篇章

PHP曾经是最流行的Web开发语言,许多世界领先的网站(如Facebook、维基百科和WordPress)都是用它编写的。PHP运行在Web服务器端,通过使用存储在MySQL数据库中的数据,使得网站可以为每一位访问者显示不同的定制页面。书中采用简单、直观的图示化…

STL-priority_queue的使用及其模拟实现

优先级队列(priority_queue)默认使用vector作为其底层存储数据的容器,在vector上又使用了堆算法将vector中的元素构造成堆的结构,因此priority_queue就是堆,所有需要用到堆的位置,都可以考虑使用priority_queue。 注意&#xff1…

可选链与空值合并运算符的妙用

可选链(Optional Chaining)和空值合并运算符(Nullish Coalescing Operator)是 JavaScript 中的两个新特性,它们可以在处理可能为 null 或 undefined 的值时提供更简洁和安全的代码。 可选链允许我们通过在对象的属性后…

【好书分享第十三期】AI数据处理实战108招:ChatGPT+Excel+VBA

文章目录 一、内容介绍二、内页插图三、作者简介四、前言/序言五、目录 一、内容介绍 《AI数据处理实战108招:ChatGPTExcelVBA》通过7个专题内容、108个实用技巧,讲解了如何运用ChatGPT结合办公软件Excel和VBA代码实现AI办公智能化、高效化。随书附赠了…

NDIS驱动开发-NET_BUFFER体系

网络数据由通过网络发送或接收的数据包组成。 NDIS 提供数据结构来描述和组织此类数据。 NDIS 6.0 及更高版本的主要网络数据结构包括: NET_BUFFERNET_BUFFER LISTNET_BUFFER_LIST_CONTEXT 它们之间的关系如下: 在 NDIS 6.0 及更高版本中, NET_BUFFER …

AI工程师:高薪时代的领跑者

在科技飞速发展的今天,人工智能(AI)技术正日益成为推动社会进步的关键力量。与此同时,AI领域的人才需求也呈现出井喷之势,其中AI工程师更是成为了各大企业竞相争夺的“香饽饽”。根据最新数据显示,AI工程师…

串口调试助手中文乱码 解决方案

输出乱码 一般,当串口调试助手输出乱码时,可能有以下几个原因: 波特率设置错误:串口通信需要保证发送和接收的设备使用相同的波特率。请检查串口调试助手和目标设备的波特率设置是否一致。 数据位、停止位或校验位设置错误&…

支持向量机、随机森林、K最近邻和逻辑回归-九五小庞

支持向量机(Support Vector Machine, SVM)、随机森林(Random Forest)、K最近邻(K-Nearest Neighbors, KNN)和逻辑回归(Logistic Regression)是机器学习和统计学习中常用的分类算法。…

【目标解算】相机内外参数详细解读+坐标系转换

一、相机参数介绍 1.1 相机内参矩阵 概念:内参矩阵用于描述相机的内部参数,它包含了相机的焦距、主点坐标和图像的畸变等信息。内参矩阵的形式通常为一个3x3的矩阵,常用表示为K。内参矩阵可以将相机坐标系中的三维点映射到图像平面上的二维…

C++设计模式之策略模式、迭代器模式、适配器模式、工厂模式、超级工厂模式、享元模式、代理模式

文章目录 一、介绍1.毫无价值的使用虚函数例子 二、策略模式1.策略模式2.多重策略与迭代器模式3.不要什么东西都塞一块 三、适配器模式1.跨接口的适配器2.跨接口的适配器 四、工厂模式1.工厂模式2.超级工厂模式3.RAII 自动管理内存4.工厂模式实战 五、享元模式1.享元模式2.代理…

linux安装mysql后,配置mysql,并连接navicat软件

Xshell连接登陆服务器 输入全局命令 mysql -u root -p 回车后,输入密码,不显示输入的密码 注意mysql服务状态,是否运行等 修改配置文件my.cnf,这里没找到就找my.ini,指定有一个是对的 find / -name my.cnf 接下…

GPT-4你了解多少呢

一、引言 在人工智能(AI)领域,自然语言处理(NLP)技术一直备受关注。近年来,随着深度学习技术的飞速发展,NLP领域也取得了显著进步。GPT-4,作为OpenAI公司最新发布的自然语言处理模型…

bochs 调试基本指令大全

bochs 调试基本指令大全 功能 指令 举例 在某物理地址设置断点 b addr b 0x90000 运行到断点位置 c c 单步运行(遇到函数则进入) s s 单步运行(遇到函数则跳过) n n 继续运行上调指令 回车 回…

liunx进程和计划任务管理

文章目录 一、进程特殊情况 二、查看进程2.1进程查看2.2补充说明 三、进程管理3.1运维的指标五大负载 3.2定时任务、计划任务 一、进程 进程管理 相当于任务管理器 进程就是运行起来的代码 线程:线程相当于复制了进程的部分代码,程序运行起来之后&…

2024-03-23青少年软件编程(Python语言)等考(五级)解析

2024-03-23青少年软件编程(Python语言)等考(五级)解析一、单选题(共25题,共50分) 1.以下代码的输出结果是?( A ) nums = list(range(100, 201)) print(nums[::10]) A.[100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200] B.[100, 101, 102, 103, 104, 105, 106…

京东二面:为什么Netty要造FastThreadLocal?

FastThreadLocal 从字面意义上来看,它是“Fast”“ThreadLocal”的结合体,寓意为快速的 ThreadLocal。那么,问题来了,Netty 为什么要再造一个 FastThreadLocal?FastThreadLocal 运行快的原因是啥?除了快之外…

linnux上安装php zip(ZipArchive)、libzip扩展

安装顺序: 安装zip(ZipArchive),需要先安装libzip扩展 安装libzip,需要先安装cmake 按照cmake、libzip、zip的先后顺序安装 下面的命令都是Linux命令 1、安装cmake 确认是否已安装 cmake --version cmake官网 未安装…