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

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

主要内容

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

  • 电动汽车模型

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

  • 需求响应模型

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

  • 空调模型

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

部分代码

%% 定义变量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

相关文章

JAVA线程的周期及调度机制详解

《JAVA线程的周期及调度机制详解》Java线程的生命周期包括NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING和TERMINATED,线程调度依赖操作系统,采用抢占... 目录Java线程的生命周期线程状态转换示例代码JAVA线程调度机制优先级设置示例注意事项JAVA线程

Spring Boot基于 JWT 优化 Spring Security 无状态登录实战指南

《SpringBoot基于JWT优化SpringSecurity无状态登录实战指南》本文介绍如何使用JWT优化SpringSecurity实现无状态登录,提高接口安全性,并通过实际操作步骤... 目录Spring Boot 实战:基于 JWT 优化 Spring Security 无状态登录一、先搞懂:为什

Java多种文件复制方式以及效率对比分析

《Java多种文件复制方式以及效率对比分析》本文总结了Java复制文件的多种方式,包括传统的字节流、字符流、NIO系列、第三方包中的FileUtils等,并提供了不同方式的效率比较,同时,还介绍了遍历... 目录1 背景2 概述3 遍历3.1listFiles()3.2list()3.3org.codeha

使用Python在PDF中绘制多种图形的操作示例

《使用Python在PDF中绘制多种图形的操作示例》在进行PDF自动化处理时,人们往往首先想到的是文本生成、图片嵌入或表格绘制等常规需求,然而在许多实际业务场景中,能够在PDF中灵活绘制图形同样至关重... 目录1. 环境准备2. 创建 PDF 文档与页面3. 在 PDF 中绘制不同类型的图形python

使用C#导出Excel数据并保存多种格式的完整示例

《使用C#导出Excel数据并保存多种格式的完整示例》在现代企业信息化管理中,Excel已经成为最常用的数据存储和分析工具,从员工信息表、销售数据报表到财务分析表,几乎所有部门都离不开Excel,本文... 目录引言1. 安装 Spire.XLS2. 创建工作簿和填充数据3. 保存为不同格式4. 效果展示5

Java JAR 启动内存参数配置指南(从基础设置到性能优化)

《JavaJAR启动内存参数配置指南(从基础设置到性能优化)》在启动Java可执行JAR文件时,合理配置JVM内存参数是保障应用稳定性和性能的关键,本文将系统讲解如何通过命令行参数、环境变量等方式... 目录一、核心内存参数详解1.1 堆内存配置1.2 元空间配置(MetASPace)1.3 线程栈配置1.

JDK21对虚拟线程的几种用法实践指南

《JDK21对虚拟线程的几种用法实践指南》虚拟线程是Java中的一种轻量级线程,由JVM管理,特别适合于I/O密集型任务,:本文主要介绍JDK21对虚拟线程的几种用法,文中通过代码介绍的非常详细,... 目录一、参考官方文档二、什么是虚拟线程三、几种用法1、Thread.ofVirtual().start(

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

Linux中查看操作系统及其版本信息的多种方法

《Linux中查看操作系统及其版本信息的多种方法》在服务器运维或者部署系统中,经常需要确认服务器的系统版本、cpu信息等,在Linux系统中,有多种方法可以查看操作系统及其版本信息,以下是一些常用的方... 目录1. lsb_pythonrelease 命令2. /etc/os-release 文件3. h

Spring Boot中获取IOC容器的多种方式

《SpringBoot中获取IOC容器的多种方式》本文主要介绍了SpringBoot中获取IOC容器的多种方式,包括直接注入、实现ApplicationContextAware接口、通过Spring... 目录1. 直接注入ApplicationContext2. 实现ApplicationContextA