含多种需求响应及电动汽车的微网/虚拟电厂日前优化调度

本文主要是介绍含多种需求响应及电动汽车的微网/虚拟电厂日前优化调度,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

主要内容

程序主要建立一个微网/虚拟电厂的日前优化调度模型,以燃气轮机运行成本、购售电费用、电动汽车电池损耗成本以及需求响应费用之和为目标,在日前经济调度模型中,加入了电动汽车模型,考虑了电动汽车出行规律以及充放电规律,更加符合实际情况,且考虑了多种类型的需求响应资源,如可中断负荷资源和空调负荷的需求响应调控,充分利用热力学原理以及能量守恒,对空调机组实行最优能耗曲线控制策略,除此之外,模型中还考虑了燃气轮机、储能的单元,非常全面且实用,是研究微网和虚拟电厂的必备程序。

  • 电动汽车模型

电动汽车模型主要考虑电池损耗成本,将行车距离与电能消耗进行综合分析,更符合实际运行特性。约束部分考虑了电动汽车电池的功率约束、容量约束、充电状态等,且程序综合分析了日系车和比亚迪汽车两种类型。

  • 需求响应模型

负荷需求响应主要考虑可中断负荷,以可中断负荷最大占比为限,具体模型如下:

  • 空调模型

空调模型考虑用户的舒适度和蓄冷释冷功率约束等,具体模型参考见下图。

部分代码

%% 定义变量sdpvar/binvar
umob=binvar(1,24);%是否购电
umos=binvar(1,24);%是否售电
pmgb=sdpvar(1,24);%市场购电量
pmgs=sdpvar(1,24);%市场售电量
xconv=binvar(1,24);%燃气轮机工作状态变量,当处于工作状态,定义为1;否则取0
yconv=binvar(1,24);%燃气轮机启停状态变量
pmt=sdpvar(1,24);%燃气轮机出力
gesc=sdpvar(1,24);%储能充电功率
gesd=sdpvar(1,24);%储能放电功率
sess=sdpvar(1,24);%蓄电池蓄电量
pil=sdpvar(3,24);%中断负荷
tempin=sdpvar(1,24);%室温
cold=sdpvar(1,24);%总冷量
coldch=sdpvar(1,24);%制冷机制冷量
colds=sdpvar(1,24);%蓄冷槽蓄冷量
coldr=sdpvar(1,24);%蓄冷槽释冷量
is=binvar(1,24);%蓄冷0-1状态变量
ir=binvar(1,24);%释冷0-1状态变量
scold=sdpvar(1,24);%蓄冷槽容量
pcold=sdpvar(1,24);%空调电功率
svb=sdpvar(1,24);%比亚迪电动汽车蓄电量
gcvb=sdpvar(1,24);%充电功率
gdvb=sdpvar(1,24);%放电功率
ucvb=sdpvar(1,24);%充电状态变量
udvb=sdpvar(1,24);%放电状态变量
svr=sdpvar(1,24);%日产电动汽车蓄电量
gcvr=sdpvar(1,24);%充电功率
gdvr=sdpvar(1,24);%放电功率
ucvr=sdpvar(1,24);%0-1变量
udvr=sdpvar(1,24);%0-1变量
​
%% 约束条件
C=[];%初始化约束
%% 需求响应资源——可中断负荷约束(公式35-37)
for m=1:3for t=1:24C=[C,0<=pil(m,t)<=cil(m)*pload(t),   %各级中断负荷约束];end
end
​
for m=1:3for t=2:24C=[C,pil(m,t-1)+ pil(m,t-1)<=0.2*pload(t), %连续性中断负荷约束  ]  ;end
end
​
%% 燃气轮机出力约束
for t=1:24C=[C,xconv(t)*gtmin<=pmt(t)<=xconv(t)*gtmax ,%出力上下限约束];
end
C=[C,pmt(1)<=ramp]; %初始爬坡率约束
C=[C,xconv(1)<=yconv(1)];%初始工作状态约束
​
for t=2:24C=[C,-ramp<=pmt(t)-pmt(t-1)<=ramp,%爬坡率约束xconv(t)-xconv(t-1)<=yconv(t), %工作状态约束 ];
end
​
%% 空调负荷约束
C=[C,scold(1)==colds(1)*ns-coldr(1)/nr];%初始蓄冷槽容量
for t=1:24C=[C,tempmin<=tempin(t)<=tempmax ,%室温约束(舒适度约束)0<=coldch(t)<=coldchmax,%制冷量约束0<=scold(t)<=scoldmax,%蓄冷槽容量约束cold(t)==coldch(t)-colds(t)+coldr(t),%总冷量等式is(t)+ir(t)<=1,%工作状态约束0<=colds(t)<=is(t)*coldsmax,%蓄冷上限约束0<=coldr(t)<=ir(t)*coldrmax,%释冷上限约束pcold(t)==coldch(t)/uch+colds(t)*us+coldr(t)*ur,%电-能转换等式约束];
end

