【配电网重构】基于混合整数二阶锥配电网重构研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,a半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
📚2 运行结果
🎉3 参考文献
🌈4 Matlab代码实现
💥1 概述
随着经济快速增长,电力需求急剧增加,这给输配电网带来了巨大的扩容投资压力[1]。电力系统高峰负荷十分集中,要满足尖峰段负荷需求, 就必须加大系统容量建设,这不仅带来了巨大的投资要求,也使得电网现有的设备利用率低下,部分设备只在高峰时段运行。配电网多采用环状结构,开环运行,在配电线路沿馈线设有一定数量的常闭分段开关,馈线之间装有常开的联络开关。配电网重构技术不需增加额外投资,只需调整配电网中的开关状态,就可达到优化运行结构、平衡电力负荷、降低网络损耗、提高 电 压 质 量 的 目 的。理论上,任 何 一 个 配电网都存在一个最优的网络结构,在这个最优结构下,各负荷点的运行电压、网络损耗和负荷平衡的协调均优于其
他可行方案。当负荷变化时,这个最优结构也将变化,因此计算出这个最优结构,以使配电网尽可能地运行在最优状态。
主动配电网进行网络重构的目标有多种,主要包括:降低网络有功损耗,降低系统一定时间段内能量损耗,使线路负载均衡,提高系统供电可靠性,以及提高电压稳定性等。对应的优化目标函数可以用如下数学形式进行表示。

📚2 运行结果


