1. 为什么是"两阶段"而不是"一杆子到底":滚动调度的底层逻辑
先说个很现实的问题:综合能源系统调度这件事,如果只靠一次优化算完24小时,结果往往没法直接用。原因很简单,你算的时候用的负荷预测、光伏预测、风电预测,和实际运行时的真实数据之间总有差距,而且这个差距会随着时间推移越来越大。用一句通俗的话说:你拿着昨天的天气预报决定今天穿什么,十有八九会被淋个措手不及。
我做这个项目最开始的动机,就是不想让调度策略停留在"算完就完"的理论层面。综合能源系统里,电、气、热多能耦合,储能、燃气轮机、锅炉、吸收式制冷机这些设备都有各自的运行约束,再加上用户侧负荷还有很大的调节空间,如果不用一个合理的时序框架把这些东西串起来,整个系统的经济性和可靠性很难同时兼顾。这里引入分时电价需求响应,本质上是想用价格信号撬动用户侧的调节潜力——把高峰时段的负荷往低谷挪,用便宜的电替代贵的天然气,让整个系统在经济性和低碳性之间找到一个平衡点。
很多刚接触这个方向的同学都会问:为什么要分日前和日内两阶段?一个模型把全天都管了不行吗?答案是:不行。原因我在前面已经说了一半——预测误差。剩下的一半在于,电力的物理特性决定了供需必须实时平衡,但设备响应是有时间尺度的。燃气轮机启停、储能充放电切换、吸收式制冷机启动,这些动作的响应速度和成本完全不是一个量级。如果所有决策都放在同一个时间尺度上做,要么因为颗粒度太粗导致日内频繁调整,要么因为决策太频繁导致求解压力过大、结果在实际中根本无法执行。
打个比方,就像你规划一次长途自驾:出发前你会做一个整体路线规划,决定什么时候加油、什么时候休息、走哪条高速——这是日前调度;但真正上路后,你会发现遇到堵车、天气变化,必须随时微调路线和休息点——这是日内滚动优化。两阶段的核心思想,就是用日前做"粗调",搭好大框架;用日内做"细调",根据最新预测数据实时修正偏差。
具体到本项目,日前调度以1小时为时间间隔,对全天24个小时做整体优化,得到各机组的启停计划、储能充放电策略、与电网的交换功率计划,以及需求响应资源的预调度方案。日内滚动优化则以15分钟为间隔,滚动优化周期4个小时,每15分钟更新一次预测信息,在前4个小时的窗口内做精细的功率分配和调整。这样就形成了一个递进修正的决策链条:日前定基调,日内做修正,两个时间尺度互相配合,兼顾了全局最优性和局部响应速度。
这个框架的实用价值在哪里?我在实际测试中发现一个很典型的现象:如果只做日前调度,当光伏实际出力比预测低30%时,系统会依赖电网买电来补缺,恰好又赶上峰时段电价,单日购电成本直接飙上去。而加入了日内滚动优化之后,系统会在发现光伏出力下降的第一个15分钟窗口内,就提前调整储能出力、削减可转移负荷,把高峰时段的购电需求提前消化掉。这就是为什么行业里愿意用两阶段而非单阶段模型——它不是在理论上更漂亮,而是在真实场景里真的更省钱、更可靠。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 数学模型才是重头戏:目标函数与约束条件怎么设计才算"物理可行"
很多刚接触这个方向的人会以为,优化调度就是装个工具箱、导入数据、点一下运行。真上手做了才发现,80%的功夫花在数学模型的构建上。模型建得不对,求解器再强也给你算出一个物理上根本无法执行的"最优解"。
2.1 目标函数的三层结构
本项目的目标函数可以拆成三层来看:
- 第一层:购能成本。 系统需要从上级电网购电,还可能需要购买天然气。这部分是运行成本的大头,尤其是在分时电价机制下,峰时段电价比谷时段高出很多,购电策略直接决定经济性。
- 第二层:设备运行维护成本。 燃气轮机、燃气锅炉、吸收式制冷机、电锅炉、储能电池,都有对应的单位运维修费用。虽然单台设备运维成本不高,但系统里设备一多,24小时累加起来就是一笔不小的开支。
- 第三层:需求响应补偿成本。 用户响应了削峰指令、改变了用电习惯,需要给予一定的补偿激励。这部分的单位成本通常低于峰时段电价差,所以在经济上是有利可图的。
这三层加起来,构成日前和日内两个阶段各自的目标函数。需要注意的是,两个阶段的目标函数并不完全一致。日前阶段侧重全局经济性,日内阶段更加注重跟踪日前计划的同时、尽量压低实时调整带来的额外费用。
2.2 设备层约束的数学表达
综合能源系统里的设备约束,说白了就是要回答几个问题:每个设备出力范围是多少?爬坡速度有多快?储能充放电有没有容量限制?下面我挑几个典型的设备说清楚。
燃气轮机(CHP机组):
燃气轮机的发电功率存在上下限约束,同时它的热电比也不是固定不变的,通常在一定范围内可调。在数学上可以表示为:
code复制P_CHP_min ≤ P_CHP(t) ≤ P_CHP_max
H_CHP(t) = η_CHP_h * F_CHP(t) (热出力与燃料消耗量的关系)
Q_CHP_min ≤ Q_CHP(t) ≤ Q_CHP_max (产热侧约束)
这里有个细节容易踩坑:燃气轮机的电功率和热功率是耦合的,不能单独约束。单独约束电功率和热功率的上下限还不够,必须把二者之间的可行域关系写进去,否则求解结果可能让机组的发热和发电比例严重偏离物理特性。
储能系统:
储能约束的核心是三件事:充电功率上限、放电功率上限、SOC(荷电状态)动态变化。其中SOC的变化是跨时段的,用如下递推式表示:
code复制SOC
