Matlab|基于两阶段鲁棒优化的微网电源储能容量优化配置

2024-03-27 03:36

本文主要是介绍Matlab|基于两阶段鲁棒优化的微网电源储能容量优化配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

 主要内容   

1.1 目标函数

1.2 约束条件

1.3 不确定变量

  部分代码   

  结果一览   

下载链接


 主要内容   

程序主要复现的是《考虑寿命损耗的微网电池储能容量优化配置》,解决微网中电源/储能容量优化配置的问题,即风电、光伏、储能以及燃气轮机的容量规划问题,程序考虑了不确定性,采用两阶段鲁棒优化方法进行优化,采用的是KKTCCG算法,一阶段主要决策储能、风电、光伏的容量,二阶段主要规划风光燃储的实际出力变量,最后结果不仅给出了微网电源容量配置的结果,还给出了各个机组的出力。 

1.1 目标函数

1.2 约束条件

1.3 不确定变量

不确定变量考虑风光出力和负荷的不确定性,采用盒式不确定的方式。

tips:

1.该程序虽然收敛性良好,但是两阶段鲁棒优化流程还不完善,在一阶段未实现不同迭代次数下变量叠加,只是实现了变量的更新!有兴趣的可以看一下比较规范的两阶段鲁棒优化程序:《 6节点电网两阶段鲁棒优化调度matlab 》《 【重磅】IEEE33配电网两阶段鲁棒优化调度CCG》
2.模型对偶采用kkt方法,还是值得学习的,可结合《Solving two-stage robust optimization problems using a column-and-constraint generation》进行学习。

  部分代码   

%% 1.设参
%投资成本参数
rp = 0.08;%折现率
rbat = 10;rPV = 20;rWT = 15;rG = 15;%折现年数
cbat = 1107;cPV = 100;cWT = 300;cG = 2000;%单位容量投资成本
​
pm_max = 500;%联络线功率上限
eta = 0.95;%储能充放电效率
c_wt_om = 0.0296;c_pv_om = 0.0096;c_g_om = 0.059;c_bat_om = 0.009;%运维成本系数
c_fuel = 0.6;%燃料成本系数
%% 2.设决策变量
p_ch = sdpvar(24,4);%储能充电
p_dis = sdpvar(24,4);%储能放电
uu_bat = binvar(24,4);%充放电标识
​
uu_m = binvar(24,4);
p_buy = sdpvar(24,4);%配网购电
p_sell = sdpvar(24,4);%配网售电
​
p_wt = sdpvar(24,4);
p_pv = sdpvar(24,4);
p_load = sdpvar(24,4);
​
p_g = sdpvar(24,4);%微型燃气轮机
%% 3.设变量
ee_bat_int = sdpvar(1);%储能容量上限
p_pv_int = sdpvar(1);
p_wt_int = sdpvar(1);
p_g_int = sdpvar(1);
​
yita = sdpvar(1);
p_bat_int = ee_bat_int*0.21;%假设储能的功率上限和容量上限有比值关系
ee0 = 0.55*ee_bat_int;%储能初始电量
​
%风光出力和电价(以春季典型日为例)
p_l = xlsread('四个典型日数据.xlsx','0%','B3:E26')*900;%?
max_p_wt = xlsread('四个典型日数据.xlsx','0%','H3:K26')*p_wt_int; 
max_p_pv = xlsread('四个典型日数据.xlsx','0%','N3:Q26')*p_pv_int; 
%price=xlsread('四个典型日数据.xlsx','电价','A2:A25');
price = [0.48;0.48;0.48;0.48;0.48;0.48;0.48;0.9;1.35;1.35;1.35;0.9;0.9;0.9;0.9;0.9;0.9;0.9;1.35;1.35;1.35;1.35;1.35;0.48];
%% 4.设约束
C = [];
load = p_l';
wwt = 0.05;wpv = 0.1;wl = 0.15;%不确定度,缩放比例
C = [C, (1 - wwt)*max_p_wt <= p_wt,p_wt <= (1 + wwt)*max_p_wt];%不确定性风
C = [C, (1 - wpv)*max_p_pv <= p_pv,p_pv <= (1 + wpv)*max_p_pv];%不确定性光
C = [C, (1 - wl)*load' <= p_load,p_load <= (1 + wl)*load'];%不确定性负荷
%储能线性化

  结果一览   

