改进二进制粒子群算法在配电网重构中的应用(Matlab实现)【论文复现】

news2024/11/26 4:39:52

 

目录

 ​

0 概述

1 配电网重构的目标函数

2 算例

3 matlab代码实现


0 概述

配电系统中存在大量的分段开关和联络开关,配电网重构正是通过调整分段开关和联络升大的组合状态来变换网络结构,用于优化配电网某些指标,使其达到最优状态。正常运行时,则通过两类开关的不同组合状态来提高系统的可靠性、稳定性或减小网损等。故障时﹐部分分段开关将打开以隔离故障支路,同时一些联络开关闭合将故障支路转移到其他馈线上或同一馈线的其余分支上,以满足供电需求。

1 配电网重构的目标函数

配电网结构是闭环设计,开环运行。配电网重构则是在保证网络拓扑结构成辐射状,满足电压约

束、支路容量约束、变压器容量约束等要求的前提下,确定使配电网某一指标或多个指标最佳的配电网运行方式。本文以配电网线路损耗最小为目标函数,即:

       

式中f为所有支路总有功损耗;i表示支路编号;N表示配电网支路总数;Ki表示开关状态变量,即О表示打开状态,1表示闭合状态;Ri表示支路i上的电阻值;Pi、Qi、Ui分别表示支路的有功功率、无功功率以及支路i前端节点的电压幅值。
配电网重构约束条件包括潮流约束、电压约束、电流约束、线路容量约束和网络拓扑结构辐射状运行约束等,如下式所示:
 

                  

2 算例

仿真算例采用 IEEE33 节点配电网络,拓扑结构如图 。该配电网包含 33 个节点和 37 条支路,

5 个常开联络开关分别位于支路33、34、35、36、37上,基准 电压为 12. 66 kV。

3 matlab代码实现

部分代码: 

clc
tic
%% 本代码采用二进制粒子群算法对33节点配电网进行重构。目标函数是最小化功率损耗。
%===============初始化参数=============
n=20;
dim=5;% 搜索空间的维数
x=load('swarm33.m');% 创建群体
vnew=rand(n,dim);%创建随机初始速度
sig=zeros(n,dim);
vold=vnew;
fitness=zeros(1,n);
%=============粒子群参数==============
pbest=load('swarm33.m');%创建最佳矩阵
gbest=[4 10 24 30 12];%全局最优
wmax=0.9;
wmin=0.4;
r1=rand(n,dim);% 创建随机矩阵,大小( 20x3 )
r2=rand(n,dim);% 创建随机矩阵,大小( 20x3 )
iter=0;
maxiter=60;% 最大迭代次数
tap=[8 9 10 11 21 33 35 0 0
    2 3 4 5 6 7 18 19 20
    12 13 14 34 0 0 0 0 0
    15 16 17 29 30 31 36 32 0
    22 23 24 25 26 27 28 37 0];
ta=tap';
%%  建立关联矩阵
data=loadcase(case33);
doc=data.branch;
nhanh=37;
nut=33;
matrix=zeros(nhanh,nut);
    nutdau=doc(:,1);
    nutcuoi=doc(:,2);
for i=1:nhanh
matrix(i,nutdau(i))=1;
matrix(i,nutcuoi(i))=1;
end

%% 计算个体最优的适应度函数
 fpbest=zeros(1,n);
 for i=1:n
     fpbest(i)=50000;
 end
%% 主循环
while iter<maxiter
    iter=iter+1;
    w=wmax-(wmax-wmin)*iter/maxiter;% 指定权重系数
    c1=2*rand(1);
    c2=2*rand(1);
    %% 更新速度
    vold=vnew;
    for i=1:n
        for j=1:dim
        vnew(i,j)=w*vnew(i,j)+c1*r1(i,j)*(pbest(i,j)-x(i,j))+c2*r2(i,j)*(gbest(j)-x(i,j));
       if abs(vnew(i,j))==abs(vold(i,j))
           vnew(i,j)=rand(1,1).*vnew(i,j);
       end
        end
    end


