ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

含碳捕集与电转气的垃圾焚烧虚拟电厂优化调度建模

含碳捕集与电转气的垃圾焚烧虚拟电厂优化调度建模 去年有一段时间我一直在带课题组做虚拟电厂与综合能源调度方向的模型。“计及电转气的含碳捕集与垃圾焚烧虚拟电厂优化调度”这个题目最初是一位合作单位工程师给我的需求他们运营着一座垃圾焚烧发电厂想评估如果把碳捕集和电转气都搬进厂里整个虚拟电厂该怎么排产、怎么应对电价波动和碳约束。说实话我第一反应是怀疑——碳捕集要耗电电转气也要耗电两个“电老虎”凑在一起调度到底图什么等模型建完、算例跑完我才发现自己低估了这两台设备和焚烧机组之间的耦合关系。这篇文章把我实际搭模型时的思路完整拆开讲一遍系统边界怎么划、焚烧机组和传统火电建模有什么本质区别、电-气-碳三条流在哪里交汇、优化问题如何写成可求解的MILP形式、算例怎么设计才能说明问题以及最后那些只有真正跑过模型才会踩的坑。适合准备拿这个方向做选题的研究生或者正在做垃圾焚烧电厂灵活性改造预研的工程师按这套思路基本能复现一版可运行的日前调度模型。1. 先把系统边界和角色定位想清楚1.1 为什么是“垃圾焚烧”而不是普通火电虚拟电厂本身不发电它做的事情是把分散的资源聚合起来像一个电厂一样参与调度和市场。一般的虚拟电厂会聚合风电、光伏、储能、可调负荷而这里多了一个特殊角色垃圾焚烧机组。垃圾焚烧机组和燃煤机组最大的差异是“燃料不可控”。燃煤电厂的煤可以按计划采购、储存、搭配调度员想让机组多发就多发但垃圾焚烧电厂烧的是城市当天收运来的生活垃圾环卫车拉来了你就必须处理掉否则第二天城区的垃圾就堆成山。所以它的发电出力不是纯市场化决策而是“处理垃圾”这个刚性任务的副产品。焚烧炉的运行方式也和锅炉不一样。为了保证二噁英充分分解焚烧炉膛温度通常要维持在850℃以上这意味着机组不能轻易深度调峰或压火垃圾的热值又不稳定夏天瓜果皮多、冬天塑料多同样的处理量对应的热功率可能差出一大截。再加上机械炉排的惯性焚烧机组的爬坡速率通常比燃煤机组慢很多。对比项燃煤火电机组垃圾焚烧机组燃料来源可按需采购、掺配城市垃圾收运量决定不可中断刚性约束发电计划、环保排放垃圾必须当日处理炉温需持续维持调节能力中等偏上可启停调峰长期连续运行深度调峰受限碳排放口径化石碳为主化石碳生物源碳混合收益构成电能量辅助服务电能量垃圾处理费碳相关收益垃圾焚烧机组的建模如果直接套燃煤机组模型调度的结果会很“好看”但实际根本执行不下去。这算是我踩过的第一个坑后面会细说。1.2 CCS和P2G在这个系统里到底是生产设备还是负荷碳捕集系统CCS在运行边界上是一个“可控负荷”。它可以通过调节捕集率让自身耗电在零和满负荷之间变化当它从汽轮机抽汽作为再生热源时还会折减机组的电出力。不捕集时是旁路运行捕集时就是一个可以随时调整的灵活负荷。这里面有个很容易被忽略的调度价值弃风弃光高峰时提高捕集率就等于给系统增加用电负荷相当于把原来需要储能做的事情用碳捕集的“运行模式”做了一部分。电转气P2G更复杂一些它同时是柔性电负荷、气源和碳汇。电解槽吃电、产出氢气氢气再和二氧化碳甲烷化得到的就是可以直接进燃气管道或储气罐的合成天然气。从电网侧看它是一台可以启停、可以调节功率的用电设备从气网侧看它是一个天然气源从碳账本看它消耗了碳捕集装置捕下来的二氧化碳。这三个身份叠加在一起让它成了整个虚拟电厂里最有调度灵活性的成员。不过P2G在物理上并不是一台单一设备而是“电解槽氢气缓冲罐甲烷化反应器压缩机”的级联装置。电解槽对功率波动有一定耐受度但甲烷化反应器对氢碳比和温度很敏感启停和快速变负荷都有困难。建模时如果把它简化成“功率调大就多产气”的线性设备会高估它的调节能力。1.3 模型边界聚合什么、外购什么、时间尺度怎么定我建议把研究对象画成这样虚拟电厂内部聚合风电、光伏、储能、垃圾焚烧机组、碳捕集装置、电转气装置、储气罐和储CO2罐外部交互有三条一是向上级电网购电或售电二是从天然气网购气或向气网售气三是参与碳市场做配额结算。负荷侧可以放一个区域电负荷和相应的用气负荷这样电平衡、气平衡、碳平衡都能闭合。时间尺度上日前调度按1小时一个时段是比较稳妥的起点。15分钟颗粒度会让整数变量数量成倍上升求解时间可能从几分钟变成几小时。交流潮流在虚拟电厂聚合层面的应用价值不大母线功率平衡模型已经足够回答“CCS和P2G在什么时段运行最划算”这类问题。想精细到网架潮流那是输配电系统层面的另一套工作。2. 元件建模垃圾焚烧、碳捕集、电转气各自的水有多深2.1 垃圾焚烧机组炉温和处理量才是硬约束垃圾焚烧机组的热功率输入可以写成P_thermal(t) M(t) × LHV × η_boiler其中M(t)是时段内的垃圾处理量LHV是垃圾低位热值η_boiler是焚烧锅炉效率。汽轮发电机组再把热功率转换为电出力整体纯凝发电效率通常在20%-27%之间。以日处理800吨的典型中型焚烧电厂为例吨垃圾发电量大约在300-550 kWh折算下来装机容量差不多在20-30 MW量级。建模时有三个约束绕不开。第一是当日处理总量城市环卫系统每天送来的垃圾量M_collect基本是给定的调度必须在一天内完成所以所有时段的处理量之和要等于M_collect。第二是处理量上下限焚烧炉不能压得太低太小了炉温维持不住二噁英控制就成了环保事故太大则超过炉排和烟气处理系统的能力。第三是运行连续性焚烧炉是长期运行设备尽量避免启停在模型中通常直接把它设成“必开机组”来压低整数变量数量。垃圾热值的波动对模型结果影响很大。我常用的做法是用一个随时间变化的LHV曲线来描述“早晚高峰垃圾水分低、热值高凌晨水洗后垃圾热值偏低”这种日内规律比用固定值更贴近实际。2.2 碳捕集装置捕集效率可以连续调但需要0-1变量燃烧后胺法捕集是垃圾焚烧电厂最现实的碳捕集路线。它从烟气中吸收CO2再用蒸汽加热再生气释放高浓度CO2。这里有两个物理量要分开一个是烟气里的CO2总量它正比于垃圾处理量和垃圾含碳率另一个是实际捕集量由捕集效率λ决定。E_exhaust(t) μ_CO2 × M(t) E_capture(t) λ(t) × E_exhaust(t) E_emit(t) (1 - λ(t)) × E_exhaust(t)捕集效率λ不能无限高胺法工程上一般取0.80-0.90。捕集能耗包括再生塔的热耗和压缩机的电耗热耗通常为2.5-4.0 GJ/tCO2如果从汽轮机中压缸抽汽相当于每捕集1吨CO2会损失约0.3-0.5 MWh的电出力电耗再叠加进去总等效电耗在0.4-0.6 MWh/tCO2左右。建模时需要引入一个0-1变量来表示碳捕集系统是否投入运行。系统停运时是旁路状态烟气直接经烟气净化系统排放系统投入后捕集率可以在给定范围内连续调整。这个“可调范围”使得碳捕集装置有了负荷调节能力系统需要消纳风电时把捕集率从80%提到90%电网峰荷需要出力时把捕集率降到下限省下来的抽汽就能多发电。2.3 电转气先搞懂效率再做运行约束电转气的核心化学反应是Sabatier反应CO2 4H2 → CH4 2H2O从工程效率角度看我会先算一笔账这笔账决定了整个模型的可行性判断。电解水制氢的先进水平大约是5 kWh/Nm3H2按化学计量比1 Nm3CH4需要4 Nm3H2也就是每立方米合成天然气大约消耗20 kWh电和1 Nm3CO2。甲烷的低位热值约为9.97 kWh/Nm3所以电转气的综合效率大概在50%左右其余能量变成了反应热理论上可以回收但工程上未必都收得回来。产气量和耗电量的线性关系可以写成Q_CH4(t) η_p2g × P_p2g(t) / LHV_CH4其中η_p2g取0.50-0.55。CO2消耗量则按每Nm3甲烷需要1.96 kg CO2折算也就是说一座10 MW的P2G装置满负荷运行24小时耗电240 MWh产甲烷约12,000 Nm3同时消耗约23.5吨CO2。运行约束部分电解槽有最小稳定运行功率一般不能低于额定功率的10%-20%甲烷化反应器对爬坡速率有要求建议设一个不超过每小时20%-30%额定产气量的爬坡限制反应器启停代价大最好也用一个0-1变量控制是否运行避免调度模型频繁启停造成工程上无法执行的情况。储气罐的作用是解耦产气和用气在时间上的不匹配燃气可以存起来等到电价低时产、气价高时卖。2.4 储能、风电和光伏的钱要花在刀刃上储能模型相对成熟用SOC递推方程就行。风电和光伏的接入给系统带来了不确定性建模上我建议先做两件事一是把历史出力做场景削减选出5-10个典型场景二是给风电光伏加上可弃的限制弃风弃光在模型中应该被允许但要放到目标函数里作为惩罚项这样P2G和CCS才有“消纳可再生能源”的价值体现。如果强制要求全额消纳模型直接就牺牲经济性来做减碳得出的结果不具备参考意义。3. 三流耦合电、气、碳到底在哪个节点交汇3.1 电网侧一条母线把所有功率穿起来所有用电和发电最终都要落到电功率平衡上P_grid(t) P_wind(t) P_pv(t) P_wte(t) P_discharge(t) P_load(t) P_ccs(t) P_p2g(t) P_charge(t)左边是电源侧加购电右边是负荷加耗电设备。注意这里P_p2g和P_ccs都出现在负荷侧它们是虚拟电厂内部的“可控负荷”也是整个调度模型的调节抓手。P_grid可以拆成购电和售电两个非负变量通常购电价和上网电价不一样拆开后目标函数里才好分别计价。这个平衡式看着简单但它是全模型的核心骨架。每次调试运行时不收敛我都会先看这个等式两边能不能对上这是最快的排错方式。3.2 天然气侧储气罐就是缓冲池P2G产出的合成天然气要有一个去处。最简单的模型是接一个储气罐调度周期结束时储气量回到初始值附近这样模型不会把一天的气都产出在某个时段。Q_p2g(t) Q_buy(t) Q_gas_load(t) Q_inject(t) - Q_withdraw(t)储气罐的SOC递推和电池类似只是效率和容量的物理量纲换成立方米和立方米/时。如果周边有燃气机组模型还可以把燃气机组作为一个气转电的下游需求构成“电-气-电”循环不过在我处理过的场景里燃气机组通常是外部对象内部只保留储气和售气出口就够了。3.3 碳流闭环捕集、利用、排放的账怎么记碳流是这个模型最容易算错的地方。我的处理思路是这样的垃圾焚烧烟气里的CO2总量等于处理量乘排放因子其中一部分被捕集捕集的那部分再被P2G消耗剩下真正排放到大气中的是烟气未被捕集的部分。E_net(t) E_exhaust(t) - E_capture_used(t)这里有一个资产口径问题如果P2G产出的甲烷最终在别处燃烧那被“利用”的CO2又会变成排放只是排放的时间和地点换了。在虚拟电厂内部结算时我们只对“本系统边界内的净排放”负责。也就是说捕集后用于P2G的CO2在本系统内是循环利用不算当期外排但如果对外宣称减碳效果需要明确这是碳循环还是碳封存这是两个完全不同的概念。耦合的精彩之处在于CCS捕集的CO2不是废弃物而是P2G的原料。没有CCSP2G要么花高价外购CO2要么因为缺碳源而无法满负荷运行没有P2GCCS捕下来的CO2要么压缩运输去封存要么就地液化储存哪一样都是成本而不是收益。两者一接上碳从“要花钱处理的废物流”变成了“能产气卖钱的原料流”。3.4 非线性从哪里来又该怎么处理构成主要非线性的是三个乘法关系捕集能耗与捕集量之间是乘积关系P2G转化效率在不同负荷率下会有变化碳排放成本和排放量的乘积是二次的。工程上最省事的处理方法是分段线性化。比如把P2G的效率曲线按负荷率分成三段每段用一个线性斜率模型就变成混合整数线性规划MILP交给Gurobi或CPLEX求解就很稳。逻辑关系方面比如“CCS不运行时P2G不能从厂内获取CO2”这种约束用大M法加0-1变量就能表达。加上这些线性化之后模型规模和求解难度都在可控范围内。4. 优化问题落成MILP目标函数、关键约束和求解器4.1 目标函数成本项要一项项拆不能只写“总成本最小”我的日前调度目标函数长这样min ∑[ C_buy(t)×P_buy(t) − C_sell(t)×P_sell(t)C_gas_buy(t)×Q_buy(t) − C_gas_sell(t)×Q_sell(t)C_co2(t)×(E_net(t) − E_quota(t))SUC_burn(t) SUC_p2g(t)C_curtail(t)×(P_wind_avail(t) − P_wind(t)) ]拆开看就是购电成本减去售电收益加上购气成本减去售气收益再加上碳交易成本、设备启停成本、弃风弃光惩罚。垃圾焚烧机组在这里比较特殊它的核心收入来自垃圾处理费在运行调度模型中处理费是固定收益不影响时段间决策所以可以不放进目标函数。碳交易这个约束我用了配额制设定一个碳排放配额如果净排放超过配额就要买入碳配额低于配额则可以卖出获得收益。碳价是外部参数在算例里可以按情景设定这样结果能体现出“碳价高低对调度策略的影响”。4.2 关键约束的数学化表达功率平衡、储气SOC这些最基础的约束按前面建好的元件模型逐条加进去。有几条相对容易出错的我要特别提醒第一垃圾处理总量约束必须是硬约束∑M(t) M_collect不能加罚函数替代否则模型为了省钱会把垃圾处理量压到零虽然目标函数“好看”了但物理上完全不可行。第二CCS的捕集能耗要加上抽汽折减的发电损失这个损失相当于减少了焚烧机组的可调出力上限。第三P2G的产气量要和CO2消耗量绑定中间还应有一个储CO2罐来解耦“捕集”和“利用”在时间上的错配否则模型需要每个时段捕集量都必须正好等于利用量可行域会被压得非常窄。逻辑约束示例# 用大M处理P2G产气和碳捕集的联动 # yccs[t]1 表示CCS运行ep2g[t]为CO2消耗量 ep2g[t] bigM * yccs[t] ep2g[t] eta_capture * mu_co2 * M_proc[t]这种写法可以保证P2G只能消耗系统中实际捕集下来的CO2不能让模型“凭空消耗”二氧化碳。4.3 不确定性先跑场景法再考虑鲁棒风电光伏出力有波动最稳妥的起步做法是场景法把天气历史数据聚类成几个场景每个场景给一个概率目标函数改成期望成本。这样模型能够回答“在典型风况下CCS和P2G应该如何运行”的问题。想要更严谨再往分布鲁棒方向走。用Wasserstein距离构造模糊集把场景法得到的经验分布在模糊集内做最坏情况优化求得的结果对分布偏移有更好的鲁棒性。不过说实话对于垃圾焚烧虚拟电厂的日前调度最大的不确定性往往不是风光而是垃圾热值和市场电价。这两个量在场景生成时优先级应该排在风光之前。求解器方面我习惯用Python调Gurobi模型规模在24时段、两台焚烧机组、5个场景的情况下整数变量大概一两千个求解时间通常在一分钟以内完全够用。5. 算例设计四个对比方案能说明什么5.1 算例参数怎么搭才有说服力搭算例时最忌讳的是所有参数都“拍脑袋”。我的做法是找一个中型城市垃圾焚烧电厂的真实轮廓日处理垃圾800吨装机容量25 MW配置5 MW风电、3 MW光伏、5 MW/20 MWh储能、10 MW电转气装置和一套能处理90%烟气CO2的碳捕集系统。垃圾热值取10 MJ/kg排放因子取0.7 tCO2/t垃圾P2G综合效率55%。电价采用峰谷价差明显的曲线谷时0.25元/kWh峰时0.75元/kWh。碳价先设一个中性情景40元/t然后在敏感性分析中再从0元扫到120元/t看策略转折点出现在哪里。这套参数不一定要绝对精确但每个数都要有来源可查审核论文或项目报告时才不会被问住。5.2 四种方案跑出来的差异我一般会设计四个方案做对比方案碳捕集电转气说明A无无基准场景B有无只看碳捕集单独作用C无有P2G需外购CO2D有有本文讨论的完整耦合系统跑完结果典型结论是这样的方案B的运行成本比A高因为它多了一台耗电设备尽管减少了碳交易支出但在中等碳价下不足以覆盖成本方案C的P2G因为外购CO2价格高利用率很低弃风率改善有限方案D的总成本在碳价较低时比A高但当碳价上升到某个临界值后反而低于B甚至低于A。更有意思的是弃风弃光率指标。方案D的弃风弃光率通常能比A下降10-20个百分点原因是峰谷两个低谷时段P2G和CCS同时增耗电正好把原本要弃掉的风光余电“吃”掉了。这个消纳收益在目标函数里未必直接显现为电费节省但叠加碳交易收益和售气收益后整体经济账就活了。5.3 结果图应该盯哪几条曲线我拿到求解结果后从来不会只看总成本数而是先看四个关键曲线一是电功率平衡图确认P2G和CCS的用电曲线是否出现在电价低谷二是捕集率曲线看它是不是在弃风时段升高三是储气罐SOC曲线确认产气和用气在时间上被合理解耦四是碳净排放累积曲线看哪个时段碳排放强度最高。有一次跑出来发现P2G在凌晨三点启动但储气罐SOC显示产出的气根本存不下仔细排查才发现储气罐容量设小了。这种问题光看总成本是发现不了的所以建议你也养成看曲线细节的习惯。6. 踩过的坑与工程落地时的现实考验6.1 垃圾热值和排放因子的口径陷阱垃圾焚烧的排放因子是一个很容易被做高估的环节。垃圾里有一部分是可再生来源的生物质碳比如厨余、纸张、木竹焚烧它们产生的CO2在生命周期口径下属于短周期碳循环不能和塑料这类化石碳混为一谈。很多文章把两者合并成一个总排放因子然后减碳效果就有水分了。我的建议是把排放因子拆成两项化石碳因子和生物碳因子模型里分别跟踪。如果以后要做“负排放”或“碳移除”的叙事必须明确只有化石碳捕集和封存才是真正的减排生物碳部分只能算“加速碳循环回归”。这个口径说清楚评审和业主都能理解。6.2 求解无可行解的排查顺序MILP模型给你返回“infeasible”的时候不要慌。我的排查顺序固定是这样第一步查平衡约束母线功率平衡和气体平衡是不是漏了时段第二步查储物约束储气罐SOC初值和终值设置有没有冲突第三步查总量约束垃圾处理总量和机组上下限是否矛盾比如总收运量800吨但机组日最小处理量只能到750吨那就无解了第四步查大M系数取太小会把可行域错误切除取太大又会出现数值病态。大部分第一次建模的人会栽在垃圾处理总量和机组最小处理量的矛盾上因为这两者单独看都没有问题放在一起就冲突了。6.3 模型复杂度爆炸的应对思路把东西都建进去之后模型规模很容易失控。我的经验是可以做三个降维操作一是把焚烧机组的启停变量直接固定为1因为城市固废处理决定了焚烧机组必须连续运行“燃煤机组式”的启停优化在垃圾焚烧场景里没有意义二是把24个时段按负荷特性聚合成几段做预调度得到一个粗略的启停和运行计划再回到完整时段细化三是先跑确定性模型模型通过后再加场景。如果还是慢就果断放弃15分钟颗粒度回到1小时颗粒度。先证明调度策略本身是对的再追求时间精度。6.4 对外汇报时的表达底线每次给合作方汇报时我都会提醒自己避免一个表述“实现了零碳运行”。这不可能。P2G产出的甲烷只要被燃烧利用CO2最终还是会回到大气流程只是把化石源碳的排放时间延迟了或者把生物源碳的排放路径改了一下中间绕过了一圈能源转换。真正的零碳需要把CO2封存在地下或长期固化在材料里那不是运行调度模型能承诺的事。在写结论时我会用“单位供电碳排放强度下降”和“碳循环利用率提升”这类表述既准确又不夸大。另一个现实提醒是经济性的外部依赖整个系统在碳价偏低、弃电率偏高的环境下最有利如果碳价很低、天然气价格又高P2G的经济账就很难算平这时与其硬建不如先做气价和碳价的敏感性分析。我个人在完成这套模型后的体感是CCS和P2G放在垃圾焚烧虚拟电厂里不是简单的“11”而是让碳从废弃物管理变成了调度资源。捕集设备可以当作可调负荷去填谷P2G可以当作碳汇和产气设备去提升消纳和降低碳成本。真要说这套模型教会了我什么那就是减碳设备不能孤零零地看单台设备效率一定要放进整个系统的时间维度和能量维度里重新定价。如果有条件继续往下做我建议先把日前调度扩展成“日前日内滚动”两级框架让P2G的启停决策更贴近实时风光的实际出力然后再考虑把合成天然气接入更完整的燃气网市场。这样模型的价值还能再往上走一截。
返回列表