matlab|计及电转气协同的含碳捕集与垃圾焚烧虚拟电厂优化调度

主要内容

该程序参考《计及电转气协同的含碳捕集与垃圾焚烧虚拟电厂优化调度》模型,主要实现的是计及电转气协同的含碳捕集与垃圾焚烧虚拟电厂优化调度模型。通过引入碳捕集电厂–电转气–燃气机组协同利用框架,碳捕集的CO2 可作为电转气原料,生成的天然气则供应给燃气机组;并通过联合调度将碳捕集能耗和烟气处理能耗进行负荷转移以平抑可再生能源波动,使得风电/光伏实现间接可调度而被灵活利用。

该程序采用的是混合整数线性规划 (MILP) 算法算法求解(原文采用的是新型的反余切复合微分进化算法),本程序采用matlab+yalmip运行,基本句句注释,方便学习。

但是,该程序在非线性处理部分存在缺陷,后面会具体说明一下,介意慎拍,整体程序逻辑还是不错的,值得参考!

  • 系统结构

除 CHP 机组外,各发电机组都可以向碳捕集系统和烟气处理系统提供能耗,通过加装储气装置,使得烟气处理与发电关系解耦,利用不同能量资源在能量/功率上的时空互补性,调度优化上更为灵活地配合可再生能源的出力变化和平抑净负荷波动。各单元的协同运行调度指令依靠能量管理系统采集数据信息后预测出的能量市场电价、可再生能源出力和电热负荷来制定。
  • CCPP-P2G-燃气机组子系统

该文章主要的亮点即是将CCPP、P2G以及燃气机组进行了融合,创新了此类VPP框架模型研究,所以创新的方向还是挺多的,不能只盯着方法层面的。
  • 非线性处理缺陷

碳捕集电厂部分烟气分流比是非线性的,yalmip在处理这列非线性是难以实现的,因此该程序这部分并未实现出来。

部分代码

