基于阶梯碳交易的含P2G-CCS耦合和燃气掺氢的虚拟电厂优化调度(matlab代码)

devtools/2024/9/25 17:19:19/

目录

1 主要内容

系统结构图

P2G-CCS%20%E8%80%A6%E5%90%88%E6%A8%A1%E5%9E%8B-toc" style="margin-left:40px;">P2G-CCS 耦合模型

系统掺氢分析

其他算例对比

2 部分代码

3 下载链接 


主要内容

该程序复现《基于阶梯碳交易的含P2G-CCS耦合和燃气掺氢的虚拟电厂优化调度》模型,以碳交易和碳封存成本、燃煤机组启停和煤耗成本、弃风成本、购气成本之和为目标函数,考虑了功率平衡约束、电转气约束、储能储热约束、燃气锅炉约束以及碳捕集等约束,建立了含 P2G-CCS耦合和燃气掺氢的虚拟电厂优化调度模型,程序考虑了多种算例场景,并未采用粒子群进行优化,直接采用matlab+cplex求解,实现效果较好,注释清晰。

  • 系统结构图

  • P2G-CCS%20%E8%80%A6%E5%90%88%E6%A8%A1%E5%9E%8B">P2G-CCS 耦合模型

情景 1 为考虑 P2G-CCS 耦合;
情景 2 为不考虑甲烷化,制取氢气仅用于燃气掺氢
情景 3 为不考虑 CCS,排放的 CO2直接排入大气。
情景1 

情景2

情景3

  • 系统掺氢分析

  • 其他算例对比

部分代码

