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

news2024/11/16 3:33:26

目录

1 主要内容

系统结构图

P2G-CCS 耦合模型

其他算例对比

2 部分代码

3 下载链接


主要内容

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

  • 系统结构图

  • 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 下载链接

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

嵌入式系统中C++内存管理基本方法

引言 说到 C 的内存管理,我们可能会想到栈空间的本地变量、堆上通过 new 动态分配的变量以及全局命名空间的变量等,这些变量的分配位置都是由系统来控制管理的,而调用者只需要考虑变量的生命周期相关内容即可,而无需关心变量的具…

如何在 Windows 上安装 ONLYOFFICE 协作空间社区版

ONLYOFFICE 协作空间是一个在线协作平台,帮助您更好地与客户、业务合作伙伴、承包商及第三方进行文档协作。今天我们来介绍一下,如何在 Windows 上安装协作空间的自托管版。 ONLYOFFICE 协作空间主要功能 使用 ONLYOFFICE 协作空间,您可以&a…

【彩色图像处理GUI】各种颜色映射、重新调整大小和更改分辨率、伽玛校正,对比度,反转颜色(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

【洛谷 P1216】[USACO1.5] [IOI1994]数字三角形 Number Triangles 题解(动态规划)

[USACO1.5] [IOI1994]数字三角形 Number Triangles 题目描述 观察下面的数字金字塔。 写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。 在上面的样例中,从 7 → 3 → 8 →…

Linux系统编程系列之POSIX信号量

一、什么是POSIX信号量 POSIX信号量是一种用于线程之间同步和互斥的机制,它是由POSIX标准定义的一种IPC(进程间通信)机制,可以用于进程间或线程间的同步操作。POSIX信号量分成两种,POSIX匿名信号量和POSIX具体信号量。…

S-Clustr(影子集群)可控制嵌入式设备和个人电脑的僵尸网络工具

公告 项目地址:https://github.com/MartinxMax/S-Clustr/tree/V1.0.0 1.成功扩展3类嵌入式设备,组建庞大的"僵尸网络" |——C51[开发中] |——Arduino |——合宙AIR780e[开发中] 2.攻击者端与服务端之间通讯过程全程加密,防溯源分析 3.Generate一键自动生成Arduino…

deterministic=True requires SQLite 3.8.3 or higher

文章目录 出错来源解决方法 出错来源 在我的centos服务器执行Django网站 python manage.py runserver报错: deterministicTrue requires SQLite 3.8.3 or higher解决方法 pip3 install pysqlite3 pip3 install pysqlite3-binary找到下载的模块路径,修…

十天学完基础数据结构-第二天(数据结构简介)

什么是数据结构? 在计算机科学中,数据结构是一种组织和存储数据的方式。它定义了数据的布局,以及对这些数据执行的操作。你可以把数据结构看作是计算机内存中的特定组织方式,就像图书馆中书籍的排列一样。 数据结构可以是各种形…

STM32复习笔记(一):软件配置工程创建

目录 Preface: Hardware-Configuration & Software-Environment: (一)新建项目工程 (二)工程配置 (三)配置外设 (四)项目管理 (五&…

qml保姆级教程二:qml基本数据类型

💂 个人主页:pp不会算法v 🤟 版权: 本文由【pp不会算法v】原创、在CSDN首发、需要转载请联系博主 💬 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦 QML系列教程 QML教程一:布局组件 文章目录 boolrealdouble…

Jmeter如何做压力测试

1.哪些业务需要做压力测试? 比较常用的业务场景或功能模块 单业务场景或多业务场景 项目要求做的业务场景 2.压力测试的并发数是多少? 有预期的数值?100 200 300一次性达到还是逐次增加?参照上次性能测试的结果 3.关注哪些参…

【代码随想录】LC 704. 二分查找

文章目录 前言一、题目1、原题链接2、题目描述 二、解题报告1、思路分析2、时间复杂度3、代码详解 三、知识风暴 前言 本专栏文章为《代码随想录》书籍的刷题题解以及读书笔记,如有侵权,立即删除。 一、题目 1、原题链接 704. 二分查找 2、题目描述 二…

cmake安装

Windows下安装Cmake教程 注意下载二进制版本的:

将3D MAX设计模型导入NX1988

将3D MAX设计模型导入NX1988 概述导入流程导出喜欢的模型对模型进行修改模型贴图 概述 一般家装设计都不会用NX之类的产品设计软件,也没有通用的文件格式可以互相转换,本文的目的是将从网上下载的一些设计较好的3D MAX模型导入到NX软件中借用&#xff0…

【11】c++设计模式——>单例模式

单例模式是什么 在一个项目中,全局范围内,某个类的实例有且仅有一个(只能new一次),通过这个唯一的实例向其他模块提供数据的全局访问,这种模式就叫单例模式。单例模式的典型应用就是任务队列。 为什么要使…

Java新特性中的Preview功能如何运行和调试

在每个Java新版本发布的特性中,都会包含一些Preview(预览)功能,这些功能主要用来给开发者体验并收集建议。所以,Preview阶段的功能并不是默认开启的。 如果想体验某个Java版本中的Preview功能,您还需要做一…

C# 集合

C# 集合 集合集合接口和类型列表队列栈链表有序表字典LoopupHashSet位数组 集合 数组的大小是固定的。如果元素个数是动态的,就应使用集合类。List 和 ArrayList 是与数组相当的集合类。还有其他类型的集合:队列、栈、链表和字典。 集合接口和类型 集…

FL Studio21.1.0水果中文官方网站

FL Studio 21.1.0官方中文版重磅发布纯正简体中文支持,更快捷的音频剪辑及素材管理器,多样主题随心换!Mac版新增对苹果M2/1家族芯片原生支持。DAW界萌神!极富二次元造型的水果娘FL chan通过FL插件Fruity Dance登场,为其…

数据结构-----平衡二叉树

目录 前言 1.平衡二叉树 1.1概念与特点 1.2与二叉排序树比较 1.3判断平衡二叉树 2.平衡二叉树的构建 2.1平衡因子 BF 2.2 LL型失衡(右旋) 2.3 RR型失衡(左旋) 2.4 LR型失衡(先左旋再右旋) 2.5 RL…

springboot 集成 PageHelper 分页失效

前言 项目启动初期,在集成mybatis的分页插件,自定义封装了一个分页的工具类,方便后期项目的扩展。部分的代码如下: /*** 分页查询* 进行count计算** param pageNum 页数* param pageSize 每页数量* param supplier 查询操作* re…