【配电网故障重构SOP】基于二阶锥松弛的加光伏风机储能进行的配电网故障处理和重构【考虑最优潮流】(Matlab代码实现)

news2024/10/7 14:32:44

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

电力系统最优潮流(Optimalpowerflow,OPF)综合考虑电网安全性和经济性,已成为电网运行及规划不可缺少的分析工具。该问题的数学模型属于非凸非线性规划问题,精确求解困难。内点算法在最优潮流问题求解的收敛性和效率方面的应用研究取得了较大进展,受到广泛关注。多种组合算法及新型改进算法也相继被提出,比如内点割平面法、半光滑牛顿法、奔德斯分解算法、交替方向乘子法等,以应对最优潮流问题的各 种目标和约束。但如何精确求取最优潮流问题的全局最优解,避免陷入局部最优,仍是困扰学术界的一大难题。

二阶锥规划转化求解

上述故障重构模型中,式( 9) 潮流约束具有非线性、非凸性,其强非凸性使得该故障重构问题变为一个NP 难题,最优解难以求得,且求解效率较低。在此引入中间变量,通过二阶锥松弛技术将其转化成二阶锥形式,由凸规划的理论求得全局最优解。

📚2 运行结果

 

 

 

 

 部分代码:

%% 光伏接入位置 7、13、27, 容量分别为 500kW , 300kW , 400kW
Solar_origin_data=[87.6667, 87.6667, 87.6667, 87.6667, 87.6667, 87.6667, ...
                   102.667, 125.333, 132,     163.889, 178.111, 216.778, ...
                   237,     240,     230.444, 224.556, 209.778, 171, ...
                   133.556, 103.111, 87.6667, 87.6667, 87.6667, 87.6667];
Solar_radio=zeros(33,1);
Solar_radio(7)=500/(500+300+400);
Solar_radio(13)=300/(500+300+400);
Solar_radio(27)=400/(500+300+400);
%% 风机接入位置 10、16、 30, 容量分别为 500kW , 400kW , 400kW
Wind_origin_data=[259.333, 221.667, 278.889, 192.222, 240.556, 211.333, ...
                  164.222, 106.222, 172.889, 126,     240.111, 278.556, ... 
                  278.222, 269.333, 125.222, 154.667, 124.667, 183.222, ...
                  125.444, 117.778, 191.667, 221.556, 127.222, 250.222];
Wind_radio=zeros(33,1);
Wind_radio(10)=500/(500+400+400);
% Wind_radio(16)=300/(500+300+200+200+300);
Wind_radio(16)=400/(500+400+400);
Wind_radio(30)=450/(500+400+400);
% Wind_radio(33)=300/(500+300+200+200+300);
%% 负荷数据
Load_origin_data=[180,     109.778, 134.111, 158.444, 197,     277.222, ...
                  325.778, 442.889, 537.444, 560.778, 465.889, 348.778, ...
                  396.889, 466.889, 514.111, 561.889, 584.222, 490.222, ...
                  442.444, 372.222, 324.889, 277.444, 229.778, 181.889];
%data/64*500表示此时刻系统总的负荷、PV、WT,单位KW,不知道这样的理解对不对,但这么算的话负荷、PV/WT大概都在500KW以内
%除以1000表示单位由KW变为MW,接下来的一切计算功率均默认为多少MW,包括ESS功率0.1MW=100KW
Solar_data=(Solar_origin_data-87.6667)/64*500/1000; 
Wind_data=(Wind_origin_data-87.6667)/64*500/1000;
Load_data=(Load_origin_data-87.6667)/64*500/1000;

p_load=Bus(:,2)/1000; %表示各个节点负荷占的标幺值?为什么要除以一千
q_load=Bus(:,3)/1000;
for a=2:33
    Load_radio(a)=p_load(a)/sum(p_load); %表示各个负荷占总负荷的比值
    q_Load_radio(a)=q_load(a)/sum(q_load);
end
q_Load_data=Load_data*tan(acos(0.85));
theta=atan(q_load./p_load);
for a=1:24
    p_Solar(:,a)=Solar_radio*Solar_data(a);
    p_Wind(:,a)=Wind_radio*Wind_data(a);
    p_Load(:,a)=Load_radio*Load_data(a); %每个节点在每一时刻的负荷值
    q_Load(:,a)=q_Load_radio*q_Load_data(a);
