【集群划分】含分布式光伏的配电网集群电压控制【33节点】

news2025/1/17 0:57:43

目录

主要内容 

模型研究 

1.节点电压灵敏度的计算

2.Kmeans聚类划分

3.集群K值

 部分代码 

 运行结果 

下载链接


主要内容 

该程序参考文献《含分布式光伏的配电网集群划分和集群电压协调控制》,基于社团检测算法,实现基于电气距离和区域电压调节能力的集群综合性能指标和网络划分方法,并在集群划分基础上,进一步研究群内自治优化和群间分布式协调的双层电压控制策略,利用其在不同时间尺度上的配合实现了配电网全局电压的快速优化控制。集群自治优化控制通过交替更新群内最优解和虚拟平衡节点电压实现群内电压的实时快速控制。长时间尺度的群间分布式协调控制基于交换方向乘子法,通过相邻集群的有限边界数据交换实现对分布式光伏输出功率的全局优化控制,程序通过matlab实现,注释清晰!

模型研究 

1.节点电压灵敏度的计算

集群划分的最初目的是基于某一特征,将相似的个体划分至同一集群,将不同的个体的划分至不同集群。在该模型中集群划分的目标是电压控制,基于电压对功率变化的灵敏程度,使对互相灵敏度较高的划分至同一集群,将互相灵敏度较弱的分至不同集群,从而使得电压调节策略能够在集群内部有效实施,而对集群外部的影响较小。

在该程序中,采用节点电压对其余各节点注入功率变化的灵敏度来定义节点之间电气距离,具体节点电压灵敏度计算理论如下:

  • 从而可以看出,可以利用牛拉法计算出的雅可比矩阵推导出有功/无功对电压的灵敏度。
  • 2.Kmeans聚类划分

由于kmeans划分是根据距离进行划分,所以需要计算一个节点灵敏度矩阵的距离。

由于配电网有功无功对电压均存在影响,所以想要准确算节点的灵敏度矩阵,需要有功灵敏度、无功灵敏度相加得到。而后转化为Kmeans需要的电气距离来进行聚类划分。

3.集群K值

Kmeans集群K值依据手肘原则选择,根据结果挑选适合的集群数,K值选择的示意图如下:

 部分代码 

%对distanceij(i,:)从小到大排序,记下第M个距离,作为节点i的参数(用这个参数判断节点i是否适合作为集群中心)整体逻辑对应论文p26
sig=zeros(1,size(distanceij,1));%sig为1xN矩阵,N为节点数
for i=1:size(distanceij,1)
    unsort=distanceij(i,:);%unsort存储未排序时候的距离
    issort=sort(unsort);%issort存储排序后的距离
    sig(1,i)=issort(1,M);%记录下每个节点第M个距离
end
%设定N的值
N=15;
sigissort=sort(sig);%根据每个节点的参数排序,参数越小,表示离更多节点越近,越容易成为集群中心
threshold=sigissort(1,N);%设置集群中心集合的门槛
%设置最多划分N个集群,再往上无意义
if k>N
    k=N;
end
%选取高密度节点
highdensity=zeros(N,1);
m=1;
for  i=1:size(sig,2)
    if sig(1,i)<=threshold%把所有小于门槛值的都记录下来
        highdensity(m,1)=i;
        m=m+1;
    end
end
centroid=zeros(k,size(data,2));
%第一个聚类中心
    [~,center]=min(sig);%center为第一个聚类中心节点号
    centroidi=zeros(k,1);
    centroidi(1,1)=center;%记录每个集群中心
% 取剩余k-1个聚类中心,参考P26,步骤e)
for i=2:k
    distancejcenter=zeros(i-1,size(highdensity,1));
    for  j=1:size(highdensity,1)
        for  m=1:i-1
            distancejcenter(m,j)=distanceij(highdensity(j,1),centroidi(m,1)); %计算与现有所有集群中心的距离    
        end
    end

 运行结果 

下载链接

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

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

相关文章

Elasticsearch 单节点安全配置与用户认证

