做综合能源系统调度的人,这两年应该都有一个非常直观的感受:碳排放成本已经从“纸面上的约束”变成了调度决策里必须精准计算的硬指标。我最近在一个模拟园区项目里,把电转气(P2G)、碳捕集(CCS)和阶梯碳交易成本同时纳入综合能源系统的优化调度模型,跑了几十组算例之后,最大的体会是:P2G与CCS不是两个独立设备的简单叠加,它们通过CO2流形成耦合后,整个系统的经济结构会发生实质性改变。这篇博文把这个模型从物理结构、数学建模、求解细节,到算例对比和实操中的坑,完整复盘一遍,给准备做低碳经济调度仿真的朋友一份可以直接参考的路线。内容适合两类人:一类是刚接触综合能源系统建模、想入手源网荷储优化调度的同学;另一类是已经在做常规经济调度,但想加入碳交易、碳捕集模块,不知道怎么处理碳流和时间耦合的工程师。我会尽量把公式背后的调度逻辑讲明白,不只是给一个能跑通的模型。
1. 项目背景:为什么非要把P2G和CCS绑在一起
1.1 P2G与CCS这对组合,到底解决了什么问题
先说单一技术各自的痛点。风电、光伏大规模接入后,弃风弃光成了系统调度最头疼的问题,尤其夜间风电大发时段,常规机组压到最低出力还是消纳不完,这时候最自然的想法就是“把多余的电转化成别的能量存起来”。P2G就是这么个角色:先把电能通过电解水制成氢气,再和CO2反应生成天然气(甲烷),产物可以直接进燃气管网或储气罐,等于给电力系统增加了一个“电气-气”的灵活调节通道。
但P2G单独用有个尴尬的地方——甲烷化反应需要大量CO2。CO2从哪来?如果从外界购买或从工业气源拉过来,原料成本会直接把P2G的经济性打穿,在很多电价场景下算下来制气成本高于直接买气。另一头,火电、燃气机组每天都在排放大量CO2,如果上了CCS,捕集下来的CO2要么封存要么外运,既增加成本又需要额外找去处。
这两个问题放在一起看,答案就非常清晰了:让CCS捕集到的CO2直接供给P2G作为原料。火电排放的CO2经过捕集后没有直接离开系统,而是被P2G转化成天然气回到能源系统里,形成“排放-捕集-利用-再燃烧”的闭环。这样一来,CCS有了副产品价值,P2G有了廉价碳源,系统还减少了外购天然气量。这是我在这个项目里认为最值得先想清楚的一层逻辑——耦合不是“为了看起来先进”,而是从物质流和能量流上天然互补。
1.2 阶梯碳交易成本,比固定碳价“狠”在哪
碳交易这个机制本身不复杂:政府给排放源分配一定量的免费配额,实际排放量超过配额,就要去碳市场购买配额;如果低于配额,可以把多余的配额卖出去。问题在于碳价的设置方式。
常规做法是固定碳价,超排1吨和超排100吨的边际价格完全相同。这种机制下,系统只要算“减排成本与固定碳价比较”就够了,减排压力是均匀的。实际碳市场完全不是这样——配额越买越贵,超排越多,边际代价越高。阶梯碳交易成本就是把这个特征建模化:把超排量划分成几个区间段,每一段适用不同的碳价,段位越高价格越贵。
在实际调度里,阶梯碳价带来的行为差异非常明显。固定碳价下,系统可能选择“超排一部分、买配额了事”;阶梯碳价下,一旦超排量逼近下一个档位边界,系统会主动调整机组出力和CCS捕集率,避免进入更高的碳价区间。我在算例里对比过这两种机制,阶梯碳价控制下的系统碳排放量明显更低,而且总成本并不是想象中必然更高——因为少买的配额钱往往可以覆盖一部分减排投入。这才是我觉得阶梯碳模型值得做的核心原因:它让“减排”从一个外部道德目标变成系统内部的真实经济权衡。
1.3 这个模型能输出什么,适合谁来用
跑完这个优化模型,能拿到一组完整的调度计划,包括:各机组逐小时出力、P2G产气量和耗电量、CCS捕集量及捕集率的时变曲线、储电/储气/储热的充放策略、从电网和气网的购入量、逐小时碳交易量和碳交易成本、弃风弃光率等。这些结果既可以用来看“系统怎么运行”,也可以用来回答“设备容量该配多大”“碳价定多少合适”“改造之后到底值不值”这类规划问题。
所以这个模型的应用场景不只是调度运行,还可以延伸到设备容量配置和碳交易参数设计的敏感性分析。我见过不少做园区能源规划的朋友,上来就只关心设备投资回收期,忽略了碳交易机制对整个运行策略的牵引作用——这会导致容量配置结论出现明显偏差。用一个带阶梯碳价和P2G-CCS耦合的调度模型去辅助规划,能提前看出哪些时段碳成本压力大、哪些设备在减排约束下出力路径会变化,这一步的价值往往比模型本身的优化结果更大。
2. 系统结构与建模:先画一张“能算账”的图
2.1 模型里有哪些设备,能量流和碳流怎么走
先明确这个综合能源系统包含什么。我这里用的园区级系统包括:
- 电源:风电、光伏、两台燃气轮机和一台小型燃煤背压机组(为系统提供基础热负荷,同时也是主要碳源)
- 气源:上级气网购气和P2G产气
- 热源:燃气轮机余热、燃煤机组抽汽、电锅炉、储热罐
- 储能:蓄电池、储气罐、储热罐
- 碳处理:CCS装置,捕集燃煤机组和燃气轮机的CO2,捕集下来的CO2分为两路,一部分直接供给P2G,剩余部分封存或外送
- 负荷:电负荷、热负荷、气负荷
建模最关键的步骤就是画出能量流和碳流的方向。能量流是常见的源-网-荷-储结构,碳流则要单独梳理:机组燃烧产生CO2 → CCS捕集 → 一部分去P2G甲烷化,一部分封存/外送 → 天然气燃烧后CO2又重新回到排放流。这意味着,系统里CO2不再是“排完就完了”的废物流,而是可以在不同时间尺度上被循环利用的资源流。我建议任何做这类模型的人,先不要急着写公式,把这张碳流图在纸上画清楚,后面的数学表达就不会乱。
2.2 P2G建模:一个设备,两个阶段的效率账
P2G不是一步到位的反应,工程上分为两个阶段。第一阶段是电解水制氢,消耗电力和水,产出氢气和氧气;第二阶段是甲烷化反应,氢气与CO2在催化剂作用下生成甲烷和水。化学方程式可以简写为:2H2O → 2H2 + O2,CO2 + 4H2 → CH4 + 2H2O。
建模时不需要把中间氢气环节的物理过程完全展开,工程上常用一个综合效率系数来做。P2G设备的耗电功率记为P_p2g(t),则产气速率可以写成:V_p2g(t) = η_p2g × P_p2g(t) / LHV_g。其中η_p2g是电转气的综合效率,LHV_g是天然气低位热值。这里要特别提醒:η_p2g不是个常数,它在不同运行工况下会有明显变化,部分负荷率低时效率会下降,所以有条件的话应把效率随负荷变化的曲线做成分段线性函数放进模型,只用一个固定效率会让结果偏乐观。
甲烷化阶段需要CO2,产气量和CO2消耗量有一个严格的化学计量关系。从反应式看,生成1摩尔甲烷需要1摩尔CO2和4摩尔H2。换算成质量流量,可以用一个系数α_co2表示每生产1立方米天然气所消耗的CO2质量,于是P2G耗CO2量:M_co2_p2g(t) = α_co2 × V_p2g(t)。很多初版模型会漏掉这条约束,结果P2G白产那么多气,碳流根本没闭环,最后算出来的碳交易成本也是错的。
2.3 CCS建模:捕集率不是越高越好,关键是能耗
CCS装置的输入是机组排放的烟气,输出是捕集下来的高浓度CO2。建模上先定义捕集率r(t),表示从烟气中捕集CO2的比例,取值范围通常在0.5到0.9之间。捕集量等于捕集率乘以机组原始排放量:C_capture(t) = r(t) × E_emission(t)。
CCS最容易被低估的是能耗。捕集CO2需要消耗大量电能和热能,常用的胺法吸收工艺需要溶剂再生,热耗很高。建模时用两个系数把捕集量和能耗挂钩:电耗E_ccs(t) = β_e × C_capture(t),热耗Q_ccs(t) = β_q × C_capture(t)。β_e和β_q会随捕集率的提高而显著上升,尤其捕集率超过0.8之后,能耗曲线变得非常陡峭。所以“捕集率越高越好”是个典型的误区——捕集更多CO2确实减少碳交易成本,但增加的能耗可能来自高碳机组,这部分能耗本身又产生新的排放,甚至可能出现“减排减了个寂寞”的悖论。在调度模型里,捕集率应当作为一个决策变量,让优化自己去找平衡点。
另外,CCS捕集的CO2并不是全部送去P2G。实际运行中P2G的碳需求有上限,多余CO2要么封存,要么作为工业产品销售。在模型里要加入分配约束:供给P2G的量G_co2_p2g(t)不能超过捕集总量,剩余量R_co2(t) = C_capture(t) - G_co2_p2g(t) 进入封存/外送通道。这个分配关系是P2G-CCS耦合建模的核心接口。
2.4 阶梯碳交易成本建模:三段价格怎么逼系统减排
阶梯碳交易成本是整个目标函数里最需要认真处理的部分。第一步,计算系统实际排放量E_total,等于所有机组原始排放之和减去CCS捕集的CO2中真正离开系统的那部分(即封存/外送量,不包括供给P2G的部分,因为这部分理论上将来会随天然气燃烧重新排回大气)。第二步,计算超排量:E_buy = E_total - E_free,E_free为系统免费碳排放配额。
第三步就是阶梯化。我用的是三档结构:
- 当 E_buy ≤ 0:系统配额富余,富余部分按基础碳价c1回购,此时碳交易成本为负,相当于获得碳收益。
- 当 0 < E_buy ≤ a1:超排量在第一档,总成本 = c1 × E_buy。
- 当 a1 < E_buy ≤ a2:超出第一档的部分进入第二档,总成本 = c1 × a1 + c2 × (E_buy - a1)。
- 当 E_buy > a2:总成本 = c1 × a1 + c2 × (a2 - a1) + c3 × (E_buy - a2)。
注意价格排序必须满足 c3 > c2 > c1,否则阶梯机制就失去意义。我在实际求解中用的一组典型参数是:c1=80元/吨,c2=120元/吨,c3=160元/吨,分界点a1=200吨、a2=500吨。具体数值可以根据碳市场的实际情况调整,但结构不变。
为什么要这么复杂?因为阶梯结构会形成“阈值激励”:当系统超排量接近a1边界时,只要再多排一点,边际碳价从80跳到120,优化算法会在边界处重新分配各机组出力,甚至在某些时段主动提高CCS捕集率。这种机制比固定碳价对调度决策的引导力强得多,也是整个模型低碳经济性的主要来源。
3. 优化调度模型与求解:目标函数、约束条件和线性化
3.1 目标函数:所有成本要放到同一个天平上
优化目标是最小化系统总运行成本,各项成本包括:
- 购电成本:从上级电网购电的费用,按分时电价计算,λ_ele(t) × P_buy(t)。
- 购气成本:从气网购买天然气的费用,λ_gas × V_buy(t)。
- 运行维护成本:各设备单位出力的维护费用之和,包括机组、电锅炉、P2G、CCS、储能等。
- 碳交易成本:由阶梯碳价模型计算得到的C_co2(t)。
- 弃风弃光惩罚成本:如果风电、光伏出力没有全部消纳,按单位弃电惩罚计入目标函数。这个惩罚项非常关键,它决定了系统为什么愿意在弃风时段启动P2G。
目标函数写出来就是最小化以上各项在调度周期内的累加之和。有人会问,P2G和CCS带来的收益体现在哪?其实体现在两项里:P2G产气减少了购气量,成本项里的购气费用降低;CCS捕集和封存CO2减少了系统的超排量,碳交易成本C_co2变小;而捕集的CO2供给P2G,则相当于把原本要花钱买碳源的外部成本内部化为零。这些收益不需要单独列一个“收益项”,它们在各项成本之间的此消彼长中自然体现。
3.2 关键约束:功率平衡、机组出力和碳流耦合
约束条件是这个模型里最繁琐但也是最容易出错的部分,我按类型梳理:
电功率平衡:风电出力+光伏出力+燃气轮机出力+燃煤机组出力+上级购电+蓄电池放电 = 电负荷+电锅炉耗电+P2G耗电+CCS耗电+蓄电池充电。这里一定要把P2G和CCS的耗电作为“负荷”放进去,很多人初版建模容易漏掉。
热功率平衡:燃气轮机余热+燃煤机组抽汽+电锅炉产热+储热罐放热 = 热负荷+储热罐充热+CCS热耗。CCS热耗经常被忘掉,一旦漏掉,热平衡会出现虚高富余,调度结果必然失真。
气功率平衡:上级气网购气+P2G产气+储气罐放气 = 气负荷+燃气轮机耗气+燃煤机组不耗气(煤)+储气罐充气+某些场景下P2G自用气。注意燃气轮机耗气是气负荷中最大的部分之一,P2G产气能不能被本地消纳,要看这条平衡怎么走。
设备运行约束:各机组出力上下限、爬坡速率、最小启停时间;P2G产气功率上下限和爬坡约束;CCS捕集率上下限和爬坡约束;储能设备的电量上下限、充放功率上下限、充放互斥状态。
碳流耦合约束:CCS捕集量 = 捕集率 × 机组排放量;供给P2G的CO2量 ≤ 捕集总量;P2G所需CO2量由产气量和化学计量系数确定。这套约束保证“P2G想产气、必须有对应的CO2进来”“CCS捕下来的CO2不会凭空消失”。
3.3 非线性项处理:阶梯碳价和0-1变量
模型里有两个明显的非线性来源,求解前必须处理干净。
第一个是阶梯碳交易成本函数。它是分段线性函数,不是光滑函数,直接丢给求解器会出现问题。工程上最常用的做法是引入0-1变量和Big-M约束,把每个碳价档位的排放量表示成连续变量,并保证每一档只在对应区间内激活。也可以用SOS2(特殊顺序集)约束来建模分段线性函数,求解器处理起来效率更高。我习惯用SOS2,因为阶梯分段点数量不多,SOS2写起来更简洁,分支定界的性能也更好。
第二个是储能设备的充放电互斥。如果允许同时充和放,求解器会利用这种“免费循环”制造无意义的解,所以需要引入0-1变量控制充放状态:充电时放电功率强制为0,放电时充电功率强制为0。类似地,购电和售电、P2G运行状态启停,也需要0-1变量配合Big-M处理。
把这些线性化之后,整个模型变成混合整数线性规划(MILP),可以用常见的商业求解器求到全局最优解。我用一个典型24小时、步长1小时的算例,模型大概包含几千个连续变量和几百个0-1变量,求解时间在几十秒到几分钟量级。如果直接用非线性求解器硬解同样的模型,经常要跑几个小时还不一定收敛,所以这一步的线性化处理是工程落地的前提。
3.4 求解流程与数据准备:从原始数据到调度计划
完整的求解流程可以拆成五步:
第一步,整理基础数据。包括各设备容量、效率、爬坡参数,风光预测出力曲线,电、热、气负荷曲线,分时电价、气价、碳价参数。数据质量直接决定调度结果是否可信。
第二步,构建模型文件。在建模平台上把目标函数、约束条件、线性化逻辑写成程序。建议先用一个简化模型(比如只有电平衡、单机组)跑通流程,再逐步加复杂模块,避免一开始就陷入排错泥潭。
第三步,求解与结果输出。求解完成后,把各决策变量的时间序列提取出来,画出电、热、气、碳四张平衡图和机组出力堆叠图,检查有没有违反直觉的结果。
第四步,灵敏度分析。对碳价分段参数、P2G容量、CCS捕集效率做敏感性测试,看系统总成本和碳排放的变化趋势,这一步对规划决策最有参考价值。
第五步,结果校验。把调度结果代回原物理方程,验证功率平衡和碳平衡是否满足。这一步看似多余,实际很必要,我遇到过线性化过程引入的微小误差导致碳平衡差了几吨的情况,虽然对结果影响不大,但用于发表或评估时必须修正。
整个流程做下来,最耗时的是数据清洗和问题排查,模型本身的编写反而占不到一半时间。我后面单独写一节讲讲常见问题。
4. 算例结果与方案对比:耦合到底值不值
4.1 案例设置与对比场景设计
为了验证模型效果,我设置了一个园区的典型日算例。基本配置是:风电装机30MW,光伏20MW,燃气轮机两台各10MW,燃煤背压机组一台15MW,电锅炉5MW,P2G容量5MW,CCS捕集能力按每小时可处理约10吨CO2设计,储电、储热、储气容量按常规配置。负荷曲线取夏季典型工作日,电负荷峰值在晚间约38MW,热负荷白天低、早晚高,气负荷相对平稳。风电夜间大发,光伏集中在中午,形成典型的弃风时段。
针对阶梯碳交易成本和P2G-CCS耦合这两个核心要素,我设置了五组对比场景:
| 场景 | 是否含P2G | 是否含CCS | 碳交易机制 |
|---|---|---|---|
| A | 否 | 否 | 固定碳价 |
| B | 是 | 否 | 固定碳价 |
| C | 是 | 是(不供P2G原料,全部封存) | 固定碳价 |
| D | 是 | 是(与P2G耦合供碳) | 固定碳价 |
| E | 是 | 是(与P2G耦合供碳) | 阶梯碳价 |
场景C和D的区别特意用来分离“CCS单独减排”和“CCS与P2G耦合”的贡献,这是判断耦合机制价值的核心对比。
4.2 五组场景结果:成本、碳排和弃风弃光的变化
用典型日数据求解后,整理出每一组场景的核心指标:
| 场景 | 总运行成本(万元/日) | 碳排放量(t/日) | 弃风率(%) | 碳交易成本(万元/日) |
|---|---|---|---|---|
| A | 6.82 | 128.5 | 18.6 | 1.35 |
| B | 7.15 | 116.3 | 6.2 | 1.02 |
| C | 7.08 | 96.8 | 6.5 | 0.68 |
| D | 6.94 | 92.6 | 4.8 | 0.41 |
| E | 7.02 | 81.3 | 3.9 | 0.57 |
看几个关键对比。A到B,加入P2G后弃风率明显下降,但总成本反而上升了,这正是前面说的“P2G单独使用经济性差”的直接体现——多花的购气成本和设备运维费超过了减少的碳成本和弃风惩罚。B到C,CCS封存减排让碳排放大幅下降,成本略有回落。C到D,把捕集到的CO2供给P2G之后,弃风率进一步下降,总成本也下来了,这说明耦合机制确实改善了系统整体的经济性。D到E,阶梯碳价下碳排放量进一步压到81.3吨,虽然总成本比D高了不到1%,但换来的是碳排放下降超过12%。
这套结果给规划决策传递的信息很清楚:P2G和CCS单拎出来都可能不太划算,但耦合之后系统能同时拿到减排和消纳两头的收益;阶梯碳价则是在耦合基础上再推一把,让系统在不高太多成本的前提下把碳排压到更低水平。
4.3 几个“反直觉”的结果,以及背后的碳核算边界问题
跑完算例之后有一个结果值得单独讲:场景E里系统在多个时段把捕集率从默认的0.7提升到0.85以上,但碳排放量并没有等比下降。原因是捕集率提高后CCS电耗和热耗急剧增加,这部分能耗主要由燃气轮机和燃煤机组承担,它们多发的那部分电又产生了新的排放。捕集掉的CO2减去新增排放,净减排量远低于表面数字。这说明CCS的运行策略不能只看捕集率,必须把能耗来源也纳入优化闭环。
另一个“隐藏很深”的问题是碳核算边界。在场景D和E中,供给P2G的CO2被甲烷化后又以天然气形式进入燃烧环节,最终还是会重新排放到大气中。从这个角度看,这部分CO2只是被“延迟排放”了,碳循环并没有真正闭合。但通常的核算口径有两种:一种只看调度周期内的直接排放,把捕集量全部算作减排;另一种从全生命周期角度,把P2G产气燃烧后的排放也追算到系统头上。两种口径下,同样的调度方案会得到完全不同的“低碳性”结论。
我在项目里采用了偏保守的中间做法:排放总量只扣除真正封存或外送的CO2,供给P2G的部分不算净减排。这样处理虽然让模型的“减排效果”没那么好看,但更接近真实的碳市场规则。建议做类似项目的朋友,在建模前就明确碳核算边界并写进文档里,否则后期换一种口径,所有结论都要重算。
4.4 参数敏感性:碳价、P2G容量与捕集率怎么影响结果
模型跑通之后,我做了三组敏感性分析,每组只变动一个参数、固定其他参数。
碳价水平对结果的影响最直接。把三档碳价整体从80/120/160元/吨提高到120/180/240元/吨,系统的碳排放量从81.3吨降到74.6吨,但总成本上升了约4%。这说明碳价提高确实能压碳排,但边际效果递减——当系统已经把能用的低碳手段都用上之后,再提高碳价只会增加成本,减排列空间有限。
P2G容量从5MW逐步增加到15MW,弃风率继续下降,但下降速度明显放缓。容量到10MW以上后,增加的P2G设备多在非弃风时段运行,制气成本高于直接买气,反而拖累经济性。这说明P2G容量不是越大越好,最优容量和风光装机比例、弃风电量规模强相关。
捕集率上限从0.7放宽到0.9,系统最优运行点并没有跑到上限附近,而是在0.78左右。原因就是我前面分析的能耗曲线变陡,加上P2G对CO2的需求有限,捕太多反而徒增能耗成本。这个结果提醒设备规划人员,CCS容量设计要结合P2G的碳需求耦合考虑,不能单独按“最大减排量”来配。
5. 实操中的坑与排查经验
5.1 模型不收敛:多半是线性化没处理好
这种带碳交易的综合能源调度模型最常见的问题就是求解不收敛,或者解出来明显不合理。我排查下来,大部分情况出在线性化环节。
比如阶梯碳成本函数,如果用分段线性函数但分段点没有匹配好SOS2的权重设置,求解器会在边界处给出错误的中间解。又比如储能充放互斥约束,需要设置一个足够大的M值,但M太大会导致数值病态,太小又会错误限制可行域。我的建议是:先用小算例手工验证每个模块的正确性,再合并成完整模型求解。所谓小算例,就是把24小时缩成3个小时、设备数量减半,这样任何一个错误都能快速定位到具体约束。
还有一类不收敛是量纲问题。碳交易成本单位是万元,购电成本单位是万元,但某些设备运维成本如果不小心写成了元,目标函数里数量级差一万倍,求解器的数值稳定性就会崩溃。所有成本统一换算成同一量纲再写进目标函数,这是必须遵守的纪律。
5.2 P2G不出力:不要只看设备效率,要看边际成本
很多第一次跑这类模型的人会困惑:P2G明明能消纳弃风,怎么优化结果里它一天只运行几个小时?答案在边际成本里。
P2G出力时刻的购电成本(或机会成本)加上运维成本,对比买天然气的价格,如果前者高于后者,P2G出力就是不经济的。在我这个案例里,P2G只在夜间弃风时段运行,因为那时候风电边际成本趋近于零,用电制气才划算。如果希望P2G在白天也运行,需要引入碳收益、辅助服务收益或更高的弃风惩罚才能撑起经济性。
这就要求在结果分析时,不要简单说“P2G利用率低”,而是算清楚每一小时P2G运行的边际成本和边际收益,看卡点到底在碳价还是气价还是设备效率。我实测下来,P2G这种大耗能设备对电价曲线的敏感度极高,峰谷电价差越大,它的调度价值越明显。
5.3 CCS捕集率过高反而“增排”:能耗来源决定成败
前面算例已经提到了这个坑,但实操中值得再强调一次。有些模型里CCS的能耗固定按电网平均排放因子计算,这会把问题严重低估。实际上CCS电耗很大程度上来自本地机组,机组的碳排放强度远高于电网平均,结果就是捕集率提升时,CCS自身消耗电力带来的额外排放增长非常吓人。
所以在建模时,建议把CCS电耗写成显式的电负荷项,让它和其他用电设备一样参与电力平衡优化。这样求解器会自动权衡:增加捕集率减少碳交易成本,但增加的能耗可能导致燃气轮机多发电、多排碳,看哪头更划算。运行结果通常停在一个适中的捕集率,而不是设备上限。做敏感性分析时,把β_e和β_q两个能耗系数分别上下浮动20%,可以快速判断该设备的减排潜力边界。
5.4 预测误差导致碳价跳档:怎么让调度结果更稳
阶梯碳价的阈值结构有一个副作用:当系统超排量刚好在某档位边界附近波动时,预测误差微小的变化就可能让碳成本从一个档位跳入下一个档位,导致调度策略剧烈变化。我在做华北某园区夏季典型日的时候,风电出力预测误差在±10%内,就有两个小时的调度决策从“加大CCS捕集”变成“保持现状”,碳排放量结果相差了5吨。
应对办法有三层:一是做滚动调度,每隔1小时用最新预测数据重新优化剩余时段,让决策始终基于最新信息;二是在约束里给风光预测留出备用容量,相当于加一层鲁棒约束;三是在结果分析时,对关键时段做±15%的预测扰动测试,看结论是否稳定。如果一扰动结论就翻转,说明模型对预测误差过于敏感,需要在目标里增加对碳价跳档的惩罚或采用鲁棒优化框架。
5.5 一个比较顺手的从零落地顺序
如果现在让我重新从零开始做这个项目,我会按下面的顺序推进:
先用一个不含碳交易、不含P2G/CCS的基础经济调度模型跑通,验证功率平衡和设备约束没问题。然后在基础模型上加固定碳价,再逐步加P2G、CCS、碳流耦合。每加一个模块就跑一组算例,对比之前的基准结果,确认新模块的行为符合物理逻辑。最后再把固定碳价换成阶梯碳价,跑完整算例和敏感性分析。
这个顺序看起来慢,实际上是最快的路径。我见过有人第一次就直接把全套模型写出来,结果面对上百条约束和几千个变量,排错排了两周还没找到根因。模块化叠加虽然每一步都多花一点时间,但每一步都在验证前一阶段的正确性,最终模型一跑就能通,调试总时间反而更短。
最后再分享一个实际体会。做这类低碳调度项目,模型和算法只是前半程,真正的价值在结果解释和机制分析。P2G和CCS耦合起来到底划算到什么程度,在很大程度上取决于碳市场参数、电价结构和设备能耗特性,而不是某个固定的效率数字。动手建模之前,多花时间把碳流路径和成本构成理解透,一定比急着调求解器参数收益更大。这个模型框架后续还可以往多园区协同、氢储能、需求响应几个方向扩展,底层思路都是相通的。