Matlab|计及需求侧响应日前—日内两阶段鲁棒备用优化

目录

1 主要内容

日前计划模型

日内调整模型

不确定集建模

2 部分代码

3 程序结果

4 下载链接


主要内容

该程序复现文章《计及需求侧响应日前—日内两阶段鲁棒备用优化》,以6节点系统为例,综合考虑风电出力不确定性与电力设备 N-k强迫停运,增强电力系统应对不确定性因素的鲁棒性。基于鲁棒模型对系统运行备用进行优化,最小化电网在最恶劣运行场景下的调整成本,保证电网的安全可靠运行,并采用列和约束生成算法对两阶段三层优化问题进行求解。这个程序算是个超级丐版,注释较少,运行结果也少,如果预算充足可以参考一文说清楚6节点电网两阶段鲁棒优化调度如何编程,同时附赠【KKTCCG】IEEE6节点系统两阶段鲁棒优化调度matlab,学起来更加便捷轻松!

  • 日前计划模型

  • 日内调整模型

  • 不确定集建模

部分代码

%风电场接在母线5上,在风电场端口集成储能系统
%118系统风电场接在母线19、25、40、62
​
%% 数据及常数矩阵
mpc=loadcase('case6ww');
bus=mpc.bus;
branch=mpc.branch;
gen=mpc.gen;
gencost=mpc.gencost;
baseMVA=mpc.baseMVA;
​
load('data.mat');
CPw=Cw(:,1:24,3)*300;%修改风电场场景、时间间隔、数目与容量
CPw=permute(CPw,[3,2,1]);
LD=1.8*bus(:,3)*Load(:,1:24);%修改Load,以改变考虑的时间间隔
​
NB=size(bus,1);
NG=size(gen,1);
NL=size(branch,1);
NW=size(CPw,1);
NT=size(CPw,2);
NS=size(CPw,3);
​
dW=zeros(NW,NT,NS);
maxdW=zeros(NW,NT);
mindW=zeros(NW,NT);
for i=1:NSdW(:,:,i)=CPw(:,:,i)-CPw(:,:,1);
end
for i=1:NWfor j=1:NTmaxdW(i,j)=1.2*max(dW(i,j,:));mindW(i,j)=1.2*min(dW(i,j,:));end
end
​
X=repmat(branch(:,4),1,NT);
Fmax=repmat(branch(:,6),1,NT);
PGmax=repmat(gen(:,9),1,NT);
PGmin=0.85*repmat(gen(:,10),1,NT);
LIDRmax=0.4;
% LIDRmax=0.1;
Pt=gen(:,10);%修改爬坡约束
​
ref=find(bus(:,2)==3);
G2B=zeros(NB,NG);
for i=1:NGG2B(gen(i,1),i)=1;
end
W2B=zeros(NB,NW);
W2B(5,1)=1;
B2B=zeros(NB,NL);
for i=1:NLB2B(branch(i,1),i)=1;B2B(branch(i,2),i)=-1;
end
​
costa=gencost(:,5);
costb=gencost(:,6);
costc=gencost(:,7);  
StartCost=gencost(:,2);
ShutCost=gencost(:,3);
% PG0=gen(:,2);
% IS0=ones(NG,1);
% for i=1:NG
%     if PG0(i)==0
%         IS0(i)=0;
%     end
% end
PG0=zeros(NG,1);
IS0=zeros(NG,1);
Ton=3;%开关机时间可修改
Toff=2;
​
pela=zeros(NT,NT);
em=0.4;
et=2;
for i=1:NTpela(i,i)=-em;num_period=0;for j=i-et:i+etif j>0 && j<=NT && j~=inum_period=num_period+1;endendfor j=i-et:i-1if j>0pela(j,i)=em/num_period;endendfor j=i+1:i+etif j<=NTpela(j,i)=em/num_period;endend
end
price0=[18 18 18 18 18 18 21 21 23 23 23 23 23 23 23 23 21 21 21 21 21 21 18 18]';
price0=price0(1:NT);
LPDRmax=0.2;
% LPDRmax=0;
​
CRGu=15;
CRGd=8;
CRL=30;
CWc=10;
CLs=1000;
​
M_l=Fmax(:,1)+2*pi./X(:,1);
M_rho=10000;
M=10000;
​
itermax=99;
e=0.001;
UB=zeros(1,itermax);
UB(1)=999999999;
LB=zeros(1,itermax);
LB(1)=-999999999;
gap_cal=zeros(1,itermax);
PWu_return=zeros(NW,NT,itermax);
zl_return=zeros(NL,1,itermax);
​
%% 子问题对偶问题左端系数矩阵
lambda_PG=zeros(NB*NT,NG*NT);
for i=1:NTlambda_PG((i-1)*NB+1:i*NB,i*NG-NG+1:i*NG)=G2B;
end
lambda_PG=lambda_PG';
lambda_PW=zeros(NB*NT,NW*NT);
for i=1:NTlambda_PW((i-1)*NB+1:i*NB,i*NW-NW+1:i*NW)=W2B;
end
lambda_PW=lambda_PW';
lambda_Flow=zeros(NB*NT,NL*NT);
for i=1:NTlambda_Flow((i-1)*NB+1:i*NB,i*NL-NL+1:i*NL)=-B2B;
end
lambda_Flow=lambda_Flow';
lambda_LIDR=eye(NB*NT);
lambda_LS=eye(NB*NT);
​
mu_Flow=eye(NL*NT);
mu_Theta=zeros(NL*NT,NB*NT);
for i=1:NTmu_Theta((i-1)*NL+1:i*NL,(i-1)*NB+1:i*NB)=-baseMVA*B2B';for j=1:NLmu_Theta((i-1)*NL+j,(i-1)*NB+1:i*NB)=mu_Theta((i-1)*NL+j,(i-1)*NB+1:i*NB)/X(j,1);end
end
mu_Theta=mu_Theta';
​
nu_Flow=eye(NL*NT,NL*NT);
​
kappa_Theta=eye(NB*NT,NB*NT);
​
beta_PG=eye(NG*NT);
beta_dPu=-eye(NG*NT);
beta_dPd=eye(NG*NT);
​
delta_dPu=eye(NG*NT);
​
gamma_dPd=eye(NG*NT);
​
rho_PW=eye(NW*NT);