PriM = 200;     %燃煤价格500元/吨            
Prico2feng = 50;  %CO2封存的单位成本50元/吨                 
Smaxco2feng = 20;  %吨                
Pco2Base = 215; %200元/吨  注意单位换算                     
Eperco2ccs = 0.269; %kg单位碳补集电功率kW                
PriG = 3.5;   %天然气的价格3.5元/m3                 
kWind = 1;  %风电放大比例(将风电调大,这样才会有弃风弃光,才会有电制氢和甲烷化的经济效益)                     
%%  常量初始化/变量初始化     
%%  风电预测MPPT     
EwindMppt = kWind*1000*[255  270  230  210  300  315  200  175  150  20   75  125  200  220  210  255  305  315  305  315  285  275  160  290 ];    
Eload=1000*[205  205   210  195  180  190  190  200  255  345  375  380  375  355  350  345  360  360  357  365  365  355  355  347 ];
Hload=1000*[ 300  325  340   350  370  365  365  340  315  300  280  270  250  245  245  245  245  250  252  260  270  290 295  310 ];
T=24;
%%   
m2qCH4 = 5.071e7;   % 天然气热值5.071*10^7J/kg  
m2qH2  = 1.4e8;     %氢气热值1.4*10^8 J/kg
q2e = 3.6e6;        %1kwh的电能相当于3.6e6J的热能              
v2mCH4 = 0.71428;   %1立方米天然气质量0.71428千克                   
v2mh2 = 89.9e-3;    %1立方米氢气质量89.9e-3千克          
v2mco2 = 1.964;    %1立方米co2质量1.964千克         
vch42mco2=1.9;      %一立方米天然气完全燃烧后可以生成二氧化碳的重量1.9kg
%%  风机
Ewind = sdpvar(1,24);
Ewindcur = sdpvar(1,24);
%%  燃气轮机
ECHPmax = 1000*350;  %燃气轮机电出力上限kW
ECHPmin =   0;
HCHPmax = 1000*300;  %燃气轮机热出力上限kW
HCHPmin =   0;  
ditaEHCHPmax = 1000*150;    %燃气轮机总功率爬坡上限kW
ditaEHCHPmin = -1000*150;  
nHCHP =0.4;   %可利用热能站混合燃气总热能的比例
nECHP =0.35;  %可利用电能站混合燃气总热能的比例
ECHP = sdpvar(1,24);  %燃气轮机电出力  
HCHP = sdpvar(1,24);  %燃气轮机热出力
EHCHP = sdpvar(1,24); %燃气轮机电热总出力
mco2CHP = sdpvar(1,24);%燃气轮机碳排放质量kg               
vco2CHP = sdpvar(1,24);%燃气轮机碳排放体积m3                                     
mCH4CHP = sdpvar(1,24);%质量kg               
mh2CHP  = sdpvar(1,24);%质量kg                   
vch4CHP = sdpvar(1,24);%体积:标准立方米   
vH2CHP  = sdpvar(1,24);%体积:标准立方米     %掺氢比例在10%-20%    %改为0%-20% 
%%  燃气锅炉
HGBmax = 1000*80;  %kW  燃气锅炉热出力上限          
HGBmin =  0;               
ditaHGBmax = 1000*25; %kW  燃气锅炉爬坡               
ditaHGBmin =-1000*25; %kW             
nHGB = 0.92;      %混合燃气热量  到  可利用热量  的转化系数        
HGB = sdpvar(1,24);                 
% qCH4GB = sdpvar(1,24);  %GB天然气热量J              
% qH2GB  = sdpvar(1,24);  %GB氢气热量J            
mCH4GB = sdpvar(1,24);  %GB天然气质量kg      
vco2CH4 = sdpvar(1,24);
mh2GB  = sdpvar(1,24);  %GB氢气质量kg             
vch4GB = sdpvar(1,24);  %GB天然气体积m3               
vH2GB  = sdpvar(1,24);  %GB氢气体积m3     %掺氢比例在2%-20%  %改为0%-20%            
mco2GB = sdpvar(1,24);  %GB二氧化碳质量kg
vco2GB = sdpvar(1,24);  %燃气轮机碳排放体积m3    
%%  电加热锅炉
EEBmax = 1000*40;%kW             
EEBmin =  0;                
ditaEEBmax =  1000*10;   %kW                
ditaEEBmin = -1000*10;  %kW                 
nEEB = 0.9;  %这个直接就是kWh电  到 kWh热,很简单              
EEB = sdpvar(1,24);  %kW电加热锅炉的耗电                        
HEB = sdpvar(1,24);  %kW电加热锅炉的产热                        
%%  火电机组
EMmax = 1000*162;%kW     %火电机组最大发电功率 kW                                   
EMmin = 1000*45;%kW      %火电机组最小发电功率 kW                                 
ditaEMmax = 1000*100;%kW %爬坡                      
ditaEMmin =-1000*100;%kW %爬坡                        
EM = sdpvar(1,24);    %火电机组发电功率kW   
YEM = binvar(1,24);   %火电机组启停变量(1是运行,0是停止) 
YEMqi = binvar(1,24);    %0变1
YEMting = binvar(1,24);  %1变0
mco2EM = sdpvar(1,24); %火电机组碳排放量kg                        
vco2EM = sdpvar(1,24); %火电机组碳排放量m3                        
mEM = sdpvar(1,24);   %煤耗  kg       
%%  电转气
nP2H = 0.85;       %电制氢效率 电能J转氢气热能J                  
EP2Hmax = 1000*120;%kW 电转气耗电功率上限                       
EP2Hmin =   0;     %
nCH4 = 0.7;        %甲烷化效率 氢气热能J转天然气热能J              
EP2H = sdpvar(1,24);   %耗电kW                     
mh2P2H =sdpvar(1,24);   %制氢kg                        
mh2CH4 =sdpvar(1,24);   %甲烷化耗氢kg             
mch4CH4 = sdpvar(1,24); %甲烷化制取天然气 kg   
vch4CH4 = sdpvar(1,24); %甲烷化制取天然气体积m3    
mco2CH4 = sdpvar(1,24); %甲烷化吸收co2  kg                 
%%  碳补集系统              
ECCSmin =   0;                                                                  
ECCSmax = 1000*150;  %kW  %碳补集耗电功率上限                                                           
VPFmax = 29200; %m3  %碳补集富液体积上限                                                    
VPFmin =     0;                                                                                                     
VPFstart =  14600;%m3                                  
ECCS = sdpvar(1,24);  %碳补集耗电功率kW   
mco2CCSin  =  sdpvar(1,24);  %吸收co2质量kg   
mco2CCSout  =  sdpvar(1,24);  %释放co2质量kg 
vco2CCSin  =  sdpvar(1,24);  %吸收co2体积m3                                  
vco2CCSout =  sdpvar(1,24);  %释放co2体积m3  
VF = sdpvar(1,24);
VP = sdpvar(1,24);
YCCSin = binvar(1,24);
​

