基于二阶锥规划(SOCP)松弛和线性离流的配电网规划(DNP)方法示例(Matlab代码实现)

news2024/11/26 10:33:41

    目录

💥1 概述

📚2 运行结果

🎉3 参考文献

👨‍💻4 Matlab代码

💥1 概述

配电网最优潮流 Optimal Power Flow, OPF) 问题是指在满足一定约束条件的情况下,通过控制配电网中的可控变量,使配电网达到优化运行的目的。由于OPF问题约束条件的特点,导致其为难以求解的非凸规划问题。目前OPF求解方法主要分为经典数学规划算法和智能优化算法两种。

近年来,很多学者不断探索高效求解OPF 问题的方法,随着研究的不断深入,二阶锥松弛(Second Order Cone Relaxation, SOCR)技术被逐步运用于求解OPF问题。有学者建立了以支路潮流计算为基础的OPF模型,针对OPF中的非凸性约束,采用SOCR技术将其松弛为二阶锥约束,整个 OPF模型则被转化为二阶锥规划(Second Order Cone Programming,SOCP)问题,对其求解可以得到全局最优解。还有学者在主动配电网最优潮流计算中采取SOCR技术处理非凸性约束,将优化模型转化为SOCP问题,得到了很好的求解效果,并对产生的松弛间误差进行分析,结果表明松弛误差满足计算准确度。

​本文包括两个基于二阶锥规划(SOCP)松弛和线性离流的配电网规划(DNP)方法示例。目标是最大限度地降低配电线路的投资成本和唯一的运营成本,即负载损失值(VOLL)。

建模由YALMIP完成,YALMIP是MATLAB中用于进行优化建模的工具箱,并由GUROBI解决。因此,您应该在PC中安装MATLAB,YALMIP和GUROBI,以使代码正常工作。

📚2 运行结果

主函数部分代码:

%% With/without s \in S_volt
WithSvolt=0; % 1 / 0 means with / without s\in S_volt
%% System Parameters
Ubase=12.35e3; % unit:V
Sbase=1e7;   % unit:VA
Ibase=Sbase/sqrt(3)/Ubase; % unit:A
Zbase=Ubase/Ibase/sqrt(3);  % unit: 
netpara=xlsread('SCE47','网络参数');
loadpoint=xlsread('SCE47','节点负荷');
L=size(netpara,1); % number of lines
r=netpara(:,4)/Zbase;% resistance, unit: p.u.
x=netpara(:,5)/Zbase;% reactance, unit: p.u.
So=loadpoint(:,3)*1e6/Sbase;% node power unit: MVA
judge=loadpoint(:,4); % node type
I_max=560.98/Ibase; % Ubase=12.35e3, assuming P_max is 12MW for each line, then I_max=12e6/Ubase/sqrt(3)= 560.98 A,
v_max=1.1^2;
v_min=0.9^2;
​
%% Plot the distribution network
I=netpara(:,2);
J=netpara(:,3);
G=graph(I,J);
h1=figure;
p=plot(G);
highlight(p,find(judge==1),'Marker','s','NodeColor','c','Markersize',10);  % Capacitator
highlight(p,find(judge==0),'Marker','v','NodeColor','y','Markersize',10);  % PV panels
In=myincidence(I,J); % node-branch incidence matrix
Inn=In;
Inn(Inn>0)=0;    % Inn is the negative part of I, showing the lines starting from nodes
%% Number of nodes
N=47;
%m=4;
%% Decision variables
P_ij=sdpvar(L,1); % Pij=sdpvar(numnodes,numnodes,'full');% Active power from node i to node j
Q_ij=sdpvar(L,1); % Qij=sdpvar(numnodes,numnodes,'full');% Reactive power from node i to node j
u=sdpvar(N,1); % Voltage
v=sdpvar(N,1); % u^2
l_ij=sdpvar(L,1) ;% Currents' magnitudes' square, I^2
Pi=sdpvar(N,1); % Active power injection of nodes
Qi=sdpvar(N,1); % Reactive power injection of nodes
​
%% Resistantce vector
w=sqrt(-1);
z=r+x*w;
z_c=conj(z); %conjugate of resistance
​
Cons=[];
​
%% Node types are different
Cons_Load=[];
Eta=2;  % Scale up the PV penetration rate, 5 means 5 times than Table I in [1]
Pi_max=zeros(N,1);
Qi_max=zeros(N,1);
for i=1:N
    if judge(i)==1     % Capacitator
        Cons_Load=[Cons_Load,Pi(i)==0];
        Qi_max(i)=So(i)*Eta;
        Cons_Load=[Cons_Load,0<=Qi(i)<=Qi_max(i)];   %st=[pl(i)==0,0<=ql(i)<=So(i)];
    elseif judge(i)==2  % Load node
        Pi_max(i)=-So(i)*0.9;
        Qi_max(i)=-So(i)*sqrt(1-0.9^2);
        Cons_Load=[Cons_Load,Pi(i)==Pi_max(i)];  % cos(0.9)???
        Cons_Load=[Cons_Load,Qi(i)==Qi_max(i)];  % st=[pl(i)==-So(i)*cos(0.9);ql(i)==-So(i)*sin(0.9)];
    elseif judge(i)==0  %PV panel
        Pi_max(i)=So(i)*Eta;
        Cons_Load=[Cons_Load,0<=Pi(i)<=Pi_max(i)];
        Cons_Load=[Cons_Load,0==Qi(i)];
    elseif judge(i)==3  %slack node (substation node)
        Cons_Load=[Cons_Load,-So(i)<=Pi(i)<=So(i)];
        Cons_Load=[Cons_Load,-So(i)*0.5<=Qi(i)<=So(i)*0.5];
    end