程序结果

4 下载链接

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

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

相关文章

NASA数据集——包括阿拉斯加的 39 个站点和加拿大西北部的 12 个站点)的季节性沉降、活动层厚度 (ALT)、垂直土壤水分剖面数据

ABoVE: Active Layer Thickness from Airborne L- and P- band SAR, Alaska, 2017, Ver. 3 简介 文件修订日期&#xff1a;2022-09-15 数据集版本: 3 摘要 本数据集以 30 米的分辨率提供了整个 ABoVE 域 51 个站点&#xff08;包括阿拉斯加的 39 个站点和加拿大西北部的 1…

救砖刷机------MTK芯片类线刷 救砖 常规线刷不开机 MTK分区表修复【二】

救砖刷机------MTK芯片类线刷 救砖 免授权的一些操作步骤与工具解析【一】 在上期的博文中解析了mtk刷机平台的一些基本选项说明和授权刷写的一些常识。这期将着重说明下mtk机型分区表损坏如何解决。 众所周知。高通分区表在高通线刷包中显而易见,在常规9008刷写中你会正常刷…

什么是Redis共享Session?

如图所示&#xff0c;一个分布式部署的Web服务器将用户的Session信息&#xff08;例如用户登录信息&#xff09;&#xff0c;保存在各自服务器内部。这样会造成一个问题&#xff0c;在分布式部署多个Web服务器时&#xff0c;我们通常会采用负载均衡算法&#xff0c;将多个用户的…

概率论基础——拉格朗日乘数法

概率论基础——拉格朗日乘数法 概率论是机器学习和优化领域的重要基础之一&#xff0c;而拉格朗日乘数法与KKT条件是解决优化问题中约束条件的重要工具。本文将简单介绍拉格朗日乘数法的基本概念、应用以及如何用Python实现算法。 1. 基本概念 拉格朗日乘数法是一种用来求解…

从数据孤岛到信息共享,应用集成网关打造业务新生态

想象一下&#xff0c;你坐在剧院里&#xff0c;期待着享受一场精彩的音乐剧表演。但当灯光渐暗&#xff0c;音乐开始奏响时&#xff0c;你却发现演出陷入了混乱之中&#xff1a;没有人站在正确的位置&#xff0c;每个人都在互相交谈或保持沉默&#xff0c;管弦乐队的演奏时机也…

绿色wordpress外贸建站模板

绿色wordpress外贸建站模板 https://www.mymoban.com/wordpress/6.html

Android 窗口那些事儿

目录 1. &#x1f4c2; 前言 你&#xff0c;是否有过这些疑问&#xff1f; 2. &#x1f531; Window 2.1 认识 Window 的几个阶段 1&#xff09;阶段一&#xff1a;Window 约等于 Activity 2&#xff09;阶段二&#xff1a;Window 约等于 View 3&#xff09;阶段三&…

基于深度学习的危险物品检测系统(网页版+YOLOv8/v7/v6/v5代码+训练数据集)

摘要&#xff1a;本文详细介绍基于YOLOv8/v7/v6/v5的危险物品检测技术。主要采用YOLOv8技术并整合了YOLOv7、YOLOv6、YOLOv5的算法&#xff0c;进行了细致的性能指标对比分析。博客详细介绍了国内外在危险物品检测方面的研究现状、数据集处理方法、算法原理、模型构建与训练代码…