下载链接

这篇关于Matlab|基于两阶段鲁棒优化的微网电源储能容量优化配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/850797

相关文章

C#使用HttpClient进行Post请求出现超时问题的解决及优化

《C#使用HttpClient进行Post请求出现超时问题的解决及优化》最近我的控制台程序发现有时候总是出现请求超时等问题,通常好几分钟最多只有3-4个请求,在使用apipost发现并发10个5分钟也... 目录优化结论单例HttpClient连接池耗尽和并发并发异步最终优化后优化结论我直接上优化结论吧,

windos server2022的配置故障转移服务的图文教程

《windosserver2022的配置故障转移服务的图文教程》本文主要介绍了windosserver2022的配置故障转移服务的图文教程,以确保服务和应用程序的连续性和可用性,文中通过图文介绍的非... 目录准备环境:步骤故障转移群集是 Windows Server 2022 中提供的一种功能,用于在多个

windos server2022里的DFS配置的实现

《windosserver2022里的DFS配置的实现》DFS是WindowsServer操作系统提供的一种功能,用于在多台服务器上集中管理共享文件夹和文件的分布式存储解决方案,本文就来介绍一下wi... 目录什么是DFS?优势:应用场景:DFS配置步骤什么是DFS?DFS指的是分布式文件系统(Distr

Java内存泄漏问题的排查、优化与最佳实践

《Java内存泄漏问题的排查、优化与最佳实践》在Java开发中,内存泄漏是一个常见且令人头疼的问题,内存泄漏指的是程序在运行过程中,已经不再使用的对象没有被及时释放,从而导致内存占用不断增加,最终... 目录引言1. 什么是内存泄漏?常见的内存泄漏情况2. 如何排查 Java 中的内存泄漏?2.1 使用 J

关于Maven中pom.xml文件配置详解

《关于Maven中pom.xml文件配置详解》pom.xml是Maven项目的核心配置文件,它描述了项目的结构、依赖关系、构建配置等信息,通过合理配置pom.xml,可以提高项目的可维护性和构建效率... 目录1. POM文件的基本结构1.1 项目基本信息2. 项目属性2.1 引用属性3. 项目依赖4. 构

龙蜥操作系统Anolis OS-23.x安装配置图解教程(保姆级)

《龙蜥操作系统AnolisOS-23.x安装配置图解教程(保姆级)》:本文主要介绍了安装和配置AnolisOS23.2系统,包括分区、软件选择、设置root密码、网络配置、主机名设置和禁用SELinux的步骤,详细内容请阅读本文,希望能对你有所帮助... ‌AnolisOS‌是由阿里云推出的开源操作系统,旨

mysql-8.0.30压缩包版安装和配置MySQL环境过程

《mysql-8.0.30压缩包版安装和配置MySQL环境过程》该文章介绍了如何在Windows系统中下载、安装和配置MySQL数据库,包括下载地址、解压文件、创建和配置my.ini文件、设置环境变量... 目录压缩包安装配置下载配置环境变量下载和初始化总结压缩包安装配置下载下载地址:https://d

MySQL不使用子查询的原因及优化案例

《MySQL不使用子查询的原因及优化案例》对于mysql,不推荐使用子查询,效率太差,执行子查询时,MYSQL需要创建临时表,查询完毕后再删除这些临时表,所以,子查询的速度会受到一定的影响,本文给大家... 目录不推荐使用子查询和JOIN的原因解决方案优化案例案例1:查询所有有库存的商品信息案例2:使用EX

gradle安装和环境配置全过程

《gradle安装和环境配置全过程》本文介绍了如何安装和配置Gradle环境,包括下载Gradle、配置环境变量、测试Gradle以及在IntelliJIDEA中配置Gradle... 目录gradle安装和环境配置1 下载GRADLE2 环境变量配置3 测试gradle4 设置gradle初始化文件5 i

SpringCloud配置动态更新原理解析

《SpringCloud配置动态更新原理解析》在微服务架构的浩瀚星海中,服务配置的动态更新如同魔法一般,能够让应用在不重启的情况下,实时响应配置的变更,SpringCloud作为微服务架构中的佼佼者,... 目录一、SpringBoot、Cloud配置的读取二、SpringCloud配置动态刷新三、更新@R