end
Cons=[Cons,Cons_Load];
display('Constraints on load type of nodes completed!')
% Cons_Load
​
%% Check whether C1 holds for the network
De = degree(G); % degree of each node
LeafNodes=find(De==1);
LeafNodes=LeafNodes(2:end); % delete node 1
Pij_hat=abs(inv(In(2:end,:))*Pi_max(2:end));
Qij_hat=abs(inv(In(2:end,:))*Qi_max(2:end));
IJ=[I J];
A_l=cell(length(LeafNodes),1);
Path_L=cell(length(LeafNodes),1);
Al_uij=zeros(length(LeafNodes),2);
for i=1:length(LeafNodes)
    lt=LeafNodes(i);
    Path = shortestpath(G,lt,1);
    A_l{i}=zeros(2,2,length(Path)-1);
    for j=1:length(Path)-1 % for all node in Path from lt1, calculate A_l
%         nl=[]; % the set of 1,2,...,nl in C1
        for k=1:L
            if (IJ(k,1)==Path(j) && IJ(k,2)==Path(j+1))||(IJ(k,2)==Path(j) && IJ(k,1)==Path(j+1))
                Path_L{i}=[Path_L{i},Path(j+1)];
                A_l{i}(:,:,j)=diag([1 1])-2/v_min*mtimes([r(k);x(k)],[Pij_hat(k),Qij_hat(k)]);
            end
        end
    end
​

🎉3 参考文献

[1]范金月, 白晓清. 基于扩展二次锥规划的最优潮流模型研究[J]. 电网与清洁能源, 2014(3):7.​

部分理论引用网络文献,若有侵权联系博主删除。

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

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

相关文章

内网Nexus代理docker-ce(yum) 源私有仓库 + 内网设备配置(centos)

配置docker-ce源 这里也是以阿里云的docker-ce源为例。 源地址为&#xff1a;https://mirrors.aliyun.com/docker-ce/linux/centos 1、在nexus上配置代理 Nexus上创建Blob Stores 创建Repositories 点击设置 - -> Repositories -- > Create repository --> yum(p…

