三篇论文联合复现:高比例新能源下考虑需求侧响应和智能软开关的配电网重构程序代码!

适用平台:Matlab+Yalmip+Cplex

程序在高比例新能源接入的情况下提出了考虑需求响应(DR)和智能软开关(SOP)的多时段主动配电网重构策略,进一步降低配电系统重构费用,减少弃风率和弃光率;基于混合整数二阶锥规划对配电网重构模型进行求解,将模型转化为MISOCP问题,并在调用CPLEX求解器进行求解。程序中算例丰富、注释清晰、干货满满,可扩展性和创新性很高!下面对文章和程序做简要介绍!

程序创新点:

1配电网重构; 2)高比例可再生能源;

3)需求响应DR;4)智能软开关SOP。

主要工作:

程序提出了高比例新能源接入下考虑需求侧响应(DR)和智能软开关(SOP)的配电网重构策略。首先,构建了配电网重构下的DR和SOP模型;然后,综合考虑网损费用、弃风费用、弃光费用和开关费用,以社会利益最大化为优化目标,构建高比例新能源接入下多时段配电网重构模型;再次,通过大M法和二阶锥松弛将配电网重构模型转化为混合整数二阶锥规划问题,并采用Matlab调用YALMIP和CPLEX对转化后的模型进行求解;最后,采用改进的IEEE33节点配电系统进行了算例仿真,并进行了灵敏度分析和不同配电网重构策略的对比分析,验证了模型的有效性。所提考虑DR和SOP的配电网重构策略,可以有效提高配电系统的新能源消纳能力,平抑负荷峰谷差,提升配电网运行的经济性。

(1)智能软开关(SOP)

智能软开关(soft open point , SOP)是一种电力电子装置,用于替代传统联络开关,能有效解决配电系统中功率调节能力不足的问题。SOP可在馈线之间实现快速、动态和持续的有功无功潮流控制,起到平衡负载潮流并优化系统电压分布的作用。SOP的应用提高了配电网潮流的可控性,可有效解决高渗透率DG接入配电网带来的一系列问题,从而改善系统运行的经济性、灵活性和可靠性。

(2)需求响应

DR是指电力用户根据价格信号或激励机制做出响应,以此改变用户的常规电力消费行为。DR往往采用峰谷电价的形式引导用户的用电行为,从而将高峰时段的部分负荷转移到低谷时段,达到削峰填谷、平衡负荷的目的。政府制定的峰谷电价是一个长效机制,考虑到电价政策的调控变动在中国实施的难度,针对用户电价体系中的分时电价,现阶段已有一些研究工作通过积分制和电价套餐的方式来实现。

(3)Distflow潮流约束

dist-flow 潮流方程是基于Kirchhoff电流定律和Kirchhoff电压定律建立的。它考虑了配电系统中各节点之间的阻抗和功率负荷,通过求解一组非线性方程,得到各节点的电压和功率的分布情况,在dist-flow潮流方程中,首先需要确定各节点的电压幅值和相角,然后,根据节点电压和阻抗,计算节点注入功率和节点注入电流根据Kirchhoff电流定律和Kirchhoff电压定律,可以得到一组非线性方程。通过求解这组非线性方程,可以得到各节点的电压和功率的分布情况。相比于传统的基于节点功率的潮流计算法,Distflow 潮流模型更适用于辐射状配电系统的潮流计算。

程序结果:

部分程序:

delta_T=1;  N=1;S_sopi1=1;    S_sopj1=1;%SOP容量 
nl=37;nc=5;%37条线 5条联络线
xb=[33 12 22 0.1 0.1;34 8 21 0.1 0.1;35 15 9 0.1 0.1;36 25 29 0.1 0.1;37 18 33 0.1 0.1];%联络线的Branch矩阵
Branch=[Branch;xb];r_ij=Branch(:,4);   x_ij=Branch(:,5);
p_Solar=zeros(33,1);p_Wind=zeros(33,1);p_Load=p_load;
p_Solar(5)=0.05;p_Solar(11)=0.05;p_Solar(15)=0.05;p_Solar(22)=0.05;p_Solar(31)=0.05;%分布式功率  
q_Solar=p_Solar.*0.05;%无功按照有功的0.05倍 
lamda=sdpvar(33,N,'full');
x_Iij_square=sdpvar(37,N,'full');   x_ui_square=sdpvar(33,N,'full');
x_pij=sdpvar(37,N,'full');      x_qij=sdpvar(37,N,'full');
x_p_sop1=sdpvar(2,N,'full');    x_q_sop1=sdpvar(2,N,'full');
opt_num=1;beta=binvar(37,37,'full');Zij=binvar(nl,1);%网架结构
Z0=[ones(nl-nc,1);zeros(nc,1)];%初始拓扑 32条全连接 5条断开
assign(Zij,Z0);%为Zij与Z0赋初始值x_sop_L=sdpvar(2,N,'full');%sop损失
Constraints=[];%for opt_num=1:N    
Constraints = [Constraints, sum(Zij) == 32];%网架结构
Constraints = [Constraints, 0<= x_pij(33:37) <= 0.1.*Zij(33:37)];
Constraints=[Constraints,implies(Zij(i)==0,[beta(Branch(i,2),Branch(i,3))==0,beta(Branch(i,3),Branch(i,2))==0]),%非联通情况下的参数关系implies(Zij(i)==1,[beta(Branch(i,2),Branch(i,3))+beta(Branch(i,3),Branch(i,2))==1])];%联通情况下的参数关系if ~ismember([i,j],Branch(:,[2,3]))
Constraints=[Constraints,beta(i,j)==0];%非联通节点的参数beta设置为0
Constraints=[Constraints,sum(beta(1:37,:),2)==1];%公式6c
Constraints=[Constraints,beta(1,2)==0];%6d
%% 定义目标函数f=r_ij'*x_Iij_square(:,opt_num)+100*sum(p_load)+100*sum(-lamda.*p_load);Constraints=[Constraints,x_ui_square(1,opt_num)==12.66^2];Constraints=[Constraints,0<=lamda<=1];
% Constraints=[Constraints,x_Iij_square(7,opt_num)==0];%设置故障线路1Constraints=[Constraints,Zij(6)==0];Constraints=[Constraints,Zij(35)==0];

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

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

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

相关文章

金融OCR领域实习日志(二)——四种OCR模型效果测试(附图)

文章目录 四种模型ocr效果简单测试模型场景1.paddle框架下PP-OCRv31.1.效果如下&#xff1a;1.2.总结 2.paddle框架下ppocr_server_v22.1.效果如下2.2.总结 3.CnOCR3.1.效果如下3.2.总结 4.TesseractOCR4.1.效果如下4.2.总结 5.后续想法 四种模型ocr效果简单测试 模型 PP-OCR…

【RT-DETR有效改进】 | 主干篇 | RevColV1可逆列网络(特征解耦助力小目标检测)

前言 大家好&#xff0c;这里是RT-DETR有效涨点专栏。 本专栏的内容为根据ultralytics版本的RT-DETR进行改进&#xff0c;内容持续更新&#xff0c;每周更新文章数量3-10篇。 专栏以ResNet18、ResNet50为基础修改版本&#xff0c;同时修改内容也支持ResNet32、ResNet101和PP…

Java面试提纲

JDK 1 jdk1.8版本后的新特性有哪些? Java Development Kit (JDK) 1.8&#xff08;也称为Java 8&#xff09;在2014年3月发布&#xff0c;引入了许多重要的新特性&#xff0c;以下是其中的一些关键特性&#xff1a; Lambda表达式&#xff1a; Java 8引入了lambda表达式&#x…

nginx复现负载均衡案例

这里是下载好了docker&#xff0c;并显示了下镜像这里是拉到了nginx的镜像这里是把容器起来&#xff0c;-itd是容器关闭后销毁这里是显示起来的容器进入到这个容器里面查看许多命令用不了&#xff0c;应该想办法把docker里的文件夹映射到物理机中 这里是如果访问6666端口那么隧…

cartographer离线建图报错:data_.trajectory_nodes.SizeOfTrajectoryOrZero

cartographer离线建图报错: data_.trajectory_nodes.SizeOfTrajectoryOrZero [FATAL] [1706177325.876019302, 1706015603.398505596]: F0125 18:08:45.000000 17607 pose_graph_2d.cc:1314] Check failed: data_.trajectory_nodes.SizeOfTrajectoryOrZero(trajectory_id) &…

C语言实现插入排序算法(附带源代码)

插入排序 插入排序&#xff08;英语&#xff1a;Insertion Sort&#xff09;是一种简单直观的排序算法。它的工作原理是通过构建有序序列&#xff0c;对于未排序数据&#xff0c;在已排序序列中从后向前扫描&#xff0c;找到相应位置并插入。插入排序在实现上&#xff0c;通常…

Nginx编译安装以及负载均衡配置(Ubuntu 22.04)

目录 Nginx编译安装以及负载均衡配置 Ubuntu 22.04.1 LTS 编译安装 nginx-1.22.1 1.安装依赖包 2. 下载nginx 3. 编译安装 报错解决 解决问题2 4.安装 5启动Nginx&#xff1a; 负载均衡 负载均衡算法 轮询 加权负载均衡 ip_hash算法 算法进行配置演示 加权负载均衡 轮询 IP 哈希…

vue中使用canvas给图片绘制水印,即使下载图片也是带水印的

