Matlab|考虑可再生能源消纳的电热综合能源系统日前经济调度模型

本文主要是介绍Matlab|考虑可再生能源消纳的电热综合能源系统日前经济调度模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

1 主要内容

模型示意图

目标函数

程序亮点

2 部分程序

3 程序结果

4 下载链接


主要内容

本程序参考文献《考虑可再生能源消纳的建筑综合能源系统日前经济调度模型》模型,建立了电热综合能源系统优化调度模型,包括燃气轮机、燃气锅炉、余热锅炉、蓄电池、储热、风电和光伏等设备模型,注意:不含文献中的地源热泵和空调设备,可以作为比较经典的电热综合能源优化调度学习资料。

  • 模型示意图

注意:本程序不含地源热泵模型。
  • 目标函数

目标函数:经济性=燃料成本+设备运维成本+环境保护
目标函数代码:
for t=1:24
z=z+0.025*P_GT(t)+0.0097*Q_GB(t)+0.025*Q_RB(t)...%设备运维费用
+0.03*(abs(P_ESc(t))+abs(P_ESd(t)))+0.02*(abs(P_HSc(t))+abs(P_HSd(t)))...%储能设备
+3.15*(F_GT(t)+F_GB(t))...%买天然气的价格
+0.088*(P_GT(t)*0.242+Q_GB(t)*0.085)+0.624*(P_GT(t)*0.0036+Q_GB(t)*0.764)+1.95*(P_GT(t)*0.2+Q_GB(t)*0.54);%污染物处理
end
  • 程序亮点

  1. 程序对于蓄电池和储热设备的约束形式较常规方式有所区别,见部分程序59-66行,虽然这种约束方式略显笨重,但提供了另外一种程序编写方式,顺便了解implies命令应用方式。
  2. 程序对于蓄电池和储热采用自放电/热系数方式,因此可以合理解释结果图2中储热满足24小时充放电功率一致,但是储热量却一直下降的原因。

部分程序

%% 程序初始化
clc;
clear;
close all;
​
%% 定义变量
%电设备
P_PV=sdpvar(1,24,'full');%光伏发电
P_WT=sdpvar(1,24,'full');%风力发电
P_GT=sdpvar(1,24,'full');%燃气轮机电功率出力
Eb=sdpvar(1,24,'full');% 电储能的容量
P_ES=sdpvar(1,24,'full');%电储能输出,有正有负
P_ESc=sdpvar(1,24,'full');% 电储能充电功率
P_ESd=sdpvar(1,24,'full');% 电储能放电功率
%热设备
Q_GT=sdpvar(1,24,'full');%燃气轮机输出的热功率
Q_RB=sdpvar(1,24,'full');%余热锅炉输出的热功率
Q_GB=sdpvar(1,24,'full');%燃气锅炉输出的热功率
Eh=sdpvar(1,24,'full');%热储能的容量
P_HS=sdpvar(1,24,'full');%热储能输出,有正有负
P_HSc=sdpvar(1,24,'full');%热储能储热功率
P_HSd=sdpvar(1,24,'full');%热储能放热功率
%辅助变量
Ubc=binvar(1,24,'full');%电储能充电状态,1表示充电
Ubd=binvar(1,24,'full');%电储能放电状态,1表示放电
Uhc=binvar(1,24,'full');%热储能储热状态,1表示储热
Uhd=binvar(1,24,'full');%热储能放热状态,1表示放热
F_GT=sdpvar(1,24,'full');%燃气轮机消耗的天然气量
F_GB=sdpvar(1,24,'full');%燃气锅炉消耗的天然气量
%% 常量数据,包括电热冷负荷和风光出力
Pwt=[66.9  68.2  71.9  72  78.8  94.8  114.3  145.1  155.5  142.1  115.9  127.1  141.8  145.6   145.3  150  206.9  225.5  236.1  210.8  198.6  177.9  147.2  58.7];
Ppv=[0,0,0,  0,  0.06,  6.54,  20.19,  39.61,  49.64,  88.62,  101.59,  66.78,  110.46,  67.41,  31.53, 50.76,20.6,22.08,2.07,0,0,0,0,0];
load_e=[88.24   83.01   80.15   79.01   76.07   78.39   89.95   128.85   155.45   176.35   193.71   182.57   179.64   166.31   164.61   164.61   174.48   203.93   218.99   238.11   216.14   173.87   131.07   94.04];
load_h=[122 125 128 125 128 119 113 109 100,90 88,79 66,55 63,71 98 109 139 150 142 139 136 134];
​
%% 目标函数:经济性=燃料成本+设备运维成本+环境保护
z=0;
for t=1:24z=z+0.025*P_GT(t)+0.0097*Q_GB(t)+0.025*Q_RB(t)...%设备投资运行费用+0.043*P_WT(t)+0.0096*P_PV(t)+0.03*(abs(P_ESc(t))+abs(P_ESd(t)))+0.02*(abs(P_HSc(t))+abs(P_HSd(t)))...%储能设备+3.15*(F_GT(t)+F_GB(t))...%买天然气的价格+0.088*(P_GT(t)*0.242+Q_GB(t)*0.085)+0.624*(P_GT(t)*0.0036+Q_GB(t)*0.764)+1.95*(P_GT(t)*0.2+Q_GB(t)*0.54);%污染物处理
endF=z%% 约束条件
​
C=[];
%机组约束,决策变量
C=[C,0.8*Ppv<=P_PV<=Ppv];%光伏发电上下限约束
C=[C,0.8*Ppv<=P_WT<=Pwt];%风力发电上下限约束
for t=1:24C=[C,0<=P_GT(t)<=550];%燃气轮机上下限约束√C=[C,0<=Q_RB(t)<=750];%余热锅炉上下限约束√C=[C,0<=Q_GB(t)<=700];%燃气锅炉上下限约束√C=[C,0<=Q_GT(t)<=200];%燃气轮机输出的热功率
%设备模型
​C=[C,Ubc(t)+Ubd(t)<=1];C=[C,Uhc(t)+Uhd(t)<=1];%确定充放电状态不可能同时发生C=[C,-80<=P_ES(1,t)<=80,0<=P_ESc(1,t)<=80,-80<=P_ESd(1,t)<=0]; C=[C,-80<=P_HS(1,t)<=80,0<=P_HSc(1,t)<=80,-80<=P_HSd(1,t)<=0];   C=[C,implies(Ubc(1,t),[P_ES(1,t)>=0,P_ESc(1,t)==P_ES(1,t),P_ESd(1,t)==0])];%储电=负荷C=[C,implies(Ubd(1,t),[P_ES(1,t)<=0,P_ESd(1,t)==P_ES(1,t),P_ESc(1,t)==0])];C=[C,implies(Uhc(1,t),[P_HS(1,t)>=0,P_HSc(1,t)==P_HS(1,t),P_HSd(1,t)==0])];%储热=负荷C=[C,implies(Uhd(1,t),[P_HS(1,t)<=0,P_HSd(1,t)==P_HS(1,t),P_HSc(1,t)==0])];