3 下载链接 


http://www.ppmy.cn/devtools/22976.html

相关文章

小程序API wx.startLocationUpdateBackground 的使用

若使用该接口,需要在 app.json 中进行声明 requiredPrivateInfos: [getLocation,onLocationChange,startLocationUpdate,startLocationUpdateBackground],requiredBackgroundModes: [audio,location],代码: 1、使用wx.startLocationUpdateBackground需要…

Golang Colly下载小红书详情页面图片小爬虫

语言:Golang 库:Iris/Colly 目前网上相关内容比较少,查了很久才找到解决方法。 期间曾尝试使用 selenium 解决,但需要搭建 selenium server,就没有再折腾了。 直到找到:https://juejin.cn/post/7230780828795584567 虽然不是Colly实现的,但起码提供了解决思路~~ 抱…

php反序列化以及相关例题

目录 一、什么是序列化和反序列化? 二、相关函数 serialize()函数: unserialize()函数:反序列化 三、PHP序列化格式 四、序列化与反序列化的作用 五、各种数据类型序列化后的效果 六、魔术方法 七、反序列化的一些绕过 八…

ASP.NET前后端分离,WebApi。Vue3+ElementPlus+Axios+Pinia全流程教程

文章目录 前言1、.net core 执行过程2、中间件的执行过程3、AOP切面编程 Swagger添加Swagger注释 JWT1、解析2、配置JWT 配置SqlSugar0、引入SqlSugarCore包1、编写Context类2、配置实体类3、创建Service服务类进行数据库的CRUD4、配置Controller进行路由 依赖注入与IOCIOC依赖…

《机器学习by周志华》学习笔记-线性模型-03

1、多分类学习 1.1、背景 我们在上一节介绍了「线性判别分析(LDA)」,LDA的从二分类任务可以推广到多分类任务中。 而现实中常遇到的多分类学习任务。有些二分类的学习方法可以直接推广到多分类,但是更多情况下是基于一些策略,利用二分类学习器来解决多分类的问题。 1.…

【Stable Diffusion系列】(一):AI绘画本地部署教程

目录 一、总览 二、本地部署 1、安装cuda 2、安装python 3、安装git 4、方法一 1)获取安装包 2)update 3)run 5、方法二 1)git clone 2)双击webui-user.bat 3)更新 6、设置启动参数 7、…

SQLite的DBSTAT 虚拟表(三十六)

返回:SQLite—系列文章目录 上一篇:SQLite运行时可加载扩展(三十五) 下一篇:SQLite—系列文章目录 1. 概述 DBSTAT 虚拟表是一个只读的同名虚拟表,返回 有关用于存储内容的磁盘空间量的信息 的 SQLite 数据库。 示例用例…

《QT实用小工具·四十五》可以在界面上游泳的小鱼

1、概述 源码放在文章末尾 该项目实现了灵动的小鱼&#xff0c;可以在界面上跟随鼠标点击自由的游泳&#xff0c;项目demo演示如下所示&#xff1a; 项目部分代码如下所示&#xff1a; #include "magicfish.h" #include <QtMath> #include <QPainter>…