基于解析法和遗传算法相结合的配电网多台分布式电源降损配置(Matlab实现)

news2024/11/25 11:32:41

目录

1 概述

2 数学模型

2.1 问题表述

2.2 DG的最佳位置和容量(解析法)

2.3 使用 GA 进行最佳功率因数确定和 DG 分配 

3 仿真结果与讨论

 3.1 33 节点测试配电系统的仿真

3.2 69 节点测试配电系统仿真

 4 结论


1 概述

为了使系统网损达到最低值,人们提出了多种方法来确定分布式发电机组的最优位置和容量。
本文将解析法和遗传算法相结合,用于配电网中多个分布式电源的优化配置,使系统网损最小。
这种组合保证了多个分布式发电机组配置的收敛精度和速度。在本文中,在配电网网损最小化时,同时考虑分布式电源的有功功率、功率因数和位置。如果DG是由DG所有者安装的,则该实用程序将仅规定DG的最大发电量。但是,如果DG是由它安装的,则DG的大小和位置都将由该实用程序确定。将该方法应用于33节点和69节点试验配电网。仿真结果表明,与其他方法相比,该方法具有更低的损耗。

本文提出了一种新的方法,这是一种混合方法,它使用遗传算法搜索大范围的位置组合和分布式电源的功率因数,并采用解析方法计算每个分布式电源的位置和容量。虽然这是以要求预先指定DG单位的数量为代价来实现的,但这为检验不同数量 DG 战略布局的好处开辟了潜力。

将该方法应用于33节点和69节点试验配电网,结果表明了该方法在配电网分布式发电机组优化配置中的准确性和有效性。本文创新点如下:

分析和启发式搜索方法相结合,同时实现高速和准确的收敛。考虑将松弛节点的有功潮流对分布式电源产生的有功功率的依赖性作为最小化配电网网损的新约束。
利用分布式电源最优输出有功功率的确定性方程,根据网损系数和网络需求,对配电网网损最小化问题进行了解析解。在最小化配电网损耗的过程中,同时考虑分布式电源的有功功率、功率因数和位置。
本论文的结构如下:

第二节数学模型
第三节对多个DG单元放置的仿真和结果进行了研究和讨论。

最后,第四节对本文进行了总结。

2 数学模型

2.1 问题表述

网络中的有功网损可以表示为不同机组发电量的函数,根据下面的关系,称为Kron方程:

         

等式(1)可以表示为以下矩阵形式:

   

在(2)中,矩阵B、B0和B00是损耗系数矩阵。一般来说,这些系数不是恒定的,并且依赖于负荷值和发电量。但是,它们可以在系统运行的基本情况下计算。
本文考虑了如下假设:配电网是一个在松弛节点馈电的放射状系统,用数字1标识并连接到子配电电网络或输电网络,分布式电源具有恒定的功率因数。


2.2 DG的最佳位置和容量(解析法)

假设在使用恒定功率因数(PF_{N1}PF_{N2},.....PF_{Ng})的母线Kn1、Kn2、...中安装了Ng个DG单元。假设松弛母线为发电单元,则该网络中有n_{g}+1个发电单元。网损可按(1)计算。
假设DG安装在母线2、3、…、n_{g}+1上。如果(1)相对于p_{i}的导数为零,则网络损耗将是最小的。
应当注意,P_{2}...P_{NG}+1在(1)中指示由不同DG产生的功率是独立的,并且由松弛母线P_{1}产生的功率如下所示依赖于这些变量:

     

 应当注意,假设PD在网络的特定状态下是恒定的。

对(3)进行微分,可以得到 

由于 ∂PL/∂Pi 和 ∂PD/∂Pi 等于 0,所以 (4) 可以写成如下:

     

如(5)所示,P1取决于不同DG的发电量。另一方面,在系统损耗最小的情况下,松弛母线产生的有功功率变化与DG机组产生的有功功率变化的比值等于-1。为了使(1)在(3)的约束下达到最小,采用了拉格朗日松弛法,具体如下:

偏微分函数应该等于零,也就是:

