第三节:安全约束机组组合(SCUC)—— 电力市场的“硬骨头”
各位同学,咱们今天聊的SCUC,说白了就是电力市场出清里最核心、也最头疼的一块。我做了这么多年电力系统,每次碰到SCUC的模型调整,都得打起十二分精神。为什么?因为它管的是机组的“生老病死”——什么时候开机、什么时候停机、出力怎么变,还得保证电网安全。嗯,咱们一步步拆开看。
一、SCUC模型到底在干什么?
SCUC的全称是Security Constrained Unit Commitment,安全约束机组组合。你想想看,电网调度员每天要决定:明天哪些机组要开着?哪些可以歇着?每台机组发多少电?这还不算完,还得保证所有线路不过载、电压不越限。SCUC就是干这个的数学模型。
我个人习惯把SCUC比作“排班表”加上“安全锁”。排班表决定机组启停,安全锁保证电网不崩溃。这两件事必须同时做,不能先排班再校核——我在项目里吃过这个亏,后面细说。
核心目标:在满足系统负荷和备用需求的前提下,最小化总运行成本(燃料成本+启停成本),同时满足所有安全约束。
二、机组启停约束——最“烧脑”的部分
机组启停不是你想开就开、想停就停的。这里有三个硬约束,我一个个讲。
1. 最小运行时间和最小停机时间
火电机组一旦启动,至少得运行几个小时才能停(比如4小时、8小时)。同样,停机后也不能马上再启动。为什么?因为锅炉热应力受不了,频繁启停会缩短设备寿命。我在西北某电厂见过,一台30万机组一天启停两次,结果汽轮机叶片出现裂纹——教训深刻。
数学上怎么表达?看这个简化模型:
# 最小运行时间约束(简化示意)
# u[t] = 1 表示运行,0 表示停机
# 如果机组在t时刻启动,则后续T_on小时内必须保持运行
for t in range(T):
if u[t] == 1 and u[t-1] == 0: # 刚启动
for k in range(t, min(t+T_on, T)):
u[k] == 1 # 强制运行
2. 启停成本
每次启动要花钱,停机也要花钱(虽然少一些)。冷启动、温启动、热启动,成本还不一样。我记得有一次做市场出清,某燃气机组报价时把启动成本报低了,结果实际执行时发现启动一次要烧掉好几万——报价员被领导叫去“喝茶”了。
| 启动类型 | 停机时间 | 启动成本(万元) |
|---|---|---|
| 热启动 | < 2小时 | 3-5 |
| 温启动 | 2-8小时 | 8-12 |
| 冷启动 | > 8小时 | 15-20 |
避坑指南:我曾经见过一个项目,建模时忘了加最小停机时间约束,结果优化结果让一台大机组每两小时启停一次。调度员看了直接骂娘——这方案根本没法执行。所以,启停约束一个都不能少。
三、爬坡约束——出力不能“跳变”
机组出力不能瞬间从100MW变成500MW,得慢慢爬。爬坡约束分两种:上爬坡(增加出力)和下爬坡(减少出力)。
你想想看,一台燃煤机组每分钟最多能爬1%-3%的额定容量。燃气机组快一些,但也有限制。水电呢?理论上快,但受水头影响,也不是无限快。
# 爬坡约束示例
# P[t] 为t时刻出力,R_up为上爬坡速率,R_down为下爬坡速率
P[t] - P[t-1] <= R_up * 15 # 15分钟时段
P[t-1] - P[t] <= R_down * 15
这里有个坑:爬坡约束是时段间的约束,不是瞬时约束。如果市场出清时段是15分钟,那爬坡速率要乘以15分钟。我见过新手直接把小时爬坡率当15分钟用,结果算出来的方案根本跑不动。
四、网络安全约束——电网的“骨架”
前面说的都是机组自身限制,网络安全约束管的是“电往哪流”。核心是直流潮流模型(DC Power Flow),把交流电网简化成线性方程。
网络安全约束主要包括:
- 线路潮流约束:每条线路的功率不能超过热稳定极限
- 断面约束:多个线路组成的输电断面,总功率有限制
- 节点电压约束:(在SCUC中通常简化处理,SCED中更详细)
- N-1约束:任意一条线路断开后,系统仍能安全运行
我个人觉得,N-1约束是SCUC里最“要命”的。为什么?因为要考虑的故障场景太多了。一个500节点系统,N-1约束可能有上千条。我做过一个省级电网的SCUC项目,光N-1约束就写了三天三夜——不是代码难写,是数据整理太繁琐。
注意:网络安全约束是SCUC和普通机组组合(UC)的最大区别。没有安全约束的UC,算出来可能让某些线路过载200%。我在某次市场试运行中见过,出清结果导致一条220kV线路负载率高达150%,幸亏调度员及时发现,否则就是大事故。
五、SCUC的求解——没那么简单
SCUC是个大规模混合整数线性规划(MILP)问题。机组启停是0-1整数变量,出力是连续变量,再加上成千上万条约束。实际系统中,一个省级电网的SCUC可能有:
- 200-500台机组
- 1000-3000条线路
- 96个时段(15分钟一个点)
- 数万到数十万个变量
求解时间?快则几分钟,慢则几小时。我建议在实际应用中,可以先用启发式算法(比如优先顺序法)给个初始解,再用商业求解器(CPLEX、Gurobi)精调。这样能省不少时间。
六、知识体系总览
下面这张图,是我自己总结的SCUC核心逻辑框架。你看一遍,基本就明白SCUC在干什么了。
这张图从左到右看:输入数据和网络数据进入SCUC核心模型,模型在机组约束、系统约束、网络安全约束的“夹击”下,算出最优的启停计划和出力曲线。说白了,就是在安全的前提下,找到最省钱的那个方案。
七、给储能交易者的建议
如果你是做储能交易的,SCUC对你有什么意义?我提三点:
- 关注爬坡约束:储能的爬坡速率极快(秒级),这在SCUC中是巨大优势。你可以利用这个特点,在爬坡紧张时段报高价。
- 网络安全约束创造机会:某些线路阻塞时,阻塞区域内的储能可以卖出高价。我建议你提前分析电网拓扑,找到那些“易堵点”。
- 启停成本影响电价:如果系统需要频繁启停机组,边际成本会飙升。储能可以在这些时段放电,赚取高额价差。
个人经验:我曾经帮一个储能电站做策略,发现某个断面在午间光伏大发时经常阻塞。我们就在那个时段充电,等到晚高峰再放电,一充一放,每度电能赚3毛钱。这就是吃透了SCUC里的网络安全约束。
好了,SCUC的内容就讲到这里。内容不少,但核心就三件事:机组怎么开、出力怎么变、电网怎么安全。把这三点吃透,SCUC就算入门了。
公众号:蓝海资料掘金营,微信deep3321