先看效果 话不多说直接上组件 1、Watermark.vue <template><div><canvas ref"canvas" :width"width" :height"height"></canvas></div> </template><script>export default {props: {// 图片地址ur…

【第一天】蓝桥杯备战

题 1、 门牌号2、卡片3、分数 1、 门牌号 https://www.lanqiao.cn/problems/592/learning/ 解法一&#xff1a;暴力遍历 import java.util.Scanner; // 1:无需package // 2: 类名必须Main, 不可修改public class Main {public static void main(String[] args) {Scanner sca…

使用vscode查bug

具体操作 修改CMakeList.txt # set(CMAKE_BUILD_TYPE "Release")//注释Release模式 set(CMAKE_BUILD_TYPE "Debug")//设置为Debug模式 # set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wall -g")//注释*这行代码是用来设置 CMake 构建系统中 Release 模式…

DS:顺序表的实现(超详细!!)

创作不易&#xff0c;友友们给个三连呗&#xff01; 本文为博主在DS学习阶段的第一篇博客&#xff0c;所以会介绍一下数据结构&#xff0c;并在最后学习对顺序表的实现&#xff0c;在友友们学习数据结构之前&#xff0c;一定要对三个部分的知识——指针、结构体、动态内存管理的…

一、Lamdba 表达式与函数式接口(最终版)

一、Lamdba 表达式与函数式接口 1.1 Lamdba 表达式与函数式接口 1.1.1 Lambda 表达式概述 Lambda 表达式是 Java 8 引入的一个新特性Lambda 表达式可以被视为匿名函数允许在需要函数的地方以更简洁的方法定义功能Lambda 表达式可以完成简洁的函数定义Stream API 中大量使用了…

银行数据仓库体系实践(7)--数据模型设计及流程

数据仓库作为全行或全公司的数据中心和总线&#xff0c;汇集了全行各系统以及外部数据&#xff0c;通过良好的系统架构可以保证系统稳定性和处理高效性&#xff0c;那如何保障系统数据的完备性、规范性和统一性呢&#xff1f;这里就需要有良好的数据分区和数据模型&#xff0c;…

【Vue实用功能】Vue实现文档在线预览功能,在线预览PDF、Word等office文件

1、Office Web(微软的开发接口) 优点 没有 Office也可以直接查看Office 文件适用于移动端、PC无需下载文件就可以在浏览器中查看 <iframe src"文档地址" frameborder"0" /> const docUrl 外网可预览的地址 const url encodeURIComponent(docUrl…

C#用DateAndTime.DateDiff方法和TimeSpan分别计算时间间隔

目录 一、计算时间间隔的方法 1.用DateAndTime.DateDiff方法计算时间间隔 2.使用TimeSpan获取日期时间间隔 二、实例 1.示例一&#xff1a;用DateAndTime.DateDiff方法计算时间间隔 2.示例二&#xff1a;使用TimeSpan获取日期时间间隔 一、计算时间间隔的方法 1.用Date…

element el-date-picker type=“datetimerange“

刚写完结果需求变更了。封装的时间组件重新做。结合eacharts 。 直接上代码了 日期选择组件封装 <template><section class"warning-container"><header class"query-head"><el-form :inline"true" class"query-form…

运费业务:

新增或修改&#xff1a; 第一步&#xff1a;查询是否有存在的模板&#xff0c;没有的话直接新增 第二步&#xff1a;模板不为空(存在经济区互寄情况)&#xff0c;判断经济区中的关联城市是否已经添加&#xff08;一条SQL数据中经济区中的关联城市可以选择多个,但其他经济区中也…

JavaSE基础学习

一、编程入门 二、Java语言概述 三、Java基本语法 四、程序流程控制 五、数组 六、面向对象(上) 数组工具类的封装: 七、面向对象(中) 八、面向对象(下) 九、异常处理 十、多线程 十一、常用类 十二、枚举类与注解 十三、集合 十四、泛型 十五、IO流 十六、网络编程 十七、反射…

【VSAN数据恢复】VSAN数据重构迁移失败的数据恢复案例

VSAN简介&#xff1a; VSAN存储是一个对象存储&#xff0c;以文件系统呈现给在vSphere主机上。这个对象存储服务会从VSAN集群中的每台主机上加载卷&#xff0c;将卷展现为单一的、在所有节点上都可见的分布式共享数据存储。 对于虚拟机来说&#xff0c;只有一个数据存储&#x…

Docker容器基本管理

目录 一、概述 &#xff08;一&#xff09;为什么要用到容器 &#xff08;二&#xff09;docker概念 1.镜像 2.容器 3.仓库 &#xff08;三&#xff09;Docker与虚拟机的区别 &#xff08;四&#xff09;Linux namespace的六大类型 二、安装docker容器引擎 &#xff…