方程(8)可以写成矩阵形式,如下:

   

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 

可以使用以下等式从 (9) 计算 P:

  

其中 x、E 和 F 可以分别根据以下等式计算:

      

P的每个元素确定如下:

      

对于已知的x值,可以根据(10)计算出最佳的P_{i}s,将(10)-(14)代入(3),可以写出以下公式:

    

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

展开 (15) 得出以下等式:

  

 其中参数 a、b 和 c 基于以下等式计算:

a通过下式进行计算:

      

通过将 E 从 (12) 中代入, (17) 可以写为:

  

由于 B = BT, (18) 可简化如下:

b 根据以下等式计算:

    

考虑 (13),b 可以根据以下等式计算:

最后,c可以按下式进行计算:

  

等式 (16) 有如下两个根:

由于 b 是负数 [考虑 (21)],x1 是一个很大的数,对应的 Pi 也有很大的值 [根据 (14)]。这个答案是不可接受的,因为单位中的 Pi 太大了。因此,以下答案是唯一可以接受的答案:

  

使用 (10)–(24),确定 P_{i}s的最佳值。


2.3 使用 GA 进行最佳功率因数确定和 DG 分配 

在本节中,DG功率因数及其位置被确定为具有系统损耗的最小值。遗传算法是一种通用的优化方法,已被用于不同领域的优化问题。遗传算法分几个步骤进行,如:

在本文中,每个DG单元的优化问题都考虑了三个变量。这些变量是DG的有功功率、DG的功率因素和DG的位置。DG的有功功率是通过解析方案和数学方法得到的(24)。功率因数和DG的位置分别通过使用连续和离散的GA来确定。在GA中,染色体是问题变量,也就是功率因数和DG的位置。因此,假设有ng个DG单元,GA中染色体的长度将等于2ng,包括ng个功率因数的基因(PF1, PF2, ..., PFn)和ng个DG连接位置的基因(D1, D2, ..., Dn)。

          

                          图1 本文所考虑的染色体形态。

换句话说,在GA过程的第一步,一组可能的答案被随机产生,这些答案被称为方案或染色体。本文认为一个染色体的形式如图1所示。在下一步中,将根据每个染色体的适合度为其分配一个数字,作为可能的答案。上述数字由适应度函数决定,适应度函数将由GA进行优化。最后,GA通过选择操作符并根据染色体的适配度选择一些染色体进行交叉、变异和替换操作。这些运算符产生一个新的群体,该过程将被重复,直到达到停止条件。为了计算与染色体相对应的适配函数,根据(2)计算网络损失,并利用(24)确定DG的最佳功率世代。在功率流运行后,根据(1)确定电力系统损失,并将其分配给一个染色体作为其适配值。

                      

 GA 应该通过改变功率因数和不同 DG 的位置来寻找适应度函数的最小值。本文采用分析方法和启发式搜索方法相结合的方法解决了分布式电源优化分配问题,如图 2 所示。使用该方法的主要好处如下

由于分布式电源的功率余量代数太广,GA收敛速度慢,可能无法得出准确的解。本文采用遗传算法确定分布式发电机组的安装位置及其功率因数,并采用解析法确定分布式发电机组产生的最佳功率。

仅使用解析方法会导致复杂且非线性的方程,因为应计算损耗系数相对于 DGs 功率因数的微分,并且损耗系数是 DGs 功率因数的非线性和复杂函数。此外,DGs 位置是一个离散参数,它对 DG 位置的导数是没有意义的。因此,启发式搜索算法应该被用于优化DG分配。考虑到这两个问题,本文提出了分析和启发式搜索相结合的方法。

        

                                     图2 所提出方法的流程图

3 仿真结果与讨论

将该方法应用于图3和图4所示的两个试验配电网(33节点和69节点系统)。该算法在Matlab环境下实现,并使用MATPOWER软件进行潮流计算。
在本研究中,分布式发电有两种不同的运行模式:分布式发电只产生有功功率(单位功率因数模式)和分布式发电可以产生有功和无功(非单位功率因数模式)。

                     

                                       图3 33节点测试配电系统

   

                              图4 69节点测试配电系统

 3.1 33 节点测试配电系统的仿真

