初识ADMM算法!ADMM算法在分布式配电网调度中的应用程序代码!

news2024/11/20 18:44:32

前言

随着分布式电源(distributed generation,DG)的渗透率不断提高,传统的配电网系统从被动单向的供电网络转变为功率双向流动的有源网络,使得配电网运行和控制面临诸多新挑战。依靠网络升级或运行结构变化等方法维持配电网可靠运行的成本高而且被动,将不再适用。采用主动策略来控制和管理配电网中的分布式可控资源成为系统运行方式优化以及提高可再生能源渗透率的主要手段。2008 年,国际大电网会议(CIGRE)提出了“配电网主动运行与发展”研究主题,主动配电网(active distribution network,ADN)是在主网和配网协同控制的基础上,具有分布式发电、储能和需求侧响应等电源、负荷调控手段,能够针对电力系统的实际运行状态,以安全性、经济性为调控目标,自适应调节其电源、网络及负荷的配电网。

基于支路潮流的无功优化控制模型

通常情况下ADN的电压和无功控制方法可分为2大类:集中式和分布式。集中式电压控制以系统全局为优化目标,统一调配可控资源,控制效果好,但控制策略的形成依赖于全网数据的监测和通信,一旦中央控制器故障,控制系统便会崩溃。分布式电压控制通常将系统分成若干个子区域,通过各子区域的控制和各子区域之间的协调,实现对整个网络的电压控制,摆脱了对中央控制器的依赖,减少了数据的量测与通信,提高了运行可靠性。

针对ADN中DG渗透率不断提高的特点,通过控制DG发出的无功以实现对ADN的电压优化控制。在ADN中,DG单元可分为可控性发电和不可控型发电。可控型发电包括小火电机组、燃气轮机和燃料电池等,不可控发电主要是风力和光伏等可再生能源发电,为了保证可再生能源最大化利用,一般要求风力和光伏电源采用最大功率点跟踪控制模式,有功功率固定在最大功率运行点,不参与协同控制。本程序控制可控型发电单元。

目标函数

对ADN的电压无功优化控制,除了要求系统中各节点电压控制在安全运行允许范围内,还要考虑系统运行的经济性,以系统运行的网络有功损耗作为目标函数:

式中:Iij为线路ij传输电流;rij为线路ij电阻;Vi为节点i的电压;Pij、Qij为线路ij首端的传输功率。

约束条件

约束条件包含等式约束和不等式约束。等式约束为网络约束,不等式约束主要为控制变量上下限约束,状态变量上下限约束。其中网络约束采用支路潮流方程进行描述,如下图所示。

无功优化控制模型的凸化

上述AND无功优化控制模型中,等式约束DistFlow潮流方程包含复杂的二次项,使得优化问题非凸。分布式优化算法求解非凸的问题难以找到全局最优解,不能保证收敛性。为了分布式求解非凸的非线性规划问题,一般把非凸优化问题转变成为凸优化问题。无功优化问题凸化的方法有多种,常通过半定规划SDP、二阶锥规划SOCP对问题进行凸化。程序采用对DistFlow潮流方程进行合理简化的方法对原优化问题进行凸化。

简化的假设为:1)线路上的功率损耗远远小于线路本身传输的功率;2)节点之间的电压偏差远远小于节点电压本身。

基于分区的分布式无功优化控制模型

对于一个主动配电网系统,可用图G=(N,E)表示,其中N是全系统节点的集合,E是全系统支路的集合,eij∈E表示系统中某一支路,其中{i,j}∈N。对于优化问题可以按照物理区域分解为多个子系统的优化问题。如把配电网系统分成r个有联系的物理区域,以集合R表示;对于某个区域a,以Na表示区域a的节点集合,Ea表示区域a的支路集合,eij∈Ea表示区域a中某一支路。相邻区域之间的联系,通过区域边界上的支路进行耦合,即相邻区域共享某一支路。以下图所示配电系统为例,区域 的节点集合为{1,2,3,4,5},区域2的节点集合为{4,5,6,7,8},区域3的节点集合为{7,8,9,10,11},区域1和区域2通过支路e45进行耦合,区域2和区域3通过支路e78进行耦合。耦合支路的集合用O:={eij|Ea∩Eb,Ɐa,b∈R且b≠a}表示。对于图示系统,耦合支路的集合O:={e45,e78}。耦合支路eij的状态变量包括支路传输的功率Pij、Qij,支路两端节点的电压平方Ui、Uj。区域a中耦合支路的状态以向量Xa,ij: {Pa,ij, Qa,ij,Ua,i,Ua,j}表示。

同步型ADMM分布式求解

基于分区协调的分布式无功优化控制模型是目标函数可分、边界耦合约束线性的凸规划模型,可采用同步型ADMM实现分布式求解。下面以原问题分解成为a,b2个区域协调的子问题为例,简述同步型ADMM分布式求解的过程。

程序介绍

