☰
虚拟电厂调度优化:光热电站储热系统如何成为可调资源
2026/10/21 19:41:55 网站建设 项目流程

去年年底,我参与了一组虚拟电厂调度优化的模拟测试项目,核心问题只有一个:把带储热系统的光热电站作为可控资源,放进虚拟电厂里做优化调度,到底能发挥多大作用?一开始我以为这就是又一个“新能源+储能”的常规聚合,真正上手才发现,光热电站跟普通的源侧机组完全不是一回事。虚拟电厂里多数资源——光伏、风电、可调负荷——基本都是“看天吃饭”或者被动响应,而光热电站自带储热系统,可以把白天的太阳热量搬到晚上再发电,是一只非常少见的“时间搬移型”电源。如果你正在做虚拟电厂资源聚合、新能源调度优化,或者在评估光热电站的运营价值,下面这套建模、实操和踩坑记录,应该能用得上。

1. 为什么虚拟电厂偏偏盯上了光热电站

1.1 光伏的“看天吃饭”与光热的“蓄热再战”

虚拟电厂聚合的对象通常很杂:分布式光伏、分散式风电、储能、充电桩、可控负荷,偶尔还有余热余压小机组。不管资源类型怎么变,调度平台真正想要的其实是两样东西:可预测的出力和可调节的响应。光伏和风电的出力曲线基本由天气决定,预测再准,本质上也是在“被动跟随”;储能可以做搬移,但容量有限,而且纯电池的度电成本并不低。

光热电站的结构和光伏完全不同:聚光集热场把太阳直射辐射收集起来,加热导热油或熔盐,高温热量再进入蒸汽发生系统推动汽轮机发电。最关键的是中间那套储热系统,热量可以烧完立刻用,也可以先存进储热罐里,等傍晚、夜间或者在电价高峰时段再抽出来发电。用大白话说,光伏像“现做现卖的小吃摊”,光热像“先囤食材再择时出餐的中央厨房”。这个特性放到虚拟电厂的调度框架里,价值不是锦上添花,而是补上了一块非常稀缺的可调度资源。

1.2 虚拟电厂缺的正是这口“可调度容量”

很多虚拟电厂项目做到后面会碰上一堵墙:聚合的装机容量很壮观,但真正能在电网需要时上调下调的“硬容量”很少。原因很简单,光伏和风电无法保证在你想让它出力的时候一定有风有光,电池储能能顶几个小时,但容量价格不便宜,可调负荷又受用户生产生活习惯制约。结果就是,虚拟电厂对外宣称的调节能力,真正能落地的可能只有一小半。

光热电站恰好能补这个缺口。它有真实的旋转发电设备,有汽轮机可以提供转动惯量和一次调频能力,又有储热罐支持数小时的持续出力调节。在调度视角里,光热电站更像一座“可灵活调度的绿电火电”:没有燃料成本焦虑,却有接近火电的调节能力,而且它发的电来自太阳能,不产生额外排放。对虚拟电厂来说,这样的资源加入后,整体出力的可信度和可调度性会明显上升,和电网调度中心谈交易时手里的筹码都不一样了。

1.3 从“以热定电”到“以电协调”:一场解耦战

传统光热电站的运管方式中,很多项目遵循“以热定电”的原则,因为集热场白天产热,汽轮机自然跟着热量走,太阳好就多发电,太阳弱就少发电。这个原则保证了电站自身的热力平衡,但放在虚拟电厂优化调度的视角下很吃亏:如果午后光伏大发,光热还在满负荷发电,两股电源挤在一起,要么压低电价,要么被迫弃光;到了晚高峰光伏出力归零,光热的热量又可能已经用完了。

虚拟电厂想要的效果是“以电协调”:希望光热电站根据电价信号、电网负荷缺口和内部其他资源的状态,反向决定什么时候蓄热、什么时候放热发电。要做到这一点,调度模型就必须同时管理集热、储热、发电三个环节,把原本被太阳辐照节奏绑死的发电曲线,变成一个真正可以优化的决策变量。这就是整个探索中最核心的课题。