P_CHP=sdpvar(1,24); %CHP机组的输出电功率
H_CHP=sdpvar(1,24); %CHP机组的输出热功率
V_CHP=sdpvar(1,24); %CHP机组消耗的天然气量
H_GB=sdpvar(1,24); %燃气锅炉的输出热功率
V_GB=sdpvar(1,24); %燃气锅炉消耗的天然气量
S_ES=sdpvar(1,24);  %电储能在t时段末的蓄电量,单位为MW
P_ESC=sdpvar(1,24); %电储能的充电功率
P_ESD=sdpvar(1,24); %电储能的放电功率
S_TS=sdpvar(1,24);  %热储能在t时段末的蓄热量,单位为MW
H_TSC=sdpvar(1,24); %热储能的充热功率
H_TSD=sdpvar(1,24); %热储能的放热功率
P_EM=sdpvar(1,24);  %系统在电网的购电量
P_CUT=sdpvar(1,24); %各级中断负荷功率之和
lamda_CC=sdpvar(1,24); %碳捕捉系统的烟气分流比
P_Cmax=sdpvar(1,24); %碳捕集系统的运行能耗上限
miu_ESC=binvar(1,24); %充电的布尔变量
miu_ESD=binvar(1,24); %放电的布尔变量
miu_TSC=binvar(1,24); %充热的布尔变量
miu_TSD=binvar(1,24); %放热的布尔变量
lambda_WI=sdpvar(1,24); %烟气分流比
V_WIalpha=sdpvar(1,24); %烟气存储罐储气量
alpha_2=sdpvar(1,24); %流入烟气存储罐的气量
Q_CS=sdpvar(1,24); %流入烟气存储罐的气量
Q_P2G=sdpvar(1,24); %流入烟气存储罐的气量
%
P_A=15*ones(1,24);   %CCPP-P2G系统能耗(因占比较少设为定值),单位为MW
%风电机组的预测出力
P_W=[232.75,247.44,219.09,188.78,239.58,232.84,188.52,159.84,111.45,51.23,119.88,137.29,141.39,115.78,135.24,143.44,151.64,195.69,159.70,180.94,203.38,193.64,155.32,247.43]; 
%光伏机组的预测出力
P_V=[0,0,0,0,0,22,63,97,110,118,128,132,133,136,131,133,120,85,37,0,0,0,0,0]; 
%电负荷
P_EL=[457,319,296,228,184,297,406,509,607,687,803,857,845,793,832,801,795,731,640,593,554,518,525,409];
%热功率
H_HL=[109,131,158,153,139,121,111,98,82,57,22,12,42,62,89,99,122,131,148,160,139,131,119,74];
%购电价
k_EM=[38.85,39.18,36.89,35.57,39.84,43.77,51.31,64.10,74.59,77.21,85.41,89.02,82.46,80.49,83.11,81.80,78.52,73.93,69.67,76.89,74.26,66.39,55.57,46.72];
S_ES_init=60;S_TS_init=30;
%% 约束条件
C=[];
%CCPP-P2G系统能耗以及CCPP出力
for t=1:24C=[C,P_C2P(t)==P_P2G(t)+P_CC(t), %CCPP-P2G系统总能耗约束P_P2G(t)==P_WA(t)+P_VA(t),  %P2G消纳的弃风光量约束P_CC(t)==P_A(t)+P_OP(t),    %碳捕集能耗约束P_GN(t)==P_G(t)-P_GC(t)-P_Galpha(t),  %碳捕集电厂功率约束];
end
%CCPP-P2G系统碳利用量以及天然气生成量
for t=1:24C=[C,Q_CC(t)==P_OP(t)/0.269, %CCPP-P2G系统捕集的CO2的总量与耗能约束Q_P2Gsum(t)==0.2*0.6*P_P2G(t), %P2G设备的消耗的CO2量和电功率约束V_P2G(t)==3.6*0.6*P_P2G(t)/39, %P2G设备的生成天然气的体积];
end
%垃圾焚烧电厂烟气处理模型
for t=1:24C=[C,P_alpha(t)==0.513*(alpha_1(t)+alpha_3(t)),]; %烟气处理系统能耗
end
%碳捕集-垃圾焚烧-风电-光伏联合运行策略
for t=1:24C=[C,P_GC(t)+P_WC(t)+P_VC(t)+P_WIC(t)==P_CC(t), %碳捕集能耗等式约束P_OP(t)==0.269*Q_CC(t), %CCPP-P2G系统捕集的CO2的总量与耗能约束(这个好像和前面的约束重复了)P_Valpha(t)+P_Walpha(t)+P_Galpha(t)+P_WIalpha(t)==P_alpha(t), %烟气处理能耗等式约束P_WA(t)+P_WN(t)+P_WC(t)+P_Walpha(t)==P_W(t), %风力机组的出力约束P_VA(t)+P_VN(t)+P_VC(t)+P_Valpha(t)==P_V(t), %光伏机组的出力约束P_WIN(t)+P_WIC(t)+P_WIalpha(t)==P_WI(t), %垃圾焚烧电厂的出力约束Q_N(t)==0.96*P_G(t)-Q_CC(t), %碳捕集电厂的碳排放约束];
end
%CHP机组和燃气锅炉模型
for t=1:24C=[C,P_PH(t)==P_CHP(t)+H_CHP(t), %CHP机组的输出功率约束P_CHP(t)==V_CHP(t)*39*0.35, %CHP机组的输出电功率约束H_CHP(t)==V_CHP(t)*39*0.40, %CHP机组的输出热功率约束H_GB(t)==V_GB(t)*39*0.40, %CHP机组的输出热功率约束];
end
%储能装置模型
for t=2:24C=[C,S_ES(t)==S_ES(t-1)*(1-0.001)+0.95*P_ESC(t)-P_ESD(t)/0.95, %电储能运行约束S_TS(t)==S_TS(t-1)*(1-0.01)+0.88*H_TSC(t)-H_TSD(t)/0.88, %热储能运行约束];
end
%电功率和热功率平衡约束
for t=1:24C=[C,P_GN(t)+P_WIN(t)+P_CHP(t)+P_WN(t)+P_VN(t)+P_ESD(t)+P_EM(t)==P_P2G(t)+P_EL(t)+P_ESC(t), %电功率平衡约束H_CHP(t)+H_GB(t)+H_TSD(t)==H_HL(t)+H_TSC(t), %热功率平衡约束];
end
%碳捕集电厂约束
for t=1:24C=[C,100<=P_G(t)<=400, %碳捕集电厂出力上下限约束%lamda_CC(t)==Q_CC(t)/(0.96*P_G(t)), %碳捕捉系统的烟气分流比(要考虑分段线性可能)%0<=lamda_CC(t)<=1, %烟气分流比上下限   %% 因为非线性0<=Q_CC(t)<=0.96*400, 15<=P_GC(t)+P_WC(t)+P_VC(t)+P_WIC(t)<=P_Cmax(t), %碳捕集系统的运行能耗上下限P_Cmax(t)==0.269*0.96*P_G(t), %碳捕集系统的运行能耗上限赋值];
end
for t=2:24C=[C,-60<=P_G(t)-P_G(t-1)<=60, %碳捕集电厂出力爬坡速率约束-65<=P_GC(t)+P_WC(t)+P_VC(t)+P_WIC(t)-P_GC(t-1)-P_WC(t-1)-P_VC(t-1)-P_WIC(t-1)<=65, %碳捕集电厂碳捕集能耗爬坡速率约束];
end
%CHP机组电热出力以及爬坡约束
for t=1:24C=[C,0<=P_CHP(t)<=140, %CHP的电功率出力约束0<=H_CHP(t)<=160, %CHP的热功率出力约束];
end

程序结果

4 下载链接

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

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

相关文章

