风光和负荷的不确定性怎么量化,鲁棒性参数调到多少才是经济性最优的平衡点,上下备用容量又是如何跟着鲁棒性需求一起变动的——这几个问题做电力系统优化调度的朋友应该都不陌生。这篇博文我基于一个Matlab仿真项目来展开,完整梳理从数学模型搭建、代码实现到结果分析的全流程,重点讲清楚风光负荷不同鲁棒性水平如何影响系统总成本,以及备用容量在这个模型里到底扮演什么角色。
这套思路适合正在做电力系统经济调度、鲁棒优化、风光消纳方向研究的学生和工程师,也适合刚接触区间鲁棒优化、想找一个能直接跑通的Matlab参考框架的入门者。文章里的代码结构、建模细节和调试经验,都是从实际仿真项目中沉淀下来的,可以直接抄作业。
1. 项目定位与核心问题拆解
1.1 不确定性从哪来,为什么不能只看期望值
风电和光伏出力本质上是强随机变量,受天气影响波动大,预测精度再高也免不了误差。负荷侧同样存在预测偏差,尤其现在电动汽车、分布式电源接入后,负荷曲线的尖峰和平段变得更难捉摸。传统的确定性调度模型把风光出力当作已知量处理,只按预测值安排机组出力和备用,一旦实际出力偏离预测值,就可能出现两种情况:实际出力偏低导致系统需要上调出力,或者实际出力偏高导致消纳困难需要下调出力。这两种场景分别对应系统需要的上调备用和下调备用,也就是项目标题里说的上下备用容量。
如果只用确定性模型,决策结果的鲁棒性完全依赖预测精度。预测偏差大的时候,系统要么牺牲经济性强行调用高价机组,要么面临切负荷或者弃风弃光风险。鲁棒优化思路则是把不确定性显式建模进约束里:不追求预测值处的精确解,而是保证在最坏场景下系统仍然安全运行。代价就是决策更保守,成本往往更高。这个“安全性和经济性的权衡”,就是这个项目的核心研究对象,也是鲁棒参数取不同值时总成本变化的本质原因。
1.2 上下备用容量在鲁棒模型里的作用
备用容量是系统应对不确定性的物理手段。常规机组在安排发电计划时,还要预留一部分向上调节空间和向下调节空间:向上备用应对风光出力低于预测值或者负荷高于预测值的情况,向下备用应对风光出力高于预测值或者负荷低于预测值的情况。鲁棒性要求越高,系统需要应对的不确定性范围越大,上下备用容量的需求也随之增加。
在Matlab实现中,上备用和下备用通常以约束形式写入调度模型:机组输出功率加向上备用不能超过出力上限,输出功率减向下备用不能低于出力下限;同时备用容量需求本身要与风光出力的预测误差区间挂钩。这样就形成了一个闭环:鲁棒性参数定义不确定集大小,不确定集大小决定备用需求,备用需求约束机组出力计划,进而影响总成本。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 数学模型与成本构成解析
2.1 目标函数:总成本由哪几块组成
这个项目里,系统总成本不只是火电煤耗成本,需要细分成四部分:常规机组发电成本、开停机成本、备用容量成本,以及可能出现的失负荷或弃风弃光惩罚成本。前两种成本在确定性优化里已经很常见,第三和第四种则是在鲁棒模型里被显式加进去的。
发电成本一般用二次函数拟合,常用简化形式是:
(C_i(P_i)=a_iP_i^2+b_iP_i+c_i)
这里 (P_i) 是机组 i 的有功出力,(a_i)、(b_i)、(c_i) 是成本系数。备用容量成本通常按容量定价,比如上备用报价 (r_{i}^{up})、下备用报价 (r_{i}^{dn}),乘以预留的备用容量 (R_{i}^{up}) 和 (R_{i}^{dn})。
惩罚成本的设计比较讲究,一般设定为:实际切负荷代价按单位电价乘以预测误差超出备用能力的部分计算,弃风弃光同理。惩罚系数取高值时,模型会倾向于预留更多备用来避免惩罚,经济性向安全性倾斜;取低值时,模型更省钱,但风险暴露增加。这个参数对结果影响很大,后续仿真中可以做敏感性分析。
2.2 约束条件:把鲁棒性参数嵌入调度模型
确定性调度的核心约束是功率平衡和机组出力上下限。鲁棒模型需要额外引入不确定性描述。常见做法是盒式不确定集(box uncertainty set),以预测值为中心,按比例系数定义波动范围。
以风电为例,设预测出力为 (P_{w,t}^{fore}),鲁棒性参数为 (\alpha_w\