分布式消息队列Kafka(二)- 生产者

1.生产者消息发送流程 &#xff08;1&#xff09;消息发送原理 ​ 在消息发送的过程中&#xff0c;涉及到了两个线程——main线程和 Sender 线程。在 main 线程中创建了一个双端队列 RecordAccumulator。main 线程将消息发送给 RecordAccumulator&#xff0c;Sender 线程不断…

刘浩:当谈到RTO < 8s时,OceanBase究竟在说什么?

本文为 OceanBase 高级技术专家刘浩在第一届 OceanBase 开发者大会带来的分享。欢迎访问 OceanBase 官网获取更多信息&#xff1a;https://www.oceanbase.com/ 3 月 25 日&#xff0c;第一届 OceanBase 开发者大会在北京举行&#xff0c;OceanBase 高级技术专家刘浩为大家带来了…

VuePress打包后没有样式或者没有图片或者js加载失败

原因是没有部署到服务器上&#xff01;&#xff01;&#xff01; 这可能是我们打包后的东西 直接点击index.html 变成这样了&#xff01;&#xff01;什么样式都没有了&#xff0c;怎么办那&#xff1f; 很简单&#xff0c;找个服务器部署以下就什么都有了&#xff01;&…

NC 打开系统提示“安全日志数据源异常,请联系环境管理员处理”

问题&#xff1a;NC 用的是sql sever数据库&#xff0c;在sysConfig中正常配置好数据源后&#xff0c;点击测试&#xff0c;测试通过&#xff0c;但是打开系统后还提示“安全日志数据源异常&#xff0c;请联系环境管理员处理”&#xff0c;如下图&#xff1a; 原因&#xff1a;…

echarts 画中国地图

数据可视化平台&#xff0c;中国各省数据和坐标 阿里云可视化 效果 使用echart画中国地图&#xff0c;步骤如下 1.安装依赖 npm i echarts4 创建一个js文件 当你可以访问https请求的时候则使用&#xff0c;如下代码 import axios from "axios"; export default a…

网络安全SSRF漏洞 检测

SSRF 检测的一些思考 DNS 平台没有立刻收到请求&#xff0c;是在之后的某个时间段收到了不同的请求信息&#xff0c;这至少表明了一点&#xff0c;此处存在有无回显的 SSRF&#xff0c;虽然想要证明有更大的危害比较困难&#xff0c;但是至少说明了存在有 SSRF 的风险&#xf…

AI机器人ChatGPT使用体验(注册,使用,简易方式)

最近ChatGPT很火 号称下一代搜索引擎 吊打谷歌百度 它可以做到代替很多职业 究竟有多厉害呢&#xff1f; 看看这个例子&#xff1a; 你问他答&#xff0c;是不是感觉啥都知道&#xff1f; 文员、程序员全被打败 这个究竟怎么用呢&#xff1f; 注册 国内99%的人都卡在了…

超详细Docker的安装以及Docker部署C++

系列文章目录 这学期&#xff0c;学校开了一门云计算大数据课程&#xff0c;老师要求从OpenStack、Hadoop、Docker等软件进行部署一个框架。 我去从中选择了一个Docker&#xff0c;来对这个作业进行实现。以下就是我对这次作业的实现过程以及注意事项&#xff0c;还有犯的错误总…

牛客网Verilog刷题——VL27

牛客网Verilog刷题——VL27 题目答案 题目 请编写一个序列检测模块&#xff0c;检测输入信号&#xff08;a&#xff09;是否满足011100序列&#xff0c; 要求以每六个输入为一组&#xff0c;不检测重复序列&#xff0c;例如第一位数据不符合&#xff0c;则不考虑后五位。一直到…

【C++】反向迭代器的设计

前言 STL中不少的容器需要有迭代器这样的设计&#xff0c;特别是正向迭代器&#xff0c;几乎每个容器都有自己的特定实现方式&#xff0c;有了正向迭代器之后&#xff0c;我们还要提供反向迭代器以供一些特殊的需求&#xff0c;但是许多容器的正向迭代器实现的方式不一样&#…