Elasticsearch 单节点安全配置与用户认证 安全扫描时发现了一个高危漏洞&#xff1a;Elasticsearch 未授权访问 。在使用 Elasticsearch 构建搜索引擎或处理大规模数据时&#xff0c;需要启用基本的安全功能来防止未经授权的访问。本文将通过简单的配置步骤&#xff0c;为单节…

Docker打包SpringBoot项目

一、项目打成jar包 在进行docker打包之前&#xff0c;先确定一下&#xff0c;项目能够正常的打成JAR包&#xff0c;并且启动之后能够正常的访问。这一步看似是可有可无&#xff0c;但是能避免后期的一些无厘头问题。 二、Dockerfile 项目打包成功之后&#xff0c;需要编写Doc…

用OpenCV改变图像的对比度和亮度

两个常用的函数是常数的乘法和加法&#xff1a; 参数α>0和β通常被称为增益和偏置参数&#xff1b;有时这些参数分别控制对比度和亮度。 你可以想到f(x)作为源图像像素和g(x)作为输出图像像素。那么&#xff0c;更方便的是&#xff0c;我们可以将表达式写为&#xff1a; 这…

基于阻塞队列的生产者消费者模型动画演示

一个基于阻塞队列的生产者消费者模型的动画演示&#xff1a; 这是打包好的程序。程序是用 QT 写的。 通过网盘分享的文件&#xff1a;CP模型.7z 链接: https://pan.baidu.com/s/1YjC7YiSqHGqdr6bbffaDWg?pwde6g5 提取码: e6g5 CP模型

李沐动手学深度学习无法动态绘制损失和准确率曲线,输出 <Figure size 350x250 with 1 Axes>

在网上搜了两个解决方案 1.这个方法我试了不好用 d2l.plt.savefig(E:\pycharmProject) 2 修改封装好的函数 &#xff0c;ctrl加鼠标左键点击进入Animator类&#xff0c;修改里面的add函数 def add(self, x, y):# Add multiple data points into the figureif not hasattr(y,…

在idea中使用mysql(超详细)

一、连接mysql 在IDE开发工具中也是可以使用mysql的&#xff0c;这里以开发java常用的IntelliJ IDEA为例。 1. 打开idea&#xff0c;右上角有数据库侧边栏&#xff0c;打开侧边栏点击加号->数据源&#xff0c;可以看到支持很多数据库&#xff0c;选择mysql。 2. 首次使用需…

scss文件内引入其他scss文件报错

1、今天在编译一些老项目的时候&#xff0c;老是提示下面信息 2、而且有很多Sass import rules are deprecated and will be removed in Dart Sass 3.0.0.警告 3、用npm view sass versions看&#xff0c;其中sass的最新版本是1.82.0 4、经过测试"sass": "1.75…

【Linux】基础IO-----文件详解

目录 一、文件理解&#xff1a; 二、C语言的文件操作&#xff1a; 1、fopen&#xff1a; 什么是当前路径&#xff1a; 2、fclose&#xff1a; 3、fwrite&#xff1a; 4、默认打开的三个流&#xff1a; 三、系统文件&#xff1a; 1、open&#xff1a; 2、close&#xf…

AI开发:卷积神经网络CNN原理初识,简易例程 - 机器学习

一 、卷积神经网络是什么 &#xff08;1&#xff09;印象 今天说的CNN&#xff0c;并不是我们熟知的美国有线电视新闻网。 那什么是CNN呢&#xff1f; Convolutional Neural Networks, CNN&#xff09;简单来说&#xff0c;就是用一个筛子来筛面粉的。 筛子就是卷积核&…

Nginx基础学习——介绍、安装与常用命令(windows/linux安装详细攻略)

目录 前言&#xff1a; 一、 Nginx 基本概念 &#xff08;1&#xff09; Nginx 是什么&#xff0c; 做什么事情 &#xff08;2&#xff09; 反向代理 &#xff08;3&#xff09; 负载均衡 &#xff08;4&#xff09; 动静分离​编辑 二、 Nginx安装、常用命令和配置文件…

人脸识别Adaface之libpytorch部署

