想象一座城市的大食堂:早上七点,热豆浆必须准时出餐,但豆浆机忽快忽慢,太阳能炉灶一到阴天就罢工……食堂运营长要做的事,就是让“看天吃饭”的风光电源、随时待命的火电大厨、能存能放的大冰柜储能,以及愿意错峰吃饭的常客们,在同一个屋檐下步调一致。智能电网的“新能源调度”,正是这样一门让每一度绿电都准时、平稳上桌的艺术。本文用这个大食堂比喻,带你从调度概念、新能源特性、核心算法、预测不确定性、储能与需求响应、优化求解到工程实践,层层揭开新能源调度的面纱。
对 AI 从业者而言,理解新能源调度,是把模型训练、预测算法、优化决策落地到电力系统的入场券——既是工业 AI 的高价值场景,也是算法工程师转型能源赛道的核心竞争力。
可视化演示
展示风光功率预测、多源协调调度与储能充放电的调度过程,可切换三种模式观察如何平抑新能源波动并降低成本。
本节配有交互动效(进入视口后自动加载,约 3KB)。
风光功率预测 风电、光伏出力强随机间歇,受气象影响剧烈 依赖NWP与SCADA数据预测并量化不确定性 NWP + SCADA → 预测 预测是调度优化的基础。
调度基本概念
城市大食堂的运营长,最怕的不是客人多,而是灶台开了一排,菜却没按点端上桌。智能电网的调度中心,正是电力大食堂的运营长。它要同时盯住四类角色:发电的“源”、输电的“网”、用电的“荷”、存电的“储”。新能源调度,就是协调这四类角色,让每时每刻的供电量和用电量严丝合缝。
“源”包括火电、水电、核电,以及看天吃饭的风电和光伏;“网”是连接食堂各窗口的传菜通道,也就是输电线路;“荷”是千家万户的灯、空调和工厂马达;“储”则像后厨的大冰柜,电多时存起来,电少时放出来。传统电力系统只关心“源随荷动”,也就是发电追着用电跑;而新能源调度强调“源网荷储协同”,让用电侧和储能也主动配合。
无论怎么协同,电网的第一铁律都是“实时平衡”。可以用下面的功率平衡公式表示:
运营长盯着的不是某口锅火旺不旺,而是端上桌的菜和吃掉的菜始终一样多。新能源调度的一切算法,最终都是为了守住这个平衡。
- 可控电源出力等号左边第一项表示所有可控机组在时刻 \(t\) 的发电功率之和。
- 新能源出力第二项是风电场和光伏电站的实时出力,特点是随机变化。
- 储能功率第三项是储能与电网交换的功率,放电为正、充电为负。
- 负荷与网损等号右边是用户负荷加上输电线路损耗,代表真正的用电需求。
新能源出力特点
菜农的收成看天吃饭:晴天摘得多,阴天摘得少;风大时菜运得快,没风只能干等。风电场和光伏电站就是这样的“特殊供货商”。它们的出力不像火电那样想开就开、想停就停,而是由天气说了算,这正是新能源调度最头疼的地方。
光伏出力在一天内呈现明显的“倒 U 形”:中午日照最强时出力最大,早晨和傍晚出力很小。可问题在于,傍晚恰好是下班回家、用电攀升的高峰,太阳却先“下班”了。这种“可再生能源出力高峰与用电需求高峰错位”的现象,叫做“反调峰”。风电则更任性,一阵强风可能让几十台风机同时满发,风停了出力又迅速下跌,形成爬坡事件。
为了定量描述光伏出力,工程上常用标准测试条件(STC)下的额定功率来折算:
除了反调峰,新能源还带走了系统的“压舱石”。传统火电、水电机组有巨大的旋转转子,扰动来了能靠惯性顶一顶;而风光通过逆变器并网,几乎没有旋转质量,导致系统惯性降低。食堂里没了压舱石,一阵风就可能让“电力大船”晃得更厉害。
- 额定功率\(P_{STC}\) 是光伏板在标准测试条件(光照 1000 W/m²、温度 25°C)下的额定功率。
- 光照折算\(\frac{I(t)}{1000}\) 把当前光照强度除以标准光照,得到出力比例。
- 温度修正\((1+\alpha(T(t)-25))\) 表示温度偏离 25°C 后的功率修正,\(\alpha\) 是温度系数。
调度核心算法
面对这么多“看天吃饭”的供货商,运营长得提前排好第二天菜单:哪些灶台开火,哪些休息,每口锅做多少菜。电力系统里,这分别对应“机组组合”和“经济调度”。机组组合(Unit Commitment, UC)解决“开几台、开哪些”的离散决策;经济调度(Economic Dispatch, ED)解决“每台发多少功率”的连续决策。
新能源大规模接入后,调度员还必须额外考虑“爬坡约束”:火电机组不是水龙头,出力不能瞬间从 100 MW 跳到 500 MW,它一分钟只能改变这么多。同时还得留出“旋转备用”,就像食堂预留几口热灶,忽然加菜时能立刻顶上。把这些写成一个优化问题,就是经典的经济调度模型:
机组组合像排班,经济调度像分菜,爬坡约束像“灶台升温需要时间”,备用容量则是“随时能加菜的机动锅”。把四者放到一个优化模型里,新能源调度才能在成本和安全之间找到平衡点。
- 决策变量\(P\) 是每台机组的出力,\(u\) 是 0/1 开停机状态。
- 成本目标\(C_i(P_{i,t})\) 是燃料成本,\(S_i u_{i,t}\) 是启动成本,加起来就是总成本。
- 爬坡约束\(-R_i^{down} \le P_{i,t+1}-P_{i,t} \le R_i^{up}\) 表示机组相邻时段出力的变化量不能超过爬坡速率。
预测与不确定性
运营长给明天备菜,总得先看天气预报。可惜天气预报会变卦:说好的晴天突然飘来云,风力预测偏差 30% 也时有发生。新能源调度的第一步,就是预测未来一段时间风光能发多少电。主流方法包括数值天气预报(NWP)驱动的物理模型,以及 LSTM、随机森林等机器学习方法。
预测得再准,误差也无法避免。因此调度不能把预测值当成“铁板钉钉”,而要把误差当成“必点菜”提前留出空间。不确定性建模就是描述“可能偏多少、长什么样”,并用概率分布或场景集来刻画:
理解了不确定性,就理解了为什么调度方案总喜欢“留一手”:多留几台备用机组、多存一些电量、多签几份可中断负荷合同。AI 的价值,就是让“留一手”从盲目保守变成精准备菜。
- 调度决策\(u\) 代表机组开停、出力分配等调度决策。
- 不确定场景\(\xi\) 是可能出现的风光出力场景,\(\Xi\) 是所有可能场景组成的集合。
- 最坏情况\(\min_u \max_\xi\) 的含义是“先找出最坏场景,再选择使成本最小的方案”。
储能与需求响应
食堂后厨的大冰柜,是运营长最倚重的调节工具:菜多做多了就存进冰柜,客人突然加菜就从冰柜里取。电网储能就是“电力冰柜”,抽水蓄能、电化学储能、压缩空气储能都是它的不同形态。储能的核心指标是“荷电状态”SOC,可以理解成冰柜还剩多少菜:
除了储能这个“冰柜”,还有一群愿意错峰吃饭的常客——“需求响应”。他们可以在电价高的晚高峰少开空调,把洗衣机挪到半夜。把成千上万个这样的用户、充电桩、空调、分布式光伏聚在一起统一调度,就构成了“虚拟电厂”:它没有实体厂房,却像一个真正电厂一样听话。电动汽车则是会跑的“移动冰柜”,在虚拟电厂的指挥下有序充放电,实现车网互动。
- 当前电量\(SOC_t\) 是时段 \(t\) 储能剩余电量与容量的比例。
- 充电增加\(\eta_c P_c \Delta t\) 是充电功率在 \(\Delta t\) 内充入的电量,效率越高存得越多。
- 放电减少\(\frac{P_d \Delta t}{\eta_d}\) 是放电时消耗的储能量,考虑损耗后实际取出的电能要打折扣。
优化求解技术
前面那些模型,运营长不可能用口算解决。电力系统调度问题通常是成百上千台机组、几十个时段、数万个约束交织在一起的“总账本”。其中,“开哪台、不开哪台”是离散的 0/1 开关,“每台发多少电”是连续变量,这类问题被称为混合整数规划(MILP):
MILP 有成熟的商业求解器,但新能源接入后问题规模爆炸,计算时间太长。于是工程师们引入启发式算法,如遗传算法、粒子群算法,以及 AI 领域的强化学习,先用 AI 缩小搜索范围,再用精确求解器收尾。这就像大厨先凭经验圈出“最可能的几组菜单”,再让计算机精确计算哪一组最省钱。
- 离散变量\(x \in \{0,1\}^n\) 表示 n 个 0/1 决策,比如机组开停或启动标志。
- 连续变量\(y \in \mathbb{R}^m\) 表示 m 个连续决策,比如每台机组出力、储能功率。
- 目标函数\(c^\top x + d^\top y\) 把开机固定成本和发电可变成本加起来,构成总成本。
- 约束矩阵\(A x + B y \le b\) 统一表示功率平衡、备用、爬坡、网络安全等线性约束。
工程实践应用
从城市大食堂回到乡间小饭馆,新能源调度同样无处不在。最具代表性的应用是“农光互补”:光伏板架在农田或大棚上方,板下种菜,板上发电。这类农业微电网往往远离主网,更需要聪明的调度,让光伏、储能、滴灌水泵和冷藏库在本地保持平衡。
工程实践中,调度不仅要算经济账,还要算“碳账”。全球碳约束下,碳排放强度成为调度模型里一个越来越重要的惩罚项。常用公式是给每台机组乘上碳排放系数,把碳排量计入总成本:
在偏远山区、海岛和农业园区,微电网把“源网荷储”浓缩在一个小范围里,靠 AI 调度实现自给自足。无论系统大小,安全稳定始终是底线:频率偏移、电压越限、线路过载,任何一条都可能让食堂停电停菜。因此,新能源调度的工程落地,最后都要落到“安全、经济、低碳”这三个词上。
- 碳排放强度\(\mu_i\) 表示机组每发一度电产生的二氧化碳量,单位为 g/kWh。
- 发电能量\(P_{i,t}\Delta t\) 是机组 \(i\) 在时段 \(t\) 内发出的电量。
- 总排放对所有时间、所有机组求和,就是整个调度周期内的总碳排放量。
AI 应用场景
风光功率预测与日前调度
阶段:数据预测与决策优化
解决的问题:传统调度依靠人工经验估计明日风光出力,遇到强对流天气极易误判,导致备用开太多浪费钱、开太少有停电风险。AI 结合数值天气预报与历史数据,把预测误差降低 10%~20%,再输入机组组合模型,得到更精准的火电开机计划和储能充放策略。
具体案例:某省级电网使用 LSTM + 气象多源融合模型预测风电功率,将未来 72 小时的均方根误差从 18% 降至 13%,日前计划中风火储联合优化的成本下降约 4%,同时未发生因预测偏差导致的限电事故。
虚拟电厂聚合需求响应
阶段:智能控制与聚合优化
解决的问题:成千上万的空调、充电桩、储能电池分散在用户侧,单个规模太小,调度中心无法直接指挥。AI 平台像“团长”一样把它们聚合成虚拟电厂,在高峰时段统一压减负荷或放电,缓解电网压力。
具体案例:某城市虚拟电厂平台接入 1.2 万个商业楼宇空调和 3000 台电动汽车充电桩,在迎峰度夏期间参与需求响应,单次削峰 180 MW,参与用户平均获得电费补偿 80 元/户,空调温度变化不超过 2°C。
农光互补微电网能源管理
阶段:实时控制与边缘推断
解决的问题:偏远农业园区电网薄弱,白天光伏大发、晚上滴灌和冷藏负荷走高,若调度不当会造成弃光或缺电。AI 边缘控制器根据气象预测、土壤湿度和电价信号,实时决策光伏上网、储能充放和柴油机启停。
具体案例:某蔬菜种植基地建成 500 kW 农光互补微电网,AI 能量管理系统上线后,弃光率从 25% 降到 6%,柴油发电量减少 70%,同时保证育苗大棚在连续阴雨天不断电。
Python 演示
class Battery: def __init__(self, capacity, max_power, init_soc=0.5): self.capacity = capacity self.max_power = max_power self.soc = init_soc * capacity def charge(self, power, dt=1.0): power = min(max(power, 0), self.max_power, (self.capacity - self.soc) / dt) self.soc += power * dt return power def discharge(self, power, dt=1.0): power = min(max(power, 0), self.max_power, self.soc / dt) self.soc -= power * dt return power def dispatch_step(load, solar, wind, th_min, th_max, batt): renew = solar + wind needed = load - renew - th_min if needed < 0: charged = batt.charge(-needed) curtailed = max(0, -needed - charged) return renew, th_min, -charged, curtailed, 0 added = min(needed, th_max - th_min) thermal = th_min + added remaining = needed - added discharged = batt.discharge(remaining) thermal += discharged shortage = max(0, remaining - discharged) return renew, thermal, -discharged, 0, shortage def simulate(load, solar, wind, th_min, th_max, batt): records = [] shortage_total = 0.0 curtailed_total = 0.0 for t in range(len(load)): renew, thermal, batt_power, curtailed, shortage = dispatch_step( load[t], solar[t], wind[t], th_min, th_max, batt ) shortage_total += shortage curtailed_total += curtailed records.append((renew, thermal, batt_power, curtailed, shortage)) return records, shortage_total, curtailed_total if __name__ == "__main__": hours = range(24) load = [60 + 15 * int((h + 8) % 12 > 6) + 5 * int(h == 19) for h in hours] solar = [0 if h < 6 or h > 18 else 30 * max(0, (h - 6) * (18 - h)) / 36 for h in hours] wind = [12 + 8 * ((h * 7) % 5) for h in hours] batt = Battery(capacity=40, max_power=15, init_soc=0.5) records, shortage, curtailed = simulate(load, solar, wind, 40, 80, batt) print("total_shortage: %.1f MWh" % shortage) print("total_curtailment: %.1f MWh" % curtailed) print("final_soc: %.1f MWh" % batt.soc)
needed = load - renew - th_min计算新能源发完电之后还差多少电,负数表示电用不完。charged = batt.charge(-needed)把多余的电充进储能“大冰柜”。curtailed = max(0, -needed - charged)储能满了还多出来的电只能“弃掉”,也就是倒掉。added = min(needed, th_max - th_min)先让火电在爬坡范围内顶上一部分缺口。discharged = batt.discharge(remaining)火电不够时,让储能放电补上最后一段缺口。shortage = max(0, remaining - discharged)储能也放完了仍不够,就是真实的缺电。
常见误区
误区既然光伏风电零排放,那多建风电场、多铺光伏板,电网自然就绿色了,调度根本不用管。
正解新能源出力随机波动,如果调度跟不上,就会出现大量弃风弃光,甚至频率失稳。清洁能源能不能被电网真正消纳,取决于调度算法、储能配置和网架结构。就像食堂菜农送来的菜再多,后厨来不及做、冰柜塞不下,最后也只能烂在仓库里。
为何常见:人们容易把“装机容量”和“实际发电量”混为一谈,忽略了电力系统“即时平衡、不能大规模存储”的特殊性。
误区只要配上足够大的电池,风光出力再随机也不怕,调度问题就一劳永逸了。
正解储能功率和容量都有上限,充放过程中有能量损耗,而且电化学储能寿命有限、成本高昂。调度还需要预测、需求响应、备用机组配合。大冰柜再大也装不下一整年的菜,合理备菜和提前预测才是根本。
为何常见:储能技术宣传火热,容易让人高估其作用,忽略了它的功率约束和全生命周期成本。
误区只要把 LSTM 模型训好,风光出力预测误差降到 3%,就可以把所有备用机组都停掉。
正解预测误差可以降低,但不可能归零。极端天气、通讯故障、样本外场景都可能导致预测严重偏离。旋转备用是电网安全的最后防线,AI 的作用是让备用留得更聪明、更少,而不是完全消除。这就像再好的天气预报,也不可能让食堂完全不准备应急食材。
为何常见:人们容易对 AI 产生“完美预测”的幻觉,忽视了现实世界永远存在不确定性。
误区调度员只要选最便宜的电厂多发电,用户电价就能最低。
正解经济调度必须在功率平衡、爬坡、备用、网络安全等大量约束下求解。便宜电厂可能在电网远端,送电通道堵住;也可能启停成本极高,频繁开关反而不划算。只盯着度电成本,就像只看菜价不看运输和储存成本,最后反而亏钱。
为何常见:单目标思维很容易理解,但真实调度是一个有约束的多目标优化问题,需要系统思考。
误区虚拟电厂名字里带“电厂”,应该像是超大型火力发电厂一样建出来的新电站。
正解虚拟电厂本身不新建发电机组,而是通过通信、控制和 AI 算法,把分散的空调、充电桩、储能、分布式光伏聚合成一个可调度的整体,模拟电厂的功能。它更像一个“拼单团长”,而不是新开一家食堂。
为何常见:“电厂”这个概念让人自然联想到厂房和烟囱,忽视了它本质上是软件定义的组织形态。
面试题
Q1. 调度中心最需要保证的实时指标是什么?
- A.发电厂利润最大化
- B.功率实时平衡← 正确答案
- C.电网电压保持恒定
- D.新能源占比越高越好
答案:B。电力系统不能大规模存储,发用电必须每时每刻相等,所以功率实时平衡是第一指标。利润优化、电压控制、新能源占比都是在平衡基础上追求的目标,不能本末倒置。
Q2. 光伏发电在傍晚呈现的典型特征是?
- A.出力快速爬坡上升
- B.出力下降而负荷上升← 正确答案
- C.出力保持全天不变
- D.出力变为负值倒送电
答案:B。傍晚太阳下山,光伏出力下降,同时下班后用电负荷上升,形成“反调峰”。A 是中午前后的特征,C 和 D 不符合光伏实际出力特性。
Q3. 机组组合问题中,表示机组开停机的变量通常是?
- A.连续整数变量
- B.0-1 二进制变量← 正确答案
- C.浮点实数变量
- D.字符串状态变量
答案:B。机组只有“开”和“停”两种状态,适合用 \(u_{i,t} \in \{0,1\}\) 表示。连续实数用于出力大小,字符串变量在数学优化中没有意义。
Q4. 储能系统放电时,荷电状态 SOC 会发生什么变化?
- A.保持恒定不变
- B.按放电功率逐渐下降← 正确答案
- C.快速回升到满电状态
- D.只受环境温度影响
答案:B。放电意味着储能量减少,SOC 随之下降。充电时 SOC 上升,温度会影响电池效率,但不是 SOC 变化的直接原因。
Q5. 日前调度中,风光预测误差主要靠什么来兜底?
- A.提高光伏装机容量
- B.预留旋转备用容量← 正确答案
- C.降低用户电价刺激用电
- D.拆除高压输电线路
答案:B。旋转备用是并网火电、水电预留的可调容量,能在预测偏差出现时快速增减出力。提高装机不能消除误差,降低电价属于需求侧手段,拆除线路反而削弱电网弹性。
Q6. 需求响应缓解晚高峰负荷的主要机制是?
- A.让用户转移用电时段← 正确答案
- B.增加火电开机台数
- C.直接关闭光伏电站
- D.调低变压器额定容量
答案:A。需求响应通过电价或激励引导用户错峰用电,比如把洗衣机挪到深夜。增加火电属于供给侧手段,关闭光伏和调低变压器容量都会降低供电能力。
Q7. 混合整数规划求解新能源调度问题时,离散变量通常描述什么?
- A.输电线路潮流大小
- B.机组开停与启动状态← 正确答案
- C.负荷预测误差大小
- D.储能电池内部温度
答案:B。机组开停和启动过程天然是“是/否”决策,适合用 0-1 整数变量。线路潮流、预测误差和温度都是连续量,用连续变量建模更合理。
Q8. 鲁棒优化相比随机规划,更关注的是?
- A.最坏场景下的可行性← 正确答案
- B.所有场景的平均成本
- C.新能源出力的峰值大小
- D.储能电池的循环寿命
答案:A。鲁棒优化假设不确定性落在某个集合内,让方案在最坏情况下依然可行;随机规划则优化期望成本。C 和 D 不是鲁棒优化的核心关注点。
Q9. 新能源大规模接入给调度带来的挑战包括?
- A.出力间歇波动← 正确答案
- B.系统惯性下降← 正确答案
- C.电网频率更加稳定
- D.预测难度显著增加← 正确答案
答案:ABD。风光出力随机波动、逆变器缺少旋转惯性、预测受天气影响大,都会让调度更困难。C 说频率更稳定与现实相反,大量新能源接入后频率控制反而更挑战。
Q10. 关于虚拟电厂,下列说法正确的有?
- A.新建实体发电厂
- B.聚合分布式资源← 正确答案
- C.依赖智能通信控制← 正确答案
- D.必须新建输电通道
答案:BC。虚拟电厂通过通信与 AI 把空调、充电桩、储能等分布式资源聚合成可调度的整体,并不新建实体电厂,也不需要新建输电通道。B 和 C 准确描述了它的本质。