← 返回 2026-06-24

基于局部缩减的不确定性下微电网最优控制高效方法 An Efficient Method for the Optimal Control of Microgrids Under Uncertainties using Local Reduction

Edoardo Scaccia, Eric C. Kerrigan, Anna Sadowska 📅 2026-06-10 👍 0 2026-07-13 08:37
不确定性管理 局部缩减算法 微电网优化 混合整数规划 鲁棒控制

提出局部缩减算法求解微电网鲁棒最优控制问题,MILP和NLP两种配方可行性率均超90%

前置知识

微电网

微电网是本地化的电力网络,包含能源存储系统(ESS)、可再生能源(如风能和太阳能)、非可再生能源(如可调度发电机),通过先进控制算法发电、存储和部署电力,以满足终端用户的不断变化的需求,同时最小化运营成本。微电网可以以并网或孤岛模式运行,并网模式允许系统与电力市场进行电力交易,孤岛模式则完全依赖可再生能源和非可再生能源来满足用户需求。

微电网是本文的研究对象,理解微电网的组成和运行模式是理解最优控制问题的基础,论文中的所有模型和算法都围绕微电网的优化展开。

半无限规划

半无限规划是一类优化问题,其特征是拥有有限数量的决策变量,但约束条件的数量是无限的。在鲁棒优化中,这通常表现为对不确定性集合中的所有不确定性实现都需要满足约束。直接求解此类问题极其困难,因为无法枚举所有不确定性场景。存在约束半无限规划(ECSIP)进一步引入存在量词,使得约束形式更为复杂。局部缩减算法是求解此类问题的有效方法。

本文的核心算法基于局部缩减算法求解存在约束半无限规划问题,理解这个数学框架是理解算法原理和实现步骤的关键。

混合整数线性规划

混合整数线性规划是线性规划的扩展,其中某些变量被约束为整数。在优化问题中,整数变量常用于建模逻辑决策,如开/关状态、离散选择等。MILP 问题通常使用分支定界、分支切割等方法求解,虽然比纯线性规划更难求解,但可以保证找到全局最优解。微电网中的充放电不能同时进行等逻辑约束可以用二进制变量和 big-M 约束来建模,形成 MILP 问题。

本文提出的两种配方之一是 MILP 配方,使用二进制变量和 big-M 约束建模逻辑约束,理解 MILP 的原理和求解特性有助于理解实验结果中 MILP 配方的优势和局限。

局部缩减算法

局部缩减算法是一种求解半无限规划问题的迭代方法,通过求解一系列最小化和最大化问题来逐步构建一个近似原始无限集合的有限不确定性集。算法的基本思想是:先用有限场景离散化问题并求解,然后在当前解下寻找违反约束的场景,将新场景添加到场景集中并重新求解,直到没有违反场景或达到最大迭代次数。该算法的关键优势是只生成相关的场景,而不是枚举所有可能的场景。

这是本文的核心算法,论文对其进行了创新性扩展以处理存在约束。理解局部缩减算法的工作原理是理解本文方法论和实验结果的基础。

Big-M 约束

Big-M 约束是一种将逻辑约束转换为数学规划约束的技术,用于建模条件语句或互斥选择。对于充放电不能同时进行的逻辑约束,可以引入二进制变量 x 和足够大的常数 M(称为 big-M),构建约束如 0 <= P_c(t) <= M x(t) 和 0 <= P_d(t) <= M(1-x(t))。当 x=0 时,充电功率被约束为 0;当 x=1 时,放电功率被约束为 0。M 值的选择很重要,太大会导致数值不稳定,太小可能导致约束过于严格。

本文的 MILP 配方使用 big-M 约束建模逻辑约束,理解 big-M 技术的工作原理和潜在问题是理解 MILP 配方特性以及实验结果中约束违反情况的关键。

研究动机