end

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]柳影,田君杨,李佩杰等.求解最优潮流全局最优解的二阶半定规划方法[J].重庆师范大学学报(自然科学版),2022,39(02):22-30.

[2]陈攀峰,程浩忠,吕佳炜,张宏伟.基于二阶锥规划考虑主动管理的主动配电网故障恢复[J].电测与仪表,2019,56(21):46-51.DOI:10.19753/j.issn1001-1390.2019.021.008.

🌈4 Matlab代码实现

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

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

相关文章

uniapp即时通讯sdk哪个好?

UniApp 是什么? UniApp 是一种跨平台移动应用开发框架,可以使用 Vue.js 语法开发支持 Android、iOS 和桌面浏览器的应用。 UniApp 即时通讯功能如何实现? 对于实现即时通讯功能,您可以使用以下2种方法: 1、使用 websocket 实现即时通讯。Websocket 是一…

x210官方uboot配置编译

1、在linux源生目录下配置编译 (1)X210移植过的uboot在开发板光盘的BSP中。 (2)BSP就是board support package(板级支持包,一般由开发板供应商提供),里面的内容就是这个开发板的所有相关的源代码、文档、教程等。 (3)将整个BSP打包文件弄到linux的源生目…

Linux的vi编辑器常见命令总结

注:本文中的给定模式或者模式等词中模式所指是指的一个词语并无其他意思。例如给定模式查找定位指的是查找到给定词的定位。 三种方式的关系图 命令方式和插入方式之间可以相互转换,命令方式和ex转义方式也可以相互转换。但是插入方式和ex转义方式之间不…

Python 小型项目大全 61~65

六十一、ROT13 密码 原文:http://inventwithpython.com/bigbookpython/project61.html ROT13 密码是最简单的加密算法之一,代表“旋转 13 个空格”密码将字母A到Z表示为数字 0 到 25,加密后的字母距离明文字母 13 个空格: A变成N&…

MyBatis 03 -MyBatis动态SQL与分页插件

动态SQL与分页插件 动态SQL与分页插件动态SQL与分页插件1 动态SQL1.1 < sql >1.2 < if >1.3 < where >1.4 < set >1.5 < choose >1.6 < trim >1.7 < foreach >2 mybatis缓存2.1 一级缓存2.2 二级缓存3 分页插件3.1 概念3.2 访问与下…

没有什么壁纸比这里的更绝美精致了吧,我一天换一张

嗨&#xff0c;这里是清安&#xff0c;本章来学习学习获取精美壁纸。视频教程&#xff1a;https://b23.tv/iR7bOFF源码&#xff1a;https://gitee.com/qinganan_admin/reptile-case/tree/master/%E5%A3%81%E7%BA%B8本视频还会有第二期&#xff0c;代码也会有第二份&#xff0c;…

类ChatGPT项目的部署与微调(上):从LLaMA到Alpaca、Vicuna、BELLE

前言 近期&#xff0c;除了研究ChatGPT背后的各种技术细节 不断看论文(至少100篇&#xff0c;100篇目录见此&#xff1a;ChatGPT相关技术必读论文100篇)&#xff0c;还开始研究一系列开源模型(包括各自对应的模型架构、训练方法、训练数据、本地私有化部署、硬件配置要求、微…

Python | 蓝桥杯进阶第三卷——动态规划

欢迎交流学习~~ 专栏&#xff1a; 蓝桥杯Python组刷题日寄 蓝桥杯进阶系列&#xff1a; &#x1f3c6; Python | 蓝桥杯进阶第一卷——字符串 &#x1f50e; Python | 蓝桥杯进阶第二卷——贪心 &#x1f49d; Python | 蓝桥杯进阶第三卷——动态规划 ✈️ Python | 蓝桥杯进阶…

精通Python(基础篇)——流程控制语句

流程控制语句 文章目录流程控制语句1️⃣简介2️⃣条件判断⚜️关系运算符⚜️逻辑运算符⚜️if语句⚜️if...else 语句⚜️if...elif...else语句⚜️match...case3️⃣循环结构⚜️while⚜️while...else语句⚜️for⚜️for...else语句4️⃣退出循环⚜️continue⚜️break1️⃣…

