基于DistFlow潮流的配电网故障重构(输入任意线路)

简介: 基于DistFlow潮流的配电网故障重构(输入任意线路)

1 主要内容

程序采用适用于辐射状网络的DistFlow潮流模型,可输入任意故障线路编号,得到优化重构结果。这个程序是配电网故障重构可视化matlab+yalmip的升级版,原来的程序是以电压质量作为目标函数的,未采用配电网严格的辐射状和连续状约束,如果改目标为网损或者弃负荷就会出现环网或者孤岛的情形。

本升级后的程序加入了辐射状和连续状约束,保证网络连通性和辐射性,改换成任意目标都不会导致配电网或者环网,本程序以网损和弃负荷作为目标,以二阶锥、电压电流、欧姆定律、网络潮流等作为约束条件,非常有利于初学者掌握配网故障重构的精髓!

2 部分代码

%% 2.设变量
V = sdpvar(nb,T);%电压的平方
I = sdpvar(nl,T);%电流的平方
P = sdpvar(nl,T);%线路有功
Q = sdpvar(nl,T);%线路无功
Pg = sdpvar(nb,T);%发电机有功
Qg = sdpvar(nb,T);%发电机无功
lamda = sdpvar(nb,T);%弃负荷比例
Zij=binvar(nl,1);%网架结构
Z0=[ones(nl-nc,1);zeros(nc,1)];%初始拓扑
assign(Zij,Z0);
%% 3.设约束
Constraints = [];
%% 网络重构约束
Constraints = [Constraints, sum(Zij) == 32];
Constraints = [Constraints, I(AA) == 0];
Constraints = [Constraints, 0<=lamda<=1];
% P_tree = sdpvar(37,1);%虚拟有功
% Pin_tree = -upstream*P_tree + dnstream*P_tree;%虚拟节点注入有功
% Constraints = [Constraints,-Zij <= P_tree <= Zij];
% Constraints = [Constraints, Pin_tree(1:32) + 0.01==0];
%% 潮流约束
%节点功率约束
Pin = -upstream*P + upstream*(I.*(r*ones(1,T))) + dnstream*P;%节点注入有功
Qin = -upstream*Q + upstream*(I.*(x*ones(1,T))) + dnstream*Q;%节点注入无功
Constraints = [Constraints, Pin + (1-lamda).*pload - Pg==0];
Constraints = [Constraints, Qin + qload - Qg==0];
%欧姆定律约束
m = 1.06*1.06 - 0.94*0.94;
M = (ones(nl,1) - Zij)*m;
Constraints = [Constraints, V(branch(:,1),:) - V(branch(:,2),:) <= M + 2*(r).*P + 2*(x).*Q - ((r.^2 + x.^2)).*I];
Constraints = [Constraints, V(branch(:,1),:) - V(branch(:,2),:) >= -M + 2*(r).*P + 2*(x).*Q - ((r.^2 + x.^2)).*I];

3 程序结果

支路13故障

星标为故障线路,红色线路为断开支路,黑实线为常规闭合支路,黑虚线为联络闭合支路。

支路20故障

星标为故障线路,红色线路为断开支路,黑实线为常规闭合支路,黑虚线为联络闭合支路。

支路5故障

星标为故障线路,红色线路为断开支路,黑实线为常规闭合支路,黑虚线为联络闭合支路。


相关文章
|
6月前
|
弹性计算 人工智能 Cloud Native
阿里云无门槛和有门槛优惠券解析:学生券,满减券,补贴券等优惠券领取与使用介绍
为了回馈用户与助力更多用户节省上云成本,阿里云会经常推出各种优惠券相关的活动,包括无门槛优惠券和有门槛优惠券。本文将详细介绍阿里云无门槛优惠券的领取与使用方式,同时也会概述几种常见的有门槛优惠券,帮助用户更好地利用这些优惠,降低云服务的成本。
1094 133
|
8月前
|
算法 安全 新能源
基于DistFlow的含分布式电源配电网优化模型【IEEE39节点】(Python代码实现)
基于DistFlow的含分布式电源配电网优化模型【IEEE39节点】(Python代码实现)
646 0
|
10月前
|
人工智能 IDE API
还在配置规则文件和智能体?Roo Commander:预置90+领域专家,开箱即用的AI编程新体验
Roo指挥官是一款创新AI编程助手,通过智能调度90多位虚拟技术专家,实现对复杂项目的自主规划与高效执行。用户无需手动选择专家或反复调整提示,只需提交需求,系统即可自动分析、拆解任务并协调最合适的技术角色完成开发。文中以构建3D互动简历为例,展示了其从需求分析到项目落地的全流程自动化能力,显著提升开发效率,开启AI驱动的智能化编程新体验。
668 0
|
8月前
|
并行计算 算法 安全
【ADMM、碳排放】基于分布式ADMM算法的考虑碳排放交易的电力系统优化调度研究【IEEE6节点、IEEE30节点、IEEE118节点】(Matlab代码实现)
【ADMM、碳排放】基于分布式ADMM算法的考虑碳排放交易的电力系统优化调度研究【IEEE6节点、IEEE30节点、IEEE118节点】(Matlab代码实现)
412 0
|
8月前
|
机器学习/深度学习 边缘计算 算法
虚拟同步发电机(VSG)惯量阻尼自适应控制仿真模型(simulink仿真实现)
虚拟同步发电机(VSG)惯量阻尼自适应控制仿真模型(simulink仿真实现)
734 0
|
11月前
|
机器学习/深度学习 算法 PyTorch
从零开始200行python代码实现LLM
本文从零开始用Python实现了一个极简但完整的大语言模型,帮助读者理解LLM的工作原理。首先通过传统方法构建了一个诗词生成器,利用字符间的概率关系递归生成文本。接着引入PyTorch框架,逐步重构代码,实现了一个真正的Bigram模型。文中详细解释了词汇表(tokenizer)、张量(Tensor)、反向传播、梯度下降等关键概念,并展示了如何用Embedding层和线性层搭建模型。最终实现了babyGPT_v1.py,一个能生成类似诗词的简单语言模型。下一篇文章将在此基础上实现自注意力机制和完整的GPT模型。
663 14
从零开始200行python代码实现LLM
|
JSON 安全 Java
Spring Security6版本变化内容
Spring Security6版本变化内容
1222 2
|
机器学习/深度学习 TensorFlow 算法框架/工具
Anaconda配置Python新版本tensorflow库(CPU、GPU通用)的方法
Anaconda配置Python新版本tensorflow库(CPU、GPU通用)的方法
663 1
|
存储 算法 调度
Matlab+Yalmip两阶段鲁棒优化通用编程指南
主要包含8大内容: ①.拿到一个复杂的两阶段鲁棒优化问题的分析步骤和方法。 ②.采用Yalmip工具箱中的uncertain函数和鲁棒优化模块求解两阶段鲁棒优化的子问题。 ③.Yalmip工具箱中的鲁棒优化模块和常规的求解思路有什么异同。 ④.使用KKT条件求解两阶段鲁棒优化的子问题。 ⑤.使用对偶变换求解两阶段鲁棒优化的子问题。 ⑥.采用Yalmip工具箱的内置函数,将线性约束写成紧凑矩阵形式的方法。 ⑦.矩阵形式的两阶段鲁棒优化问题,如何快速写出子问题内层优化的KKT条件。 ⑧.矩阵形式的两阶段鲁棒优化问题,如何快速写出子问题内层优化的对偶问题。