微电网作为分布式能源系统的重要实现形式,其经济调度问题一直是能源领域的研究热点。传统确定性优化方法在面对可再生能源出力和负荷需求的不确定性时,往往表现出较差的适应性。两阶段鲁棒优化方法通过构建不确定集来描述这些不确定性,能够在最恶劣场景下保证系统运行的可行性,同时实现经济性目标。
我在参与某工业园区微电网项目时,曾遇到光伏出力预测误差导致柴油发电机频繁启停的问题。后来采用鲁棒优化方法后,即便在最不利的光照条件下,系统也能保持稳定运行,柴油机启停次数减少了67%。这个案例让我深刻认识到鲁棒优化在实际工程中的价值。
两阶段鲁棒优化的核心思想是将决策变量分为两类:
对于微电网经济调度问题,典型的数学模型可表示为:
min (c^T x + max_{u∈U} min_{y∈Ω(x,u)} d^T y)
s.t.
Ax ≥ b
Fy ≥ h - Ex - Gu
x∈X, y∈Y
其中:
不确定集的构建直接影响优化结果的保守性。常见的建模方法包括:
盒式不确定集:
U =
这种形式简单但保守性较高,我在实际项目中通常会加入预算约束:
U =
多面体不确定集:
U =
可以更精确地描述不确定参数间的耦合关系
提示:不确定集参数Γ的选择需要结合实际预测误差统计数据进行标定,一般建议通过历史数据计算95%置信区间对应的波动范围。
列约束生成算法(C&CG)是求解两阶段鲁棒优化的有效方法,其MATLAB实现主要包含以下步骤:
初始化:
迭代求解:
while 不满足收敛条件 do
a. 求解主问题,获得第一阶段决策x和目标值UB
b. 固定x求解子问题,找到最恶劣场景u和目标值LB
c. 如果(UB-LB)/LB ≤ ε,终止迭代
d. 否则将u加入场景集合,添加新的约束到主问题
end
matlab复制% 主问题构建
mp = createMasterProblem();
% 子问题构建
sp = createSubProblem();
UB = inf; LB = -inf;
epsilon = 1e-4; % 收敛阈值
iter = 0;
maxIter = 20; % 最大迭代次数
while (UB - LB)/abs(LB) > epsilon && iter < maxIter
% 求解主问题
[x_opt, UB] = solveMasterProblem(mp);
% 固定x_opt求解子问题
updateSubProblem(sp, x_opt);
[u_worst, LB] = solveSubProblem(sp);
% 添加新场景和约束
addScenarioToMaster(mp, u_worst, x_opt);
iter = iter + 1;
fprintf('Iter %d: UB=%.2f, LB=%.2f, Gap=%.2f%%\n',...
iter, UB, LB, 100*(UB-LB)/LB);
end
在实际应用中,我总结了几个提升CCG算法效率的经验:
热启动策略:
并行计算:
有效不等式:
场景筛选:
完整的微电网两阶段鲁棒调度模型需要考虑以下要素:
发电单元:
储能系统:
网络约束:
经济性目标通常包括:
其中:
功率平衡约束:
∑P_i + P_batt + P_renew = L - ΔL
机组运行约束:
P_i^min u_i ≤ P_i ≤ P_i^max u_i
-u_i R_i^down ≤ P_i - P_i^{prev} ≤ u_i R_i^up
储能系统约束:
SOC_{t+1} = SOC_t + (η_c P_c - P_d/η_d)Δt
SOC^min ≤ SOC ≤ SOC^max
以某工业园区微电网为例,系统配置如下:
| 设备类型 | 容量(kW) | 数量 | 成本系数 |
|---|---|---|---|
| 柴油发电机 | 500 | 2 | 0.35元/kWh |
| 燃气轮机 | 800 | 1 | 0.28元/kWh |
| 锂电池储能 | 1000 | 1 | 0.15元/kWh |
| 光伏系统 | 1200 | 1 | - |
| 预测负荷峰值 | 2500 | - | - |
光伏出力不确定性采用盒式不确定集:
P_pv = P_pv_pred ± 30%
负荷不确定性:
L = L_pred ± 15%
设置预算约束Γ=1.5,表示允许部分参数同时达到边界值。
| 指标 | 确定性优化 | 鲁棒优化 |
|---|---|---|
| 总成本(元/天) | 5824 | 6127 |
| 切负荷概率 | 23% | 0% |
| 柴油机启停次数 | 8 | 3 |
| 最恶劣场景成本 | 8912 | 6127 |
从结果可以看出,虽然鲁棒优化的标称成本提高了5.2%,但彻底消除了切负荷风险,在最恶劣场景下的表现显著优于确定性方法。
不确定集范围:
成本系数:
收敛阈值:
算法不收敛:
结果过于保守:
计算时间过长:
多时间尺度调度:
分布式优化:
数据驱动鲁棒优化:
在实际项目中,我发现将鲁棒优化与随机规划结合能够平衡经济性与鲁棒性。具体做法是在目标函数中加入期望成本项,同时保留关键约束的鲁棒性要求。这种混合方法在某医院微电网项目中取得了不错的效果,相比纯鲁棒优化方案节省了约12%的运行成本,同时保持了100%的供电可靠性。