程序结果

4 下载链接

这篇关于含多种需求响应及电动汽车的微网/虚拟电厂日前优化调度的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python中将嵌套列表扁平化的多种实现方法

《Python中将嵌套列表扁平化的多种实现方法》在Python编程中,我们常常会遇到需要将嵌套列表(即列表中包含列表)转换为一个一维的扁平列表的需求,本文将给大家介绍了多种实现这一目标的方法,需要的朋... 目录python中将嵌套列表扁平化的方法技术背景实现步骤1. 使用嵌套列表推导式2. 使用itert

C#读写文本文件的多种方式详解

《C#读写文本文件的多种方式详解》这篇文章主要为大家详细介绍了C#中各种常用的文件读写方式,包括文本文件,二进制文件、CSV文件、JSON文件等,有需要的小伙伴可以参考一下... 目录一、文本文件读写1. 使用 File 类的静态方法2. 使用 StreamReader 和 StreamWriter二、二进

Python使用pip工具实现包自动更新的多种方法

《Python使用pip工具实现包自动更新的多种方法》本文深入探讨了使用Python的pip工具实现包自动更新的各种方法和技术,我们将从基础概念开始,逐步介绍手动更新方法、自动化脚本编写、结合CI/C... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

MyBatisPlus如何优化千万级数据的CRUD

《MyBatisPlus如何优化千万级数据的CRUD》最近负责的一个项目,数据库表量级破千万,每次执行CRUD都像走钢丝,稍有不慎就引起数据库报警,本文就结合这个项目的实战经验,聊聊MyBatisPl... 目录背景一、MyBATis Plus 简介二、千万级数据的挑战三、优化 CRUD 的关键策略1. 查

C++链表的虚拟头节点实现细节及注意事项

《C++链表的虚拟头节点实现细节及注意事项》虚拟头节点是链表操作中极为实用的设计技巧,它通过在链表真实头部前添加一个特殊节点,有效简化边界条件处理,:本文主要介绍C++链表的虚拟头节点实现细节及注... 目录C++链表虚拟头节点(Dummy Head)一、虚拟头节点的本质与核心作用1. 定义2. 核心价值二

mysql查询使用_rowid虚拟列的示例

《mysql查询使用_rowid虚拟列的示例》MySQL中,_rowid是InnoDB虚拟列,用于无主键表的行ID查询,若存在主键或唯一列,则指向其,否则使用隐藏ID(不稳定),推荐使用ROW_NUM... 目录1. 基本查询(适用于没有主键的表)2. 检查表是否支持 _rowid3. 注意事项4. 最佳实

Python中提取文件名扩展名的多种方法实现

《Python中提取文件名扩展名的多种方法实现》在Python编程中,经常会遇到需要从文件名中提取扩展名的场景,Python提供了多种方法来实现这一功能,不同方法适用于不同的场景和需求,包括os.pa... 目录技术背景实现步骤方法一:使用os.path.splitext方法二:使用pathlib模块方法三

C++中零拷贝的多种实现方式

《C++中零拷贝的多种实现方式》本文主要介绍了C++中零拷贝的实现示例,旨在在减少数据在内存中的不必要复制,从而提高程序性能、降低内存使用并减少CPU消耗,零拷贝技术通过多种方式实现,下面就来了解一下... 目录一、C++中零拷贝技术的核心概念二、std::string_view 简介三、std::stri

Linux实现线程同步的多种方式汇总

《Linux实现线程同步的多种方式汇总》本文详细介绍了Linux下线程同步的多种方法,包括互斥锁、自旋锁、信号量以及它们的使用示例,通过这些同步机制,可以解决线程安全问题,防止资源竞争导致的错误,示例... 目录什么是线程同步?一、互斥锁(单人洗手间规则)适用场景:特点:二、条件变量(咖啡厅取餐系统)工作流

SpringBoot3中使用虚拟线程的完整步骤

《SpringBoot3中使用虚拟线程的完整步骤》在SpringBoot3中使用Java21+的虚拟线程(VirtualThreads)可以显著提升I/O密集型应用的并发能力,这篇文章为大家介绍了详细... 目录1. 环境准备2. 配置虚拟线程方式一:全局启用虚拟线程(Tomcat/Jetty)方式二:异步