程序结果

4 下载链接

这篇关于Matlab|考虑可再生能源消纳的电热综合能源系统日前经济调度模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文

Mac系统下卸载JAVA和JDK的步骤

《Mac系统下卸载JAVA和JDK的步骤》JDK是Java语言的软件开发工具包,它提供了开发和运行Java应用程序所需的工具、库和资源,:本文主要介绍Mac系统下卸载JAVA和JDK的相关资料,需... 目录1. 卸载系统自带的 Java 版本检查当前 Java 版本通过命令卸载系统 Java2. 卸载自定

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断

Windows 系统下 Nginx 的配置步骤详解

《Windows系统下Nginx的配置步骤详解》Nginx是一款功能强大的软件,在互联网领域有广泛应用,简单来说,它就像一个聪明的交通指挥员,能让网站运行得更高效、更稳定,:本文主要介绍W... 目录一、为什么要用 Nginx二、Windows 系统下 Nginx 的配置步骤1. 下载 Nginx2. 解压

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

如何确定哪些软件是Mac系统自带的? Mac系统内置应用查看技巧

《如何确定哪些软件是Mac系统自带的?Mac系统内置应用查看技巧》如何确定哪些软件是Mac系统自带的?mac系统中有很多自带的应用,想要看看哪些是系统自带,该怎么查看呢?下面我们就来看看Mac系统内... 在MAC电脑上,可以使用以下方法来确定哪些软件是系统自带的:1.应用程序文件夹打开应用程序文件夹

windows系统上如何进行maven安装和配置方式

《windows系统上如何进行maven安装和配置方式》:本文主要介绍windows系统上如何进行maven安装和配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录1. Maven 简介2. maven的下载与安装2.1 下载 Maven2.2 Maven安装2.

使用Python实现Windows系统垃圾清理

《使用Python实现Windows系统垃圾清理》Windows自带的磁盘清理工具功能有限,无法深度清理各类垃圾文件,所以本文为大家介绍了如何使用Python+PyQt5开发一个Windows系统垃圾... 目录一、开发背景与工具概述1.1 为什么需要专业清理工具1.2 工具设计理念二、工具核心功能解析2.

Linux系统之stress-ng测压工具的使用

《Linux系统之stress-ng测压工具的使用》:本文主要介绍Linux系统之stress-ng测压工具的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、理论1.stress工具简介与安装2.语法及参数3.具体安装二、实验1.运行8 cpu, 4 fo