干调度优化或者最优潮流这一块的朋友,应该都有过这种体验:白天风光预测曲线给得漂漂亮亮,等真到了运行时段,实际出力跟预测值差出一大截,调度计划被顶得满盘皆输。尤其在多源接入的送端电网里,火电、水电、风电、光伏、储能挤在同一个动态最优潮流问题里,任何一处预测偏差都可能被爬坡约束和网络约束逐级放大。这两年我在做48时段动态最优潮流时,被风光不确定性折磨得够呛,后来把思路从确定性模型转到分布式鲁棒优化(Distributionally Robust Optimization, DRO),才算是找到了一个兼顾经济性和可靠性的平衡点。这篇文章就把这个思路从问题拆解、模型搭建到求解落地的完整过程写下来,给同样被新能源不确定性困扰的朋友一个可参考的路线。
“分布式鲁棒优化”这个名字容易让人误以为它跟分布式计算有什么关系,其实中文里的“分布式”对应的是英文Distributionally,指的是对概率分布的鲁棒,核心思想是:我允许随机变量的真实分布在一个“模糊集”内漂移,优化结果对模糊集内的所有可能分布都有保障。它既不像随机规划那样要求一个精确的概率分布,也不像传统鲁棒优化那样把所有可能值都按最坏情况兜底,因此在风光出力这种“分布只能估计、不可能精确知道”的场景里,DRO几乎是天然适配的。
1. 风光不确定性把“最优潮流”逼成了什么样子
1.1 从静态最优潮流到48时段动态最优潮流
传统的最优潮流(Optimal Power Flow, OPF)解决的是“某一时刻,各机组出力怎么安排才最便宜且满足安全约束”的问题。它不考虑时间连续性,所以本质上是静态优化。但电力系统运行是有惯性、有爬坡、有储能充放电的,尤其当风光的渗透率上来以后,单时段最优解之间往往互相打架——这一时段火电压得最低,下一时段要顶上来时爬坡受限,结果整个调度区间内的方案根本不满足物理机组的运行约束。
所以我做的工作是把优化时段拉长到48个点,以半小时为步长覆盖一整天的运行窗口,这样做有两个直接好处:第一,爬坡约束、储能荷电状态(State of Charge, SOC)的时序递推关系能被显式建模;第二,风光出力的“跨时段互补”特性可以被利用,比如晚间的风电高峰正好对接负荷低谷,只要储能在白天蓄得住,夜间就可以少启停火电。动态化之后,问题的规模成倍上涨,决策变量从几十个变成上千个,计算负担也上来了。
1.2 “多源”到底多在哪里
“多源”这两个字在模型里不是摆设,它意味着电源侧的差异化特性全部要落到约束里。火电有最小启停时间、爬坡速率、上下限出力区间;水电有来水约束和库容限制,运行方式相对刚性;风电和光伏的出力受气象条件驱动,具有显著的随机波动性;储能系统则像一个“时空搬运工”,用损耗成本换取时段的转移。每种电源的模型细节都不相同,组合在一起后,优化问题的约束矩阵变得非常稠密。
但多源真正的麻烦在于,不同电源的不确定性响应方式不一样。同样是一个风电预测偏差,火电可以靠AGC调频顶上,水电靠快速调节也能帮忙,但光伏在午间的短时波动几乎只能靠储能平抑。这意味着不确定性模型不能只给一个总体的“净负荷预测误差”就完事,还需要按电源类型拆分误差来源,进而在目标函数和约束里分别刻画它们的影响。
1.3 确定性模型为什么会在实际运行中“翻车”
我刚把48时段确定性动态最优潮流跑通时,觉得大功告成,结果拿历史数据一回测,问题全暴露了。确定性模型的逻辑是:把风功率预测曲线当作已知给定值,直接求解机组组合和经济调度,得到一个“最优”计划。但真实运行中预测误差是客观存在的,计划值和实际值一旦出现偏差,系统就需要动用备用容量来重新平衡。
如果预测偏乐观,实际出力不足,火电被迫快速爬坡,局部的线路潮流可能越限;如果预测偏悲观,实际出力超出预期,弃风弃光又增加了不必要的经济损失。确定性模型完全没有给这两种情况留余地,因为它不知道风光的出力会“摆动”,也不量化“摆动”的后果。这就是所有确定性最优潮流在实际新能源并网场景下的通病:数学上漂亮,运行上不保底。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 分布鲁棒优化到底在优化什么:一个被误解的“鲁棒”
2.1 随机规划、传统鲁棒、分布鲁棒:三条完全不同的路线
面对风光不确定性,学术界有三条主流技术路线。随机规划(Stochastic Programming)的做法是:先给风功率的分布一个精确假设,比如正态分布或者基于历史场景的离散经验分布,然后生成大量场景,对场景做期望值优化。问题在于,真实的风功率预测误差分布往往是有
