搞调度优化这些年,我最大的感受是:高比例可再生能源并网之后,"确定性调度"越来越像在走钢丝。风电、光伏的预测曲线看着挺光滑,真到运行日,实际出力可能和预测差出一大截,而且偏差的"形状"还不稳定——有时候集中在午间,有时候压在晚高峰。换句话说,我们面对的不仅是波动,更是"分布本身都不确定"。这种场景下,传统随机规划里"已知概率分布"的假设变得很尴尬,而纯鲁棒优化又容易把计划憋得过于保守。
这篇想分享的是一套我最近反复调试的框架:基于Min-Max-Max-Min四层优化架构的多能源系统日前-实时两阶段鲁棒调度模型,核心是把Wasserstein分布鲁棒优化(DRO)和CVaR风险管理塞进同一个优化框架里。它解决的问题可以浓缩成一句:在不清楚风光出力真实分布、又不想为个别极端场景过度买单的前提下,怎么把日前计划和实时调整决策一起定下来。如果你做综合能源系统、电力系统优化或者鲁棒优化方向,不管是刚入门还是已经写了几个月代码,下面这些模型拆解、求解器实现和参数整定经验,应该能帮你省下不少弯路。
1. 高比例可再生能源把调度模型的"确定性幻觉"打破了
1.1 风光出力不确定性的本质:不是方差大,而是分布未知
很多人一提到新能源不确定性,第一反应是"波动大"。波动大确实是个问题,但更麻烦的是我们很难知道波动的真实概率分布。风电功率的预测误差会受到天气系统、季节、地形甚至风机老化状态的影响,不同时间窗下的误差分布形态差别很大。早上可能近似正态,台风天就成了重尾分布,光伏在云层快速移动时甚至会出现双峰特征。
你如果用历史数据硬拟合一个分布,得到的只能是一个"平均意义"上的近似。而调度决策恰恰对分布尾部很敏感——某些低概率场景一旦发生,代价可能是切负荷、弃风、设备越限。传统随机规划(Stochastic Programming)假定分布已知,然后用场景树去离散化,这在分布估计准确时尚可一战,但在高比例新能源场景下,分布估计本身就成了最大的误差源。
1.2 从确定性模型到随机规划、传统鲁棒优化的演进:各自的代价
我最早做调度模型时用的是确定性方法:把风光出力固定在预测值上,再留一定比例的旋转备用。可再生能源占比不高时够用,但比例上来后,预测误差造成的备用需求激增,确定性方法要么经济性很差,要么安全性兜不住。
随机规划的想法是"用场景代替单点预测",理论上更精细,但计算量大,而且对场景生成质量要求很高。传统鲁棒优化则走向另一个极端:用盒式(box)或者椭球式不确定集把所有可能出力都包进去,然后要求所有场景下都可行。这个方法思路清晰,但结果往往过度保守——尤其是多能源系统里电气热耦合后,单一环节的保守性会被层层放大,最后算出来的运行成本高到没法用。
1.3 为什么最终选择"分布鲁棒+两阶段+CVaR"的组合
在实际项目里,我们既拿不到精确分布,又不想完全放弃概率信息,于是目光落到**分布鲁棒优化(DRO)**上。DRO的核心思想是:我承认真实分布未知,但我可以用历史数据构造一个包含真实分布的"模糊集",然后在这个模糊集内寻求最坏情况下的最优决策。它比随机规划更稳健,又比传统鲁棒优化更贴近数据,正好卡在两者的中间位置。
至于两阶段,是因为调度决策天然分成"日前"和"实时"两个时间尺度:日前定启停、备用,实时根据实际出力做再调度。CVaR的引入则是因为调度员关心的不只是平均成本,更关心尾部损失——也就是那些很少发生但一发生就代价巨大的场景。把CVaR放进目标函数,相当于给"极端风险"设置了一个明确预算,而不是笼统地要求所有场景都绝对安全。
这三个工具组合起来,就形成了标题里那套Min-Max-Max-Min四层优化架构。下面我从两阶段模型的运行逻辑开始拆。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 日前-实时两阶段框架的运行逻辑和数学结构
2.1 两阶段决策在物理上意味着什么
两阶段框架不是数学家的玩具,它对应的是实际调度流程。日前阶段,你要在风光出力还没实现之前,决定机组的启停状态、备用容量、联络线交换计划、储能是否充电等"慢决策"。这些决策通常要提前几个小时甚至一天确定,因为机组启停有最小时间约束,市场交易也要提前申报。
实时阶段,等到风光出力大致明朗了,再根据实际偏差做"快决策":调整常规机组出力、调用备用、储能充放、必要时切负荷或弃风。这个阶段的时间窗口只有几
