开源代码分享(19)-配电网孤岛优化划分方法

2024-04-09 17:52

本文主要是介绍开源代码分享(19)-配电网孤岛优化划分方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

参考文献:

DING Tao, LIN Yanling, LI Gengfeng, et al. A new model for resilient distribution systems by microgrids formation[J]. IEEE Transactions on Power Systems, 2017, 32(5): 4145-4147. 

1.基本原理

        通过分布式电源(DGs)形成多个微网,为在配电系统中恢复关键负载提供了一种坚韧可靠的解决方案。然而,随着微网数量的增加,需要更多的虚拟二进制和连续变量,从而增加了这种模型的复杂性。为解决这一问题,本文提出了一种新模型来重新制定具有韧性的配电网络中的微网形成问题。与传统模型相比,二进制和连续变量的数量大大减少,因此计算性能得到了显著提高。在IEEE测试系统上的数值结果验证了所提出模型的有效性。本文将提出一种新的数学模型,以减少配电网孤岛划分模型的决策变量数量,并改善计算性能。

        弹性配电系统的微网形成通过分段开关来形成不同的网络单元,每个微网中只有一个DG,以确保系统具有自给自足性。其目标是在满足运行约束和拓扑约束的情况下,最大化自然灾害后所吸纳的负荷的加权总和。

1.1 运行约束:

        对于微网,我们使用线性化DistFlow模型来制定微网的运行约束,其中给出了约束(1)-(6)。具体来说,(1)表示功率平衡;(2)是DistFlow方程。具体而言,如果支路关闭,则该支路的电压差受功率流限制,支路电流应受到限制;否则,电压差是任意的,支路电流必须为零;(3)给出了每个母线的电压限制;(4)和(5)是关于DG输出限制的;(6)表示负荷需求限制。

1.2 拓扑约束

        拓扑约束考虑了节点聚类约束、微网连通性约束和支路-节点约束来实现配电网络的划分成多个微网。然而,与输电系统不同,配电系统具有拓扑呈辐射状的特性。因此,如果可以实现辐射性,那么[4]中所有与拓扑相关的约束都将得到满足。在这种情况下,[4]中提到的约束是多余的,可以简化为本文中的“辐射性约束”。
        此外,[5]中提出了一种实现辐射性的充分必要条件,即当且仅当以下两个条件得到满足时,图形具有辐射性:(i)每个子图都是一个连通图;(ii)支路数等于节点数减去给定的子图数。
        为了满足第一个条件,根据图论,可以通过数学规划和单一商品流方法[6]来表述子图的连通性约束。关于网络连通性的条件是基于单一商品流的以下特点:设计一个具有相同拓扑结构的虚构网络,其中每个子图只有一个电源,称为“源”,而其他所有母线(除“源”母线外)具有单位负荷需求,充当“汇”。由于虚构网络与原始电力网络具有相同的拓扑结构,它们具有相同的连通性。因此,在虚构网络中每个母线的能量平衡的满足意味着“源”母线与所有其他母线之间至少存在一条路径,因此子图必须是连通的。
        值得注意的是,可以在每个微网中的任何母线上选择源。在本文中,我们选择每个微网中的DG母线作为“源”母线。因此,我们有

        值得注意的是,由于每个微网只包含一个DG,所以微网的数量与DG的数量相同。因此,|{DG}|是一个预先确定的参数。另外,令wj表示与母线j处负荷相关联的优先权重。最后,所提出的模型可以被表述为:

2.运行结果

3.matlab代码

        完整matlab代码可从下面的链接中免费获取:

开源代码分享(19)-配电网孤岛优化划分方法matlab代码资源-CSDN文库

这篇关于开源代码分享(19)-配电网孤岛优化划分方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

MySQL批量替换数据库字符集的实用方法(附详细代码)

《MySQL批量替换数据库字符集的实用方法(附详细代码)》当需要修改数据库编码和字符集时,通常需要对其下属的所有表及表中所有字段进行修改,下面:本文主要介绍MySQL批量替换数据库字符集的实用方法... 目录前言为什么要批量修改字符集?整体脚本脚本逻辑解析1. 设置目标参数2. 生成修改表默认字符集的语句3

Oracle Scheduler任务故障诊断方法实战指南

《OracleScheduler任务故障诊断方法实战指南》Oracle数据库作为企业级应用中最常用的关系型数据库管理系统之一,偶尔会遇到各种故障和问题,:本文主要介绍OracleSchedul... 目录前言一、故障场景:当定时任务突然“消失”二、基础环境诊断:搭建“全局视角”1. 数据库实例与PDB状态2

Java 单元测试之Mockito 模拟静态方法与私有方法最佳实践

《Java单元测试之Mockito模拟静态方法与私有方法最佳实践》本文将深入探讨如何使用Mockito来模拟静态方法和私有方法,结合大量实战代码示例,带你突破传统单元测试的边界,写出更彻底、更独立... 目录Mockito 简介:为什么选择它?环境准备模拟静态方法:打破“不可变”的枷锁传统困境解法一:使用M

使用Go调用第三方API的方法详解

《使用Go调用第三方API的方法详解》在现代应用开发中,调用第三方API是非常常见的场景,比如获取天气预报、翻译文本、发送短信等,Go作为一门高效并发的编程语言,拥有强大的标准库和丰富的第三方库,可以... 目录引言一、准备工作二、案例1:调用天气查询 API1. 注册并获取 API Key2. 代码实现3

React 记忆缓存的三种方法实现

《React记忆缓存的三种方法实现》本文主要介绍了React记忆缓存的三种方法实现,包含React.memo、useMemo、useCallback,用于避免不必要的组件重渲染和计算,感兴趣的可以... 目录1. React.memo2. useMemo3. useCallback使用场景与注意事项在 Re

Docker多阶段镜像构建与缓存利用性能优化实践指南

《Docker多阶段镜像构建与缓存利用性能优化实践指南》这篇文章将从原理层面深入解析Docker多阶段构建与缓存机制,结合实际项目示例,说明如何有效利用构建缓存,组织镜像层次,最大化提升构建速度并减少... 目录一、技术背景与应用场景二、核心原理深入分析三、关键 dockerfile 解读3.1 Docke

在Android中使用WebView在线查看PDF文件的方法示例

《在Android中使用WebView在线查看PDF文件的方法示例》在Android应用开发中,有时我们需要在客户端展示PDF文件,以便用户可以阅读或交互,:本文主要介绍在Android中使用We... 目录简介:1. WebView组件介绍2. 在androidManifest.XML中添加Interne

Java中字符编码问题的解决方法详解

《Java中字符编码问题的解决方法详解》在日常Java开发中,字符编码问题是一个非常常见却又特别容易踩坑的地方,这篇文章就带你一步一步看清楚字符编码的来龙去脉,并结合可运行的代码,看看如何在Java项... 目录前言背景:为什么会出现编码问题常见场景分析控制台输出乱码文件读写乱码数据库存取乱码解决方案统一使

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下