-------
plot(dienap,'-sr')
hold on
plot(gbestvolt,'-^b')
ylabel('电压(p.u)')
xlabel('Node')
title('电压分布')
legend('配电网重组前','配电网重组后')
hold off
disp('      ')
disp('      ')
disp('      ')
disp('      ')
disp('==========================================================================================')
disp('***************************** 33节点配电网仿真结果 ***************************')
disp('==========================================================================================')
disp('                               重构前                          重构后 '          )
disp('------------------------------------------------------------------------------------------')
disp(['联络开关:              ', num2str(o), '                  ',num2str(a)])
disp('------------------------------------------------------------------------------------------')
disp(['功率损耗:                ',num2str(tonthat),' kW','                         ',num2str(fgbest),' kW'])
disp('------------------------------------------------------------------------------------------')
disp(['减少的功率损耗:      ', '_______','                             ',num2str(ploss), ' %'])
disp('------------------------------------------------------------------------------------------')
disp(['最小电压:           ',num2str(dienapmin),' pu','                          ',num2str(minvolt),' pu'])
disp('------------------------------------------------------------------------------------------')
toc

回复 :改进二进制粒子群算法在配电网重构中的应用

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

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

相关文章

简单理解Vue的data为啥只能是函数

在学习vue的时候vue2只有在组件中严格要求data必须是一个函数&#xff0c;而在普通vue实例中&#xff0c;data可以是一个对象&#xff0c;但是在vue3出现后data必须一个函数&#xff0c;当时看着官方文档说的是好像是对象的引用问题&#xff0c;但是内部原理却不是很了解&#…

[附源码]Node.js计算机毕业设计高校教学过程管理系统Express

项目运行 环境配置&#xff1a; Node.js最新版 Vscode Mysql5.7 HBuilderXNavicat11Vue。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分离等等。 环境需要 1.运行环境&#xff1a;最好是Nodejs最新版&#xff0c;我…

异常检测方法总结

在数据挖掘中&#xff0c;异常检测&#xff08;英语&#xff1a;anomaly detection&#xff09;对不匹配预期模式或数据集中其他项目的项目、事件或观测值的识别。 通常异常项目会转变成银行欺诈、结构缺陷、医疗问题、文本错误等类型的问题。异常也被称为离群值、新奇、噪声、…

1999-2020年各省农村综合数据

1999-2020年各省农村综合数据 1、时间&#xff1a;1999-2020年 2&#xff1a;来源&#xff1a;各省NJ、统计NJ、农村NJ 3、范围&#xff1a;包括31省 4、指标包括&#xff1a; 第一产业增加值占地区生产总值比重&#xff08;%&#xff09;、第一产业人员占就业人员比重&a…

scikit-learn 决策树入门实践 iris花分类

背景 为了了解sklearn的API&#xff0c;以及决策树的工作原理&#xff0c;本文以经典的花分类问题为例&#xff0c;编写代码并讲解。最后深入源代码查看其实现 关键词&#xff1a;决策树、基尼系数、决策树可视化、特征重要性。 代码案例 训练决策树 首先要准备数据集&#…

1.引入——如何创建Spring项目

目录 1.创建SpringBoot项目 1.未安装插件 2.安装插件 2.尝试着运行这个FirstApplication 3.Spring的核心——IOC&#xff08;控制反转&#xff09;/DI的讲解 1.相关概念&#xff1a; 2.什么是IOC&#xff0c;为什么要有IOC&#xff1f; 4.基于XML的方式&#xff0c;演示…

制造企业数字化车间MES系统方案

在市场经济越发严峻的局面下&#xff0c;现代制造业工厂越来越追求效率与精益生产管理&#xff0c;争相通过各种技术手段实现生产线上的现代管理&#xff0c;其中&#xff0c;可视化生产管理技术受到企业的关注&#xff0c;对MES系统也越来越重视。 MES系统解决的问题 1、条码…

094基于nodejs框架的学生作业管理系统vue

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 前端技术&#xff1a;nodejsvueelementui 前端&#xff1a;HTML5,CSS3、JavaScript、VUE 系统分为不同的层次&#xff1a;视图层&#xff08;vue页面…

【C语言数据结构(基础版)】第三站:链表(二)

