21基于二阶锥规划的主动配电网最优潮流求解

news2024/9/25 7:25:24

参考文献:

主动配电网多源协同运行优化研究-乔珊

主动配电网最优潮流研究及其应用实例-高红均

主要内容:

CPLEX二阶锥规划考虑Wind+CB+SVG+OLTC+ESS多时段24h,骨灰级注释,一看就懂!!!

部分程序:

%% 1.设参

mpc = IEEE33BW;

wind = mpc.wind;

pload = mpc.pload;

pload_prim = mpc.pload_prim/1000; %化为标幺值

qload_prim = mpc.qload_prim/1000;

a = 3.715; %单时段所有节点有功容量,MW

b = 2.3; %单时段所有节点无功容量,MW

pload = pload/a;%得到各个时段与单时段容量的比例系数

qload = pload/b;%假设有功负荷曲线与无功负荷变化曲线相同

pload = pload_prim*pload; %得到33*24的负荷值,每一个时间段每个节点的负荷

qload = qload_prim*qload;

branch = mpc.branch;

branch(:,3) = branch(:,3)*1/(12.66^2);%求阻抗标幺值

R = real(branch(:,3));

X = imag(branch(:,3));

T = 24;%时段数为24小时

nb = 33;%节点数

nl = 32;%支路数

nsvc = 3;%SVC数 静止无功补偿器 Static Var compensator

ncb = 2;%CB数 分组投切电容器组 (capacitorbanks,CB)

noltc = 1;%OLTC数 有载调压变压器 ( on—load tap changer,OLTC ) transformer

nwt = 2;%2个风机

ness = 2;%ESS数

upstream = zeros(nb,nl);

dnstream = zeros(nb,nl);

for i = 1:nl

upstream(i,i)=1;

end

for i = [1:16,18:20,22:23,25:31]

dnstream(i,i+1)=1;

end

dnstream(1,18) = 1;

dnstream(2,22) = 1;

dnstream(5,25) = 1;

dnstream(33,1) = 1;

Vmax = [1.06*1.06*ones(nb-1,T)

1.06*1.06*ones(1,T)];

Vmin = [0.94*0.94*ones(nb-1,T)

0.94*0.94*ones(1,T)];%加入变压器后,根节点前移,因此不是恒定值1.06

Pgmax = [zeros(nb-1,T)

5*ones(1,T)];

Pgmin = [zeros(nb-1,T)

0*ones(1,T)];

Qgmax = [zeros(nb-1,T)

3*ones(1,T)];

Qgmin = [zeros(nb-1,T)

-1*ones(1,T)];

QCB_step = 100/1000; %单组CB无功,100Kvar 转标幺值

%% 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);%发电机无功

theta_CB = binvar(ncb,T,5); %CB档位选择,最大档为5

theta_IN = binvar(ncb,T);%CB档位增大标识位

theta_DE = binvar(ncb,T);%CB档位减小标识位

q_SVC = sdpvar(nsvc,T);%SVC无功

p_wt = sdpvar(nwt,T);%风机有功

p_dch = sdpvar(ness,T); %ESS放电功率

p_ch = sdpvar(ness,T); %ESS充电功率

u_dch = binvar(ness,T);%ESS放电状态

u_ch = binvar(ness,T);%ESS充电状态

E_ess = sdpvar(ness,25);%ESS的电量,这个25的原因要搞懂才能理解储能一天开始结束时刻(首末)功率相等的意思

r1 = sdpvar(noltc,T);

theta_OLTC = binvar(noltc,T,12);%OLTC档位选择,最大档为12

theta1_IN = binvar(noltc,T);%OLTC档位增大标识位

theta1_DE = binvar(noltc,T);%OLTC档位减小标识位

%% 3.设约束

C = [];

%% 储能装置(ESS)约束

%充放电状态约束

C = [C, u_dch + u_ch <= 1];%表示充电,放电,不充不放三种状态

%功率约束