threehit漏洞复现以及防御

说白了跟sql-liql靶场二次注入一样&#xff0c;也是一个转义函数而这次是&#xff0c;入库的时候不转义&#xff0c;出库的时候会转义导致这个漏洞出现 开始测试&#xff1a; 这是我注册完test刚登录的情况 找注入点更新数据的update&#xff0c;很容易找到在age段 这次我注册…

下载 axios.js 文件到本地【linux】

方式一 npm install axios在$NODE_PATH/node_modules/axios/dist路径下即可找到axios.js。 方式二 1、百度搜索 GitHub 官网&#xff1a;https://github.com/ 2、搜索 axios 3、点击 axios/axios 4、下载到本地 5、解压&#xff0c;进入到 dist 文件夹** 参考&#x…

多任务爬虫(多线程和多进程)

在一台计算机中&#xff0c;我们可以同时打开多个软件&#xff0c;例如同时浏览网页、听音乐、打字等&#xff0c;这是再正常不过的事情。但仔细想想&#xff0c;为什么计算机可以同时运行这么多软件呢? 这就涉及计算机中的两个名词&#xff1a;多进程和多线程。 同样&#xf…

mybatis常用标签

一.定义sql语句 1.select 标签 属性介绍: &#xff08;1&#xff09;id :唯一的标识符. &#xff08;2&#xff09;parameterType:传给此语句的参数的全路径名或别名 例:com.test.poso.User或user &#xff08;3&#xff09;resultType :语句返回值类型或别名。注意&#xff…

ico图片怎么制作(图片怎么变成ico格式)

ico图片一般命名为favicon.ico&#xff0c;主要用于作为缩略的网站标志&#xff0c;显示在浏览器的地址栏或者在标签中&#xff0c;一般用网站logo来制作。那么ico图片怎么制作&#xff1f;Logo图片怎么变成ico格式&#xff1f;下面boke112百科就跟大家说一说ico图片制作步骤&a…

MATLAB中的稀疏矩阵和密集矩阵

在MATLAB中&#xff0c;矩阵可以表示为密集或稀疏格式。通常&#xff0c;矩阵默认以密集格式存储&#xff0c;这意味着每个元素都明确地存储在内存中&#xff0c;无论它的值是多少。然而&#xff0c;当矩阵含有大量的零元素时&#xff0c;这种存储方式就会变得非常低效。为了更…

RabbitMQ监控方法以及核心指标

RabbitMQ监控方法以及核心指标 1. 监控指标采集2. 使用rabbimq插件采集指标2.1 3.8.0之前版本&#xff0c;使用外部插件暴露2.2 3.8.0之后版本&#xff0c;使用内置插件暴露 3. 使用rabbitmq_exporter采集指标3.1 部署rabbitmq_exporter3.2 prometheus采集rabbitmq_exporter的暴…

Open CASCADE学习|绘制砂轮

今天绘制一个砂轮&#xff0c;其轮廓由两条直线段和两段圆弧构成&#xff0c;圆弧分别与直线相切&#xff0c;两条圆弧之间相交而非相切。建模思路是&#xff1a;先给定两条直线段的起始点及长度&#xff0c;画出直线段&#xff0c;然后给定其中一圆弧的半径及圆心角&#xff0…

【Docker快速入门】Docker部署MySQL

个人名片&#xff1a; &#x1f43c;作者简介&#xff1a;一名大三在校生&#xff0c;喜欢AI编程&#x1f38b; &#x1f43b;‍❄️个人主页&#x1f947;&#xff1a;落798. &#x1f43c;个人WeChat&#xff1a;hmmwx53 &#x1f54a;️系列专栏&#xff1a;&#x1f5bc;️…

如何在nginx增加健康检查接口

在docker中部署的nginx或者在nginx部署的nginx一般是需要一个健康检查接口的 这样的话&#xff0c;就可以确定容器当前的状态是否是健康的 那么&#xff0c;如何给nginx增加一个健康检查的接口呢&#xff1f; 接下来呢&#xff0c;我们就演示一个在nginx中如何增加健康检查的…

Linux学习方法-框架学习法——Linux驱动架构的演进

配套视频学习链接&#xff1a;https://www.bilibili.com/video/BV1HE411w7by?p4&vd_sourced488bc722b90657aaa06a1e8647eddfc 目录 Linux驱动演进的过程 Linux驱动的原始架构(Linux V2.4) 平台总线架构(platform) Linux设备树 Linux驱动演进的趋势 Linux驱动演进的过程…

信息系统项目管理师(高项)—学习笔记

第一章信息化发展 1.1 信息与信息化 1.1.1 信息 信息是物质、能量及其属性的标示的集合&#xff0c;是确定性的增加。 它以物质介质为载体&#xff0c;在传递和反映世界各种事物存在方式、运动状态等的表征。 信息不是物质&#xff0c;也不是能力&#xff0c;它以一种普遍…