3. 经济调度问题的数学建模

经济调度(Economic Dispatch, ED)要回答的核心问题是:在满足系统有功功率平衡和机组出力上下限约束的前提下,如何把总负荷分配给各台在线机组,使总发电成本最小。与机组组合(UC)相比,ED 不决定机组启停,只决定已开机机组之间的功率分配,因此它是一个连续变量优化问题,通常可写成非线性规划或二次规划模型。本节围绕有功经济调度模型、网损处理方式、发电成本函数、阀点效应和多燃料选项这几个实际建模要素展开。

一、有功经济调度的基本模型

设系统中有 N 台在线机组,第 i 台机组的有功出力为 Pi(MW),系统总负荷为 PD(MW),网络总有功损耗为 Ploss(MW)。忽略网损时,功率平衡约束为:

Σ P_i = P_D          (i = 1, 2, ..., N)
P_i,min ≤ P_i ≤ P_i,max

目标函数为总发电成本最小:

min F = Σ F_i(P_i)

其中 Fi(Pi) 是第 i 台机组的发电成本函数。若考虑网损,则功率平衡约束变为 ΣPi = PD + Ploss。这一约束的引入会显著改变最优解的结构,因为网损本身是各机组出力的函数。

从数学性质看,若成本函数为二次凸函数且不考虑网损,则 ED 是一个凸二次规划问题,最优解满足等微增率准则:所有机组(在未越限时)的边际成本相等。若某台机组出力达到上限或下限,则该机组退出等微增率匹配,其余机组继续按等微增率分配。这一判断逻辑是理解 ED 解结构的关键。

二、网损处理方式

网损处理是 ED 建模中最容易出问题的环节。常见做法有三类:

  • 忽略网损:适用于输电网络较短、负荷与电源电气距离近、损耗占比很小的场景。模型简单,但结果可能偏离实际。
  • B 系数法(Kron 损耗公式):将网损表示为机组出力的二次型 Ploss = PTBP + B0P + B00,其中 B、B0、B00 为损耗系数矩阵和向量。该方法计算量小,适合在线调度,但系数需根据网络结构和运行方式离线拟合,精度有限。
  • 潮流嵌入法:把交流潮流方程直接作为约束嵌入优化模型,网损由潮流计算自然给出。精度高,但模型规模大、非线性强,通常用于离线分析或安全约束经济调度(SCED)。

实际工程中,若只做日前发电计划,B 系数法往往足够;若需要校核线路越限和电压约束,则应采用潮流嵌入法。选择哪种方式,取决于调度周期、精度要求和计算资源。

三、发电成本函数

火电机组的成本主要来自燃料消耗。最常用的成本函数是二次函数:

F_i(P_i) = a_i P_i² + b_i P_i + c_i   (元/h)

其中 ai、bi、ci 为第 i 台机组的成本系数,通常由机组热耗曲线拟合得到。ai 反映边际成本随出力上升的加速趋势,bi 反映线性燃料成本,ci 为空载成本。若机组存在最小技术出力,则 Pi,min 通常取额定容量的 30%~50%。

当需要更精细地描述效率变化时,也可采用三次函数或分段线性函数。分段线性函数在混合整数线性规划中很常见,因为它可以把非线性成本转化为线性约束,便于求解器处理。

四、阀点效应

汽轮机进汽阀在部分开启时会产生节流损失,使实际热耗曲线出现周期性波动,这种现象称为阀点效应(Valve-Point Effect)。它表现为成本函数上叠加一个正弦项:

F_i(P_i) = a_i P_i² + b_i P_i + c_i + |e_i sin(f_i (P_i,min − P_i))|

其中 ei、fi 为阀点效应系数。加入这一项后,成本函数不再凸,可能出现多个局部极小点。此时等微增率准则不再直接适用,需要采用动态规划、遗传算法、粒子群等全局优化方法,或在凸化处理后用分支定界求解。工程上,若阀点效应引起的成本波动小于总成本的 1%,有时可忽略;若机组长期在阀点附近运行,则必须考虑。

五、多燃料选项

部分机组可切换燃料(如燃气—燃油双燃料机组),不同燃料的成本系数不同,且存在切换点。此时成本函数变为分段形式:

F_i(P_i) = a_i1 P_i² + b_i1 P_i + c_i1 ,  P_i,min ≤ P_i ≤ P_i,switch
F_i(P_i) = a_i2 P_i² + b_i2 P_i + c_i2 ,  P_i,switch ≤ P_i ≤ P_i,max

建模时需引入 0-1 变量表示燃料选择,或采用分段线性化处理。多燃料选项使 ED 从连续优化变为混合整数非线性规划,求解难度上升,但更贴近实际运行。

经济调度建模要素关系图 目标:min Σ F_i(P_i) 总发电成本最小 约束条件 ΣP_i = P_D + P_loss;P_i,min ≤ P_i ≤ P_i,max 成本函数 F_i = a_i P_i² + b_i P_i + c_i 二次 / 三次 / 分段线性 阀点效应 + |e_i sin(f_i(P_i,min−P_i))| 非凸,多局部极小 网损处理 忽略 / B系数法 / 潮流嵌入 P_loss = PᵀBP + B₀P + B₀₀ 多燃料选项 分段成本函数 0-1 变量 / 分段线性化 求解方法选择 凸二次规划(等微增率)| 动态规划 | 遗传/粒子群 | 混合整数非线性规划 建模要素越复杂,模型从凸优化向非凸、混合整数方向演变,求解难度递增

六、建模要素的组合与求解选择

把上述要素组合起来,ED 模型的复杂度会逐级上升。只考虑二次成本函数和功率平衡时,模型是凸二次规划,可用等微增率法或二次规划求解器快速求解。加入网损后,若采用 B 系数法,目标函数仍可保持凸性,但约束变为二次等式,需用拉格朗日乘子法迭代求解。加入阀点效应后,目标函数非凸,等微增率法失效,需要全局优化算法。再加入多燃料选项,模型变为混合整数非线性规划,求解时间显著增加。

实际调度中,一个常见的折中做法是:日前计划阶段采用忽略网损或 B 系数法的凸模型,快速得到机组出力计划;实时调度阶段再引入潮流约束进行安全校核和再调度。这样既保证了计算速度,又兼顾了网络安全性。

建模提示:在编写 ED 模型时,务必先明确参照方向。本文所有功率均以“发电为正、负荷为正”定义,功率平衡写为 ΣPi = PD + Ploss。若采用“负荷为负”的符号约定,则平衡式应相应改为 ΣPi + PD = Ploss,全文和图示必须保持一致。
常见错误:把阀点效应项写成 ei·sin(fi·(Pi − Pi,min)) 时,若 fi 取值过大,正弦项周期过短,会导致成本函数出现大量密集局部极小点,求解器容易陷入局部最优。建议根据实际机组热耗曲线拟合 fi,一般取 0.01~0.05 rad/MW 量级。

总结来说,经济调度建模不是把公式堆在一起,而是要根据实际机组的成本特性、网络条件和调度精度要求,选择合适的功能模块和求解策略。二次成本函数是基础,网损处理决定模型精度,阀点效应和多燃料选项则决定模型是否非凸、是否混合整数。理解这些要素之间的取舍关系,才能在实际调度中既算得快、又算得准。