保健品wordpress外贸模板

保健品wordpress外贸模板 健康保养保健品wordpress外贸模板&#xff0c;做大健康行业的企业官方网站模板。 https://www.jianzhanpress.com/?p3514

蓝桥杯刷题第八天(dp专题)

这道题有点像小学奥数题&#xff0c;解题的关键主要是&#xff1a; 有2种走法固走到第i级阶梯&#xff0c;可以通过计算走到第i-1级和第i-2级的走法和&#xff0c;可以初始化走到第1级楼梯和走到第2级楼梯。分别为f[1]1;f[2]1(11)1(2)2.然后就可以循环遍历到后面的状态。 f[i…

XenCenter 2024 创建一个虚拟机

前言 实现&#xff0c;创建一个虚拟机&#xff0c;内存&#xff0c;cpu&#xff0c;磁盘&#xff0c;名称&#xff0c;网卡&#xff0c;配置 Xen Center 2024 download 创建虚拟机 选择系统类型 定义虚拟机名称 选择ISO镜像库 选择主服务器 分配虚拟机内存&#xff0c;cpu资源…

观察和配置MAC地址表

目录 原理概述 实验目的 实验内容 实验拓扑 ​编辑1&#xff0e;基本配置 2.观察正常状态时的MAC地址表 4.配置静态MAC地址表项 原理概述 MAC 地址表是交换机的一个核心组成部分&#xff0c;交换机主要是根据 MAC 地址表来进行帧的转发的。交换机对帧的转发操作行为一共有…

OpenHarmony实战:轻量带屏解决方案之恒玄芯片移植案例

本文章基于恒玄科技 BES2600W 芯片的欧智通 Multi-modal V200Z-R 开发板&#xff0c;进行轻量带屏开发板的标准移植&#xff0c;开发了智能开关面板样例&#xff0c;同时实现了 ace_engine_lite、arkui_ui_lite、aafwk_lite、appexecfwk_lite、HDF 等部件基于 OpenHarmony Lite…

集成电路企业tapeout,如何保证机台数据准确、完整、高效地采集?

Tapeout即流片&#xff0c;集成电路行业中将CDS最终版电路图提交给半导体制造厂商进行物理生产的过程。在芯片设计与制造的流程中&#xff0c;Tapeout是非常重要的阶段&#xff0c;包括了布局&#xff08;Layout&#xff09;、连线&#xff08;Routing&#xff09;、分析&#…

Linux 线程互斥、互斥量、可重入与线程安全

目录 一、线程互斥 1、回顾相关概念 2、抢票场景分析代码 多个线程同时操作全局变量 产生原因 如何解决 二、互斥量 1、概念 2、初始化互斥量&#xff1a; 方法1&#xff1a;静态分配 方法2&#xff1a;动态分配 3、销毁互斥量&#xff1a; 4、加锁和解锁 示例抢…

企业如何设计和实施有效的网络安全演练?

现实世界中&#xff0c;武装部队一直利用兵棋推演进行实战化训练&#xff0c;为潜在的军事冲突做准备。随着当今的数字化转型&#xff0c;同样的概念正在以网络安全演习的形式在组织中得到应用&#xff0c;很多企业每年都会基于合理的网络攻击场景和事件响应做一些测试和模拟。…

鸿蒙南向开发案例:【智能养花机】

样例简介 智能养花机通过感知花卉、盆栽等植宠生长环境的温度、湿度信息&#xff0c;适时为它们补充水分。在连接网络后&#xff0c;配合数字管家应用&#xff0c;用户可远程进行浇水操作。用户还可在应用中设定日程&#xff0c;有计划的按日、按周进行浇水。在日程中用户可添…

uniapp-打包app-图标配置

依次找到manifest->App图标配置&#xff0c;然后点击浏览&#xff0c;从本地文件夹中选择你们项目的logo&#xff0c;然后点击自动生成所有图标并替换&#xff0c;即可&#xff1a;

uniapp创建opendb-city-china Schema文件后,如何导入城市的数据?

1.点击opendb-city-china后面的详情&#xff0c;进入到gitee代码仓库 2.下载如下图所示的data.json文件 3.将本地创建的opendb-city-china.schema.json上传到云端 4.点击导入json 如果直接将data.json导入会报错&#xff0c;如下图所示: 5.将data.json本来的数组对象&#…

如何展示科技产品的原理和应用

一、合理安排展示区域 不同的科技产品具有不同的展示需求&#xff0c;设计师需要根据展品的特点和大小&#xff0c;合理安排展示区域。对于较大的科技产品&#xff0c;可以设置特定的展台或展示区域&#xff0c;并配备合适的灯光和装饰&#xff0c;以凸显产品的重要性和独特性。…