一小时用电更少,却可能需要更高功率
AI 方案降低过程总能耗,就能断言峰值也下降吗?集中作业可能降低千瓦时,却提高测量窗口内功率。我们用可完整计算的合成曲线区分目标,不分析真实电价或承诺客户节省,重点是定义优化量。
能量与功率单位不同
功率 P 是能量使用速率,这里用 kW;能量 E 是其时间积分,时间以小时计则为 kWh。设六十个恒功率一分钟区间,能量为功率和乘 1/60 小时。总时长恰一小时,能量与平均功率数值相同,但单位和概念仍不同。
A 全小时维持 100 kW,耗能 100 kWh。B 前十分钟 180 kW、后五十分钟 60 kW,耗能 (180·10+60·50)/60=80 kWh,能量更少但瞬时峰值为 180 而非 100 kW。未验证两过程产出相同,只隔离数学指标差异,不证明工业方案可行。
测得峰值取决于窗口
若关心对齐 0、15、30、45 分钟的固定十五分钟均值之最大值,A 各块均为 100 kW。B 第一块为 (10·180+5·60)/15=140,其余为 60。因此总能量更小,块峰值却更高。仅预测总能量不包含此时间约束。
先算每块均值,再取最大,结果单位仍为 kW 而非 kWh。假设块均值上限 120 kW,A 满足,B 不满足。优化一个目标不能替代其他约束,低总能耗可能与不允许的功率需求同时出现。
移动峰值不等于降低峰值
C 把 B 的十分钟高段移至 [10,20),其他仍为 60。能量及瞬时峰值不变,但高段被两个固定块均分,各为五分钟高、十分钟低,均值 100 kW。固定峰值降为 100;滑动十五分钟窗口仍可包含全部十分钟高段与五分钟低段,所以峰值仍 140。
| 曲线 | 能量(kWh) | 固定峰值(kW) | 滑动峰值(kW) |
|---|---|---|---|
| A | 100.0 | 100.0 | 100.0 |
| B | 80.0 | 140.0 | 140.0 |
| C | 80.0 | 100.0 | 140.0 |

代码枚举小时内全部 46 个完整滑动窗口和四个固定块,不补造小时外样本或混用粒度。对齐、长度及聚合规则属于问题定义。只有小时均值时,许多曲线不可区分,无法无额外假设重建十五分钟峰值。
从指标到决策,边界必须明确
EIA 区分能量、最大需求及需求区间,本实验不解释特定电价。真实成本取决于合同及其他项目。未模拟账单、电池或电气瞬态,也未建模等产出、爬坡、无功与设备约束。图上可行不代表电气验证。
AI 规划应按目标粒度预测:总量看能量,峰值看功率曲线,可行性另列约束。直接枚举工作量为窗口数乘窗口长度,滚动和可减少计算但不改变指标。未报告硬件基准或 EL-AI 节省成果。
少用能量仍可能提高峰值,移动高段也可能只改善一种指标。这不是 AI 悖论,而是向数据提出了不同问题。先明确单位、窗口及约束,才能知道究竟减少了什么。
U.S. EIA — Demand and demand interval.
import json,sys
from pathlib import Path
A=[100.]*60;B=[180.]*10+[60.]*50;C=[60.]*10+[180.]*10+[60.]*40
def stats(x):
block=[sum(x[i:i+15])/15 for i in range(0,60,15)];rolling=[sum(x[i:i+15])/15 for i in range(46)]
return dict(energyKWh=sum(x)/60,meanKW=sum(x)/60,instantPeakKW=max(x),fixed15KW=block,fixedPeakKW=max(block),rollingPeakKW=max(rolling),traceKW=x)
r=dict(python=sys.version.split()[0],seed=None,scope='Constructed one-minute piecewise-constant profiles, not tariff advice or measured factory data',profiles={k:stats(v) for k,v in [('A',A),('B',B),('C',C)]})
assert r['profiles']['B']['energyKWh']<r['profiles']['A']['energyKWh'];assert r['profiles']['B']['fixedPeakKW']==140 and r['profiles']['C']['fixedPeakKW']==100 and r['profiles']['C']['rollingPeakKW']==140
Path(__file__).with_name('results.json').write_text(json.dumps(r,indent=2),encoding='utf8')
代码、数据与说明 · JSON. 教学计算使用 Python 3.14.0,图使用 Matplotlib 3.11.2。分析由 AI 辅助,不声称经过同行评审或人工审核。原创 ImageGen 封面仅作示意,不记录 EL-AI 人员、场所或实际安装。来源查阅于 2026 年 10 月 25 日。