现有微电网最优控制方法面临严峻挑战。全球电力需求以年平均 3.4% 的速度增长,到 2030 年可再生能源预计增长 2.7 倍达到 17,000 TWh,但可再生能源的间歇性和不确定性使得按需发电极其困难。现有解决方案包括 min-max 公式化、鲁棒自适应多阶段公式化和概率公式化,但各有局限:min-max 方法只关注最坏情况可能过于保守;鲁棒自适应方法需要强不确定性集假设;概率公式化常用场景方法和蒙特卡洛方法,虽然对分布没有限制,但需要大量样本才能获得准确解。例如,对于 96 个时间步和 6 个不确定性变量的 box 不确定性集,完全枚举需要 2^70 个极端场景,计算复杂度呈指数增长。

本文的目标是本文的目标是提出一种比场景方法更高效的替代方案,用于求解不确定性下微电网的最优容量配置和功率调度问题。具体包括:提出两种编码逻辑约束的配方(MILP 配方使用二进制变量和 big-M 约束,NLP 配方使用精确平滑重构),扩展局部缩减算法以处理存在约束,联合优化系统容量和鲁棒电池调度决策,在保持解质量的同时显著降低计算复杂度。

与已有工作不同的是,本文的独特切入角度是将局部缩减算法首次应用于微电网最优控制问题,并创新性地处理存在约束。传统场景方法需要枚举大量场景,而局部缩减算法只生成相关的违反场景。更重要的是,本文首次将微电网最优控制问题配方为嵌入逻辑约束的 NLP 并通过局部缩减求解,同时提供了 MILP 和 NLP 两种配方的系统性比较。通过 Wehbeh 和 Kerrigan (2026) 提出的逻辑重构技术,将内层最大化问题的存在约束转换为可求解的形式,形成了嵌套的局部缩减框架。

核心方法

方法整体思路分为两个层面:问题配方和求解算法。在问题配方层面,作者提出两种编码逻辑约束的方法。MILP 配方使用二进制变量 x1(t) 和 x2(t) 以及 big-M 值 Mc、Md、Mg+、Mg-,将充放电不能同时进行和电网买卖不能同时进行的逻辑约束转换为线性约束。由于电池数量 b 是决策变量而非参数,不能简单使用 big-M 公式化,因此需要保留原始逻辑约束。NLP 配方使用连续变量 lambda1(t) 和 lambda2(t) 在 0 到 1 范围内,通过平滑重构将逻辑约束转换为连续但非凸的约束。在求解算法层面,作者扩展了局部缩减算法以处理存在约束,形成了嵌套的局部缩减框架。

核心创新点包括三个方面:一是提出两种逻辑约束配方,MILP 配方可以获得全局最优解但计算较慢,NLP 配方可以获得局部最优解但约束违反率更低;二是扩展局部缩减算法以处理存在约束,通过逻辑重构将内层最大化问题的存在约束转换为可求解的嵌套半无限规划;三是联合优化系统容量和鲁棒调度决策,而不仅仅是调度。与已有方法的本质区别在于,传统场景方法需要枚举大量场景,而局部缩减算法只迭代生成相关的违反场景,将逻辑约束存在性转换为连续约束处理,显著降低了计算复杂度。

方法步骤详情

方法步骤包括五个主要步骤。第一步是问题离散化,选择从 t0 = 00:00 到 tf = 24:00 的一天调度窗口,15 分钟间隔 Delta t,共 N = 96 个离散点。控制轨迹采用分段常数参数化,状态轨迹采用分段仿射参数化。第二步是定义变量和集合,包括物理状态向量 zp,n = [En]^T、不确定性向量 wn = [PL,n~、PR,n~、Cbuy,n~、Csell,n~、etaC,n~、etaD,n~]^T、控制变量 theta_n = [Pc,n、Pd,n]^T 等。第三步是构建存在约束半无限规划,最小化初始投资和运营成本 b*CESS*EESS + s*CPV*PV_bar + sum_{n=0}^{N-1} (Cbuy,n~*PG,n+ - Csell,n~*PG,n-) * Delta t,约束为对于所有不确定性,存在控制变量使得系统动态和逻辑约束满足。第四步是将存在量化转换为最小运算,通过取 g_bar 向量的最大值将向量值约束转换为标量约束,然后用 min 替换存在量化。第五步是使用嵌套局部缩减算法求解,外层循环处理不确定性,内层循环处理逻辑变量和网格变量,每次迭代添加违反场景直到收敛。