C = [C, 0 <= p_dch(1,:) <= u_dch(1,:)*0.3];

C = [C, 0 <= p_dch(2,:) <= u_dch(2,:)*0.2];

C = [C, 0 <= p_ch(1,:) <= u_ch(1,:)*0.3];

C = [C, 0 <= p_ch(2,:) <= u_ch(2,:)*0.2];

%容量约束

for t = 1:24

C = [C, E_ess(:,t+1) == E_ess(:,t) + 0.9*p_ch(:,t) - 1.11*p_dch(:,t)]; %效率

end

C = [C, E_ess(:,1) == E_ess(:,25)];

C = [C, 0.18 <= E_ess(1,:) <= 1.8];

C = [C, 0.10 <= E_ess(2,:) <= 1.0];

%投入节点选择(两电池充放电状态)

P_dch = [zeros(14,T);p_dch(1,:);zeros(16,T);p_dch(2,:);zeros(1,T)]; %电池放在第15节点和第32节点

P_ch = [zeros(14,T);p_ch(1,:);zeros(16,T);p_ch(2,:);zeros(1,T)];

%% 风机(光伏)约束

C = [C, 0 <= p_wt, p_wt <= ones(2,1)*wind];

P_wt = [zeros(16,24);p_wt(1,:);zeros(14,24);p_wt(2,:);zeros(1,24)]; %风机放在17和32节点

%% 有载调压变压器(OLTC)约束

rjs = zeros(1,12);%相邻2个抽头的变比 平方之差

for i = 1:12

rjs(1,i) = (0.93+(i+1)*0.01)^2 -(i*0.01+0.93)^2;

end

for t = 1:24

C = [C, r1(1,t) == 0.94^2+ sum(rjs.*theta_OLTC(1,t,:))]; %%各个档位变比dita^2 * 开关档位状态

end

for i = 1:11

C = [C, theta_OLTC(:,:,i) >= theta_OLTC(:,:,i+1)]; %0下面不能有1

end

% theta_OLTC = value(theta_OLTC);

C = [C, V(33,:) == r1]; %%最大值是1.06^2,放在 主网到33节点

C = [C, theta1_IN + theta1_DE <= 1];

k = sum(theta_OLTC,3); %有载调压变压器投切状态个数求和 (1*24)

for t = 1:T-1

C = [C, k(:,t+1) - k(:,t) <= theta1_IN(:,t)*12 - theta1_DE(:,t) ]; %升压不能超过12档,减压不能小于1档

C = [C, k(:,t+1) - k(:,t) >= theta1_IN(:,t) - theta1_DE(:,t)*12 ];

end

C = [C, sum(theta1_IN + theta1_DE,2) <= 5 ]; %限制有载调压变压器日调节次数为5次

%% 连续无功补偿装置(SVC)约束

C = [C, -0.1 <= q_SVC <= 0.3];

Q_SVC = [zeros(4,T);q_SVC(1,:);zeros(9,T);q_SVC(2,:);zeros(15,T);q_SVC(3,:);zeros(2,T)];%SVC投入节点选择5、15、31

%% 离散无功补偿装置(CB)约束

Q_cb = sum(theta_CB,3).*QCB_step;

Q_CB = [zeros(4,T);Q_cb(1,:);zeros(9,T);Q_cb(2,:);zeros(18,T)];%投入节点选择5、15

输出结果:

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

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

相关文章

基于注意力的知识蒸馏Attention Transfer原理与代码解析

paper&#xff1a;Paying More Attention to Attention: Improving the Performance of Convolutional Neural Networks via Attention Transfercode&#xff1a;https://github.com/megvii-research/mdistiller/blob/master/mdistiller/distillers/AT.py背景一个流行的假设是存…

SpringCloudAlibaba-Sentinel

一、介绍官网&#xff1a;https://github.com/alibaba/Sentinel/下载jar包,启动,访问http://localhost:8080/创建module添加如下依赖<!--SpringCloud ailibaba sentinel --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring…