程序基于分区协调控制和凸优化的思想,提出了一种主动配电网分布式无功优化控制方法。此方法以网络有功损耗为目标函数,考虑配电网潮流方程约束、各节点电压上下限约束和分布式电源无功出力上下限约束。以简化的支路潮流方程将非凸的无功优化控制问题转化成凸二次规划问题,以物理分区的形式对凸二次规划问题进行分布式计算求解。每个控制区域都配有一个独立的控制器,每个控制器仅对所控制区域数据进行测量,并且只收集相邻控制器的边界协调信息,采用同步型交替方向乘子法进行分布式优化计算,得到各区域分布式电源的无功优化控制策略。程序中算例丰富,注释清晰,干货满满,创新性和可扩展性很高,足以撑起一篇高水平论文!下面对程序做简要介绍!

程序适用平台:Matlab+Yalmip+Cplex

参考文献:《主动配电网分布式无功优化控制方法》-电网技术;

Tips:仅参考了文中IEEE33节点算例!

程序结果

部分程序

%%ADMM主程序%%串行计算​
%%%区域a,节点33,1-7,18-25
%%耦合为Xa=[U(6),U(7),P(7),Q(7),U(5),U(25),P(25),Q(25)]​
%%%区域b,节点6-17
%%耦合为Xb=[U(6),U(7),P(7),Q(7)]​
%%%区域c,节点5,25-32
%%耦合为Xb=[U(5),U(25),P(25),Q(25)]​
%%%%首轮求解
Ploss_data=zeros(32,1);​Volta_data=zeros(33,1);
Qg_data=zeros(33,1);xigma=0;lagrant_a=[0;0;0;0;0;0;0;0];lagrant_b=[0;0;0;0];lagrant_c=[0;0;0;0];​
lagrant_a=lagrant_a+xigma*(Xa-Xa_last);lagrant_b=lagrant_a(1:4);lagrant_c=lagrant_a(5:8);
figure(1)
%目标函数​%%%%迭代
for k=1:100
​[Xa,Ploss,Volta,Qg]=program_a(lagrant_a,xigma,Xa_last);
​Ploss_data(Line_a)=Ploss(Line_a);Volta_data(Node_a)=Volta(Node_a);Qg_data(Node_a)=Qg(Node_a);
Xb_last=Xa(1:4);​[Xb,Ploss,Volta,Qg]=program_b(lagrant_b,xigma,Xb_last);
​Ploss_data(Line_b)=Ploss(Line_b);Volta_data(Node_b)=Volta(Node_b);Qg_data(Node_b)=Qg(Node_b);
Xc_last=Xa(5:8);[Xc,Ploss,Volta,Qg]=program_c(lagrant_c,xigma,Xc_last);

部分内容源自网络,侵权联系删除!

欢迎感兴趣的小伙伴关注并私信获取完整版代码,小编会不定期更新高质量的学习资料、文章和程序代码,为您的科研加油助力!

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

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

相关文章

7 系列 FPGA 产品介绍及选型

目录 Spartan-7 FPGAsArtix-7 FPGAsKintex-7 FPGAsVirtex-7 FPGAsFPGA芯片命名规则DSP资源BRAM资源Transceivers 资源Transceivers 总带宽I/O 个数及带宽参考文档 Spartan-7 FPGAs Artix-7 FPGAs Kintex-7 FPGAs Virtex-7 FPGAs FPGA芯片命名规则 DSP资源 BRAM资源 Transceiver…

代码随想录算法训练营第六十三天|84.柱状图中最大的矩形

代码随想录算法训练营第六十三天|84.柱状图中最大的矩形 84.柱状图中最大的矩形 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 示例 1: 输入&…

浅谈如何自我实现一个消息队列服务器(7)——编写服务器部分

文章目录 一、编写服务器代码1.1、分析一个服务器应具备的功能1.1.1、成员变量1.1.2、对外提供的接口 一、编写服务器代码 再次拿出这张图,前面我们已经将重要概念:VirtualHost、exchange、msgQueue、message、binding 都实现了,此时就可以开…

【程序设计和c语言-谭浩强配套】(适合专升本、考研)

一晃大半年没更新了,这一年一直在备考,想着这几天把前段时间学的c语言给大家分享一下,在此做了一个专栏,有需要的小伙伴可私信获取o。 简介:本专栏所有内容皆适合专升本、考研的复习资料,本人手上也有日常…

在哪里打印资料比较便宜

在数字时代,我们常常需要在各种文档、资料之间穿梭,然而,有时候我们需要的并不是数字版,而是纸质版。那么,在哪里打印资料比较便宜呢? 琢贝云打印以其超低的价格,优质的打印服务,赢…

HFSS学习-day4-建模操作

通过昨天的学习,我们已经熟悉了HFSS的工作环境;今天我们来讲解HFSS中创建物体模型的县体步骤和相关操作。物体建模是HFSS仿真设计工作的第一步,HFSS中提供了诸如矩形、圆面、长方体圆柱体和球体等多种基本模型(Primitive),这些基本…