目录 1. libpytorch下载2. Adaface模型下载3. 模型转换4. c推理4.1 前处理4.2 推理4.3 编译运行4.3.1 写CMakeLists.txt4.3.2 编译4.3.3 运行 1. libpytorch下载 参考&#xff1a; https://blog.csdn.net/liang_baikai/article/details/127849577 下载完成后&#xff0c;将其解…

Windows电脑伪关机(快速启动模式),怎么真关机

Windows电脑在关机的时候&#xff0c;进入到一个伪关机的状态&#xff0c;也就是并没有真正的关机&#xff0c;但是在一些系统更新、变更了一些设置&#xff0c;进行重启等操作也会进入到真关机状态 这种一般是开启快速启动模式&#xff0c;开启了快速启动模式功能会在关机的时…

Bellman-Ford 算法详解及应用

Bellman-Ford 算法详解及应用 图24-4 的结构(假设)Bellman-Ford 算法步骤伪代码C 语言实现 Bellman-Ford 算法运行结果分析输出示例(部分)Bellman-Ford 算法是一种用于计算单源最短路径的算法,即从给定的源节点到其他所有节点的最短路径。它可以处理带有负权重的边,但不适…

92.插入排序

一.什么是插入排序 把数据分为有序和无序俩个部分&#xff0c;将无序部分中的一个数据插入到已排好的有序部分中&#xff0c;有序部分从而变成一个新的、排好数据数量增1的有序数据&#xff0c;直到数据全部排序完成。 插入排序一般适用于小型数据。大型数据性能较差。 二.实…

69 mysql 中 is null 的实现

前言 Mysql 中我们偶尔会用到 字段为 NULL 的情况 这时候 我们只能使用查询 “select * from tz_test_02 where field1 is null;” 来进行 field1 字段为 null 的行的查询 然后如果是使用 “select * from tz_test_02 where field1 null;” 你会发现查询 不出数据 但是如…

A1017 基于Java+JSP+SQL Server+servlet的二手购物平台的设计与实现

二手购物平台 1.摘要2.开发目的和意义3.系统功能设计4.系统界面截图5.源码获取 1.摘要 摘 要 计算机以及网络技术的飞速发展&#xff0c;网络的应用在全国乃至全球日益普及&#xff0c;随着人们的思想水平和生活水平的提高&#xff0c;网络已经是人们必不可少的一部分。人们的…

力扣-图论-6【算法学习day.56】

前言 ###我做这类文章一个重要的目的还是给正在学习的大家提供方向和记录学习过程&#xff08;例如想要掌握基础用法&#xff0c;该刷哪些题&#xff1f;&#xff09;我的解析也不会做的非常详细&#xff0c;只会提供思路和一些关键点&#xff0c;力扣上的大佬们的题解质量是非…

使用PHPUnit使用本地调试代替远程调试,快速提高开发效率

Laravel 是一个在 Linux 环境下表现非常出色的 PHP 框架&#xff0c;但它在 Windows 环境下可能会遇到一些兼容性和配置问题。为了调试或没试的方便可以在 Windows 环境下进行 Laravel PHPUnit进行本地调试和测试。 本地主要针对断点调试效果非常高效。 在 Laravel 中&#x…

动态规划 - 4( 背包问题 10000 字详解 )

一&#xff1a; 背包问题 1.1 01 背包 题目链接&#xff1a;01 背包 import java.util.Scanner;public class Main {public static void main(String[] args) {// 不做空间优化&#xff0c;用 dp 表存下所有状态Scanner sc new Scanner(System.in);// 读入 n 和 Vint n sc.…

关于利用 EtherNet/IP 转 Profinet 网关模块实现罗克韦尔变频器接入西门子 PLC 的配置范例

在现代工业自动化领域&#xff0c;不同品牌设备之间的通信兼容性问题一直是企业面临的挑战之一。某智能工厂为了优化生产流程&#xff0c;提高设备的协同工作效率&#xff0c;决定对其生产线上的控制系统进行升级改造。该生产线中&#xff0c;AB罗克韦尔PowerFlex变频器作为关键…