华东师范大学副校长周傲英:未来,中国需要什么样的数据库?

本文为华东师范大学副校长&#xff0c;CCF 会士周傲英教授在第一届 OceanBase 开发者大会带来的分享。欢迎访问 OceanBase 官网获取更多信息&#xff1a;https://www.oceanbase.com/ 3 月 25 日&#xff0c;第一届 OceanBase 开发者大会在北京举行&#xff0c;华东师范大学副校…

AI智能智能课程第四讲 -数据库领域专家

使用chatGPT让你成为数据库领域专家 作业 现在要测试电商的下单功能&#xff1a;测试员张三在公司的电商平台上下了几个单&#xff0c;现在需要验证&#xff1a;张三这个客户下单的所有订单信息&#xff0c;包含订单编号&#xff0c;商品名称&#xff0c;商品价格&#xff0c;…

什么是gpt4-如何用上gpt-4

gpt4主要强化了哪些功能 OpenAI尚未公布GPT-4的详细信息&#xff0c;不过可以根据OpenAI前CEO Sam Altman在2020年所发表的一篇博客中提到的&#xff0c;GPT-4可能会具有更强大和智能的能力&#xff0c;包括更准确的理解和表达自然语言、更高效的记忆和推理、更全面的知识和视…

thinkphp:数值(保留小数点后N位,四舍五入,左侧补零,格式化货币,取整,生成随机数,数字与字母进行转换)

一、保留小数点后N位/类似四舍五入&#xff08;以保留小数点后三位为准&#xff09; number_format()函数&#xff1a;第一个参数为要格式化的数字&#xff0c;第二个参数为保留的小数位数 方法一&#xff1a; public function test() {$num 12.56789; // 待格式化的数字$r…

Maven配置阿里云仓库

Maven简介&#xff1a; Maven项目对象模型(POM)&#xff0c;可以通过一小段描述信息来管理项目的构建&#xff0c;报告和文档的项目管理工具软件。 Maven 除了以程序构建能力为特色之外&#xff0c;还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性&#x…

QMS-云质说质量 - 11 我和我的客户投诉(3) - 明枪易躲 暗箭难防

云质QMS原创 转载请注明来源 作者&#xff1a;王洪石 君子思义 小人贪利 金庸老先生在《笑傲江湖》中写道&#xff0c;“只要有人的地方就有恩怨&#xff0c;有恩怨就会有江湖&#xff0c;人就是江湖。”这句话映射到现实社会中&#xff0c;就是“社会险恶&#xff0c;人心叵测…

链表(JS实现、LeetCode例题)

&#x1f4dd;个人主页&#xff1a;爱吃炫迈 &#x1f48c;系列专栏&#xff1a;数据结构与算法 &#x1f9d1;‍&#x1f4bb;座右铭&#xff1a;道阻且长&#xff0c;行则将至&#x1f497; 文章目录 链表链表的分类创建链表LinkedList类的骨架 实现链表的方法push尾部添加元…

『网络基础 一 』

目录 网络发展 认识 “协议” 网络协议初始 协议分层 OSI七层模型 TCP/IP五层&#xff08;或四层&#xff09;模型 网络传输基本流程 ​编辑 协议报头 数据包封装和分用 网络中的地址管理 认识IP地址 认识MAC地址 网络发展 独立设计&#xff1a;计算机之间的相互独立…

Flink系列-10、Flink DataStream的Transformation

版权声明&#xff1a;本文为博主原创文章&#xff0c;遵循 CC 4.0 BY-SA 版权协议&#xff0c;转载请附上原文出处链接和本声明。 大数据系列文章目录 官方网址&#xff1a;https://flink.apache.org/ 学习资料&#xff1a;https://flink-learning.org.cn/ 目录 官网所有的…