本节将在以下两种情况下考虑两种不同的DG运行模式。

3.1.1 情景1:DG运行的统一功率因数模式。

在这种情况下,假设DG产生有功功率,而不产生/消耗无功功率。使用建议的方法在网络中分配不同数量的DG。在表1中,建议的方法与其他方法进行了比较,即损失敏感系数(LSF)、改进的分析法(IA)和穷举负载流(ELF)方法[33]。从表1中可以看出,所提出的方法在降低损耗方面比其他方法有更好的表现。在放置一个DG的情况下,在这四种算法中,有三种算法建议在母线6上安装DG。为了显示建议的方法在寻找安装在母线6的DG的最佳发电量方面的性能,计算了网络损耗与安装在母线6的DG的发电量,如图5所示。如图5所示,如果安装在母线6上的DG产生2.706兆伏安,则损失达到最小值(0.09922兆瓦)。如表 1 所示,建议的方法找到了这个功率值,即安装在母线 6 上的 DG 应该产生的功率,以使损耗最小。

                     表 1 第一种场景的仿真结果(33节点测试配电系统)

         

   

                    图5 发电量的网络损耗(DG安装在 6节点)

3.1.2 情景二:非统一功率因数的DG运行模式。

在这种情况下,假设DG的功率因数不一定等于1,仿真结果见表2。从表2中可以看出,建议的方法达到了最低的网络损耗。

在放置一个 DG 的情况下,建议的算法建议安装在母线 30。安装的 DG 的功率为 1844.85 kVA,滞后功率因数为 0.767。图 6 显示了损耗与 DG 位置及其功率因数的关系。如图所示,解析法和遗传算法相结合,通过在母线 30 上安装一台 DG(图 7)以 0.767 的滞后功率因数,达到了最小的网络损耗。为了解析解决该问题,总线的电压不等式约束(即 Vmin < V bus < V max)不能包含在优化问题中。因此,在优化程序完成后,可以而且应该检查母线电压和线电流,以保证母线电压的不等式约束。表3列出了安装DG机组后33个总线系统的最低和最高电压.

                              表 2 场景二(33节点测试配电系统)的仿真结果

                     

                          表3 安装DG后的33个节点测试配电系统的最低和最高电压

                  

                       

                              图 6 系统损耗与 DG 位置及其功率因数的关系

                   

                             图7 在母线30安装一个DG,网络损失的最小值


3.2 69 节点测试配电系统仿真

本节对69 母线测试配电系统进行仿真。以下两种场景分别考虑了两种不同的 DG 运行模式。

3.2.1 场景一:DG 运行的单位功率因数模式:

这种情况下,假设 DG 工作在单位功率因数模式,只能产生有功功率。 DG 分配的结果列于表 4。如表中所列,与其他方法相比,所提出的方法导致较低的网络损耗。

                      表 4 第一种场景(69节点测试配电系统)的仿真结果

                         

3.2.2 场景二:DG 运行的非统一功率因数模式:

此时 DG 可以产生有功和无功功率,其功率因数不一定等于 1。69 年 DG 优化配置的结果母线测试配电系统见表 5。表 6 列出了 DG 机组安装后 69 母线系统的最小和最大电压。 

                        表 5 场景二(69节点测试配电系统)的仿真结果

               

          表 6 DG 安装后 69 母线测试配电系统的最小和最大电压

    


 4 结论

本文提出了一种解析法和遗传算法相结合的方法,用于配电网多台分散发电机组的配置,使系统网损最小。该方法利用遗传算法来寻找分布式电源的最优安装位置,并使用一种新的解析公式来确定分布式电源容量。将该方法与IA、LSF和ELF方法在降低损耗方面进行了比较。结果表明,与其他方法相比,该方法达到了最低的损耗。

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

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

相关文章

一分钟学会利用GPT编写爆款标题