2. 光热电站在调度模型里到底长什么样

2.1 五个约束把“物理脾气”翻译成数学语言

把光热电站写进优化模型,第一步不是堆公式,而是把它的物理限制一条条列清楚。我归纳了五个核心约束,基本可以覆盖大多数调度场景:

  • 集热场产热约束:每个时段的集热功率不能超过当日光照条件下集热场能收集的上限,这个上限由太阳直射辐射预测和集热场效率决定。
  • 储热罐容量与速率约束:储热罐能存的热量有上限,充放热速率也有上限,不能一个小时内把6小时储热罐全部打满或放空。
  • 发电功率上下限约束:汽轮机有最小技术出力和最大额定功率,比如20%到100%额定出力;低于下限时会面临燃烧不稳或效率骤降,实际工程中一般不允许长期运行。
  • 热电平衡约束:任何时刻,进入蒸汽发生系统的热功率,与汽轮机发电功率之间必须满足热电转换关系,简单说发多少电就要有多少热。
  • 爬坡与最小运行时间约束:汽轮机升负荷和降负荷都有速率限制,相邻时段的功率变化不能太大,否则金属部件热应力过大,设备寿命和安全性都会出问题。

这五个约束列出来后,光热电站就不再是一个模糊的“大电源”概念,而是变成了一组可以被优化引擎理解的边界条件。

2.2 储热罐的本质就是一个带损耗的“蓄水池”

储热罐的调度逻辑,本质上和电池储能很像,都是“存余、放缺”。可以用一个一阶递推式近似表达:

SOC[t+1] = SOC[t] + (Q_in[t] - Q_out[t]) * Δt / C - loss_soc

其中 SOC 是储热罐当前热容量占比,Q_in 是某时段充入储热罐的热功率,Q_out 是放出的热功率,C 是储热罐总容量,loss_soc 是散热和介质循环带来的损耗。这个式子看起来简单,实际建模时有两个细节要格外注意。

第一,热量的“充放”不像电池那样可以直接用功率折算,因为集热场产生的热量可能同时被蒸汽发生器直接使用,也可能先存入储热罐;储热罐放出的热量又可能部分直接用于发电。所以调度模型里要区分两条热路:直供回路和储放回路,这直接决定了集热场热量分配策略。第二,储热罐不可能做到完全绝热,长时间运行后会有温度漂移和热损失,好的模型会加一个散热损失项,否则优化的结果会过度自信,把储热罐最后的几度电也算进去,实际操作中根本拿不到。

2.3 时间尺度的三层结构:日前-日内-实时

光热参与虚拟电厂调度,不是一个时段的静态决策,而是典型的多时间尺度问题。我在项目里用的结构分成三层:

  • 日前调度:基于次日光照预测、负荷预测和电价预测,制定未来24小时的光热发电计划、储热罐充放策略、电池充放电计划,时间分辨率通常是1小时。
  • 日内滚动调度:每15分钟到30分钟更新一次未来4小时到6小时的计划,主要应对光伏预测偏差和实际负荷波动,光热储热罐为这里提供了很大的纠偏空间。
  • 实时控制层:秒级到分钟级的AGC调节,电池和可调负荷负责快速响应,光热由于汽轮机有爬坡限制,不参与高频调节,但可以作为慢速备用。

三层结构不是拍脑袋定的,而是根据各资源的响应速度划分:电池快、光热慢、可调负荷居中。如果让光热参与秒级调节,汽轮机寿命会受影响;如果让电池包揽日内全部修正,容量又不一定够。所以分层调度是工程上的最优解。

3. 一次完整的虚拟电厂优化调度实操流程

3.1 搭建一个典型的聚合场景

为了让整个探索有可比性,我在模拟项目里搭了这样一个虚拟电厂场景:某光照资源丰富地区,聚合了50MW光伏电站、10MW/40MWh电池储能、100MW光热电站(储热容量约6小时满负荷),外加20MW可调工业负荷。虚拟电厂整体通过统一关口接入上级电网,参与峰谷分时电价下的优化调度。