内网渗透(四十)之横向移动篇-ms14-068传递获取域管横向移动

系列文章第一章节之基础知识篇 内网渗透(一)之基础知识-内网渗透介绍和概述 内网渗透(二)之基础知识-工作组介绍 内网渗透(三)之基础知识-域环境的介绍和优点 内网渗透(四)之基础知识-搭建域环境 内网渗透(五)之基础知识-Active Directory活动目录介绍和使用 内网渗透(六)之基…

[软件工程导论(第六版)]第2章 可行性研究(复习笔记)

文章目录2.1 可行性研究的任务2.2 可行性研究过程2.3 系统流程图2.4 数据流图概念2.5 数据字典2.6 成本/效益分析2.1 可行性研究的任务 可行性研究的目的 用最小的代价在尽可能短的时间内确定问题是否能够解决。 可行性研究的3个方面 &#xff08;1&#xff09;技术可行性&…

宝塔搭建实战人才求职管理系统adminm前端vue源码(三)

大家好啊&#xff0c;我是测评君&#xff0c;欢迎来到web测评。 上一期给大家分享骑士cms后台admin前端vue在本地运行打包、宝塔发布部署的方式&#xff0c;本期给大家分享&#xff0c;后台adminm移动端后台vue前端怎么在本地运行&#xff0c;打包&#xff0c;实现线上功能更新…

Ubuntu下使用Wine运行HBuilderX

安装完wine后&#xff0c;在HbuilderX的目录中打开终端&#xff0c;直接输入wine HBuilderX.exe命令&#xff0c;启动过程中会提示安装wine-mono组件&#xff0c;点击安装按钮下载安装该组件&#xff0c;该组件下载速度慢&#xff0c;需要等待特别长时间。   安装完毕后&…

金三银四软件测试工程师面试题(含答案)

前言&#xff1a;此文专门记载本人平时面试以及收藏的面试题目&#xff0c;如果有错误之处请及时指正&#xff0c;谢谢&#xff01; 1、python的数据类型有哪些 答&#xff1a;Python基本数据类型一般分为&#xff1a;数字、字符串、列表、元组、字典、集合这六种基本数据类…

pytorch配置—什么是CUDA,什么是CUDNN、在配置pytorch虚拟环境中遇到的问题、在安装gpu—pytorch中遇到的问题

1.什么是CUDA&#xff0c;什么是CUDNN &#xff08;1&#xff09;什么是CUDA CUDA(ComputeUnified Device Architecture)&#xff0c;是显卡厂商NVIDIA推出的运算平台。 CUDA是一种由NVIDIA推出的通用并行计算架构&#xff0c;该架构使GPU能够解决复杂的计算问题。 &#xff0…

RuoYi-Vue-Plus搭建(若依)

项目简介 1.RuoYi-Vue-Plus 是重写 RuoYi-Vue 针对 分布式集群 场景全方位升级(不兼容原框架)2.环境安装参考&#xff1a;https://blog.csdn.net/tongxin_tongmeng/article/details/128167926 JDK 11、MySQL 8、Redis 6.X、Maven 3.8.X、Nodejs > 12、Npm 8.X3.IDEA环境配置…

建造《流浪地球2》中要毁灭人类的超级量子计算机MOSS的核心量子技术是什么?

1.《流浪地球2》中的量子计算机 2023年中国最火的电影非《流浪地球2》莫属&#xff0c;在《流浪地球2》中有一个人工智能机器人MOSS &#xff0c;它的前身是“550W”超级量子计算机&#xff0c;“MOSS”是它给自己起的名字&#xff08;“550W”倒转180度就是“MOSS”&#xff…

力扣38.外观数列

文章目录力扣38.外观数列题目描述方法1&#xff1a;按规则生成&#xff08;顺序暴力法&#xff09;力扣38.外观数列 题目描述 给定一个正整数 n &#xff0c;输出外观数列的第 n 项。 「外观数列」是一个整数序列&#xff0c;从数字 1 开始&#xff0c;序列中的每一项都是对…

