配电网重构知识及matlab实现

配网重构中,很重要的一个约束条件为配网应随时保持开环、辐射的状态: 配电网系统是属于闭环设计但是开环运行的系统,因此,在开关的开闭过程中,随时保持配电网的开环状态时很重要。Mendoza等利用图论,尤其是基本环向量的方法,不仅仅有效地保持了网络的辐射性,还大大地节省了搜寻时间和空间。还有文献对如何利用基本环向量去创造可行解的规则进行了详细阐述,文 中定义了基本节点,外节点,内节点,环向量,基本支路向量以及禁止的组向量 避免不可行解。本文中,应用了一个更加简单但同样有效的基于基本环向量的 方法保持配电网的开环,下面将进行详细阐述:

目录

一、理论分析

二、程序介绍

1.基本环矩阵M的matlab代码

2.智能算法重构代码

完整粒子群算法的重构程序代码链接

一、理论分析

本文中算例采用的是IEEE 33节点系统,因此以IEEE 33节点系统为例说明,配网中保持配网辐射状态的方法,IEEE 33节点系统有33个节点,32个分段开关和5个联络开关,为了使得网络保持辐射运行状态,具体的步骤如下:

1.将系统中的各个支路进行标号,0代表支路上的开关是断开的,1代表支 路上的开关是闭合的; 2.利用图论决定基本的环路,环路的个数与联络开关的个数是一样的,对33 节点系统而言即5个,如下图所示。

3.然后,根据基本的环路列出基本环矩阵M。 M的行数即基本环的个数, 列数为支路数最多的那个环的支路数,其他小一些的环中没有这么多支路的空余 的地方值都填充为0。本文中,为了更简便,每条支路,包括环共有的支路,都只会包含在一个支路环里,这样就省略了节点分类以及还需创建其他支路的麻烦。 编码的规则是从图的最上面的支路编码到最下面的支路,从最左边的支路编码到最右边的支路。公共的支路只会被包含在首次将其编码进去的环内。通过上面的 编码即得到IEEE 33节点的基本环矩阵M: 

4.从矩阵M的每一行中选取一个非零元素,在每一次的网络重构中,每个环路中的都有且只有一条支路(非零元素)能被选为断开,每个环中被选中的断开的支路开关状态改为0,其余支路的开关状态都保持为1。

通过上面的步骤,在重构过程中没有非可行解的产生,因此整个重构过程的步骤大大简化。 

二、程序介绍

上述理论非常适合应用于智能算法的配电网重构中,首先需要通过配电网参数形成M矩阵,具体代码如下:

1.基本环矩阵M的matlab代码

%产生回路编号矩阵M
b=32;   %支路数,开断开关数
n=33;   %节点数
LL=5;   %联络开关数
Sb=10;          %MW
Vb=12.66;        %KV
Zb=Vb^2/Sb;     %ohm
%  定义节点到母节点路径矩阵A
A=zeros(b);                   %对矩阵A进行初始化
for i=1:bA(i,1)=i;                 %将路径矩阵A的第一列储存为支路号
end             for j=1:b                 %利用Z矩阵中的首末节点列向量进行路径搜索n1=j;k=2;while(j~=0)            %一直搜寻到母节点0结束for m=1:bif(Z(m,3)==j)          %在末节点定位jA(n1,k)=Z(m,2);     j=Z(m,2);          %将首节点赋给j,然后再在末节点定位jk=k+1;endendendend%遍历A矩阵形成单回路矩阵Hfor i=1:LLjd=max(intersect(A(C(i,2),:),A(C(i,3),:)));  %取回路交叉点jd,保证是单回路h=1;while(A(C(i,2),h)~=jd)M(i,h)=A(C(i,2),h);h=h+1;endh1=1;while(A(C(i,3),h1)~=jd)M(i,h)=A(C(i,3),h1);h=h+1;h1=h1+1;endM(i,h)=C(i,1);end

2.智能算法重构代码

如粒子群算法中,变量可以选取M矩阵每行中的非零元素,通过迭代得到最佳的重构后网络,重构子函数如下所示。

