当前位置: 首页 > news >正文

主动配电网故障恢复的重构与孤岛划分matlab程序

关注“电气仔推送”获得资料(专享优惠)

参考文档:

A New Model for Resilient Distribution Systems by Microgrids Formation;

主动配电网故障恢复的重构与孤岛划分统一模型;

同时考虑孤岛与重构的配电网故障恢复运行策略。

运行环境:

matlab+yalmip+cplex

主要内容:

程序主要以33节点为研究对象,编制配电网故障重构模型,采用虚拟潮流约束保证配电网的连通性和辐射性,以网损和负荷损失作为目标函数,包括潮流约束、电压电流约束、辐射性约束等。

主动配电网故障恢复的重构与孤岛划分统一模型 随着分布式电源和储能装置大量接入配电网,配电网 在发生故障之后可以进行重构和孤岛划分,提高故障恢复的水平。建立包含多类型分布式电源、柔性负荷和储能的多 时间段故障动态恢复模型,并计及故障恢复时间和检修次序。利用二阶锥技术将 所建模型转换成混合整数二阶锥规划模型。结果表明,与传统方法相比,所提故障恢复方法计算速度更快,故障恢复率更高。

部分代码:

%% 检修策略约束

for i=1:nl

  if ismember(i,F)

    Constraints = [Constraints, Zij(i,1)==0];%故障线路初始状态

    for t=2:N

      Constraints = [Constraints, Zij(i,t)>=Zij(i,t-1)];%故障线路下一个时刻状态要大于等于上一个时刻

    end

  end

end

[~,na]=size(F);%故障线路条数

for t=1+Tf:N

  Constraints = [Constraints, sum(Zij(F,t))-sum(Zij(F,t-Tf))<=h];%每个时段最多只能检修h条故障线路

end

for i=1:6

  for t=2:N

    Rep(i,t-1)=Zij(F(i),t)-Zij(F(i),t-1);%线路维修状态和线路状态关系

  end   

%% 定义目标函数

  f=sum(sum(repmat(r_ij,1,N).*x_Iij_square))+100*sum(sum(p_Load1))+100*sum(sum(-lamda.*p_Load1));

  Constraints=[Constraints,0<=lamda<=1];

%% 有功与无功平衡

for opt_num=1:N

  Constraints=[Constraints,x_ui_square(1,opt_num)==12.66^2];

  for k=2:33

Constraints = [Constraints, -0.01.*Zij(33:37,opt_num)<= x_pij(33:37,opt_num) <= 0.01.*Zij(33:37,opt_num)];%线路有功约束

Constraints = [Constraints, -4.*Zij(1:32,opt_num) <= x_pij(1:32,opt_num) <= 4.*Zij(1:32,opt_num)];%线路有功约束

%% 支路欧姆定律

%欧姆定律约束

m = (1.05*1.05 - 0.95*0.95)*12.66^2;

M = (ones(nl,N) - Zij)*m;

%% 运行电压电流约束

  Constraints=[Constraints,x_ui_square(:,opt_num)>=(0.95*12.66)^2];

  Constraints=[Constraints,xuisquare(:,opt_num)<=(1.05*12.66)^2];

运行结果:

http://www.lryc.cn/news/190405.html

相关文章:

  • 2023C语言暑假作业day6
  • java try 自动关闭流
  • WebDAV之π-Disk派盘 + 元思笔记
  • electron自定义标题栏,并监听双击以及右键改变窗口大小。
  • Beam Focusing for Near-Field Multi-User MIMO Communications阅读笔记
  • Unity基础课程之物理引擎6-关于物理材质的使用和理解
  • 用c语言写一个剪刀石头布小游戏
  • 【MySQL入门到精通-黑马程序员】MySQL基础篇-DCL
  • SpringBoot配置文件加载顺序
  • github小记(一):清除github在add或者commit之后缓存区
  • 【Debian系统】:安装debian系统之后,很多命令找不到,需要添加sudo之后才能使用,以下解决方法
  • 深入了解归并排序:原理、性能分析与 Java 实现
  • docker stop了一个docker exec容器,要怎么再启动呢
  • 【总结】kubernates 插件工具总结
  • RK3588平台产测之ArmSoM-W3 DDR带宽监控
  • 基于SpringBoot的作业管理系统设计与实现
  • TailwindCss Functions Directives
  • MDK自动生成带校验带SVN版本号的升级文件
  • 如何打造一个网络框架模块对接服务器
  • 装饰器模式和 AOP 面向切片编程(设计模式与开发实践 P15)
  • Git迁移新仓库并保存历史提交记录
  • MySql逗号分割的字段数据分解为多行
  • 共生与共享:线程与进程的关系
  • uniapp app或微信小程序项目使用gite仓库中的图片
  • KUKA机器人如何强制输出或取消数字IO信号?
  • 利用正则表达式进行数据采集和处理
  • javaScript:拖拽效果
  • 【Unity3D编辑器开发】Unity3D中制作一个可以随时查看键盘对应KeyCode值面板,方便开发
  • VUE echarts 柱状图、折线图 双Y轴 显示
  • Django开发之基础篇