热电联供微网供给侧多能互补优化模型与工程落地

📅 发布时间:2026/10/10 6:18:34
热电联供微网供给侧多能互补优化模型与工程落地
前阵子复现一篇关于CHP-MG热电联供型微网优化运行的文献做到一半差点把模型推翻重来。按照最朴素的思路把燃气轮机、燃气锅炉、蓄热罐、电储能这些设备的效率参数写进约束里解出来的“最优运行方案”竟然会出现一个物理上不太说得通的结果蓄热罐为了套峰谷电价的利差在清晨低谷时段拼命蓄热午后电价涨上来再放热表面看每一度热都“省了钱”可把散热损耗、设备循环寿命磨损和补水成本算进去方案净收益已经所剩无几。问题出在哪儿出在我一开始把“供给侧多能互补”理解得太简单了。这篇博文就是从那篇CHP-MG系统优化运行文献的框架出发把供给侧多能互补模型的核心逻辑拆开讲一遍。我会重点聊模型怎么搭、优化怎么算、仿真怎么验证也会把我复现过程中踩过的坑一并交代。想给正在做微网、综合能源系统建模的研究生以及准备落地园区级多能联供项目的工程师一个可复用的参考。1. CHP-MG系统要解决什么问题三种能流的互补逻辑1.1 从热电联供到微网系统架构与能流角色CHP是Combined Heat and Power的缩写中文叫热电联供MG是Microgrid微电网。热电联产本身并不新鲜火电厂早就用抽凝机组同时供热供电但那是大电网尺度的事。微网尺度下的CHP-MG指一个靠近用户的独立配电单元内部装有一台或多台小型燃气轮机或燃气内燃机、余热回收装置、燃气锅炉还可能配蓄热罐、蓄电池和热泵。系统外部同时连接配电网和天然气管网需要时可以从电网买电、从管网购气。在这个系统里“气”并不是用户的负荷而是上游的燃料输入。天然气进来之后有两条主要出路给燃气轮机发电发电同时产生的高温烟气和缸套水余热通过余热回收装置转成热水或蒸汽供给热负荷或者直接进燃气锅炉用燃烧的方式产热。所以整个系统的能源形式覆盖了“热、电、气”三种能源形式在系统中的角色主要转换路径电终端能量形式供建筑和生产设备使用也可转热电网购电、燃气轮机发电、蓄电池放能热终端能量形式供采暖和生活热水使用余热回收、燃气锅炉、电锅炉、热泵、蓄热罐放热气供给侧燃料输入不直接面向用户负荷燃气轮机、燃气锅炉搞明白这一点再读文献就不容易把微网里的气误当成必须满足的“气负荷”。很多初学者看到“热、电、气3种能源形式”第一时间会想是不是要像电负荷一样给用户供气。实际不是在CHP-MG研究里气更多扮演供给侧能量来源的角色电和热才是最终要满足的负荷形式。1.2 多能互补的三个维度时间互补、空间互补与品位互补多能互补这个词听着抽象落到运行层面其实就是三件事。第一时间互补。电负荷高峰和热负荷高峰往往不重合。比如中午工厂生产用电多但采暖需求低后半夜电负荷低建筑保温却需要持续补热。电价又通常是峰谷分时的天然气价格相对稳定。于是系统可以在电价低谷时段用电锅炉或热泵蓄热在电价高峰时段让燃气轮机多发一点电、少买一点市电。这就是时间互补——电和热在不同时段的替代关系形成一个经济上的套利空间。第二空间互补。燃气轮机的余热如果不回收就直接排进大气在厂区尺度上等于把已经花钱买来的燃料白白扔掉。把余热就近引到热力管网满足几百米或几公里范围内的采暖需求就把原本无用的热量转化成了有价值的服务。空间互补的关键在于“就地取材”热网不能拉太长否则管道散热损失会吃掉余热回收的收益。第三品位互补。这是热力学里最值钱的一条。天然气是高品位化学能直接烧锅炉产80摄氏度的热水相当于拿造火箭的高压气瓶去吹气球——能量数量没变品位的浪费却非常严重。合理的做法是让高品位燃料先经过燃气轮机发电做功再把余热这种低品位能量用来供热。燃气轮机单独发电效率通常只有30%上下如果做成热电联供总能效率做到75%以上并不稀奇。多能互补本质上是把不同品位的能量放在最合适的位置上实现能量的梯级利用。1.3 优化运行真正要回答的三个问题有了系统架构和互补逻辑优化运行的目标就很明确了。它的本质是回答三个问题每一时刻每台设备出多少力燃气轮机是满发还是部分负荷燃气锅炉补多少热热泵要不要启动储能什么时候蓄、什么时候放蓄热罐该在低谷蓄还是在余热富余时段蓄蓄电池该什么时候充电从电网买多少电、从管网买多少气购电比例和购气比例怎么分配这三个问题互相耦合。电负荷曲线和热负荷曲线不一样电价曲线和气价曲线也不一样只要其中一条曲线变化最优的设备出力组合就会随之改变。特别是热负荷偏低时燃气轮机如果只按电负荷需求发电就会多产生不需要的热量这些多余热量如果没有蓄热罐吸收就只能弃掉。反过来如果按热负荷需求去“以热定电”又可能出现电发多了不能上网倒送、只能就地弃电的情况。优化模型要做的事情就是在这些矛盾之间找到成本最低或能效最高的平衡点。2. 供给侧多能互补模型的搭建设备建模与能量耦合关系2.1 先给能量画一张拓扑图母线架构与能流走向动手建模前我习惯先把系统的能量拓扑画出来哪怕只是草稿。CHP-MG一般抽象成两条能量母线电母线和热母线。电网联络线、燃气轮机的发电出口、蓄电池都接在电母线上余热回收装置、燃气锅炉、热泵、蓄热罐都接在热母线上。天然气作为一个独立的输入源分别接到燃气轮机和燃气锅炉上。这样做的好处是能量平衡约束可以按母线分别写。电母线满足所有电负荷热母线满足所有热负荷两边的耦合点是燃气轮机的电出力和热出力、以及热泵/电锅炉的电转热。如果有制冷需求再增加一条冷母线接上吸收式制冷机和电制冷机系统就从CHP变成CCHP。本文以电、热、气三种形式为主冷负荷可以当成一种扩展场景。这个拓扑结构看似简单但它决定了模型的大部分细节。比如蓄热罐放在热母线上还是放在燃气锅炉出口建模方式有细微差别前者需要考虑与热网管道的运行配合后者更像是设备内部缓冲。在微网尺度研究中通常把蓄热罐直接接在热母线上用一个能量平衡方程统一描述。2.2 设备模型怎么写效率、出力区间与爬坡设备模型是供给侧多能互补模型的地基。我把常用设备的建模公式按类型整理了一下方便对照设备输入输出核心表达式关键参数燃气轮机天然气F_GT电功率P_GT、回收热Q_GTP_GT η_e,GT × F_GTQ_GT α_HR × F_GT发电效率η_e余热系数α_HR燃气锅炉天然气F_GB热功率Q_GBQ_GB η_GB × F_GB锅炉效率η_GB电锅炉/热泵电功率P_HP热功率Q_HPQ_HP COP × P_HP制热性能系数COP蓄热罐蓄热/放热功率热功率SOC(h,t1) SOC(h,t) (Q_ch × η_ch - Q_dis/η_dis) × Δt - L_h蓄放热效率、散热损失L_h蓄电池充电/放电功率电功率SOC(b,t1) SOC(b,t) (P_ch × η_c - P_dis/η_d) × Δt充放电效率、自放电率每个设备还需要两个边界条件出力上下限和爬坡速率。出力上限好理解比如燃气轮机最大发电功率500kW最小技术出力100kW下限往往更关键优化算法会倾向于让设备在极低负荷运行来省钱但在实际中燃机在低负荷下效率急剧恶化甚至无法稳定燃烧所以最小技术出力约束必须有。爬坡约束是我在复现时最容易忽略的一条。如果调度时间间隔是1小时而燃气轮机15分钟就能从零爬到满负荷那一小时的爬坡约束就形同虚设。建议两种情况要么把调度步长细化到15分钟并同步检查能量平衡公式里的时间变量要么在1小时尺度上人为收紧每小时的功率变化上限来近似。否则模型会得出“设备可以瞬跳”的伪最优解和现实差得很远。2.3 用耦合矩阵理解“互补”但在优化中慎用供给侧多能互补模型在系统层面可以用能量枢纽耦合矩阵来表达。记系统输出为电功率P_e和热功率Q_h输入为电网购电P_grid和天然气F_gas则[ P_e ] [ a11 a12 ] [ P_grid ] [ Q_h ] [ a21 a22 ] [ F_gas ]矩阵里的a11来自电网购电通道a12来自燃气轮机发电a21来自热泵或电锅炉的电转热a22来自燃气锅炉和余热回收。两个输入通道、两个输出通道之间的耦合就是“互补”的数学写照同一个负荷需求可以通过矩阵中不同列的组合来完成。电价便宜时多走第一列气方便宜时多走第二列。但我自己在写优化程序时并不会真的先把方程化简成这种矩阵再去求解。原因很实际一旦加入储能时序变量、启停0-1变量、爬坡约束再强行用耦合矩阵表达会让模型变得极其别扭约束矩阵会膨胀调试起来也麻烦。耦合矩阵适合做系统级分析或者等值聚合适合放在论文的机理章节讲清楚互补关系真正进求解器的时候还是按母线平衡、设备约束分开写成标准形式更稳妥。2.4 模型假设的取舍常数效率与线性化的边界供给侧模型里最敏感的一个假设是设备效率取常数还是随负载变化。常数效率模型简单、可解释性强在典型日调度、全年逐时仿真里都够用但燃气轮机的部分负荷效率曲线并不是平的负荷率跌到50%时发电效率可能下降好几个百分点。如果整篇研究都采用额定效率计算燃气轮机在低负荷运行的收益会被明显高估最终优化结果在工程上不可信。折中的做法是分段线性化。把燃气轮机负载率分成几段每段采用不同的平均效率或者直接用一组线性不等式来逼近二次效率曲线。代价是增加了一些约束变量换来的是模型仍然停留在线性规划或混合整数线性规划框架内求解稳定且快。不要轻易引入非线性表达式去描述效率除非确实需要高精度且不在乎求解时间——这是我踩过多次坑之后总结出来的经验。3. 优化运行问题的数学化目标函数、约束条件与求解器选型3.1 目标函数经济性、能效与碳排放怎么权衡优化运行的目标函数绝大多数文献选择最小化总运行成本。一个典型的目标函数可以写成min Σ_t [ π_e(t)·P_grid(t) π_g·F_gas(t) c_om(t) c_start(t) ]其中π_e(t)是分时电价π_g是天然气价格c_om是设备运维成本c_start是启停成本。如果考虑碳排放约束还可以在目标里加入碳交易成本项Σ_t [ λ_CO2 × E_CO2(t) ]E_CO2来自购电和购气的间接排放。关于目标函数我有一个提醒完全用经济目标做优化得到的策略很可能牺牲效率和排放。比如电价很高时系统可能让燃气轮机满发余热太多只能弃掉一次能源消耗反而不经济。很多研究会用多目标优化把经济性和碳排放作为两个并列目标通过权重法或epsilon约束法生成帕累托前沿。如果是做工程落地单目标经济优化加碳排放约束就够用了如果是发学术论文多目标分析能拉开对比层次但也不用做太复杂两个目标就足够讲清楚协同关系。3.2 约束条件的完整清单从供需平衡到储能边界我把CHP-MG优化运行里最常出现的约束整理成一张清单复现模型时照着这个清单逐条检查基本不会漏项约束类别数学表达说明电功率平衡P_grid P_GT P_dis P_load P_HP P_ch购电、发电、放电之和等于负荷与用电设备之和热功率平衡Q_GT Q_GB Q_HP Q_dis Q_load Q_ch产热与蓄热、放热必须和热负荷一致设备出力区间P_min ≤ P ≤ P_max所有设备都有下限和上限设备爬坡约束-ΔP_down ≤ P(t1)-P(t) ≤ ΔP_up每步功率变化不能超过实际爬坡速率储能SOC递推SOC(t1) SOC(t) η_ch·P_ch - P_dis/η_dis蓄热罐和蓄电池都适用储能容量约束SOC_min ≤ SOC(t) ≤ SOC_max防止过充过放储能初始/末端状态SOC(0)SOC(T)公平对比不同调度周期避免把储能当免费资源备用容量约束系统可上调容量 ≥ 需求孤网运行或高可靠要求时需要这里面最容易犯的一个错是不加初始/末端状态相等的约束。如果没有这条优化算法会把蓄热罐的初始热量当作免费资源一次性放完得到一个“假省钱”的结果。两个方案对比时如果A方案把储能耗尽了、B方案保持初始状态两者根本没有可比性。所以储能SOC的边界条件必须写死。3.3 求解器与算法选型MILP、滚动优化和启发式算法模型写成线性或混合整数线性之后求解器的选择很直接模型类型适用场景推荐工具LP全线性效率固定、无启停变量的经济调度Gurobi、CPLEX、开源CBCMILP含0-1变量考虑设备启停、最小运行时间Gurobi、CPLEX规模小时可用CBCMINLP非线性整数混合必须描述非线性效率曲线但尽量先线性化先尝试分段线性化不行再用GAMS DICOPT或启发式算法大规模多周期全年度8760小时、滚动优化场景聚合、Benders分解、分布式求解我个人的习惯是能用商业求解器就用商业求解器尤其是Gurobi处理典型日24小时或一周168小时的MILP问题通常秒级到几十秒。如果研究中硬要用粒子群或遗传算法往往是因为模型里带有非线性部件又不想做线性化。但对于带储能的模型启发式算法很容易陷入“储能时序变量和0-1启停变量耦合”造成的不可行区域内而且每次运行结果不固定论文复现性差。真要用启发式至少跑20次以上取可行最优解并在论文中把随机种子写清楚。如果做在线调度可以考虑模型预测控制MPC的思路每15分钟或1小时滚动一次用最新的负荷预测重解一个较短时域比如4小时或24小时的优化问题只执行第一个时段的控制信号。这样就把预测误差的影响限制在滚动窗口内比一次性求解全天方案鲁棒得多。4. 仿真算例怎么设计场景搭建、结果对比与灵敏度分析4.1 算例基础配置设备参数与负荷曲线假设仿真算例设计直接决定结论的可信程度。我复现文献时采用的是一套典型园区参数这里列出来供参考不是从特定文献抄来的而是比较常见的公开量级设备容量关键效率参数燃气轮机500kW发电效率30%余热回收效率40%燃气锅炉500kW热效率90%热泵200kWCOP 3.5蓄热罐1000kWh蓄放热效率95%散热损失每小时0.5%蓄电池500kWh充放电效率95%负荷方面典型冬季日白天8点到18点电负荷峰值为800kW热负荷平缓约400kW夜间电负荷降到200kW热负荷因为采暖需求反而涨到600kW。电价采用峰谷平三段峰时1.1元/kWh、平时0.7元/kWh、谷时0.35元/kWh天然气价格定为2.8元/m³按热值折算相当于0.25元/kWh。这些假设看起来简单但它能保证模型出现多个“关键切换点”燃气轮机会不会开、蓄热罐什么时段蓄、热泵要不要顶上都由这些数字决定。4.2 分供、CHP、CHP加储能三种方案的对比口径仿真一般要设置对照组才能体现供给侧多能互补的优势。我常用的三套方案是方案A分供系统电网购电加燃气锅炉产热没有任何联供设备。方案BCHP系统燃气轮机发电加余热回收余热不够时锅炉补燃。方案CCHP加储能扩展在方案B基础上加入蓄热罐和蓄电池允许设备之间跨时段调度。在同样的负荷和价格条件下我复现得到的日运行成本和一次能源消耗大致如下这是一组示例数据不同文献参数下具体数值会不一样但趋势具有参考性指标方案A分供方案BCHP方案CCHP储能日运行成本约2.10万元约1.85万元约1.72万元一次能源消耗约32.7MWh约30.9MWh约28.6MWh弃热率无约8%约2%方案B相比方案A有优势核心原因是燃气轮机热电联供把高品位燃料的能量用满但如果热负荷较低余热用不完就需要考虑方案C。蓄热罐把燃气轮机的余热在热负荷低时存起来、热负荷高时再放出有效降低了弃热率蓄电池则负责在电价低谷时充电、巅峰时放电进一步压低购电成本。方案C的优势本质上来自“储能把时间维度上的自由度打开”了这也解释了为什么供给侧多能互补必须和储能配合才能达到最优。4.3 灵敏度分析气价、热负荷比例与储能边界怎么影响结论算例做完灵敏度分析是检验结论是否稳健的关键也是审稿人和工程投资方最看重的一环。我通常做三组第一组天然气价格上浮10%。燃气轮机和燃气锅炉的成本同时上升CHP相对分供的优势会明显缩小。气价涨到一定阈值后燃气轮机满发不再是最优策略系统会转而多买市电、让锅炉多供热。这一组分析能告诉读者结论对气价有多敏感也顺便给出“什么时候CHP不值得上”的边界条件。第二组热负荷与电负荷的比例变化。热负荷占比太低时CHP按电出力运行会产生大量无法消纳的余热蓄热罐容量再大也存不下弃热率飙升。在很多园区项目里这个“热负荷不足”恰恰是实际运行中CHP系统经济性不佳的根本原因。研究这个场景的意义在于它提醒我们不要只看额定工况更不要拿一台大燃机配一个很小的热负荷去算收益。第三组储能的初始和末端SOC约束是否一致。我在做对比时特意分别跑了两个版本一个强制SOC(0)SOC(T)一个允许自由结束。两者结果可能差出5%-10%的成本自由结束版给出的省钱空间来源于“把储能初始能量白嫖掉”这在工程上不可持续。灵敏度分析做到这一步其实已经不只是在验证模型而是在给自己和读者划定研究结论的适用边界。5. 从论文走向工程数据获取、求解效率和模型落地的现实问题5.1 预测误差面前最优运行方案还成立吗论文里常假设负荷曲线和气象条件是已知的但实际运行时只有预测值。负荷预测误差通常在5%-15%之间光伏出力预测误差更大这会直接影响优化出的设备调度指令——预测说下午热负荷高你把燃气轮机开足了实际热负荷却很低余热全部浪费。我建议工程实现上采用滚动优化加反馈修正。就算暂时不做模型预测控制也要让优化程序能够定时读取最新的负荷预测和实际量测数据重新求解未来4小时或24小时窗口。目标函数里还可以给设备加“动作惩罚项”比如设备的功率调整次数超过一定阈值就加成本避免系统在相邻两个调度周期之间反复启停设备。这样处理之后虽然理论上损失了一点全局最优性但可操作性大幅提升。5.2 设备真实效率曲线比额定效率更重要的数据工程落地的第二道坎是数据。燃气轮机厂家样本给的效率是在ISO工况下测出来的实际部分负载率在60%-80%时效率通常低于额定值进口空气温度、进气压力损失、燃料气质都会影响真实出力。储能电池的实际可用容量会随循环次数和温度衰减蓄热罐的水质和罐体保温效果也未必达到设计值。在做项目可行性研究阶段我会尽量要求厂家提供实测性能曲线而不是只拿额定值做方案选型。若只能拿到额定值至少留一个10%的容量裕度并在结论里写明“收益存在不确定性”。研究型论文虽然可以用常数效率但如果想在结论里说清楚“到底有多少利润空间”这部分误差是回避不了的。5.3 计算规模控制典型日、场景聚合与时间步长全年度8760小时的MILP模型设备和约束稍多求解时间就可能从几分钟膨胀到几小时甚至几天。我在复现时常用的方法是先做典型日聚合把全年数据用k-means聚类选出冬季采暖、过渡季、夏季制冷三种典型场景再按天数加权还原全年估算。这样既保留了季节差异和负荷水平差异又把24小时×3天的问题控制在秒级求解范围。如果确实要跑全年逐时可以考虑分治思路——把所有时段按“日间峰时段”和“夜间谷时段”切成若干子问题迭代求解或者直接把时间步长从15分钟放宽到1小时。放宽步长前要重新确认爬坡约束和储能SOC递推里的时间变量都同步改了否则容易在衔接段产生能量不守恒的问题。我建议把“先跑通小规模、再逐步扩大”作为调试铁律不要第一步就上全年8760小时的大模型。5.4 最后一公里的现实问题储能运维与最低技术出力最后一个容易被优化模型忽略的现实因素是储能设备的运维和损耗成本。蓄热罐看起来只是存热水实际上需要考虑补水、水处理、循环泵电耗、罐体定期维护蓄电池更不用说充放电循环次数直接对应寿命衰减。把单位循环成本折算进目标函数之后很多“理论上省钱”的储热策略实际收益会被大幅压缩。我见过不少示范项目优化报表上写的储能收益和实际结算差异很大主要就是模型里没把这部分成本算进去。同样的逻辑也适用于燃气轮机最低技术出力。优化程序经常会给出“燃气轮机带很小负荷运行”的解用来应付低电负荷时段的边际需求。真实机组在那么低负荷下燃烧不稳定NOx排放也可能超标根本不允许长时间运行。所以建模时一定要把最小稳定出力写进约束最好再加上最短连续运行时间和最短停机时间否则优化结果只能停留在纸面上。把“约束里必须存在的东西”放到第一位是我做了多年微网运行优化之后最深的体会。供给侧多能互补的潜力确实可观但前提是每一台设备的行为都经得起物理现实的检验。模型复杂一点、求解慢一点都不是问题结果没法落地才是最伤的。