IEEE33节点:
function mpc = IEEE33%% MATPOWER Case Format : Version 2
mpc.version = '2';%%----- Power Flow Data -----%%
%% system MVA base
mpc.baseMVA = 10;%% bus data
% bus_i type Pd Qd Gs Bs area Vm Va baseKV zone Vmax Vmin
mpc.bus = [ %% (Pd and Qd are specified in kW & kVAr here, converted to MW & MVAr below)1 3 0 0 0 0 1 1 0 12.66 1 1 1;2 1 100 60 0 0 1 1 0 12.66 1 1.1 0.9;3 1 90 40 0 0 1 1 0 12.66 1 1.1 0.9;4 1 120 80 0 0 1 1 0 12.66 1 1.1 0.9;5 1 60 30 0 0 1 1 0 12.66 1 1.1 0.9;6 1 60 20 0 0 1 1 0 12.66 1 1.1 0.9;7 1 200 100 0 0 1 1 0 12.66 1 1.1 0.9;8 1 200 100 0 0 1 1 0 12.66 1 1.1 0.9;9 1 60 20 0 0 1 1 0 12.66 1 1.1 0.9;10 1 60 20 0 0 1 1 0 12.66 1 1.1 0.9;11 1 45 30 0 0 1 1 0 12.66 1 1.1 0.9;12 1 60 35 0 0 1 1 0 12.66 1 1.1 0.9;13 1 60 35 0 0 1 1 0 12.66 1 1.1 0.9;14 1 120 80 0 0 1 1 0 12.66 1 1.1 0.9;15 1 60 10 0 0 1 1 0 12.66 1 1.1 0.9;16 1 60 20 0 0 1 1 0 12.66 1 1.1 0.9;17 1 60 20 0 0 1 1 0 12.66 1 1.1 0.9;18 1 90 40 0 0 1 1 0 12.66 1 1.1 0.9;19 1 90 40 0 0 1 1 0 12.66 1 1.1 0.9;20 1 90 40 0 0 1 1 0 12.66 1 1.1 0.9;21 1 90 40 0 0 1 1 0 12.66 1 1.1 0.9;22 1 90 40 0 0 1 1 0 12.66 1 1.1 0.9;23 1 90 50 0 0 1 1 0 12.66 1 1.1 0.9;24 1 420 200 0 0 1 1 0 12.66 1 1.1 0.9;25 1 420 200 0 0 1 1 0 12.66 1 1.1 0.9;26 1 60 25 0 0 1 1 0 12.66 1 1.1 0.9;27 1 60 25 0 0 1 1 0 12.66 1 1.1 0.9;28 1 60 20 0 0 1 1 0 12.66 1 1.1 0.9;29 1 120 70 0 0 1 1 0 12.66 1 1.1 0.9;30 1 200 600 0 0 1 1 0 12.66 1 1.1 0.9;31 1 150 70 0 0 1 1 0 12.66 1 1.1 0.9;32 1 210 100 0 0 1 1 0 12.66 1 1.1 0.9;33 1 60 40 0 0 1 1 0 12.66 1 1.1 0.9;
];%% generator data
% bus Pg Qg Qmax Qmin Vg mBase status Pmax Pmin Pc1 Pc2 Qc1min Qc1max Qc2min Qc2max ramp_agc ramp_10 ramp_30 ramp_q apf
mpc.gen = [1 0 0 10 -10 1 100 1 10 0 0 0 0 0 0 0 0 0 0 0 0;
];%% branch data
% fbus tbus r x b rateA rateB rateC ratio angle status angmin angmax
mpc.branch = [ %% (r and x specified in ohms here, converted to p.u. below)1 2 0.0922 0.0470 0 0 0 0 0 0 1 -360 360;2 3 0.4930 0.2511 0 0 0 0 0 0 1 -360 360;3 4 0.3660 0.1864 0 0 0 0 0 0 1 -360 360;4 5 0.3811 0.1941 0 0 0 0 0 0 1 -360 360;5 6 0.8190 0.7070 0 0 0 0 0 0 1 -360 360;6 7 0.1872 0.6188 0 0 0 0 0 0 1 -360 360;7 8 0.7114 0.2351 0 0 0 0 0 0 1 -360 360;8 9 1.0300 0.7400 0 0 0 0 0 0 1 -360 360;9 10 1.0440 0.7400 0 0 0 0 0 0 1 -360 360;10 11 0.1966 0.0650 0 0 0 0 0 0 1 -360 360;11 12 0.3744 0.1238 0 0 0 0 0 0 1 -360 360;12 13 1.4680 1.1550 0 0 0 0 0 0 1 -360 360;13 14 0.5416 0.7129 0 0 0 0 0 0 1 -360 360;14 15 0.5910 0.5260 0 0 0 0 0 0 1 -360 360;15 16 0.7463 0.5450 0 0 0 0 0 0 1 -360 360;16 17 1.2890 1.7210 0 0 0 0 0 0 1 -360 360;17 18 0.7320 0.5740 0 0 0 0 0 0 1 -360 360;2 19 0.1640 0.1565 0 0 0 0 0 0 1 -360 360;19 20 1.5042 1.3554 0 0 0 0 0 0 1 -360 360;20 21 0.4095 0.4784 0 0 0 0 0 0 1 -360 360;21 22 0.7089 0.9373 0 0 0 0 0 0 1 -360 360;3 23 0.4512 0.3083 0 0 0 0 0 0 1 -360 360;23 24 0.8980 0.7091 0 0 0 0 0 0 1 -360 360;24 25 0.8960 0.7011 0 0 0 0 0 0 1 -360 360;6 26 0.2030 0.1034 0 0 0 0 0 0 1 -360 360;26 27 0.2842 0.1447 0 0 0 0 0 0 1 -360 360;27 28 1.0590 0.9337 0 0 0 0 0 0 1 -360 360;28 29 0.8042 0.7006 0 0 0 0 0 0 1 -360 360;29 30 0.5075 0.2585 0 0 0 0 0 0 1 -360 360;30 31 0.9744 0.9630 0 0 0 0 0 0 1 -360 360;31 32 0.3105 0.3619 0 0 0 0 0 0 1 -360 360;32 33 0.3410 0.5302 0 0 0 0 0 0 1 -360 360;21 8 2.0000 2.0000 0 0 0 0 0 0 0 -360 360;9 15 2.0000 2.0000 0 0 0 0 0 0 0 -360 360;12 22 2.0000 2.0000 0 0 0 0 0 0 0 -360 360;18 33 0.5000 0.5000 0 0 0 0 0 0 0 -360 360;25 29 0.5000 0.5000 0 0 0 0 0 0 0 -360 360;
];%%----- OPF Data -----%%
%% generator cost data
% 1 startup shutdown n x1 y1 ... xn yn
% 2 startup shutdown n c(n-1) ... c0
mpc.gencost = [2 0 0 3 0 20 0;
];%% convert branch impedances from Ohms to p.u.
[PQ, PV, REF, NONE, BUS_I, BUS_TYPE, PD, QD, GS, BS, BUS_AREA, VM, ...VA, BASE_KV, ZONE, VMAX, VMIN, LAM_P, LAM_Q, MU_VMAX, MU_VMIN] = idx_bus;
[F_BUS, T_BUS, BR_R, BR_X, BR_B, RATE_A, RATE_B, RATE_C, ...TAP, SHIFT, BR_STATUS, PF, QF, PT, QT, MU_SF, MU_ST, ...ANGMIN, ANGMAX, MU_ANGMIN, MU_ANGMAX] = idx_brch;
Vbase = mpc.bus(1, BASE_KV) * 1e3; %% in Volts
Sbase = mpc.baseMVA * 1e6; %% in VA
mpc.branch(:, [BR_R BR_X]) = mpc.branch(:, [BR_R BR_X]) / (Vbase^2 / Sbase);%% convert loads from kW to MW
mpc.bus(:, [PD, QD]) = mpc.bus(:, [PD, QD]) / 1e3;
function mpc = IEEE33
%% MATPOWER Case Format : Version 2
mpc.version = '2';%%----- Power Flow Data -----%%
%% system MVA base
mpc.baseMVA = 10;%% bus data
% bus_i type Pd Qd Gs Bs area Vm Va baseKV zone Vmax Vmin
mpc.bus = [ %% (Pd and Qd are specified in kW & kVAr here, converted to MW & MVAr below)
1 3 0 0 0 0 1 1 0 12.66 1 1 1;
2 1 100 60 0 0 1 1 0 12.66 1 1.1 0.9;
3 1 90 40 0 0 1 1 0 12.66 1 1.1 0.9;
4 1 120 80 0 0 1 1 0 12.66 1 1.1 0.9;
5 1 60 30 0 0 1 1 0 12.66 1 1.1 0.9;
6 1 60 20 0 0 1 1 0 12.66 1 1.1 0.9;
7 1 200 100 0 0 1 1 0 12.66 1 1.1 0.9;
8 1 200 100 0 0 1 1 0 12.66 1 1.1 0.9;
9 1 60 20 0 0 1 1 0 12.66 1 1.1 0.9;
10 1 60 20 0 0 1 1 0 12.66 1 1.1 0.9;
11 1 45 30 0 0 1 1 0 12.66 1 1.1 0.9;
12 1 60 35 0 0 1 1 0 12.66 1 1.1 0.9;
13 1 60 35 0 0 1 1 0 12.66 1 1.1 0.9;
14 1 120 80 0 0 1 1 0 12.66 1 1.1 0.9;
15 1 60 10 0 0 1 1 0 12.66 1 1.1 0.9;
16 1 60 20 0 0 1 1 0 12.66 1 1.1 0.9;
17 1 60 20 0 0 1 1 0 12.66 1 1.1 0.9;
18 1 90 40 0 0 1 1 0 12.66 1 1.1 0.9;
19 1 90 40 0 0 1 1 0 12.66 1 1.1 0.9;
20 1 90 40 0 0 1 1 0 12.66 1 1.1 0.9;
21 1 90 40 0 0 1 1 0 12.66 1 1.1 0.9;
22 1 90 40 0 0 1 1 0 12.66 1 1.1 0.9;
23 1 90 50 0 0 1 1 0 12.66 1 1.1 0.9;
24 1 420 200 0 0 1 1 0 12.66 1 1.1 0.9;
25 1 420 200 0 0 1 1 0 12.66 1 1.1 0.9;
26 1 60 25 0 0 1 1 0 12.66 1 1.1 0.9;
27 1 60 25 0 0 1 1 0 12.66 1 1.1 0.9;
28 1 60 20 0 0 1 1 0 12.66 1 1.1 0.9;
29 1 120 70 0 0 1 1 0 12.66 1 1.1 0.9;
30 1 200 600 0 0 1 1 0 12.66 1 1.1 0.9;
31 1 150 70 0 0 1 1 0 12.66 1 1.1 0.9;
32 1 210 100 0 0 1 1 0 12.66 1 1.1 0.9;
33 1 60 40 0 0 1 1 0 12.66 1 1.1 0.9;
];
🎉3 参考文献
部分理论来源于网络,如有侵权请联系删除。
[1]朱俊澎. 主动配电网重构与孤岛划分研究[D].东南大学,2018.
[2]葛鹏江,张树永,董晓晶,靳盘龙.基于鲁棒优化的配网重构二阶锥规划模型[J].电力科学与技术学报,2018,33(04):50-57.
[3]荣德生,胡举爽.配电网重构的凸模型[J].电源学报,2016,14(03):131-136.DOI:10.13234/j.issn.2095-2805.2016.3.131.
[4]向佳霓,赵建立,顾霈,王隗东,陈珂,张洪志.考虑需求响应的配电网重构经济性和可靠性研究[J].电工技术,2022(19):20-23.DOI:10.19768/j.cnki.dgjs.2022.19.006.
🌈4 Matlab代码实现
相关文章:
【配电网重构】基于混合整数二阶锥配电网重构研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
Kubernetes mysql 实战以及外部存储处理 [一]
在 Kubernetes 中部署 MySQL 数据库需要考虑以下几个方面: 部署方式:可以选择使用 StatefulSet 或者 Deployment 进行部署,如果需要有状态的服务,使用 StatefulSet 更加合适。存储:MySQL 需要一个持久化存储来保存数据。可以使用 Kubernetes 提供的 PersistentVolumeClaim…...
使用【Python+Appium】实现自动化测试
一、环境准备 1.脚本语言:Python3.x IDE:安装Pycharm 2.安装Java JDK 、Android SDK 3.adb环境,path添加E:\Software\Android_SDK\platform-tools 4.安装Appium for windows,官网地址 Redirecting 点击下载按钮会到GitHub的…...
位图和布隆过滤器
位图和布隆过滤器 位图的概念位图的简单模拟实现位图set位图reset位图test 位图总的代码和实现位图的应用布隆过滤器布隆过滤器的简单实现相关操作讨论布隆过滤器的结构设计布隆过滤器插入布隆过滤器查找 布隆过滤器总代码 布隆过滤器优点和缺陷海量数据面试题哈希切割位图应用…...
Eclipse 教程Ⅳ
Eclipse 工作空间(Workspace) eclipse 工作空间包含以下资源: 项目文件文件夹 项目启动时一般可以设置工作空间,你可以将其设置为默认工作空间,下次启动后无需再配置: 工作空间(Workspace)有明显的层次结构。 项目在最顶级&…...
Webpack搭建本地服务器
1 开启本地服务器 2 HMR热模块替换 3 devServer配置 4 开发和生成环境 需要本地服务的目的就在每次我们保存项目源文件的时候都可以自动打包新的打包文件, 这里主要讲webpack-dev-server: 先安装: npm install webpack-dev-server -D 需要…...
基于Go开发PaaS平台3
Go开发PaaS平台核心功能 代码仓库地址GitHub - yunixiangfeng/gopaas 10-18 中间件前端页面以及核心API开发(中) C:\Users\Administrator\Desktop\gopaas\middlewareapi\handler\middlewareApiHandler.go package handlerimport ("context"…...
虎牙直播在微服务改造的实践总结
博主介绍:✌全网粉丝4W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战、定制、远程,博主也曾写过优秀论文,查重率极低,在这方面…...
设置线程池的大小
线程池的理想大小取决于被提交任务的类型以及所部署系统的特性。在代码中通常不会固定线程池的大小,而应该通过某种配置机制来提供,或者根据Runtime. availableProcessors来动态计算。 幸运的是,要设置线程池的大小也并不困难,只需要避免“过大”和“过…...
Vue3 除了 keep-alive,还有哪些实现页面缓存的方法
有这么一个需求:列表页进入详情页后,切换回列表页,需要对列表页进行缓存,如果从首页进入列表页,就要重新加载列表页。 对于这个需求,我的第一个想法就是使用keep-alive来缓存列表页,列表和详情…...
JavaScript闭包
定义 定义:在计算机科学中,闭包(Closure)是一个函数及其相关引用环境组合而成的实体。简单来说,闭包是指一个函数以及该函数访问的外部变量的集合。在一些编程语言中,函数可以访问在其定义时所处的上下文中…...
华为OD机试之不含101的整数(Java源码)
不含101的数 题目描述 小明在学习二进制时,发现了一类不含 101的数,也就是: 将数字用二进制表示,不能出现 101 。 现在给定一个整数区间 [l,r] ,请问这个区间包含了多少个二进制不含 101 的整数? 输入描述…...
SpringCloud Ribbon 学习
SpringCloud Ribbon 学习 文章目录 SpringCloud Ribbon 学习1. Ribbon 是什么?2. LB(Load Balance)3 Ribbon 架构图&机制4 Ribbon 常见负载均衡算法5 测试 1. Ribbon 是什么? Spring Cloud Ribbon 是基于 Netflix Ribbon 实现的一套客户端 负载均衡…...
预告:XuperOS Global 国际化进展
XuperOS新年致辞中,我们提到XuperOS成长计划的最后一个阶段是国际化。伴随前三个阶段创世、监督、共建先后落地,很多用户特来咨询XuperOS国际化进展,我们在此统一说明。 按照之前的规划,XuperOS将在海外部署一条新的开放链XuperOS…...
炫技操作--递归实现翻转链表(java)
递归实现链表的逆序 leetcode 206题。 翻转链表递归解法普通方式实现链表翻转链表专题 leetcode 206题。 翻转链表 leetcode链接用于测试 题目:描述 将一个链表翻转: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1] 递归解法 解题思路…...
华为OD机试真题 Java 实现【求最小公倍数】【牛客练习题】
一、题目描述 正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。 数据范围:1≤a,b≤100000 。 二、输入描述 输入两个正整数A和B。 三、输出描述 输出A和B的最小公倍数。 四、解…...
[java]两数之和 II - 输入有序数组
两数之和 II - 输入有序数组 leetcode 167 原题链接解题思路解题代码排序专题 leetcode 167 原题链接 167. 两数之和 II - 输入有序数组 – 原题链接 题目描述: 给你一个下标从 1 开始的整数数组 numbers ,该数组已按 非递减顺序排列 ,请你从数组中找出…...
Linux-0.11 boot目录head.s详解
Linux-0.11 boot目录head.s详解 模块简介 在head.s中,操作系统主要做了如下几件事: 重新设置中断描述符和全局描述符检查A20地址线是否开启检查数学协处理器初始化页表并开启分页跳转到main函数执行 过程详解 重新设置IDT和GDT 在setup.s中我们已经…...
离散数学_十章-图 ( 3 ):由旧图构造新图
📷10.3 由旧图构造新图 概念1. 子图2. 真子图3. 导出的子图 旧图构造新图的方法1. 删除或增加图中的边2. 边的收缩3. 删除顶点 有时解决问题只需要图的一部分。 比如我们现在只关心大型计算机网络中涉及济南,广州,深圳的计算机中心࿰…...
Golang每日一练(leetDay0083) 汇总区间、多数元素II
目录 228. 汇总区间 Summary Ranges 🌟 229. 多数元素 II Majority Element ii 🌟🌟 🌟 每日一练刷题专栏 🌟 Rust每日一练 专栏 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...
【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...
蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...
【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看
文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...
MySQL 主从同步异常处理
阅读原文:https://www.xiaozaoshu.top/articles/mysql-m-s-update-pk MySQL 做双主,遇到的这个错误: Could not execute Update_rows event on table ... Error_code: 1032是 MySQL 主从复制时的经典错误之一,通常表示ÿ…...
如何在Windows本机安装Python并确保与Python.NET兼容
✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...
Matlab实现任意伪彩色图像可视化显示
Matlab实现任意伪彩色图像可视化显示 1、灰度原始图像2、RGB彩色原始图像 在科研研究中,如何展示好看的实验结果图像非常重要!!! 1、灰度原始图像 灰度图像每个像素点只有一个数值,代表该点的亮度(或…...
02.运算符
目录 什么是运算符 算术运算符 1.基本四则运算符 2.增量运算符 3.自增/自减运算符 关系运算符 逻辑运算符 &&:逻辑与 ||:逻辑或 !:逻辑非 短路求值 位运算符 按位与&: 按位或 | 按位取反~ …...

