(文章复现)7.计及电转气协同的含碳捕集与垃圾焚烧虚拟电厂优化调度(MATLAB程序)

news2024/12/23 14:12:53

联系方式:2645521500

复现文章:

计及电转气协同的含碳捕集与垃圾焚烧虚拟电厂优化调度——孙惠娟(电网技术—2020)

摘要:

为了促进多能源互补及能源低碳化,本文提出了计及电转气协同的含碳捕集与垃圾焚烧虚拟电厂优化调度模型。通过引入碳捕集电厂–电转气–燃气机组协同利用框架,碳捕集的CO2 可作为电转气原料,生成的天然气则供应给燃气机组;并通过联合调度将碳捕集能耗和烟气处理能耗进行负荷转移以平抑可再生能源波动,使得风电/光伏实现间接可调度而被灵活利用。鉴于所建优化模型具有高维非线性的特点,求解难度大,本文设计一种新型的反余切复合微分进化算法对模型进行求解。仿真结果表明,所提出的模型和方法具备削峰填谷效用并能提升可再生能源消纳,可有效降低虚
拟电厂成本和碳排放量。

159f029f81544591833d9aa2f50fa391.png

部分程序:

%% 计及电转气协同的含碳捕集与垃圾焚烧虚拟电厂优化调度
%电转气-碳捕集电厂,垃圾焚烧电厂,虚拟电厂VPP,中断负荷
clc
clear
close all
%% 参数设定
P_C2P=sdpvar(1,24);  %CCPP-P2G系统的总能耗
P_P2G=sdpvar(1,24);  %P2G设备的能耗
P_CC=sdpvar(1,24);   %碳捕集能耗
P_WA=sdpvar(1,24);   %t时段弃风功率
P_VA=sdpvar(1,24);   %t时段弃光功率
P_OP=sdpvar(1,24);   %碳捕集运行能耗
P_GN=sdpvar(1,24);   %碳捕集电厂净出力
P_G=sdpvar(1,24);    %碳捕集电厂等效出力
P_GC=sdpvar(1,24);   %碳捕集电厂提供的碳捕集能耗
P_Galpha=sdpvar(1,24);   %碳捕集电厂的烟气处理能耗
Q_CC=sdpvar(1,24);   %CCPP-P2G系统捕集的CO2的总量,单位为吨
Q_P2Gsum=sdpvar(1,24);   %P2G消耗的CO2的总量,单位为吨
V_P2G=sdpvar(1,24);   %P2G生成的天然气的体积
P_alpha=sdpvar(1,24); %总烟气处理能耗
alpha_1=sdpvar(1,24); %t时刻进行烟气处理的烟气量中由垃圾焚烧电厂运行产生的烟气提供的部分
alpha_3=sdpvar(1,24); %t时刻进行烟气处理的烟气量中由储气装置提供的烟气量
P_WC=sdpvar(1,24); %风电机组提供的碳捕集能耗
P_VC=sdpvar(1,24); %光伏机组提供的碳捕集能耗
P_WIC=sdpvar(1,24); %垃圾焚烧电厂提供的碳捕集能耗
P_Valpha=sdpvar(1,24); %光伏机组提供的烟气处理能耗
P_Walpha=sdpvar(1,24); %风力机组提供的烟气处理能耗
P_WIalpha=sdpvar(1,24); %垃圾焚烧电厂提供的烟气处理能耗
P_WN=sdpvar(1,24); %风力机组的上网功率
P_VN=sdpvar(1,24); %光伏机组的上网功率
P_WIN=sdpvar(1,24); %垃圾焚烧电厂的上网功率
P_WI=sdpvar(1,24); %垃圾焚烧发电出力
Q_N=sdpvar(1,24); %碳捕集电厂的CO2的净排放量,单位为t/h
P_PH=sdpvar(1,24);  %CHP机组的输出总功率
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:24
    C=[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:24
    C=[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:24
    C=[C,P_alpha(t)==0.513*(alpha_1(t)+alpha_3(t)),]; %烟气处理系统能耗
end
%碳捕集-垃圾焚烧-风电-光伏联合运行策略
for t=1:24
    C=[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_WN(t)+P_WC(t)+P_Walpha(t)==P_W(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:24
    C=[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:24
    C=[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:24
    C=[C,
       P_GN(t)+P_WIN(t)+P_CHP(t)+P_WN(t)+P_VN(t)+P_ESD(t)+P_EM(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:24
    C=[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:24
    C=[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:24
    C=[C,
       0<=P_CHP(t)<=140, %CHP的电功率出力约束
       0<=H_CHP(t)<=160, %CHP的热功率出力约束
      ];
end
for t=2:24
    C=[C,-120<=P_PH(t)-P_PH(t-1)<=120,]; %CHP机组出力爬坡速率约束
end
%燃气锅炉热出力以及爬坡约束
for t=1:24
    C=[C,0<=H_GB(t)<=200,]; %燃气锅炉的热功率出力约束
end
for t=2:24
    C=[C,-100<=H_GB(t)-H_GB(t-1)<=100,]; %燃气锅炉的爬坡速率约束
end
%P2G运行约束
C=[C,0<=P_P2G<=200,];  %P2G运行功率上下限
%电储能和热储能约束
for t=1:24
    C=[C,
       0<=P_ESC(t)<=miu_ESC(t)*80, %充电上下限约束
       0<=P_ESD(t)<=miu_ESD(t)*80, %放电上下限约束
       0<=miu_ESC(t)+miu_ESD(t)<=1,%不可能同时出现充放电
       10<=S_ES(t)<=120, %储电量上下限约束
       0<=H_TSC(t)<=miu_TSC(t)*40, %充热上下限约束
       0<=H_TSD(t)<=miu_TSD(t)*40, %放热上下限约束
       0<=miu_TSC(t)+miu_TSD(t)<=1,%不可能同时出现充放热
       10<=S_TS(t)<=50, %储热量上下限约束
      ];
end
C=[C,S_ES_init==S_ES(24),S_ES(1)==S_ES_init*(1-0.001)+0.95*P_ESC(1)-P_ESD(1)/0.95,];
C=[C,S_TS_init==S_TS(24),S_TS(1)==S_TS_init*(1-0.01)+0.88*H_TSC(1)-H_TSD(1)/0.88,];
%中断负荷约束
%由于不知道参数,式(53)-(54)暂时省略
%垃圾焚烧电厂约束
C=[C,sum(P_WI)<=1500,]; %垃圾焚烧电厂日总出力上限
for t=1:24
    C=[C,
       60<=P_WI(t)<=100, %垃圾焚烧电站的出力上下限
       0.1*400<=V_WIalpha(t)<=0.9*400, %储气装置容量的上下限
       %0<=lambda_WI(t)<=1, %烟气分流比上下限
       %lambda_WI(t)==alpha_1(t)/(alpha_1(t)+alpha_2(t)), %垃圾焚烧电厂中流入反应塔烟气量与发电侧产生的烟气总量的比值
       0<=alpha_1(t)<=160,
       0<=alpha_2(t)<=160, %流入储气装置的上下限
       0<=alpha_3(t)<=160, %流出储气装置的上下限
      ];
end
for t=2:24
    C=[C,-40<=P_WI(t)-P_WI(t-1)<=40,]; %垃圾焚烧电站的爬坡速率约束(文中未给参数,取40)
end
for t=2:24
    C=[C,V_WIalpha(t)==V_WIalpha(t-1)+alpha_2(t)-alpha_3(t),]; %储气装置的容量变化约束
end
C=[C,V_WIalpha(1)==0.4*400+alpha_2(1)-alpha_3(1),];
C=[C,Q_CC==Q_CS+Q_P2G,Q_CS>=0,Q_P2G>=0,0<=P_VC,0<=P_WIC,0<=P_GC,];
C=[C,P_EM>=0,Q_P2Gsum-Q_P2G>=0,P_WIN>=0,0<=P_Valpha,0<=P_Walpha,0<=P_Galpha,0<=P_WIalpha,0<=P_WC,];
%% 目标函数
%C_F=200*24+17*sum(P_G)+0.04*P_G*(P_G')+270*sum(abs(sin(9.8/pi*180*(100-P_G)))); %考虑阀点效应的碳捕集电厂燃料费用
C_F=200*24+17*sum(P_G)+0.04*P_G*(P_G');
Q_Q=0.76*P_GN; %碳捕集电厂的碳排放配额

I_C=19.8*sum(Q_Q-Q_N); %碳交易市场收益

C_WI=19.8*(0.96-0.76)*sum(P_WI); %垃圾焚烧电厂成本
V_BUY=V_CHP+V_GB-V_P2G; %天然气购买量

C_H=0.419*sum(V_BUY); %CHP机组和燃气锅炉成本
Q_BUY=Q_P2Gsum-Q_P2G; %购买的二氧化碳的量

C_PG=120*sum(Q_BUY)+20*sum(P_P2G); %P2G成本
%Q_CS=Q_CC-Q_P2G; %封存的二氧化碳量

C_CS=4.89*sum(Q_CS); %碳封存成本
C_W=21.4*sum(P_W)+14.2*sum(P_V); %系统运行维护成本
C_M=sum(k_EM.*P_EM); %电力市场购电成本
Obj=C_F-I_C+C_WI+C_H+C_PG+C_CS+C_W+C_M;
%% 求解器求解
ops=sdpsettings('solver','cplex','verbose',2,'usex0',0);
ops.cplex.mip.tolerances.mipgap=1e-6;
result=optimize(C,Obj,ops);

if result.problem == 0 % problem =0 代表求解成功 
    
else
    error('求解出错');
end

输出结果:

633a9d182072441baeb371f30716cbb4.png

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

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

相关文章

有手就会做,保姆级Jmeter分布式压测操作流程(图文并茂)

分布式压测原理 分布式压测操作 保证本机和执行机的JDK和Jmeter版本一致 配置Jmeter环境变量 配置Jmeter配置文件 上传每个执行机服务jmeter chmod -R 755 apache-jmeter-5.1.1/ 执行机配置写自己的ip 控制机配置所有执行机ip,把server.rmi.ssl.disable改成true 将本机也作…

Java-1208

JVM与Java体系结构 JVM整体结构&#xff08;上图主要针对hotspot虚拟机&#xff09; 类加载器&#xff1a; 将字节码文件加载进去&#xff0c;并不一定是java字节码文件&#xff0c;很多语言都会编译成字节码文件使用JVM 运行时数据区&#xff1a; 方法区和堆&#xff1a;使用了…

毕业设计 STM32单片机智能WiFi天气助手 - 物联网 单片机

文章目录0 前言1 设计内容2 软件设计3 关键代码4 最后0 前言 &#x1f525; 这两年开始毕业设计和毕业答辩的要求和难度不断提升&#xff0c;传统的毕设题目缺少创新和亮点&#xff0c;往往达不到毕业答辩的要求&#xff0c;这两年不断有学弟学妹告诉学长自己做的项目系统达不…

Go设计与实现--数组与切片

数组 初始化 Go语言数组的初始化是在编译期就已经执行好了。这个是初始化的代码&#xff1a; // NewArray returns a new fixed-length array Type. func NewArray(elem *Type, bound int64) *Type {if bound < 0 {base.Fatalf("NewArray: invalid bound %v", …

Security实现前后端分离

Security实现前后端分离 说明 ​ 上一篇和上上一篇我大致介绍了一下security基础使用和oauth2的一些流程&#xff0c;这里在深入了解一些相关的配置项。 ​ 首先我们在梳理一下相关概念&#xff0c;首先基本的security是负责用户认证这这一环节&#xff0c;总而言之就是用户…

PCB入门学习—原理图的绘制1(MCU部分)

目录 2.1 STM32F103VET6 MCU核心电路的绘制 学习目录 2.1 STM32F103VET6 MCU核心电路的绘制 总结&#xff1a;放置元件&#xff0c;连线&#xff0c;放置网络标号&#xff0c;更新序号。 主控放上去之后原理图图纸不太够&#xff1a;双击右边边缘&#xff0c;默认图纸大小是…

【Java小案例】从简到精完美判断年份是闰/平年和该年二月份有几天

目录前言问题描述思路分析解决方案方案一方案二方案三方案四结语前言 1、平年指阳历没有闰日或农历没有闰月的年份&#xff0c;闰年是公历中的名词&#xff0c;是为了弥补因人为历法规定造成的年度天数与地球实际公转周期的时间差而设立的&#xff0c;补上时间差的年份为闰年&a…

QA | SWCF2022 笔记:GNSS模拟赋能汽车HIL测试

2022年度SWCF卫星通信与仿真测试研讨会正在进行中&#xff0c;精彩演讲&#xff1a;GNSS模拟赋能汽车HIL测试&#xff0c;感谢大家的观看与支持&#xff01;收到一些粉丝的技术问题&#xff0c;我们汇总了热点问题并请讲师详细解答&#xff0c;在此整理分享给大家&#xff01; …

高通平台开发系列讲解(UART篇)高速串口代码流程

文章目录 一、初始化1.1、Registration with the SPS driver1.2、UART port registration二、Port open三、Port close沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇章主要介绍高通平台高速串口代码流程。 一、初始化 初始化流程: msm_serial_hs_init() ->

数据传送指令MOV、XCHG

学习过程中要重点掌握对标志寄存器的影响 数据传送类指令&#xff08;不影响标志位&#xff09; 一&#xff1a;MOV指令 先要知道图片中这几个英文表示什么 立即数&#xff08;immediaate operand&#xff09; 寄存器&#xff08;register&#xff09; 内存&#xff08;…

WEB前端大作业HTML静态网页设计旅游景点区主题——三亚旅游网页设计

家乡旅游景点网页作业制作 网页代码运用了DIV盒子的使用方法&#xff0c;如盒子的嵌套、浮动、margin、border、background等属性的使用&#xff0c;外部大盒子设定居中&#xff0c;内部左中右布局&#xff0c;下方横向浮动排列&#xff0c;大学学习的前端知识点和布局方式都有…

基于Java+Swing实现超级玛丽游戏

基于JavaSwing实现超级玛丽游戏一、系统介绍二、功能展示三、其他系统一、系统介绍 超级玛丽小游戏的JAVA程序&#xff0c;进入游戏后首先按空格键开始&#xff0c;利用方向键来控制的马里奥的移动&#xff0c;同时检测马里奥与场景中的障碍物和敌人的碰撞&#xff0c;并判断马…

JVM八股文,面试会被问到什么?都在这里啦 ~

目录 1、JVM内存划分 1.1、程序计数器&#xff08;Program Counter Register&#xff09; 1.2、方法区&#xff08;Method Area&#xff09; 1.3、本地方法栈&#xff08;Native Method Stacks&#xff09; 1.4、虚拟机栈&#xff08;JVM Stacks&#xff09; 1.5、Java堆…

溢出的文字省略号显示

溢出的文字省略号显示 1、单行文本溢出显示省略号 源代码 必须满足三个条件&#xff1a;white-space: nowrap; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; nowrap强制一行内显示文本(默认normal自动换行)&#xff0…

vscode跨语言调试

所谓“工欲善其事&#xff0c;必先利其器”&#xff0c;作为一个程序员&#xff0c;调试在项目开发过程中的重要性自然是不言而喻的。 最近项目中遇到的项目是由python和cpp完成的&#xff0c;python端会调用到cpp的库。由于做二次开发需要进行跨语言联调&#xff0c;所以在这…

QList与QVector遍历方法与性能比较

目录 一、 性能测试 二、 QList与QVector耗时对比分析 三、QList遍历方式对比分析 四、QVector遍历方式对比分析 一、 性能测试 最近使用opengl画点云数据时发现比较卡顿&#xff0c;原因是我使用了QList数据结构&#xff0c;后面改为QVector改善很多&#xff0c;速度提升1倍。…

什么是数学思维

什么是数学 数学 [英语&#xff1a;mathematics&#xff0c;源自古希腊语μάθημα&#xff08;mthēma&#xff09;&#xff1b;经常被缩写为math或maths]&#xff0c;是研究数量、结构、变化、空间以及信息等概念的一门学科。 数学 是人类对事物的抽象结构与模式进行严格…

大学生影视主题网页制作 HTML+CSS+JS仿360影视网站 dreamweaver电影HTML网站制作

HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置&#xff0c;有div的样式格局&#xff0c;这个实例比较全面&#xff0c;有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 文章目录一、网页介绍一…

数据结构:排序

目录 插入排序 插入排序 希尔排序 选择排序 选择排序 堆排序 交换排序 冒泡排序 快速排序 递归实现&#xff1a; ●hoare版本 ●三数取中小区间法优化 ●挖坑版本 ●双指针版本 非递归 ●用栈实现 ●用队列实现 归并排序 ● 递归 ●非递归 总结 来了朋友&a…

slot的理解

首先&#xff0c;大概了解一下插槽&#xff1a; 插槽是什么 ![在这里插入图片描述](https://img-blog.csdnimg.cn/90b04660769e49c286ee2e1821d2a2bb.png 插槽&#xff1a;在HTML中 slot 元素 &#xff0c;作为 Web Components 技术套件的一部分&#xff0c;是Web组件内的一个占…