技术新颖性

技术新颖性体现在多个方面。首先,将局部缩减算法应用于微电网优化是首次,该算法在控制领域有应用但在能源管理领域较新。其次,提出的嵌套局部缩减框架处理存在约束,通过 Wehbeh 和 Kerrigan (2026) 的逻辑重构技术,将存在约束转换为可求解的嵌套半无限规划,这是对原始局部缩减算法的重要扩展。第三,同时提供 MILP 和 NLP 两种逻辑约束配方的系统比较,揭示了两种方法在计算速度、解质量和约束违反方面的权衡。第四,联合优化系统容量和调度,而不仅仅是给定容量下的调度,增加了问题的复杂性和实用性。第五,不确定性直接嵌入 ESS 动态中通过效率参数,而不仅仅是需求、太阳能发电和电价,提高了模型的现实性。

A schematic of a simplified microgrid with a single end user, ESS and RES.
Fig. 2: A schematic of a simplified microgrid with a single end user, ESS and RES.

实验结果

实验结果显示两种配方均达到相似的可行性得分,平均物理可行性率都在 90% 以上,其中 MILP 配方为 90.91%,NLP 配方为 90.65%。MILP 配方计算速度明显更快,平均运行时间 38.34 秒,最大运行时间 282.244 秒;而 NLP 配方平均运行时间高达 1410.15 秒,最大运行时间 2438.50 秒。然而 NLP 配方约束违反率更低,平均约束违反百分比仅 0.099%,而 MILP 配方为 0.56%。在约束违反类型上,MILP 配方主要违反成本约束(平均 72.86%)和网格边界(平均 8.96%),但没有违反 SoC 边界或逻辑约束;NLP 配方主要违反网格边界(平均 62.54%)和 SoC 边界(平均 12.45%),但没有违反成本约束。算法参数设置为 k1,max = 10、k2,max = 10、tol1 = tol2 = 10^-6,MILP 配方总是在最后一次迭代前收敛,而 NLP 配方有时达到最大迭代次数。最优容量决策显示,MILP 配方倾向于选择更多电池包和较少光伏单元,而 NLP 配方返回更平衡的电池包和光伏单元数量。

Microgrid Parameters
Table 1: Microgrid Parameters
Monte Carlo simulations statistics of the MILP and NLP local reduction solutions.
Table 2: Monte Carlo simulations statistics of the MILP and NLP local reduction solutions.
Optimal battery and PV sizing decisions as a function of the grid cap and initial SoC.
Fig. 3: Optimal battery and PV sizing decisions as a function of the grid cap and initial SoC.
查看结构化数据
任务指标本文基线提升
微电网鲁棒最优控制 平均可行性率 MILP: 90.91%, NLP: 90.65% 场景方法(需大量样本) 仅需最多 10 个场景,相比 100,000 场景减少四个数量级计算复杂度
微电网鲁棒最优控制 平均运行时间(秒) MILP: 38.34, NLP: 1410.15 完全枚举(不可行) MILP 比 NLP 快约 36.8 倍
微电网鲁棒最优控制 平均约束违反百分比 MILP: 0.56%, NLP: 0.099% 理论最优应为 0% NLP 约束违反率比 MILP 低约 5.7 倍

局限与改进

