1. 两阶段鲁棒优化:到底在解决什么问题
1.1 风电、光伏、负荷不确定性的本质
做电力系统优化的人都知道,风电出力和光伏出力从来就不是一个确定的数。风速的间歇性、云层遮挡、气温变化,都会让新能源实际出力与预测值之间产生偏差。负荷侧的波动就更不用说了,居民用电习惯、极端天气带来的空调负荷激增,这些因素叠加在一起,构成了一个典型的不确定环境。
传统的确定性优化做法是:拿到一组预测值,把风电、光伏、负荷都固定成一个数,然后求解一个单层优化问题。这个做法在新能源渗透率不高的时候问题不大,但一旦风电、光伏装机占比上来,确定性优化的方案往往在两个极端之间摇摆——要么过于乐观,实际运行中出力和负荷一偏差,调度方案直接不可行;要么过于保守,预留了太多备用,经济性差得没法看。
两阶段鲁棒优化解决的就是这个痛点:它在优化模型中显式地刻画“不确定性”,并采用“先决策、后调整”的思路,让调度方案在最恶劣的不确定性场景下仍然可行且经济。关键在于,这个“最恶劣”不是拍脑袋拍出来的,而是通过优化模型自动辨识出来的。
1.2 两阶段决策框架:这里与现在
“两阶段”这三个字,数学上叫“here-and-now”和“wait-and-see”。通俗点讲,第一阶段做的决策是在不确定性实现之前就必须敲定的,比如机组的启停状态、备用容量配置、与主网的交换功率计划;第二阶段做的决策是等实际的风、光、负荷数据出来之后,再根据真实情况进行的调整,比如机组出力微调、切负荷、弃风弃光等。
这个框架非常贴近电力系统的实际运行方式。日前调度阶段,你要提前确定机组的开关机计划,这时候不知道明天风到底刮多大、光到底有多强;日内实时调整阶段,出力预测更新了,你只能在已开机的机组范围内做经济再调度。两阶段鲁棒优化在数学上就是把这种时序逻辑翻译成了优化模型,让决策的“刚性部分”和“柔性部分”各归其位。
我从实际建模的角度说一句:很多人一上来就急着写目标函数,但其实最关键的步骤是先把“哪些变量属于第一阶段、哪些变量属于第二阶段”划分清楚。划分错了,后面整个模型都是错的。
1.3 为什么不用随机优化而用鲁棒优化
可能有人会问:不确定性建模不是还有随机优化(stochastic optimization)吗?为什么这里选鲁棒优化?
随机优化的思路是给不确定性变量赋予概率分布,目标函数写成期望值形式,最终得到一个大规模的场景树模型。它的问题有两个:一是概率分布本身很难准确获得,特别是风电、光伏这种强非线性、强时空相关性的变量,你很难用一个简单的分布去刻画;二是场景数量一大,计算量呈指数级增长,求解时间长到让调度员崩溃。
鲁棒优化不依赖精确的概率分布,只需要知道不确定变量的取值范围和预算约束。它求解的是“在一切可能的取值范围内,最坏情况下我都能保证系统安全经济运行”的方案。这个逻辑更契合电网调度中对安全性的执念——我宁可多花点钱,也不愿意看到方案在某个极端场景下直接崩溃。
当然,鲁棒优化不是没有代价。它的解通常偏保守,因为它在为最坏情况负责。这个问题可以通过调节不确定性预算参数(budget)来控制保守程度,后面我会专门讲。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 核心方法拆解:大M法与C&CG算法
2.1 大M法怎么把 max-min 问题变换成 MILP
两阶段鲁