%该为智能算法程序计算子函数,加入不可行解判断程序(在指定节点处加入DG)
b=32;
k=1; 
n=33;
LL=5;           %联络开关数  z
Sb=10;          %MW
Vb=12.66;       %KV
Zb=Vb^2/Sb;     %ohm
check=1;
checkhl=1;
checkgd=1;
H=[ 2	3	4	5	6	7	33	20	19	18	0	0	0	0	0	0	0	0	0	0	09	10	11	12	13	14	34	0	0	0	0	0	0	0	0	0	0	0	0	0	02	3	4	5	6	7	8	9	10	11	35	21	20	19	18	0	0	0	0	0	06	7	8	9	10	11	12	13	14	15	16	17	36	32	31	30	29	28	27	26	253	4	5	25	26	27	28	37	24	23	22	0	0	0	0	0	0	0	0	0	0];%由函数matrixH生成for i1=1:LLa(1,i1)=H(i1,Swarm1(1,i1));end%1、判断是否形成环路,F为支路环路关联矩阵(行表示回路,列表示断开开关,若任意两行相同,则表示形成了环路)   
F=zeros(5);
for i1=1:LL  %回路for i2=1:LL   %断开开关if max(a(1,i2)==H(i1,:))F(i1,i2)=1;endend
end
for i1=1:LL-1for i2=i1+1:LLif min(F(:,i1)==F(:,i2))checkhl=0;                %disp('出现环路')%出现环路时guan=10000;endend
end
for i1=1:LL          %按照断开开关矩阵,剔除Z矩阵中的断开支路j=i1-1;for i2=1:b+LL-jif BranchM(i2,1)==a(1,i1)BranchM(i2,:)=[];breakendend
end
NodeN=zeros(n);   %节点-节点关联矩阵A
for i1=1:bNodeN(BranchM(i1,2),BranchM(i1,3))=1;NodeN(BranchM(i1,3),BranchM(i1,2))=1;
endLayerM=[1];      %节点分层矩阵,电源节点号记“1”
NU=zeros(1,n);   %上层节点矩阵(有33列的行矩阵)

三、下载链接

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

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

相关文章

基于ElementUI封装省市区四级联动下拉选择

基于ElementUI封装的省市区下拉级联选择 效果 数据 最新省市区JSON数据获取:https://xiangyuecn.github.io/AreaCity-JsSpider-StatsGov/ 参数说明 参数说明inputNumShow下拉框的数量,最多4个defaultAddress默认显示省市区 例:[‘安徽’, …

音视频剪辑|Windows|抽帧和合帧

什么是抽帧? FFmpeg 抽帧(Extracting frames)的作用是从视频文件中按需提取单张或多张静止图像(帧),并将它们保存为图片文件(如 JPEG、PNG 等格式)。这一功能在以下场合十分有用&am…

一元函数微分学——刷题(18

目录 1.题目:2.解题思路和步骤:3.总结:小结: 1.题目: 2.解题思路和步骤: 遇到绝对值函数,需要把它转化为分段函数,从而更加方便求导数: 3.总结: 遇到绝对…

Docker容器实战

"爱在,地图上,剥落~" Mysql 容器化安装 我们可以在 docker hub上,进入mysql的镜像仓库,找到适合的版本。 直接拉取镜像: docker pull mysql:latest 我们知道 msyql 的默认端口是 3306 ,而且有密码&#x…

计算机网络实验四VLAN与三层交换机

一、实验目的和要求 1)掌握VLAN的基本配置方法,理解VLAN的功能和作用; 2)掌握三层交换机的基本配置方法。 二、实验环境 1)运行Windows 2008 Server/XP/7操作系统的PC一台。 2)PacketTracer。 实验内…

电子器件系列63:肖特基二极管NSQ03A04\SS34C

以下是肖特基二极管_SS34C_规格书_SLKOR(萨科微),立创编号C880740 以下是肖特基二极管NSQ03A04的规格书: 稍微比较下参数,发现两者参数接近,ss34的几个参数还要略微好一些,可以用ss34来作替换。 在电源电路中的应用: …

python实现贝尔曼福德算法

对于求图的最短路径问题,如果使用迪杰斯特拉算法,也可以算是一个较为常见的方法,但是对于迪杰斯特拉算法解决最短路径问题的时候,会存在一个问题,那就是所有边所对应的距离都必须是正数,而如果在存在负数的边的时候,迪杰斯特拉算法就会存在问题,而对于存在负数的这种情…

Bean的声明周期