这才是计算机科学_人工智能

人工智能一、前言二、ML2.1 分类2.1.1 决策树2.2.2 支持向量机2.2.3 人工神经网络三、计算机视觉3.1 Prewitt算子3.2 Viola-Jones 人脸检测算法3.3 卷积神经网络四、自然语言处理4.1 知识图谱4.2 语音识别一、前言 之前讲了计算机从发展到现在的过程&#xff0c;计算机很适合做…

[软件工程导论(第六版)]第2章 可行性研究(课后习题详解)

文章目录1. 在软件开发的早期阶段为什么要进行可行性研究&#xff1f;应该从哪些方面研究目标系统的可行性&#xff1f;2. 为方便储户&#xff0c;某银行拟开发计算机储蓄系统。储户填写的存款单或取款单由业务员输入系统&#xff0c;如果是存款&#xff0c;系统记录存款人姓名…

ThreadLocal 内存泄漏问题

1. 认识ThreadLocal java中提高了threadlocal&#xff0c;为每个线程保存其独有的变量&#xff0c;threadlocal使用的一个小例子是&#xff1a; public class ThreadLocalTest {public static void main(String[] args) {ThreadLocal<String> threadIds new ThreadLoc…

FreeRTOS系统延时函数分析

FreeRTOS提供了两个系统延时函数&#xff0c;相对延时函数vTaskDelay()和绝对延时函数vTaskDelayUntil()。相对延时是指每次延时都是从任务执行函数vTaskDelay()开始&#xff0c;延时指定的时间结束&#xff0c;绝对延时是指每隔指定的时间&#xff0c;执行一次调用vTaskDealyU…

操作系统闲谈07——系统启动

操作系统闲谈07——系统启动 一、BIOS启动 BIOS程序不需要由谁加载&#xff0c;本身便固化在ROM只读存储器中。 开机的一瞬间 cs:ip 便被初始化为0xf000 : 0xfff0。开机的时候处于实模式&#xff0c;其等效地址为0xffff0&#xff0c;如上图所示此地址为BIOS的入口地址。 建立…

C/C++每日一练(20230218)

目录 1. 整数转罗马数字 2. 跳跃游戏 II 3. 买卖股票的最佳时机 IV 1. 整数转罗马数字 罗马数字包含以下七种字符&#xff1a; I&#xff0c; V&#xff0c; X&#xff0c; L&#xff0c;C&#xff0c;D 和 M。 字符 数值 I 1 V 5 X …

物联网中RocketMQ的使用

物联网中RocketMQ的使用 1. 背景 随着物联网行业的发展、智能设备数量越来越多&#xff0c;很多常见的智能设备都进入了千家万户&#xff1b;随着设备数量的增加&#xff0c;也对后台系统的性能提出新的挑战。 在日常中&#xff0c;存在一些特定的场景&#xff0c;属于高并发请…

Java数据类型、基本与引用数据类型区别、装箱与拆箱、a=a+b与a+=b区别

文章目录1.Java有哪些数据类型2.Java中引用数据类型有哪些&#xff0c;它们与基本数据类型有什么区别&#xff1f;3.Java中的自动装箱与拆箱4.为什么要有包装类型&#xff1f;5.aab与ab有什么区别吗?1.Java有哪些数据类型 8种基本数据类型&#xff1a; 6种数字类型(4个整数型…

java ssm志愿者信息服务平台springmvc

志愿者服务平台&#xff0c;采用ssm框架技术&#xff0c;java语言&#xff0c;jsp前端页面以及js&#xff0c;DIVCSS&#xff0c;html5等技术综合应用开发实现。志愿者服务平台&#xff0c;采用了前台后台的模式开发&#xff0c;前台用于志愿者在线项目培训&#xff0c;视频学习…