基于SSM的文化遗产的保护与旅游开发系统(有报告)。Javaee项目。ssm项目。

演示视频: 基于SSM的文化遗产的保护与旅游开发系统(有报告)。Javaee项目。ssm项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,…

[C++][数据结构]哈希2:开散列/哈希桶的介绍和简单实现

前言 接着上一篇文章,我们知道了闭散列的弊端是空间利用率比较低,希望今天学习的开散列可以帮我们解决这个问题 引入 开散列法又叫链地址法(开链法),首先对关键码集合用散列函数计算散列地址**,具有相同地址的关键码归于同一子…

论文研读 Disentangled Information Bottleneck

解耦信息瓶颈 摘要: 信息瓶颈方法是一种从源随机变量中提取与预测目标随机变量相关的信息的技术,通常通过优化平衡压缩和预测项的IB拉格朗日乘子f来实现,然而拉格朗日乘子很难优化,需要多次实验来调整拉格朗日乘子的值&#xff0c…

《黑暗之魂》系列迎来打折:魂三标准版半价134,豪华版199

《黑暗之魂》系列游戏降价促销,现在是购买的好时机!想必喜欢挑战和探索的玩家们对这个消息会特别感兴趣。让我们来看看具体的折扣信息吧! 首先是《黑暗之魂:重制版》,原价198元,现价仅为99元!这…

这份走心的母亲节礼物清单,请查收!

老舍在《我的母亲》中写道:“人,活到八九十岁,有母亲在,便可以多少还有点孩子气。失了慈母便像花插在瓶子里,虽然还有色有香,却失去了根。有母亲的人,心里是安定的。”母亲,对我们每…

【17-Ⅰ】Head First Java 学习笔记

HeadFirst Java 本人有C语言基础,通过阅读Java廖雪峰网站,简单速成了java,但对其中一些入门概念有所疏漏,阅读本书以弥补。 第一章 Java入门 第二章 面向对象 第三章 变量 第四章 方法操作实例变量 第五章 程序实战 第六章 Java…

做好员工行为管理与监督,低门槛构建办公远程管理体系

在企业的日常办公环节,商用远程控制方案起到的作用是多层次的:它既可以作为远程办公的核心工具,也可以作为企业办公远程管理的必要手段,同时也广泛应用在企业内部日常的技术支持,以及关键设备的重点运维。 更加重要的…

【漫画版】指挥官的排序战术:快速排序算法解密

作者介绍:10年大厂数据\经营分析经验,现任字节跳动数据部门负责人。 会一些的技术:数据分析、算法、SQL、大数据相关、python,欢迎探讨交流 欢迎加入社区:码上找工作 作者专栏每日更新: LeetCode解锁1000题…

7. 链路日志打印实现设计

前言 在前面的文章中,我们已经实现了一个Starter包,能够在使用RestTemplate作为客户端请求工具时,记录调用链路信息。在本文,将实现Jaeger框架下的链路日志打印,也就是提供一个io.jaegertracing.spi.Reporter来将Span…

idea运行SpringBoot项目爆红提示出现:Java HotSpot(TM) 64-Bit Server VM warning...让我来看看~

在运行SpringBoot项目的时候,发现总有这个警告提示出现,有点强迫症真的每次运行项目都很难受啊!那么今天便来解决这个问题! 先来看一下提示内容:Java HotSpot(TM) 64-Bit Server VM warning: Options -Xverify:none an…

kaldi学习参考

HMM模型 https://www.cnblogs.com/baixf-xyz/p/16777438.htmlhttps://www.cnblogs.com/baixf-xyz/p/16777438.htmlGMM-HMM 基于GMM-HMM的语音识别系统https://www.cnblogs.com/baixf-xyz/p/16777439.html https://www.cnblogs.com/baixf-xyz/p/16777426.htmlhttps://www.cnbl…

Tomcat中服务启动失败,如何查看启动失败日志?

1. 查看 localhost.log 这个日志文件通常包含有关特定 web 应用的详细错误信息。运行以下命令查看 localhost.log 中的错误: sudo tail -n 100 /opt/tomcat/latest/logs/localhost.YYYY-MM-DD.log请替换 YYYY-MM-DD 为当前日期,或选择最近的日志文件日…

官宣:vAsterNOS正式发布!开放网络操作系统免费试用!

近期,vAsterNOS(设备模拟器)正式发布,可以满足用户快速了解 AsterNOS、体验实际操作、搭建模拟网络的需求,可运行在GNS3、EVE-NG等网络虚拟软件中。 AsterNOS 网络操作系统是星融元为人工智能、机器学习、高性能计算、…

AI换脸原理(3)——人脸对齐介绍

人脸对齐简介 人脸对齐其实包含两个步骤:人脸关键点检测、人脸对齐,英文术语有facial landmark和face alignment,主要用于精确标识眉毛、眼睛、鼻子、嘴巴以及人脸轮廓等特征部位。不同数据集对于关键点的数量有不同的设定,最少的是标记5个关键点,通常包括两只眼睛的瞳孔…