1.创建Bean对象(调用无参数构造) 2.给bean对象设置相关属性(依赖注入) 3.bean后置处理器(初始化前执行,类似于过滤器和拦截器) 首先要定义一个类MyBeanPost,实现BeanPostProcessor…

Freertos实时操作系统---基于STM32

一、Freertos简介 1.Freertos介绍 1)RTOS指的是一类的实时操作系统 2)rtos的使用:用户根据对任务来设置其优先级然后来使用调度器来决定哪一个任务来先执行。 3)Freertos的文件数量远低于其他操作系统 4)主要特点&…

[rust] 10 project, crate, mod, pub, use: 项目目录层级组织, 概念和实战

文章目录 一 项目目录层级组织概念1.1 cargo new 创建同名 的 Project 和 crate1.2 多 crate 的 package1.3 mod 模块1.3.1 创建嵌套 mod1.3.2 mod 树1.3.3 用路径引用 mod1.3.3.1 使用绝对还是相对? 1.3.4 代码可见性1.3.4.1 pub 关键字1.3.4.2 用 super 引用 mod1.3.4.3 用 …

Win11网络连接选项和蓝牙选项突然消失的解决办法

在设置或者开始栏里搜索“网络重置” 打开网络重置: 然后点击立即重置,之后按照系统提示操作即可

51单片机学习(4)-----独立按键进一步控制LED灯

前言:感谢您的关注哦,我会持续更新编程相关知识,愿您在这里有所收获。如果有任何问题,欢迎沟通交流!期待与您在学习编程的道路上共同进步。 目录 一. 独立按键灵活控制LED 程序一:单个独立按键控制多个…

C++ 二分法

目录 1、704. 二分查找 2、34. 在排序数组中查找元素的第一个和最后一个位置 3、69. x的平方根 4、35. 搜索插入位置 5、852. 山脉数组的峰顶索引 6、162. 寻找峰值 7、153. 寻找旋转排序数组中的最小值 8、LCR 173. 点名 1、704. 二分查找 ​ class Solution {…

2024 windows环境下安装RabbitMQ(亲测超详细)

一、RabbitMQ是什么?   RabbitMQ 是一个由 Erlang 语言开发的 AMQP 的开源实现。 ​ AMQP :Advanced Message Queue,高级消息队列协议。它是应用层协议的一个开放标准,为面向消息的中间件设计,基于此协议的客户端与消…

[C++] 如何操作ini文件

什么是ini文件? INI文件(.ini)是一种常见的配置文件格式,用于存储程序、操作系统或设备驱动程序的配置信息。INI是"Initialization"的缩写,指的是初始化。INI文件通常是纯文本文件,在Windows操作…

【c++】模板初阶(泛型编程与模板)

1.泛型编程 如何实现一个通用的交换函数呢? void Swap(int& left, int& right) {int temp left;left right;right temp; } void Swap(double& left, double& right) {double temp left;left right;right temp; } void Swap(char& left, …

论文精读--GPT1

把transformer的解码器拿出来,在没有标号的大量文本数据上训练一个语言模型,来获得预训练模型,然后到子任务上微调,得到每个任务所需的分类器 Abstract Natural language understanding comprises a wide range of diverse tasks…

RabbitMq:什么是RabbitMq? ①

一、RabbitMq定位 RabbitMq是一个基于消息订阅发布的一款消息中间件。 二、技术原理 核心概念 server:又称broker,接受客户端连接,实现AMQP实体服务。缓存代理,Kafka集群中的一台或多台服务器统称broker.connection:…

C++初阶:容器适配器priority_queue常用接口详解及模拟实现、仿函数介绍

介绍完了stack和queue的介绍以及模拟的相关内容后:C初阶:容器适配器介绍、stack和queue常用接口详解及模拟实现 接下来进行priority_queue的介绍以及模拟: 文章目录 1.priority_queue的介绍和使用1.1priority_queue的初步介绍1.2priority_que…

模型 3C(顾客、公司、竞争)战略

系列文章 分享 模型,了解更多👉 模型_总纲目录。洞悉自身,把握顾客,超越竞争。 1 3C(顾客、公司、竞争)战略模型的应用 1.1 3C战略模型在麦当劳公司中的应用 麦当劳在扩张国际市场时采用3C战略模型,具体如下&#xf…