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

📚2 运行结果

 
 IEEE33节点:
 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每日一练 专…...
 
智慧医疗能源事业线深度画像分析(上)
引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...
 
Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...
VTK如何让部分单位不可见
最近遇到一个需求,需要让一个vtkDataSet中的部分单元不可见,查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行,是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示,主要是最后一个参数,透明度…...
 
华硕a豆14 Air香氛版,美学与科技的馨香融合
在快节奏的现代生活中,我们渴望一个能激发创想、愉悦感官的工作与生活伙伴,它不仅是冰冷的科技工具,更能触动我们内心深处的细腻情感。正是在这样的期许下,华硕a豆14 Air香氛版翩然而至,它以一种前所未有的方式&#x…...
 
Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...
HTML前端开发:JavaScript 获取元素方法详解
作为前端开发者,高效获取 DOM 元素是必备技能。以下是 JS 中核心的获取元素方法,分为两大系列: 一、getElementBy... 系列 传统方法,直接通过 DOM 接口访问,返回动态集合(元素变化会实时更新)。…...
 
前端开发者常用网站
Can I use网站:一个查询网页技术兼容性的网站 一个查询网页技术兼容性的网站Can I use:Can I use... Support tables for HTML5, CSS3, etc (查询浏览器对HTML5的支持情况) 权威网站:MDN JavaScript权威网站:JavaScript | MDN...
 
针对药品仓库的效期管理问题,如何利用WMS系统“破局”
案例: 某医药分销企业,主要经营各类药品的批发与零售。由于药品的特殊性,效期管理至关重要,但该企业一直面临效期问题的困扰。在未使用WMS系统之前,其药品入库、存储、出库等环节的效期管理主要依赖人工记录与检查。库…...
[特殊字符] 手撸 Redis 互斥锁那些坑
📖 手撸 Redis 互斥锁那些坑 最近搞业务遇到高并发下同一个 key 的互斥操作,想实现分布式环境下的互斥锁。于是私下顺手手撸了个基于 Redis 的简单互斥锁,也顺便跟 Redisson 的 RLock 机制对比了下,记录一波,别踩我踩过…...
 
MeshGPT 笔记
[2311.15475] MeshGPT: Generating Triangle Meshes with Decoder-Only Transformers https://library.scholarcy.com/try 真正意义上的AI生成三维模型MESHGPT来袭!_哔哩哔哩_bilibili GitHub - lucidrains/meshgpt-pytorch: Implementation of MeshGPT, SOTA Me…...

