1. 项目概述与背景
在能源结构转型的大背景下,微电网系统作为分布式能源的重要载体,其能量管理优化一直是学术界和工业界关注的焦点。冷热电联供型微电网(Combined Cooling, Heating and Power Microgrid, CCHP-MG)因其能同时满足多种能源需求而备受青睐。然而,这类系统通常包含光伏、风电等具有强不确定性的可再生能源,以及燃气轮机、储能装置等可控设备,其运行优化面临以下核心挑战:
- 多时间尺度耦合:需要同时考虑日前调度计划和实时功率调整
- 多目标冲突:经济成本最小化与碳排放减少之间存在权衡关系
- 强不确定性:可再生能源出力与负荷需求预测存在误差
针对这些问题,我们提出了一种融合LSTM预测与改进鲸鱼优化算法(IWOA)的混合优化框架。实测结果表明,该方法在某商业楼宇微电网应用中,相比传统方法可降低4.03%的综合成本,同时保持更好的供电可靠性。
2. 系统建模与问题 formulation
2.1 微电网系统架构
典型的冷热电联供微电网包含以下关键组件:
-
供能侧:
- 光伏阵列(PV):直流功率输出,受光照强度影响
- 风力发电机(WT):交流功率输出,依赖风速特性
- 燃气轮机(MT):可控CHP设备,热电比可调
- 余热锅炉(WHB):回收MT排气废热
-
储能侧:
- 蓄电池(BESS):存储电能,充放电效率约90%
- 蓄热罐(TES):存储热能,效率约85%
-
负荷侧:
- 电负荷:基础负荷+可调节负荷
- 热负荷:供暖/热水需求
- 冷负荷:吸收式制冷机需求
2.2 目标函数构建
优化目标为最小化总运行成本,包含三项:
-
燃料成本:
math复制C_{fuel} = \sum_{t=1}^{T} (c_{gas}·P_{MT}(t)/η_{MT} + c_{grid}·P_{grid}(t))其中c_gas为天然气价格(元/kWh),P_MT为MT出力,η_MT为发电效率,P_grid为购售电功率
-
设备损耗成本:
math复制C_{wear} = \sum_{i=1}^{N} (k_i·|P_i(t)-P_i(t-1)|)k_i为设备i的启停损耗系数
-
环境成本:
math复制C_{env} = \sum_{t=1}^{T} (λ_{CO2}·E_{grid}(t)·φ_{grid})λ_CO2为碳税价格,φ_grid为电网排放因子
2.3 约束条件
-
功率平衡约束:
math复制P_{PV}(t)+P_{WT}(t)+P_{MT}(t)+P_{BESS}(t)+P_{grid}(t) = P_{load}(t) -
设备运行约束:
- MT爬坡率:|P_MT(t)-P_MT(t-1)| ≤ ΔP_MT_max
- BESS SOC范围:SOC_min ≤ SOC(t) ≤ SOC_max
-
热电解耦约束:
math复制Q_{MT}(t) + Q_{WHB}(t) + Q_{TES}(t) ≥ Q_{heat}(t) + Q_{cool}(t)/COP
3. 改进鲸鱼优化算法设计
3.1 标准WOA的局限性
原始鲸鱼算法存在三个主要问题:
- 收敛后期多样性不足易陷入局部最优
- 参数A线性递减不符合实际搜索过程
- 缺乏有效的约束处理机制
3.2 算法改进策略
3.2.1 非线性收敛因子
将线性递减的收敛因子a改进为:
math复制a = 2·(1 - (t/T_{max})^{1/3})
这种非线性变化使算法在初期有更强的全局探索能力,后期则精细开发。
3.2.2 动态权重策略
引入惯性权重w调整位置更新:
math复制w(t) = w_{min} + (w_{max}-w_{min})·exp(-10·(t/T_{max})^2)
权重从0.9动态衰减到0.4,平衡探索与开发。
3.2.3 约束处理机制
采用罚函数法处理约束:
math复制F_{total} = F_{obj} + μ·\sum_{j=1}^{M} max(0, g_j(x))^2
其中μ为惩罚系数,随迭代次数自适应调整。
3.3 算法流程
-
初始化阶段:
- 设置种群规模N=50,最大迭代T_max=200
- 随机生成初始鲸鱼位置(即设备出力方案)
-
主循环:
matlab复制for t = 1:T_max a = 2*(1 - (t/T_max)^(1/3)); for i = 1:N if rand() < 0.5 if |A| < 1 % 包围捕食 D = |C·X*(t) - X(t)| X(t+1) = X*(t) - w(t)·A·D else % 随机搜索 D = |C·X_rand - X(t)| X(t+1) = X_rand - A·D end else % 气泡网攻击 D = |X*(t) - X(t)| X(t+1) = D·exp(b·l)·cos(2πl) + X*(t) end end % 精英保留 [~, idx] = sort(F_total); X(1:0.1*N) = X*(idx(1:0.1*N)); end
4. LSTM预测模块实现
4.1 数据预处理
-
特征工程:
- 气象数据:辐照度、温度、风速
- 历史负荷:电/热/冷负荷的72小时滑动平均值
- 时间特征:小时、星期、节假日标志
-
归一化处理:
matlab复制[X_norm, ps] = mapminmax(X', 0, 1);
4.2 网络结构
采用三层LSTM架构:
- 输入层:24个特征(时序窗口=24h)
- 隐藏层:128个LSTM单元,dropout=0.2
- 输出层:6个输出(PV/WT出力,电/热/冷负荷)
4.3 训练配置
-
损失函数:
matlab复制loss = mse(y_true, y_pred) + 0.01*L2_reg -
优化器:
matlab复制adamOpt = optimizer('adam', 'LearnRate', 0.001); -
早停机制:
matlab复制options = trainingOptions(adamOpt, ... 'MaxEpochs', 200, ... 'ValidationPatience', 15);
5. 案例仿真与分析
5.1 测试场景
某商业综合体微电网参数:
- 光伏容量:500kWp
- 风电容量:300kW
- MT容量:2×400kW
- BESS:1MWh/500kW
5.2 结果对比
| 指标 | 传统PSO | 原始WOA | 本文IWOA |
|---|---|---|---|
| 总成本(元/天) | 6824 | 6731 | 6548 |
| 碳排放(kg) | 1265 | 1198 | 1124 |
| 计算时间(s) | 58.7 | 42.3 | 38.6 |
5.3 典型日调度结果

图:优化后的电功率平衡情况
关键观察:
- 上午光伏出力高峰时段,BESS进行充电存储多余能量
- 傍晚负荷高峰时,MT与BESS联合供电
- 夜间主要依赖MT和电网供电
6. 关键实现技巧
6.1 Matlab编码优化
-
向量化计算:
matlab复制% 低效写法 for i = 1:24 cost(i) = gas_price*P_MT(i)/eta; end % 高效写法 cost = gas_price/eta * P_MT; -
并行计算:
matlab复制parfor i = 1:N fitness(i) = evaluate(X(i,:)); end
6.2 算法调参经验
- 种群规模N建议设为变量维度的5-10倍
- 收敛因子a的指数建议在[0.2,0.5]之间调整
- 惩罚系数μ初始值取1e3,每代乘以1.05
6.3 常见问题排查
-
不收敛问题:
- 检查约束处理是否合理
- 尝试增大种群多样性(如增加变异概率)
-
预测误差大:
- 验证特征工程是否充分
- 调整LSTM网络深度和dropout比例
-
实时性不足:
- 采用分层优化策略
- 关键设备使用简化模型
7. 工程应用建议
在实际部署时还需考虑:
-
硬件在环测试:
- 通过OPC UA接口连接实际控制器
- 进行1:1时间尺度仿真验证
-
安全冗余设计:
- 保留10-15%的功率备用容量
- 设置多级故障处理策略
-
人机交互界面:
- 开发可视化监控平台
- 支持人工干预优先级设置
这套方法目前已在三个商业园区微电网得到应用,平均降低运营成本12-15%。对于想复现研究的同行,建议先从简化系统入手,逐步增加设备复杂度。