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

目录

主要内容

模型研究

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

运行结果

下载链接

相关推荐
fengfuyao9853 小时前
MATLAB实现全景拼接
人工智能·计算机视觉·matlab
aini_lovee4 小时前
直接序列扩频(DSSS)通信系统MATLAB仿真指南
开发语言·matlab
步达硬件4 小时前
【matlab】代码库-一维线性插值
数据结构·算法·matlab
Evand J6 小时前
【雷达跟踪与滤波|MATLAB例程】平面上的雷达跟踪与UKF(无迹卡尔曼滤波),估计目标轨迹,输出真值、误差曲线、误差特性等
matlab·平面·滤波·ukf·无迹卡尔曼滤波
tyatyatya6 小时前
MATLAB高级可视化与图形处理:绘图美化/交互/导出实战
开发语言·matlab
青铜发条7 小时前
【Matlab】常用函数总结
算法·matlab
t1987512810 小时前
火电机组热经济性分析MATLAB程序实现
人工智能·算法·matlab
hoiii18710 小时前
MATLAB中离散傅里叶变换(DFT)的实现与分析
开发语言·matlab
yongui4783410 小时前
基于MATLAB的轴承表面织构油膜参数计算程序
数据结构·算法·matlab
却相迎10 小时前
2010-基于模糊局部信息 C 均值聚类(FLICM)算法的图像分割
图像处理·聚类