局限性分析包括作者承认的和观察到的。作者指出 MILP 配方的鲁棒性需要进一步解决,这意味着 MILP 解可能在某些不确定性实现下表现不佳。NLP 配方只能获得局部最优解,因为求解的是非凸双线性 NLP,全局最优性无法保证。算法达到最大迭代次数时可能尚未收敛,影响解的质量。观察到的局限性包括:时间窗口仅限一天,更长期的优化尚未考虑;仅考虑光伏作为可再生能源,风能等其他可再生能源未纳入;电池模型为线性,更现实的非线性电池模型未考虑;初始 SoC SoC0 作为参数而非优化变量,终端条件未建模;实验基于单用户简化模型,多用户复杂网络的扩展性未知。此外,tolerance 值的选择可能影响解的质量,MILP 配方的约束违反可能归因于 tolerance 值而非算法本身。

独立分析的弱点

独立分析的弱点包括三个方面。第一,NLP 配方的局部最优性:由于求解非凸双线性 NLP,只能获得局部最优解,不同初始化可能导致不同结果。改进方向包括使用多起点策略、全局优化算法或开发专门的双线性结构求解器。第二,MILP 配方的鲁棒性问题:MILP 解在某些不确定性实现下可能违反约束,作者未深入分析原因。改进方向包括引入鲁棒性约束、增加不确定性场景或采用自适应场景选择策略。第三,模型简化:电池模型为线性,未考虑非线性效应如容量衰减、温度依赖等;仅考虑光伏,未纳入风能等其他可再生能源;时间窗口仅一天,未考虑季节变化和长期规划。改进方向包括引入非线性电池模型、多可再生能源组合、多时间尺度优化框架。第四,初始和终端条件:SoC0 作为参数而非优化变量,未考虑终端成本惩罚对最终状态的影响。改进方向包括将 SoC0 纳入决策变量,添加终端成本项惩罚偏离参考值的偏差。

未来方向

未来研究方向包括作者提出的和基于成果可延伸的。作者提出将工作扩展到更长时间窗口,引入非线性电池模型,优化 SoC0 并添加终端成本惩罚偏离参考值的偏差,开发专门的内点求解器利用双线性结构以提高 NLP 配方效率。这些扩展将使 MILP 和 NLP 配方的比较更有意义。基于成果可延伸的方向包括:将方法应用于多用户微电网网络,考虑用户间相互作用和电网约束;纳入更多不确定性来源如系统故障、传感器读数误差、维护计划;结合数据驱动方法从历史数据中学习不确定性分布;开发实时版本用于在线调度和滚动时域控制;将方法与其他鲁棒优化技术如分布鲁棒优化结合;研究方法的可扩展性,处理更大规模系统和更复杂约束。此外,可以探索其他逻辑约束重构技术,比较不同配方在解质量和计算效率方面的权衡。

复现评估

复现评估:论文在开放性和可复现性方面表现良好。作者公开了实现和生成数值结果的数据,GitHub 仓库为 https://github.com/EdoScaccia/Local-Reduction-Algorithm-for-Optimal-Control-of-Microgrids,这允许其他研究者验证和扩展工作。实验在 Microsoft Surface Studio 2 笔记本电脑上进行,配置为第 13 代 Intel Core i7 处理器和 16 GB RAM,这是相对标准的研究级硬件,大多数研究机构应该可以获得类似或更好的计算资源。算法使用 Julia 编程语言实现,使用 JuMP 建模框架,Gurobi 求解 MILP,Ipopt 求解 NLP,这些都是成熟且广泛使用的开源和商业求解器。模型参数和数据来自 Vink et al. (2019) 并在必要时修改,数据来源清晰。算法参数设置明确(k1,max = 10、k2,max = 10、tol1 = tol2 = 10^-6,NLP 配方随机初始化 5 次),实验设置详细。然而,论文未提供具体的硬件配置详细信息(如 CPU 型号、内存频率),未报告软件版本(Julia、JuMP、Gurobi、Ipopt 版本),未提供种子设置,这些可能影响结果可复现性。总体而言,给定公开的代码和数据,加上清晰的实验描述,复现应该是可行的,但可能需要一些调试和参数调整。