&#x1f3c6; 文章目标&#xff1a;学习利用GPT编写爆款标题 &#x1f340; 入门篇&#xff1a;一分钟学会利用GPT编写爆款标题 ✅ 创作者&#xff1a;熊猫Jay ✨ 个人公众号: 熊猫Jay字节之旅 (文末有链接) &#x1f341; 展望&#xff1a;若本篇讲解内容帮助到您&#xff0c…

Web网站性能压测实践 | 数据平台

一、 为什么要做压测&#xff1f; 首先解释下为什么要做性能压测&#xff1a;根据 Amazon 统计&#xff0c;每慢 100 毫秒&#xff0c;交易额下降 1%。这个统计数据为大家敲响了警钟&#xff0c;也客观说明了性能压测对于企业应用的重要性。从具体的OKR上讲&#xff0c;我们希望…

常见排序算法-Python实现

python 排序 算法 1.二分法 ​ python 32行 #codingutf-8 def binary_search(input_array, value): """Your code goes here.""" length len(input_array) left 0 right length-1 if length 1: return 0 if value input_value[0] els…

Linux 多线程并发Socket服务端的实现( 11 ) -【Linux通信架构系列 】

系列文章目录 C技能系列 Linux通信架构系列 C高性能优化编程系列 深入理解软件架构设计系列 高级C并发线程编程 设计模式系列 期待你的关注哦&#xff01;&#xff01;&#xff01; 现在的一切都是为将来的梦想编织翅膀&#xff0c;让梦想在现实中展翅高飞。 Now everythi…

3秒快速打开 jupyter notebook

利用 bat 脚本&#xff0c;实现一键打开 minconda 特点&#xff1a; 1、可指定 python 环境 2、可指定 jupyter 目录 一、配置环境 minconda 可以搭建不同的 python 环境&#xff0c;所以我们需要找到 minconda 安装目录&#xff0c;把对应目录添加到电脑环境 PATH 中&#…

prepros.crack.7.8.5 by Xacker

您友好的 Web 开发伙伴 Prepros 编译您的文件&#xff0c;转译您的 JavaScript&#xff0c;重新加载您的浏览器&#xff0c;并使开发和测试您的网站变得非常容易&#xff0c;这样您就可以专注于使它们完美。 适用于 Windows、macOS 和 Linux 试用版包括所有 Prepros 功能。 编…

【数据结构】树状数组和线段树

树状数组和线段树 下文为自己的题解总结&#xff0c;参考其他题解写成&#xff0c;取其精华&#xff0c;做以笔记&#xff0c;如有描述不清楚或者错误麻烦指正&#xff0c;不胜感激&#xff0c;不喜勿喷&#xff01; 树状数组 需求&#xff1a; 能够快速计算区间和保证在修改…

了解 MySQL 中 MVCC 的原理

点击上方↑“追梦 Java”关注&#xff0c;一起追梦&#xff01; 要解决读一致性的问题&#xff0c;保证一个事务中前后两次读取数据结果一致&#xff0c;还有一种 MVCC 的方式&#xff0c;又叫多版本的并发控制&#xff08;Multi Version Concurrency Control&#xff09;。 MV…

Flink状态的理解

Flink是一个带状态的数据处理系统&#xff1b;系统在处理数据的过程中&#xff0c;各算子所记录的状态会随着数据的处理而不断变化&#xff1b; 1. 状态 所谓状态State&#xff0c;一般指一个具体的 Task 的状态&#xff0c;即线程处理过程中需要保存的历史数据或历史累计数据…

SpringBoot集成Redis的环境部署以及操作Redis

文章目录 Spring Boot 集成Redis1.环境配置 redis连接配置信息不写默认wei6379&#xff0c;数据库为02.操作Redis2.1 代码形式操作Redis2.2 使用注解方式操作Redis Spring Boot 集成Redis 1.环境配置 添加redis依赖 在老项目添加&#xff0c;可以在pom.xml文件直接添加&#…

DAMO-YOLO 论文学习

