首页 / 资讯中心 / 文章详情

分时电价与碳交易下的综合能源系统优化建模与调度策略

分时电价与碳交易下的综合能源系统优化建模与调度策略 ★ FEATURED ARTICLE
做了三年园区能源系统优化的项目我越来越觉得分时电价和碳交易就像压在综合能源系统头上的两顶帽子。以前你只把电费算明白就行现在不行了碳账算不明白方案压根落不了地。这套东西听起来很“双碳”很政策但真正做下来你会发现它最后全落在成本和调度逻辑上。这篇内容我打算把综合能源系统优化里“分时电价遇上碳交易”这一整套怎么想、怎么建模、怎么避坑的经验整理出来。适合园区能源主管、碳资产运营的朋友还有正在做智慧能源平台开发的工程师参考。不管是已经在做系统优化的还是刚准备入手的应该都能从里面找到点能直接用的东西。1. 两个价格信号同时入场优化到底在算什么账1.1 综合能源系统优化本质上是在做“能源生意”很多人一听“综合能源系统”脑子里浮现的都是高大上的概念电、气、热、冷多能互补能源梯级利用储能和新能源协同……这些名词都对但落到项目现场我看到的最基本事实是绝大部分综合能源系统的核心任务就一个——省钱。你可以把系统想象成一个微型的能源经销商。它从外部电网购电从管网买天然气面对用户侧的电力负荷、热力负荷和冷负荷中间是一堆设备光伏板、燃气轮机、储能电池、燃气锅炉、电锅炉、热泵可能还有蓄冷蓄热装置。优化要做的事情就是在满足用户需求的前提下决定每台设备在每一个时刻发多少、停多少、充多少、放多少。这里的“满足用户需求”是硬约束“省钱”是优化方向“双碳目标”和碳交易的加入则是给这个省钱目标加上了一条新的成本和约束线。所以第一件需要理清的事情是优化目标到底是“碳排放最小”还是“总成本最小”。我接触过不少一开始想当然的同行觉得双碳目标嘛模型目标函数直接写碳排放最小化不就完了但在实际项目里业主不会因为碳排放少就接受更高的电费。真正能落地的目标函数一定是总经济成本最小化——而碳成本作为一项经济成本进入目标函数比如购买配额的费用或者卖出富余配额的收益。这个思路是整个建模的分水岭后面我会用实际算例展开讲。1.2 分时电价是系统最熟悉的现金信号分时电价并不复杂本质是用时段差异来反映电力供需的紧张程度。一天被分成峰、平、谷几个时段峰时电价贵谷时电价便宜这个价差就是系统做“套利”的空间。国内很多工商业园区的峰谷价差可以达到0.6到0.8元/kWh某些地区尖峰时段的价差甚至能突破1块。对优化调度来说分时电价直接决定了储能何时充电、何时放电燃气轮机何时开机、何时停机以及电锅炉这类高耗电设备应该放在哪个时段运行。举个例子我之前做过一个园区项目峰时电价1.2元/kWh谷时电价0.4元/kWh。一套100kWh的储能系统充放效率90%理论上谷时充满、峰时放完一天可以做两次循环单次套利空间大约0.75元/kWh扣除电池损耗收益相当可观。这就是分时电价对系统的第一重作用它是瞬时的现金信号系统每一时段的决策都能被它直接定价。但分时电价有一个很明显的局限——它本质上是电网侧给定的价格表不反映系统内部真正的碳排放成本。你可能在谷时买了很多电电费确实低但如果这个谷时恰好是火电占比高的时段从碳排放角度看你可能正在用便宜的“高碳电”这个代价不会体现的电费单上。于是碳交易机制就补上了这个缺口。1.3 碳交易是给碳排放贴上的另一种价格标签碳交易的核心逻辑是把碳排放权变成一种稀缺资源让它产生价格。企业会拿到一定量的碳排放配额实际排放低于配额的部分可以卖出获利高于配额的部分则必须到市场上购买不足的配额。这样一来碳排放就不再只是一个挂在墙上的环保指标而是一笔实打实的经营成本或潜在收入。对于综合能源系统来说与碳成本直接相关的排放源主要是两类。一是外购电力的间接排放也就是电网侧的平均排放因子乘以购电量二是燃气轮机、燃气锅炉直接烧气产生的直接排放。业内常说的“电碳耦合”说白了就是这两类排放源和系统用电用气行为之间的关联。这里有一个非常关键的实际问题外购电力的间接排放到底算不算你系统的排放取决于核算边界和配额分配方式。我做项目时经常遇到核算口径不一致的情况有的业主把外购电力的排放算进去了有的不算这会直接改变优化结果。比如某一时段电网电的隐含碳排放因子很高而你又有富余的燃气轮机容量在考虑碳成本后原本“电网买电更便宜”的判断可能会反过来。这部分我放到后面常见问题里专门展开因为它是实操中最容易“翻车”的地方。两套机制叠加之后系统每一步决策都要拉着两台计算器一台算电费的峰谷价格表一台算碳价的排放成本表。接下来我用具体设备来演示这个“双重定价”逻辑到底是怎么改变调度决策的。2. 峰谷价差遇上碳账单设备调度逻辑被怎么改写2.1 燃气轮机的两难峰时电价很香但每一度电都带着碳尾巴燃气轮机是综合能源系统里最典型的电热联供设备它在峰时发电一方面减少从电网高价买电另一方面余热可以供热看起来是双重省钱。但如果把碳排放算进来它就不是一个“稳赚不赔”的选择了。我来做一组简化计算。假设天然气价格2.8元/m³燃气轮机发电效率40%一立方米天然气约9.8kWh热值所以每发1kWh电约需0.255m³天然气燃料成本约0.71元/kWh。再算碳排放每立方米天然气燃烧约排放2.16kg CO2发1kWh电对应气耗0.255m³排放约0.55kg CO2也就是0.00055吨。如果碳价是60元/吨碳成本就是0.033元/kWh如果碳价涨到100元/吨碳成本就是0.055元/kWh。叠加下来燃气轮机自发电的边际成本大约在0.75元/kWh上下。这个数字放在不同的电价时段里含义完全不同。峰时电价1.2元/kWh自发电比买电便宜而且自发电还避免了电网侧排放的间接碳成本但谷时电价0.4元/kWh自发电成本几乎是买电电价的两倍加上碳成本更不划算。所以燃气轮机的启停策略会被压成两段峰时段重点运行谷时段毫不犹豫地停机让储能做谷充峰放电网买电只用于基础负荷。这个结论听起来朴素但如果你不把碳成本折算进边际成本里很可能会在谷时段因为“供热需求”而误开机。我见过不止一个项目燃气轮机为了满足一点夜间热水负荷在谷电价时段硬生生开机发电发出来的电白白浪费或者低价上网电费账单和碳账单双双增加。这种损失在仿真里经常看不见放在现场账单上很肉疼。2.2 储能的套利逻辑没变但碳价会影响“套利的质量”储能在综合能源系统里承担的角色很像一个时间搬运工把谷时的电量搬到峰时用把光伏出力高峰期的电量挪到傍晚负荷高峰时放。它的直接收益来自峰谷价差套利这一点在加入碳价之后并没有本质上改变因为储能本身不产生直接排放。储能对碳排放的影响是间接的充放电效率损耗意味着你每存1kWh谷时电实际放出来不到1kWh这部分损耗本身就是额外的电力消耗对应的间接排放也会随之增加。在实际项目中我一般把储能损耗的隐形成本和碳成本一起计入它的运营成本。举个例子充放效率90%谷时充电电价0.4元折算到放电侧每kWh成本是0.4除以0.9约等于0.44元再加上单位电量对应的碳成本约0.02元按电网排放因子0.581kg/kWh、碳价60元/吨估算储能的放电成本大约是0.46元/kWh。对比峰时电价1.2元套利空间依然充足。但这里有个值得注意的现象当碳价涨到200元/吨以上电网平均排放因子的折碳成本就要到0.12元/kWh左右储能放电成本会明显上升套利空间被压缩。早期我吃过一个亏模型里没有把储能损耗对应的碳排放计入结果优化出来的策略倾向于让储能“过度循环”一天做很多次充放实际碳成本比估算值高出一截账面收益被高估了。所以推荐的做法是在储能运行的约束里显式加上效率损耗带来的额外购电项让它对应的碳排放自动进入总碳账。2.3 电热耦合设备“气”和“电”的竞争因碳价而反转综合能源系统里的电热耦合设备比如电锅炉和燃气锅炉、热泵和燃气轮机余热它们之间的选择从来不是只看效率而是看能源价格。加入碳交易之后这组竞争关系会更微妙。电锅炉的优点是设备简单、响应快但它的“燃料”是电隐含碳排放取决于电网排放因子。燃气锅炉直接烧气排放因子固定但不用经过电网。如果电网排放因子比较高比如0.6kg/kWh电锅炉制热的隐含碳排可能比燃气锅炉还要高。但反过来如果电网里新能源比例高电网排放因子下降电锅炉就会变得非常“低碳”。实际调度时我不会只算静态的单位碳排放而是把分时电价的时段因素叠加进去在谷时段电价低电锅炉可以大开在峰时段如果燃气轮机的余热足够就优先用余热供热少开电锅炉。加入碳价后这个策略产生了一个额外的判断标准——如果你所在的省份电网排放因子高、碳价也在上涨那么峰时段即使用燃气轮机余热不够也需要做一轮“气电碳比较”多开燃气锅炉供热的直接碳排放和多开电锅炉带来的间接碳排放哪个更划算。这个判断标准不是一个固定的常数它会随着碳价波动、电网排放因子更新而变化。所以我每次做项目建议书都会加一张“气电碳比较”的敏感性分析表把碳价从低到高排一列看设备出力组合在哪个节点会切换。不然拍脑袋定了一个比例过两个月碳价一变方案就过时了。3. 实操把分时电价和碳价写进同一个调度模型3.1 目标函数把碳成本翻译成现金真正开始建模之前先要明确一个原则在这个优化框架里碳排放不是“越少越好”而是“越划算越好”。所以目标函数用全天总经济成本最小化包括购电费用、购气费用、碳排放履约费用、设备运行维护费用以及储能寿命损耗成本。碳排放履约费用那一项展开来就是系统总排放量乘以碳价再与配额数量做结算。如果系统实际排放低于配额那这一项就是负成本也就是卖配额的收益。用简化的数学形式表达就是min C C_grid C_gas C_om C_carbon其中C_grid Σ (P_buy(t)·Price_e(t) - P_sell(t)·Price_sell(t))C_gas Σ F_gas(t)·Price_gasC_om Σ (设备出力·单位维护成本)C_carbon (E_total - Quota) · Price_CO2E_total Σ (P_buy(t)·EF_grid) Σ (F_gas(t)·EF_gas)这里重点提醒一句EF_grid用哪个数值对结果影响很大。电网平均排放因子反映的是当前电网整体的碳排放强度边际排放因子反映的是系统增加一度电需求时实际新增的发电结构。从优化意义上说边际因子更贴近真实决策但数据更难获取。实操中我一般先用平均因子跑基准方案再做几组不同因子的敏感性测试看关键结论会不会翻转。还有一点容易被忽略电网购电和售电的上网电价通常不一样P_sell(t)的Price_sell一般远低于购电电价。燃气轮机在谷时段多发的电如果上网卖电收入可能连燃料成本都覆盖不了。这一项在目标函数里必须用真实的上网电价别想当然地按购电价去算。3.2 约束条件能量平衡、设备区间、储能递推一个都不能少模型再漂亮约束写错了也白搭。我常用的约束大致分四类。第一类是能量平衡约束每一时段园区内的电负荷、热负荷、冷负荷必须被满足。电力由电网购电、光伏、燃气轮机、储能放电共同承担热量来自燃气轮机余热、燃气锅炉、电锅炉、蓄热罐冷负荷如果涉及再由电制冷或吸收式制冷承担。第二类是设备出力上下限和爬坡约束储能不能同时充电和放电充电功率和放电功率有额定值上限。第三类是储能递推约束SOC(t1)等于SOC(t)加上充电量减去放电量再乘效率这一条是储能模型的核心。第四类是碳排放与配额约束把每个时段的购电量和气耗量换算成碳排放并累加用于碳结算。这里特别强调一下爬坡约束。不少初做这类模型的朋友会漏掉它结果优化结果里燃气轮机出力每15分钟剧烈跳变实际设备根本执行不了。为了可执行性我一般让模型的最小调度时段取15分钟或1小时并对燃气轮机设置功率变化率限制落地之后系统才能真正跟踪得上。另外储能电池还有一个容易被忽略的约束SOC的上下限。有些模型为了追求经济性把SOC拉到0到100%全范围使用现实里这对电池寿命伤害很大。我一般设10%到90%别为了仿真好看牺牲设备寿命。3.3 一个可复现的简化算例某园区日运行优化下面给一个可以“抄作业”的简化算例方便你把整个流程跑通。假设某园区包含100kW光伏、50kW燃气轮机电效率40%、100kWh储能功率50kW充放效率90%、80kW燃气锅炉热效率90%、30kW电锅炉电效率95%。电力负荷主力在白天峰值约150kW热负荷峰值约80kW。分时电价谷时23:00至7:00为0.4元/kWh平时为0.8元/kWh7:00-10:00、12:00-18:00、20:00-23:00峰时为10:00-12:00、18:00-20:00为1.2元/kWh。天然气价2.8元/m³碳价60元/吨电网排放因子取0.581kg/kWh配额设为系统实际排放的90%初始方案按无优化情景估算。我把两种情景的结果做个对比第一种是不含碳成本只做分时电价优化第二种是分时电价和碳成本同时优化。情景燃气轮机运行时段储能动作全天购电全天碳成本相对成本变化只考虑分时电价峰时段满载发电谷充峰放较低未计入基准分时电价碳交易峰时段发电平时段部分出力谷充峰放减少多余循环略增显式计入总成本增加约4%至8%从结果看第一情景下燃气轮机在峰时段发电谷时段停机储能在谷时充电、峰时放电。加入碳成本后燃气轮机在平时段的出力被压缩因为平时段发电的边际成本加上碳成本已经逼近或超过平时电价部分发电任务转移到电网购电和储能放电上。碳约束带来的额外成本大约占原运行成本的4%到8%具体数字会因为电价、气价而浮动。但如果系统拥有富余配额甚至能出售配额这部分成本就会转为收入这往往是业主对碳交易最感兴趣的点。求解工具我用的是Python加PuLP如果你要加入二进制变量求解混合整数规划OR-Tools或Gurobi会更合适。数据读取用pandas结果可视化用matplotlib。整个流程分成五步数据准备、模型构建、求解、结果回写、敏感性分析。第一次跑通整个算例大约需要半天到一天主要时间都花在调设备和时段的参数上。4. 从仿真到落地我踩过的坑和排查方法4.1 模型算得“很优”现场根本没法执行这个问题几乎是每个刚做优化的团队都会遇到的。仿真模型里燃气轮机出力曲线在几个调度时段之间剧烈跳跃看起来成本很低实际上现场机组根本跟不上这个调节速率操作员最后只能切手动模式优化方案变成一纸空文。排查和解决办法没有什么捷径就是在模型里加上爬坡约束把调度时段从5分钟拉长到15分钟或1小时之后再跑一遍。你会发现成本和原方案差不了多少但曲线可执行性大幅提升。另外现场设备还受最低技术出力限制模型必须显式写入否则优化会频繁把机组压到0再突然启动实际机组是不允许这样频繁启停的。4.2 碳核算口径不统一导致的“碳账打架”这是我在实际项目里遇到的最麻烦的问题没有之一。同一个系统有的碳盘查指南把外购电力的间接排放算进企业总排放有的地方为了鼓励绿电消费又把外购绿电的排放算作0导致结果千差万别。如果你拿着同一个优化结果去和业主的碳盘查报告对账经常对不上然后被业主质疑模型不可靠。处理的办法是建模前就明确核算边界并在模型里把“是否计入外购电力间接排放”“绿电因子是否置零”做成可配置的开关参数。这样当政策调整或者业主的核算口径变化时模型不用改结构改参数就能重新出结果。这也是我给园区做能源平台时特别强调的一个功能点。4.3 把电网平均排放因子当成固定常数电网排放因子不是一成不变的一天之内、一年之内都有波动。如果系统里风电光伏占比高负荷高峰和新能源出力高峰错位那么不同时段的边际排放因子差异会很大。你用全年平均因子去算每一个时段的碳排放成本本质上是在用一个粗粒度数据指导精细调度误差很可能不小。处理的办法是至少做两套敏感性分析一套用平均因子一套用高值和低值区间重点看“分时电价和碳价叠加后设备出力的趋势是否翻转”。如果结论在因子的合理波动范围内保持稳定说明你的方案是稳健的如果某个边界条件下设备策略完全变了那就要谨慎了不妨在模型里把排放因子的时段曲线作为输入参数而不是一个常数。4.4 只算边际成本忘了配额分配的“锚定效应”碳价进入优化模型后很多人只盯着边际成本而忽略了配额的分配方式。配额如果按历史法分配历史排放越高的企业初期获得的配额越多碳成本对它的惩罚短期并不明显配额如果是基准线法分配按先进机组标杆值来给高碳设备就会被严厉惩罚。这个差异会直接影响燃气轮机的开机策略。我在给不同园区做方案时一般都会问一个很关键的问题你们拿到的配额是怎么算出来的如果业主自己都说不清楚就按最保守的基准线法做方案那样在碳市场里不容易吃亏。然后我会在模型里把配额设成一个可配置参数跑几组不同配额水平的场景让业主直观看到配额松紧对运行成本的影响。4.5 一个实用的排查清单问题现象常见原因排查方法优化结果中储能每天充放次数远超循环寿命预期没有计储能寿命损耗及损耗对应的碳成本在目标函数中加入随充放电次数变化的损耗成本燃气轮机出力曲线频繁启停缺少最小开机/停机时间和爬坡约束增加机组启停约束设置最短持续运行时长碳成本算出来很高但系统实际并不需要购买那么多配额配额核算边界与优化模型边界不一致统一边界把配额作为模型参数显式表达加入碳价后方案反而比不加碳价时更高碳碳价传导符号写反或排放因子取错时段检查目标函数中碳成本项的符号检查排放因子曲线现场调度人员完全不按优化结果走优化结果未给出可理解的理由只给出一串数字输出设备出力的“经济解释”比如每个时段为什么是这个动作这份清单是我在交付项目前必查的一张表基本上每条都源自真实返工教训。做了几年综合能源优化项目我最大的体会是分时电价和碳交易并不是两个独立的约束它们本质上是在同一个系统里同时为能源使用行为定价。分时电价告诉你什么时候用能更便宜碳交易告诉你什么样的能源结构更值钱。无论你是做园区能管平台还是做设备调度策略最紧要的就是别把这两个账本分开算。分开算的优化一定会吃亏。最后分享一个小建议刚开始接触这类项目的朋友不要一上来就堆一个巨大的混合整数规划模型。先找一个典型日用表格把逐时的电价、气价、碳价、负荷列出来手工做一遍“谷充峰放、高峰自发电、平时段买电”的方案算清楚每台设备的大致成本和碳排放再去写模型。这样你才能知道优化出来的数字合不合理也才敢在业主面前拍胸脯说这个方案能落地。模型的每一次输出都应该被你用直觉审一遍这个习惯救过我很多次。
阅读完成 · 觉得有帮助?
咨询建站