3. 充放电计划优化的数学建模框架

储能充放电计划优化,本质上是在“什么时候充、什么时候放、充放多少”这三个问题上做出一组在给定时间范围内最优的决策。要把这类问题交给优化算法求解,必须先把工程语言翻译成数学模型。一个完整的储能充放电计划优化模型,通常由四个基本要素构成:决策变量定义“可以调什么”,目标函数定义“什么算好”,约束条件定义“什么不能做”,时间尺度与滚动机制定义“在多大的时间窗口上、以什么节奏反复求解”。这四者缺一不可,且相互耦合。

一、决策变量:把“充放电行为”变成可求解的未知量

最核心的决策变量是每个时间步的充放电功率。设优化时段被离散为 T 个时间步,步长为 Δt(例如 15 min 或 1 h),则对第 t 个时段定义:

  • 充电功率 Pch(t) ≥ 0,单位 kW;
  • 放电功率 Pdis(t) ≥ 0,单位 kW;
  • 荷电状态 SOC(t),表示时段末的剩余电量比例,0~1。

这里必须明确符号约定:本文统一采用“充电为正、放电为正”的双变量写法,即 Pch 与 Pdis 各自非负,二者不会同时大于零(由互斥约束保证)。这样做的原因是避免单一变量取负值时,充放电效率不同导致模型非线性。若采用“功率为正表示放电、为负表示充电”的单变量写法,则必须在效率处理上分段,工程实现中更容易出错。

SOC 通常不是独立决策变量,而是由功率递推得到的状态变量:

SOC(t) = SOC(t-1) + [η_ch · P_ch(t) · Δt / E_cap]
                     - [P_dis(t) · Δt / (η_dis · E_cap)]

其中 Ecap 为储能额定容量(kWh),ηch、ηdis 分别为充电、放电效率。若把 SOC 也作为决策变量,则需要额外加入上式作为等式约束,这在滚动优化中更常见,因为便于处理初始 SOC 的更新。

二、目标函数:不同场景下“最优”的含义不同

目标函数决定了优化结果的取向。储能充放电计划优化中常见的目标有三类:

  • 运行成本最小:min Σ [Cbuy(t)·Pgrid(t)·Δt − Csell(t)·Pexp(t)·Δt],适用于峰谷套利、需量管理;
  • 收益最大:在参与辅助服务或现货市场时,把调频容量收益、能量收益一并计入;
  • 多目标折中:如“成本 + 电池老化惩罚”,用权重系数 λ 把循环寿命损耗折算为经济量,min F = 运行成本 + λ·Σ|Pch(t)+Pdis(t)|。

目标函数的选择直接改变充放电曲线的形状。例如只考虑电费最小,算法会倾向于在最低电价时段满功率充电、最高电价时段满功率放电;一旦加入老化惩罚,充放电会变得更平缓,避免深度循环。

三、约束条件:让计划在物理与运行上可行

约束是模型的“边界”,常见的有以下几类:

约束类型数学表达工程含义
功率上下限0 ≤ Pch(t) ≤ Pch,max;0 ≤ Pdis(t) ≤ Pdis,max变流器与电池的最大充放电能力
充放电互斥Pch(t)·Pdis(t) = 0同一时段不能既充又放
SOC 范围SOCmin ≤ SOC(t) ≤ SOCmax防止过充过放,通常取 0.1~0.9
日周期平衡SOC(T) = SOC(0)保证次日可继续运行
并网功率限制|Pgrid(t)| ≤ Pgrid,max变压器或并网点容量约束

其中充放电互斥约束在数学上是非线性的,工程上常用二进制变量 u(t) ∈ {0,1} 线性化:Pch(t) ≤ Pch,max·u(t),Pdis(t) ≤ Pdis,max·(1−u(t))。这样模型变为混合整数线性规划(MILP),可用成熟求解器处理。

四、时间尺度与滚动优化:从“一次算全天”到“边跑边修”

时间尺度决定了优化的粒度和视野。常见做法是:日前计划用 1 h 或 15 min 步长、24 h 视野,做一次全局优化;日内滚动则每 15 min 或 5 min 触发一次,只优化未来 1~4 h 的窗口,但只执行第一个时段的指令,下一时刻用最新 SOC 和最新预测重新求解。这就是滚动优化(Receding Horizon Optimization)思想。

滚动优化的价值在于对抗预测误差。光伏、负荷预测不可能完全准确,若只做一次日前计划,实际运行中 SOC 可能偏离预期,导致高峰时段无电可放。滚动机制把“预测—优化—执行—更新”做成闭环,每个周期都用实测 SOC 修正起点,用更新后的预测修正未来,从而让计划始终贴近实际。

滚动优化中,目标函数通常只对窗口内时段求和,但 SOC 终值约束要谨慎设置:若强制窗口末端 SOC 等于某值,可能导致短视;更常见的做法是设置 SOC 软约束或终端惩罚项,引导电量回到合理区间。
储能充放电计划优化:建模要素与滚动优化闭环 数学建模四要素 决策变量 P_ch(t)、P_dis(t)、SOC(t) 充放电功率与荷电状态 目标函数 min 运行成本 / max 收益 可叠加电池老化惩罚项 约束条件 功率上下限 · 充放互斥 SOC 范围 · 日周期平衡 并网功率限制 时间尺度 日前 1h/15min · 日内 5min 步长 Δt 与优化视野 求解 滚动优化闭环(Receding Horizon) ① 预测更新 光伏/负荷/电价 ② 窗口优化 未来 1~4 h 求解 ③ 执行首段 下发 P_ch/P_dis ④ 状态反馈 实测 SOC 回传 每 Δt 触发 只执行首段 重新求解 时间轴: t₀ t₁ t₂ t₃ … 深色为首个执行时段,后续时段仅作为优化窗口内的预决策

五、一个可复用的建模检查清单

在实际工程中,把上述要素落成代码之前,建议逐项核对以下内容,避免模型建好后才发现关键约束缺失:

  1. 时间步长 Δt 是否与电表、EMS 采样周期一致?若不一致,需做功率聚合或插值。
  2. 充放电效率是否区分?若用单变量模型,是否已处理效率分段?
  3. SOC 上下限是否按电池厂家推荐值设定?是否留出备用容量?
  4. 是否设置了日周期 SOC 回归约束?若没有,多日运行会漂移。
  5. 滚动窗口长度是否覆盖最长预测可信区间?窗口太短会短视,太长则预测误差大。
  6. 目标函数中是否包含老化惩罚?若没有,电池可能被频繁深度循环。
  7. 求解失败时是否有降级策略?例如放宽终端 SOC 约束或退回规则控制。
滚动优化中,若每个周期都重新求解 MILP,计算耗时必须小于滚动周期。对于 5 min 滚动、上百个 0-1 变量的场景,建议先用线性规划松弛求解,再对互斥约束做启发式修复,或直接采用规则型策略作为兜底。

总结来看,储能充放电计划优化的建模框架可以概括为:用决策变量描述“充放多少”,用目标函数回答“为什么这样充放”,用约束条件保证“这样充放是可行的”,用时间尺度与滚动机制解决“预测不准怎么办”。四者共同构成一个可求解、可执行、可迭代的优化闭环。理解这个框架,后续无论是做日前计划、日内滚动还是实时控制,都能在同一套数学语言下展开。