选择这个组合是有原因的:光伏负责提供白天的大批量低成本绿电,电池负责快速调节和削峰填谷,可调负荷提供需求响应弹性,光热则承担“跨时段搬移”的任务——午间光伏大发时储存热量,傍晚和晚间负荷高峰时释放发电。储热容量设为6小时,是为了让光热在日落后仍能维持较长时间的高出力,这比3小时储热方案更有利,但投资和散热损耗也更高,是一个需要权衡的设计参数。

具体的模拟参数如下:

资源类型装机容量关键参数
光伏50 MW弃光惩罚系数较高,午间出力高峰明显
电池储能10 MW/40 MWh充放电效率92%,循环寿命折算成本约0.2元/kWh
光热电站100 MW热电转换效率42%,储热容量600 MWh(热),散热损失每小时0.1%
可调负荷20 MW可平移时段2小时,配合虚拟电厂削峰

3.2 目标函数:收益、弃光惩罚与储热损耗怎么权衡

优化调度的目标不能只盯着“多发电”,要在经济性、安全性和清洁能源消纳之间做权衡。我这轮用的目标函数是最大化虚拟电厂全天净收益:

max Σ(售电收益 - 弃光惩罚 - 电池损耗成本 - 光热启停惩罚)

售电收益是每个时段的上网功率乘以对应结算电价;弃光惩罚是光伏被迫削减出力的代价,数值要设得足够高,否则优化器有时会选择“弃光省事”而不是用储热去吸收;电池损耗成本模拟每次充放电循环带来的寿命损失;光热启停惩罚则是为了避免汽轮机频繁启停。

用伪代码表达大概是这样的:

# 时段集合:T=24 # 决策变量:P_grid[t], P_pv_curtail[t], P_batt_ch[t], P_batt_dis[t], P_csp[t] # 目标:最大化净收益 """ revenue = sum(price[t] * P_grid[t] * dt for t in T) penalty = sum(lambda_pv * P_pv_curtail[t] * dt for t in T) batt_cost = sum(lambda_batt * (P_batt_ch[t] + P_batt_dis[t]) * dt for t in T) csp_cost = sum(lambda_csp * startup[t] for t in T) objective = revenue - penalty - batt_cost - csp_cost """

各权重系数不是随便填的,弃光惩罚可以参考该地区绿电交易价格上浮一定比例确定;电池损耗成本要根据电池厂家提供的循环寿命曲线折算;光热启停惩罚则参照汽轮机热应力维护成本估算。我最初把弃光惩罚设得偏低,优化结果里光伏被主动削减,看着模型收益高,实际上浪费了清洁能源,后来把惩罚系数调到光伏上网电价的1.5倍左右,行为才正常。

3.3 约束可视化与求解器选型

模型写好后,求解环节并不复杂。这类问题本质是一个混合整数线性规划问题:储热罐SOC更新公式是线性递推式,发电功率上下界是线性约束,启停状态用二进制变量表示,目标函数中也没有非线性项。我用开源求解库做了第一版求解,在T=96(15分钟粒度)的情况下,变量规模大概在两千个左右,求解耗时大约几十秒,完全满足日前调度的时效要求。

如果接入的实际电站再复杂一些,比如多段储热、多台汽轮机、更细的换热约束,可以升级到商业求解器,或者把模型拆成上层机组组合、下层经济调度两层求解。我试过分层求解,速度确实快很多,但代价是光热储热罐的跨时段策略会被上层决策限制,灵活度下降。所以如果没有明显的性能瓶颈,我更建议用单层完整模型,优化效果更可靠。

3.4 同一场景下三个方案的调度结果对比

为了验证光热电站的调度价值,我在完全相同的输入条件下跑了三个方案:方案A只有光伏和电池储能,光热不参与;方案B有光热但按固定“以热定电”曲线运行;方案C有光热且由虚拟电厂统一优化调度。模拟结果如下:

方案日净收益(万元)光伏弃光率晚高峰支撑出力(MW)储热罐有效利用率
A:光伏+电池28.68.7%约42无
B:固定光热31.92.3%约6665%
C:优化光热34.70.6%约7888%

方案A弃光率高很好理解:午间光伏大发时本地用不完,电池容量有限,多余的电力只能丢弃。方案B里光热虽然能帮忙,但因为“以热定电”,中午光照最强时光热也满发,反而加剧了午间供大于求的局面,只是依靠光热自身容量分担了一部分负荷。方案C让光热的储热罐在午间大量蓄热、降低发电出力,把热量转移到晚高峰再释放,既减少了光伏弃光,又抬高了晚高峰的支撑出力,收益提升非常明显。

这个对比说明一个核心观点:光热电站的价值壁不是“装了多少”,而是“能不能把热量放到最合适的时间发电”。固定运行的储能电站只是半个可调资源,只有纳入统一优化调度,它的储热价值才真正释放出来。

4. 实际跑调度踩过的坑与排查实录

4.1 储热罐的“安全边际”不能压到零

第一次跑优化算例时,结果非常漂亮,储热罐SOC几乎每一时段都被压到0%或100%,利用率极高。但放到更精细的仿真平台里跑一遍就露馅了:储热罐在接近空罐时,换热器进出口温差不足,熔盐泵流量波动明显,实际放热功率比模型设定低了不少,导致汽轮机在某个时段发不到计划出力。

问题的根源是我把储热罐当成了一个理想的“热量钱包”,理论上0到100%都能用,而实际工程中罐底有死容量、熔盐凝点保护、换热温差要求等限制。修正方法是给SOC加一个5%~10%的安全下边界,同时把散热损失写进递推方程。从这以后,调度计划在真实物理条件下就基本站得住了。

4.2 爬坡约束不够,优化结果像“抽风”

还有一次,优化输出的光热发电曲线在早晨6点从30MW直接跳到100MW,当时我看数据没觉得问题,直到同事提醒才意识到:这台汽轮机根本承受不了这么剧烈的负荷变化,热应力会直接威胁转子寿命。出现这种情况是因为模型里只写了发电功率上下限,没写相邻时段的爬坡速率约束。

解决办法是在约束中加入光热发电机组的爬坡限幅,例如每分钟不超过2%额定功率,同时增加最小运行时间和最小停机时间约束,防止汽轮机频繁启停。这些约束用线性形式加进模型后,求解速度略有下降,但计划的工程可行性大幅提升。

4.3 日前计划被光伏预测偏差打穿

第三类问题是光伏预测不准带来的连锁反应。某天日前计划按照“晴转多云”的光伏曲线制定了午间光热少发、储热多存的策略,结果当天实际天气迅速转阴,光伏午间出力比预测低了近30%,而光热的热量很多已经按计划存进储热罐准备晚高峰使用。虚拟电厂在午后就出现了电力缺口,电池储能被迫提前放电,晚高峰的支撑能力也跟着缩水。

单纯依赖日前调度明显不够,后来我把调度框架改成了日内滚动模式:每15分钟用最新光伏超短期预测重新计算一次未来4小时到6小时的计划,光热储热罐保留一定的可调余量,不把所有热量提前锁死在晚高峰。光伏预测偏差很难完全消除,但滚动优化的机制能让系统快速纠偏。

4.4 “虚拟电厂喜欢,电网调度员皱眉”:功率冲击问题

优化调度会天然趋向于把高收益时段的出力拉满,比如晚高峰一开始就马上把光热从50MW拉到100MW,再加上电池放电,虚拟电厂的总上网功率曲线会出现一个明显的“阶梯跳变”。站在虚拟电厂运营方角度这是最优解,但站在电网调度员角度,这种一分钟内的大幅功率变化就是冲击,严重的会引起频率波动和断面越限。