目录 一、单链表的缺陷以及双向链表的引入 1.单链表的缺陷 2.双向链表的引入 3.八大链表结构 &#xff08;1&#xff09;单向和双向 &#xff08;2&#xff09;带头和不带头 &#xff08;3&#xff09;循环和不循环 &#xff08;4&#xff09;八种链表结构 二、带头双向…

牛掰,阿里技术人刷了四年LeetCode才总结出来的数据结构和算法手册

时间飞逝&#xff0c;转眼间毕业七年多&#xff0c;从事 Java 开发也六年了。我在想&#xff0c;也是时候将自己的 Java 整理成一套体系。 这一次的知识体系面试题涉及到 Java 知识部分、性能优化、微服务、并发编程、开源框架、分布式等多个方面的知识点。 写这一套 Java 面试…

ssm+Vue计算机毕业设计校园疫情防控管理软件(程序+LW文档)

ssmVue计算机毕业设计校园疫情防控管理软件&#xff08;程序LW文档&#xff09; 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项…

数据库拆分3--使用sharding-jdbc 子查询注意事项

最近在使用sharding-jdbc来改造项目的时候遇到了一些问题&#xff0c;主要是有关子查询的&#xff0c;记录一下。 在某一个库中新建两张表 CREATE TABLE user_t ( user_id bigint(20) NOT NULL AUTO_INCREMENT, name varchar(255) DEFAULT NULL, age int(8) DEFAULT NU…

世界杯决赛号角吹响!趁周末来搭一套足球3D+AI量化分析系统吧!

2022年卡塔尔世界杯从11月21日开赛至今&#xff0c;即将在12月18日迎来这次赛事的最后高潮。对于大部分热爱世界杯的朋友来说&#xff0c;无论之前是哪队的球迷&#xff0c;现在都在会师决赛的两支队伍上选择站队。从赛事结果看&#xff0c;最终无论哪支队伍夺冠&#xff0c;都…

01背包和完全背包

01背包 最大约数和 题目链接点击这里 题目描述 选取和不超过 SSS 的若干个不同的正整数&#xff0c;使得所有数的约数&#xff08;不含它本身&#xff09;之和最大。 输入格式 输入一个正整数 SSS。 输出格式 输出最大的约数之和。 样例 #1 样例输入 #1 11样例输出 …

有哪些值得推荐的Python学习网站?

我学习的时候&#xff0c;我发现大部分 Python 课程和资源都太通用了。 马上&#xff0c;我想学习如何使用 Python 制作网站。但是 Python 学习资源要我花几个月的时间学习语法&#xff0c;然后才能进入我感兴趣的领域。 这个问题让人感到恐惧和畏惧。我推迟了几个月。每当我…

大学生化妆品网页设计模板代码 化妆美妆网页作业成品 学校美妆官网网页制作模板 学生简单html网站设计成品

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

为什么人家的开源项目文档如此炫酷?原来用的是这款神器

VuePress简介 VuePress是Vue驱动的静态网站生成器。对比我们的Docsify动态生成网站&#xff0c;对SEO更加友好。 使用VuePress具有如下优点&#xff1a; 使用Markdown来写文章&#xff0c;程序员写起来顺手&#xff0c;配置网站非常简洁。 我们可以在Markdown中使用Vue组件&…

所谓工作能力强,其实就这五点

博客主页&#xff1a;https://tomcat.blog.csdn.net 博主昵称&#xff1a;农民工老王 主要领域&#xff1a;Java、Linux、K8S 期待大家的关注&#x1f496;点赞&#x1f44d;收藏⭐留言&#x1f4ac; #mermaid-svg-YapmQUqJ0V32EFv6 {font-family:"trebuchet ms",ve…

用三台云服务器搭建hadoop完全分布式集群

用三台云服务器搭建hadoop完全分布式集群一、硬件准备&#xff08;一&#xff09;集群配置&#xff08;二&#xff09;集群规划&#xff08;三&#xff09;Hadoop、Zookeeper、Java、CentOS版本二、基础环境配置&#xff08;一&#xff09;关闭防火墙&#xff08;二&#xff09…

[附源码]Python计算机毕业设计SSM基于Java的在线点餐系统(程序+LW)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…