(排序6)快速排序(小区间优化,非递归实现)

TIPS 快速排序本质上是一个分治递归的一个排序。快速排序的时间复杂度是NlogN&#xff0c;这是在理想的情况之下&#xff0c;但是它最坏可以到达N^2。决定快速排序的效率是在单趟排序之后这个key最终落在的位置&#xff0c;越落在中间就越接近二分&#xff0c;越接近2分就越接…

Android创建项目

目录 创建Android项目 配置项目结构 创建安卓模拟器 模拟器运行 HelloWorld 应用 真机运行 HelloWorld 应用 创建Android项目 打开 Android studio 工具&#xff0c;选择Project&#xff0c;选择 New Project 由于现在是教程博客&#xff0c;所以我们随便选择 一个 空 Ac…

JS内置对象2

数组对象&#xff1a; &#xff08;1&#xff09;检测是否为数组&#xff1a; …

【数据结构】第十站:堆与堆排序

目录 一、二叉树的顺序结构 二、堆的概念及结构 三、堆的实现 1.堆的创建 2.堆的各接口实现 四、堆排序 1.堆排序的基本思想 2.堆排序的实现 3.堆排序时间复杂度 四、TOP-K问题 五、堆的完整代码 一、二叉树的顺序结构 二叉树有顺序结构和链式结构&#xff0c;分别使…

Android之adb安装busybox使用wget、telnet等服务

一、adb里面安装busybox BusyBox 是一个集成了三百多个最常用Linux命令和工具的软件。BusyBox 包含了一些简单的工具&#xff0c;例如ls、cat和echo等等&#xff0c;还包含了一些更大、更复杂的工具&#xff0c;例grep、find、mount以及telnet。 1、下载busybox busybox—bi…

有哪些通过PMP认证考试的心得值得分享?

回顾这100多天来艰辛的备考经历&#xff0c;感慨颇多 一&#xff0c;对于pmp的认知 百度百科&#xff1a;PMP&#xff08;Project Management Professional&#xff09;指项目管理专业人士&#xff08;人事&#xff09;资格认证。美国项目管理协会&#xff08;PMI&#xff09;举…

使用 Floyd Warshall 检测负循环

我们得到了一个有向图。我们需要计算图形是否有负循环。负循环是循环的总和为负的循环。 在图形的各种应用中都可以找到负权重。例如,如果我们沿着这条路走,我们可能会得到一些好处,而不是为一条路付出代价。 例子:

PVE相关的各种一键脚本(一键安装PVE)(一键开设KVM虚拟化的NAT服务器-自带内外网端口转发)

PVE 原始仓库&#xff1a;https://github.com/spiritLHLS/pve 前言 建议debian在使用前尽量使用最新的系统 非debian11可使用 debian一键升级 来升级系统 当然不使用最新的debian系统也没问题&#xff0c;只不过得不到官方支持 请确保使用前机器可以重装系统&#xff0c;…

RK3568平台开发系列讲解(驱动基础篇)自动创建设备节点

🚀返回专栏总目录 文章目录 一、自动创建设备节点1.1、创建和删除类函数1.2、创建设备函数二、创建类函数三、创建设备函数沉淀、分享、成长,让自己和他人都能有所收获!😄 📢自动创建设备节点分为两个步骤: 步骤一:使用 class_create 函数创建一个类。步骤二:使用 d…

C++算法初级7——二分查找

C算法初级7——二分查找 文章目录C算法初级7——二分查找在升序的数组上进行二分查找总结应用范围应用二分查找的原理&#xff1a;每次排除掉一半答案&#xff0c;使可能的答案区间快速缩小。 二分查找的时间复杂度&#xff1a;O(log n)&#xff0c;因为每次询问会使可行区间的…

【MyBatis Plus】001 -- MyBatis-Plus快速入门(介绍、QuickStart)

目录 1、了解MyBatis-Plus 1.1 MyBatis-Plus介绍 1.2 代码及文档 1.3 特性 1.4 架构 1.5 作者 2、快速开始 2.1 创建数据库以及表 2.2 创建工程 2.3 MyBatis MP 2.3.1 创建子module 2.3.2 MyBatis实现查询User&#xff08;无Service方法&#xff0c;直接通过Mapper实现查询&am…