对这个问题,我在模型里加了虚拟电厂总出力爬坡约束,把总功率变化速率限制在可接受范围内,同时让光热走慢坡、电池负责中间的快速调节。这样一来,可观的收益损失很小,但对外呈现的功率曲线平滑了很多,和电网调度沟通时阻力也小了不少。

4.5 常见问题速查表

整理了一张问题速查表,很多是几轮测试反复遇到的:

现象可能原因排查手段解决办法
储热罐SOC贴着边界跑模型没有考虑死容量和换热温差检查SOC上下限和收敛值设置5%~10%安全边界
光热出力曲线剧烈跳变缺少爬坡约束或启停约束查看相邻时段功率差加入爬坡限幅、最小启停时间
光伏弃光率异常高弃光惩罚系数设置偏低对比目标函数各项损失提高弃光惩罚权重
优化结果收益高但实际发不出散热损失未建模回放储热罐温度曲线加入散热损耗项
求解时间远超预期启停变量过多,模型变大检查二进制变量数量缓解整数变量规模、分层求解
功率曲线对电网不友好缺乏总出力爬坡约束观察关口功率曲线增加总爬坡限幅和电池配合

这些坑大多是“模型完美但工程欠考虑”造成的,越早把物理细节纳入约束,后期调试成本越低。

5. 光热电站在虚拟电厂里还能往哪走

5.1 从“单点聚合”到“多时空协同”

本轮探索只做了单座光热电站和一天24小时内的优化。如果把时间尺度拉长,光热的储热能力还能支持跨日甚至跨周的调节:连续阴天时提前蓄热,大风天到来时光热降出力留热给后续时段用。类似的逻辑放到多资源协同上,光热可以和更远区域的风电场打配合,用虚拟电厂的广域调度策略实现“风蓄互补、光热调峰”。

这种多时空协同对优化模型提出了更高要求,但幸好光热本身储热容量大、出力稳定,在更广义的虚拟电厂版图里,它不再是单一电站,而是一个区域内新能源协同调度的压舱石。

5.2 收益模式可以再玩出花样

在我这轮测试里,光热的收益主要来自峰谷电价差和减少弃光,但这只是最基础的变现方式。光热电站的汽轮机是旋转设备,具备转动惯量和调频能力,未来可以作为虚拟电厂参与辅助服务市场的备用容量、调频容量甚至黑启动资源。带储热的光热电站还能当作长时储能来卖容量,在电池储能价格还没有大幅下降的背景下,这是一个很有意思的替代方案。

此外,光热电站的低运行成本、稳定出力和清洁属性,也让它很适合与绿电直供、绿色电力交易等场景结合。虚拟电厂可以同时运营多种收益通道,光热在其中扮演的就是“多面手”角色。

5.3 再往后:从确定性调度走向不确定性决策

目前常用的优化调度都是基于预测的确定性模型,也就是把明天的光照、用电和价格都当成已知条件。但实际上这些变量都有很强的随机性,尤其是太阳直射辐射的大幅波动,会让光热调度计划在未来不确定性增大时表现不佳。

更进阶的方向是随机规划、鲁棒优化以及和强化学习结合的决策框架。光热储热系统时间常数长、惯性大,天然适合在不确定性框架下发挥“蓄水池”功能。把DNI预测的置信区间、电价场景树和负荷波动区间一起放进去,优化出的调度策略会比单一预测驱动的方案稳健得多。虽然建模和求解复杂度会上一个台阶,但这可能是光热未来的核心竞争力所在。

最后说一点个人经验。这套探索做完,我最大的体会是:光热电站优化调度难倒不是难在模型有多深,而是难在让优化结果真正匹配物理设备的“脾性”。汽轮机爬坡、储热罐死容量、散热损耗、预测误差——每一个看起来很小的细节,都可能让漂亮的优化曲线变成一张废纸。给同样在折腾这个方向的朋友一个建议:先花足够时间做设备建模和参数校核,再上优化算法,顺序千万不能反。解决完这些工程问题,光热在虚拟电厂里的价值,会比我们在模拟里看到的还要明显。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询