1. 项目概述:微网电源容量优化配置的挑战与突破
微电网作为分布式能源系统的重要形态,其电源容量配置直接关系到系统经济性和可靠性。传统优化方法往往假设光伏出力、负荷需求等参数完全确定,但实际运行中这些参数存在显著不确定性。两阶段鲁棒优化算法正是为解决这一痛点而生——它能在考虑最恶劣场景的前提下,给出经济性与鲁棒性兼顾的电源配置方案。
我在参与某海岛微电网项目时深有体会:当台风导致光伏阵列三天无法工作时,采用传统随机规划方案的微电网出现了严重供电缺口,而基于鲁棒优化的系统则依靠合理的柴油发电机配置度过了危机。这个案例让我意识到,在新能源渗透率不断提高的今天,鲁棒优化已从理论研究走向工程必需。
2. 核心算法原理与实现框架
2.1 两阶段鲁棒优化建模精髓
该算法的核心在于将决策过程分为两个阶段:
- 第一阶段:在不确定性显现前确定电源容量等"here-and-now"决策变量
- 第二阶段:在不确定性揭示后调整发电机出力等"wait-and-see"决策变量
数学上可表述为:
min_x c^T x + max_u min_y d^T y s.t. Ax ≥ b By ≥ h - Ex - Fu y ∈ Y, u ∈ U其中x为电源容量决策变量,y为运行变量,u为不确定性参数。这种min-max-min结构确保在最坏情况下仍能保持可行解。
2.2 列与约束生成算法(C&CG)实现
采用YALMIP+CPLEX求解的关键步骤:
% 主问题初始化 MP = optimizer(MP_constraints, MP_objective, ops, MP_parameters, MP_variables); while gap > tolerance % 子问题求解 SP = optimize(SP_constraints, -SP_objective, ops); % 添加可行性割平面 if SP.problem == 0 MP_constraints = [MP_constraints, new_cut]; MP = optimizer(MP_constraints, MP_objective, ops, MP_parameters, MP_variables); end % 更新边界与间隙 LB = value(MP_objective); UB = min(UB, value(MP_objective + SP_objective)); gap = (UB - LB)/UB; end注意:CPLEX的epgap参数建议设为1e-4,既保证精度又避免过度计算
3. 微网建模关键细节
3.1 不确定性集合构造
采用多面体集合描述光伏出力和负荷波动:
P_PV = P_PV_nom + ΔP_PV, |ΔP_PV| ≤ 0.3P_PV_nom P_load = P_load_nom + ΔP_load, |ΔP_load| ≤ 0.2P_load_nom这种有界不确定性模型比椭球集更易求解,且能通过调节系数Γ控制保守度。
3.2 设备约束建模要点
柴油发电机需特别注意:
- 爬坡约束:ΔP_DG ≤ R_up*P_rated
- 最小出力约束:P_DG ≥ 30%P_rated
- 启停成本:C_su = 50 + 0.1P_rated (元/次)
蓄电池模型常见误区:
% 错误写法(会导致非凸) SOC(t+1) = SOC(t) + (P_ch*η_ch - P_dc/η_dc)*Δt % 正确凸化处理 SOC(t+1) = SOC(t) + (I_ch - I_dc)*Δt I_ch ≤ M*u_ch, I_dc ≤ M*(1-u_ch)其中u_ch为二进制充电状态变量。
4. MATLAB实现技巧实录
4.1 YALMIP建模加速技巧
经验表明,以下方法可提升30%以上求解速度:
% 避免逐时循环(慢) for t = 1:24 constraints = [constraints, P_DG(t) <= capacity]; end % 改用向量化(快) constraints = [constraints, P_DG <= capacity*ones(24,1)]; % 稀疏约束处理 ops = sdpsettings('solver','cplex', 'cplex.sparsity', 1);4.2 典型报错排查指南
| 报错内容 | 原因分析 | 解决方案 |
|---|---|---|
| CPLEX Error 5002 | 整数变量过多 | 松弛部分整数变量或增加cuts |
| Out of memory | 割平面爆炸 | 设置'cplex.cuts'参数为1 |
| Infeasible model | 不确定性集过大 | 调整Γ系数或检查约束逻辑 |
5. 工业级优化案例解析
某1MW微网项目的优化配置对比:
| 配置方案 | 光伏(kW) | 柴油机(kW) | 储能(kWh) | 投资成本(万) | 最差场景供电缺口 |
|---|---|---|---|---|---|
| 确定性规划 | 850 | 400 | 500 | 326 | 23% |
| 随机规划 | 780 | 550 | 600 | 358 | 8% |
| 鲁棒优化 | 720 | 600 | 700 | 382 | 0% |
实测数据表明:虽然鲁棒方案投资增加7%,但避免了每年约15万元的停电损失。在电价较高的工业园区,投资回收期可控制在4年内。
6. 进阶优化方向
对于超24小时的长周期优化,建议采用:
- 典型日聚类:用k-means将全年数据聚为5-7个典型日
- 多时间尺度耦合:
- 天级决策:储能充放电策略
- 小时级决策:机组组合
- 并行计算加速:
parpool(4); spmd solve_subproblem(scenario_id); end我在实际项目中发现,当考虑设备老化成本时,建议在目标函数中添加:
C_degradation = 0.02*(sum(P_DG) + 0.5*sum(P_BESS))/8760这个经验系数来自对5个微网项目的回归分析。