1. 解决了什么问题&#xff1f; 工业界追求高性能、低延迟的目标检测算法&#xff0c;研究人员于是聚焦于单阶段目标检测&#xff0c;探索高效的网络结构和训练策略。YOLOv5/v6/v7、YOLOX 和 PP-YOLOE 在 COCO 数据集上实现了不错的精度-速度平衡&#xff0c;得到广泛应用&…

超标量处理器寄存器rename

1.相关性介绍 在CPU中&#xff0c;一段程序会被编译成一连串的汇编指令&#xff0c;指令与指令之间可能会具有相关性&#xff08;dependency&#xff09;。所谓相关性&#xff0c;即一条指令的执行会依赖于另一条指令的结果&#xff0c;相关性可以分为&#xff1a;① 数据相关性…

el-table树形表格实现复选框多选效果

2023.7.26今天我学习了如何使用树形表格的时候进行复选框的多选效果。 当我们使用树形结构表格需要进行多选功能操作的时候会发现点击全选的时候&#xff0c;只有一级表格数据会被选中&#xff0c;问题如图&#xff1a; 我们需要实现的是点击全选的不管是几级表格数据都可以被…

ElasticSearch之IK分词器安装以及使用介绍

文章目录 一、IK 分词器简介1. 支持细粒度分词&#xff1a;2. 支持多种分词模式&#xff1a;3. 支持自定义词典&#xff1a;4. 支持拼音分词&#xff1a;5. 易于集成和使用&#xff1a; 二、安装步骤1、下载 IK 分词器插件&#xff1a;2、安装 IK 分词器插件&#xff1a;3. 安装…

各种知名游戏的技术分析

介绍一个GitHub&#xff0c;里面包括了市面上的各种游戏的技术分析&#xff0c;包括渲染管线、工作流、技术文章等等&#xff0c;在做某个类型的游戏的时候&#xff0c;可以针对某个游戏去进行技术参考&#xff0c;特别实用。 GitHub - OTFCG/Awesome-Game-Analysis: a compre…

C++设计模式之模板方法、策略模式、观察者模式

面向对象设计模式是”好的面向对象设计“&#xff0c;所谓”好的面向对象设计“指的是可以满足”应对变化&#xff0c;提高复用“的设计。 现代软件设计的特征是”需求的频繁变化“。设计模式的要点是”寻求变化点&#xff0c;然后在变化点处应用设计模式&#xff0c;从而更好地…

力扣天天练--week3-LeetCode75

topic75-9-t443:压缩字符串 题目描述&#xff1a; 给你一个字符数组 chars &#xff0c;请使用下述算法压缩&#xff1a; 从一个空字符串 s 开始。对于 chars 中的每组 连续重复字符 &#xff1a; 如果这一组长度为 1 &#xff0c;则将字符追加到 s 中。 否则&#xff0c;需…

Spring Boot中整合MyBatis(基于xml方式基于注解实现方式)

一、前提准备 在Spring Boot中整合MyBatis时&#xff0c;你需要导入JDBC&#xff08;不需要手动添加&#xff09;和Druid的相关依赖。 JDBC依赖&#xff1a;在Spring Boot中整合MyBatis时&#xff0c;并不需要显式地添加JDBC的包依赖。这是因为&#xff0c;当你添加mybatis-sp…

会捷通云视讯 list 目录文件泄露漏洞

劳动永远是医治精神创伤的良药。 漏洞描述 会捷通云视讯某个文件 list参数 存在目录文件泄露漏洞&#xff0c;攻击者通过漏洞可以获取一些敏感信息 漏洞复现 构造payload访问漏洞url&#xff1a; /him/api/rest/V1.0/system/log/list?filePath../漏洞证明&#xff1a; 文…

Mendix 创客访谈录|综合业务展示大屏应用开发

本期创客 刘书智 西门子工业领域专家 我在西门子工厂自动化工程有限公司工作。一直从事SCADA产品的技术支持工作&#xff0c;已经过去17个年头了。赶上数字化发展的浪潮&#xff0c;不断学习各种IT技术&#xff0c;践行 IT与OT融合&#xff0c;希望借助自己的IT知识助力OT的发…