1. 冷热电联供型微电网调度优化概述
冷热电联供(CCHP)系统作为分布式能源供应的重要形式,通过能量梯级利用原理,将发电过程中产生的余热用于供热和制冷,整体能源效率可达70%以上,远高于传统分产系统40%左右的效率水平。这种系统结构特别适合医院、学校、商业综合体等具有稳定冷热电需求的场所。
在微电网运行调度中,经济性和环保性往往存在矛盾:追求最低运行成本可能导致化石能源使用量增加,而过度强调减排又会使运营成本大幅上升。传统单目标优化方法通过加权系数将多目标转化为单目标,存在两个主要缺陷:一是优化结果单一,用户无法根据实际需求调整经济与环保的权重;二是优化过程不透明,决策者难以直观理解不同目标间的权衡关系。
多目标优化算法通过Pareto最优解集,可以同时提供数十种甚至上百种优化方案,形成所谓的"帕累托前沿"。决策者可以根据实时电价、碳排放政策等外部条件,从这个解集中选择最适合当前场景的运行策略。例如在碳排放配额紧张的季节,可以选择更靠近环保端的解决方案;而在能源价格高位运行时,则可以倾向经济性更优的方案。
灰狼优化算法(GWO)是模拟灰狼群体狩猎行为的智能优化算法,相比传统的粒子群算法(PSO),它具有参数少、收敛快、不易陷入局部最优等特点。我们将标准GWO算法进行三处关键改进:首先引入动态权重机制平衡算法的探索与开发能力;其次设计混合编码策略处理连续与离散变量共存的问题;最后采用精英保留策略确保优秀个体不会在迭代中丢失。这些改进使算法特别适合处理微电网调度这类高维度、非线性的复杂优化问题。
2. 系统建模与算法设计
2.1 冷热电联供系统结构
典型的CCHP型微电网包含以下核心组件:
- 微型燃气轮机(MT):作为主要发电单元,额定功率通常为30-500kW,发电效率约25-35%
- 余热锅炉(WHB):回收燃气轮机排气余热,制热效率可达60%以上
- 吸收式制冷机(AC):利用余热制冷,性能系数(COP)通常在0.7-1.2之间
- 电制冷机(EC):作为补充制冷单元,COP可达3.0-5.0
- 蓄电池系统(BESS):用于平抑功率波动,容量配置一般为日用电量的10-20%
系统需要满足以下三类负荷的供需平衡:
- 电负荷平衡:∑P_gen + P_grid = P_load + P_charge - P_discharge
- 热负荷平衡:H_MT + H_boiler = H_load
- 冷负荷平衡:C_AC + C_EC = C_load
其中关键耦合关系体现在:
- 燃气轮机发电量P_MT与余热量H_MT存在线性关系:H_MT = P_MT × (1-η_MT)/η_MT × η_heat
- 吸收式制冷量C_AC与余热量H_AC的关系:C_AC = H_AC × COP_AC
2.2 多目标优化模型建立
我们建立双目标优化模型,包含经济目标和环保目标:
目标函数1:运行成本最小化
code复制min f1 = ∑(C_fuel + C_grid + C_OM + C_start)
其中:
- C_fuel = c_gas × (P_MT/(η_MT × LHV_gas)),燃气成本
- C_grid = c_buy × P_buy - c_sell × P_sell,购售电成本
- C_OM = k_MT×P_MT + k_AC×C_AC + ...,运维成本
- C_start = N_start × C_start_MT,启停成本
目标函数2:碳排放最小化
code复制min f2 = ∑(E_MT + E_grid)
其中:
- E_MT = e_gas × P_MT/η_MT,燃气轮机排放
- E_grid = e_grid × P_buy,电网购电排放
约束条件包括:
- 设备运行约束:
- P_MT_min ≤ P_MT ≤ P_MT_max
- Ramp_down ≤ P_MT(t) - P_MT(t-1) ≤ Ramp_up
- 储能系统约束:
- SOC_min ≤ SOC ≤ SOC_max
- P_charge ≤ P_charge_max
- 功率平衡约束(前文已述)
2.3 改进灰狼优化算法实现
标准GWO算法通过模拟α、β、δ三级狼群的社会等级和狩猎行为进行优化。我们针对微电网调度问题做了以下改进:
动态权重机制:
matlab复制a = 2 - 2*(iter/MaxIter); % 线性递减
A1 = 2*a*rand() - a; % 探索系数
混合编码策略:
- 连续变量(如功率分配):实数编码
- 离散变量(如启停状态):二进制编码
matlab复制% 连续变量更新
X1 = Alpha(1,j) - A1*abs(C1*Alpha(1,j)-Pos(i,j));
% 离散变量更新
if rand() < 1/(1+exp(-A1))
X1 = ~Alpha(1,j);
end
精英保留策略:
matlab复制% 合并父代和子代种群
CombinedPop = [Archive; GreyWolves];
% 非支配排序
[Fronts,~] = NDSort(CombinedPop);
% 选择前N个最优个体
NewPop = CombinedPop(Fronts(1:N));
算法流程如下:
- 初始化狼群位置(随机生成调度方案)
- 计算每个个体的目标函数值
- 确定α、β、δ狼(当前最优解)
- 根据式(3)-(7)更新狼群位置
- 应用约束处理(越限修正)
- 重复2-5直到最大迭代次数
- 输出Pareto最优解集
3. Matlab实现与结果分析
3.1 程序结构与关键函数
项目代码主要包含以下模块:
code复制├── Main.m % 主程序
├── GWO_optimization.m % 改进GWO算法实现
├── System_Model.m % 系统参数与负荷数据
├── Cost_Calculation.m % 经济目标计算
├── Emission_Calc.m % 排放目标计算
├── Constraints_Check.m % 约束处理
└── Plot_Results.m % 结果可视化
核心函数解析:
- 目标函数计算:
matlab复制function [Cost, Emission] = Double_CC_fitness(P_MT, P_BA)
% 计算燃气轮机余热
H_MT = MT_PE2H(P_MT); % 调用转换函数
% 计算各时段成本
C_fuel = gas_price * sum(P_MT) / (eta_MT * LHV);
C_grid = sum( buy_price.*max(0, P_load-P_MT) ...
- sell_price.*max(0, P_MT-P_load) );
% 计算碳排放
E_MT = sum(P_MT) * e_gas / eta_MT;
E_grid = sum(max(0,P_load-P_MT)) * e_grid;
Cost = C_fuel + C_grid;
Emission = E_MT + E_grid;
end
- 约束处理示例(储能SOC管理):
matlab复制SOC = SOC_init;
for t = 1:24
SOC = SOC + P_BA(t)*eta_chg; % 更新SOC
% 越限处理
if SOC > SOC_max
P_BA(t) = (SOC_max - (SOC-P_BA(t)*eta_chg))/eta_chg;
SOC = SOC_max;
elseif SOC < SOC_min
P_BA(t) = (SOC_min - (SOC-P_BA(t)*eta_chg))/eta_chg;
SOC = SOC_min;
end
end
3.2 典型运行结果分析
通过200次迭代计算,我们得到Pareto前沿如下图所示:

选取三个典型解决方案进行比较:
| 方案类型 | 日运行成本(¥) | 碳排放(kg) | 燃气轮机占比 | 电网购电占比 |
|---|---|---|---|---|
| 经济最优 | 2,856 | 1,892 | 68% | 32% |
| 折中方案 | 3,102 | 1,523 | 82% | 18% |
| 环保最优 | 3,587 | 1,215 | 95% | 5% |
调度策略对比分析:
-
经济最优方案:
- 在电价低谷时段(23:00-7:00)大量购电
- 燃气轮机运行在中等负荷率(60-80%)
- 蓄电池用于套利(低储高放)
-
环保最优方案:
- 最大限度减少电网购电(依赖高碳电源)
- 燃气轮机持续运行在最佳效率点(85%负荷)
- 蓄电池用于平抑可再生能源波动
-
折中方案特点:
- 避免极端策略,平衡两种目标
- 在峰电时段(10:00-15:00)适度购电
- 优化燃气轮机启停次数(3次/天)
3.3 算法性能对比
与NSGA-II、MOPSO等算法的对比结果:
| 算法 | 超体积(HV) | 间距(SP) | 运行时间(s) |
|---|---|---|---|
| 改进GWO | 0.781 | 0.032 | 58.7 |
| NSGA-II | 0.752 | 0.041 | 92.3 |
| MOPSO | 0.738 | 0.056 | 76.5 |
改进GWO在解集分布性和收敛速度方面表现更优,特别适合实时调度场景。图2展示了三种算法的收敛曲线对比:

4. 工程应用建议与注意事项
4.1 实际部署考量
-
数据准备阶段:
- 负荷预测建议采用"基线负荷+修正量"的模式:
matlab复制% 典型日负荷曲线 base_load = [load_data_hist]; % 天气修正系数 if temp > 30 load = base_load * (1 + 0.05*(temp-30)); end - 燃气轮机效率曲线需现场测试,避免直接使用厂家标称值
- 负荷预测建议采用"基线负荷+修正量"的模式:
-
参数调试经验:
- 灰狼种群数量设置:变量维数的5-10倍
- 迭代次数与精度的权衡:通常100-300次即可收敛
- 约束处理优先级:先处理硬约束(功率平衡),再处理软约束(设备限值)
-
系统集成要点:
- 与SCADA系统的接口采用OPC UA协议
- 调度指令下发周期建议15-30分钟
- 保留人工干预通道,避免完全依赖算法
4.2 常见问题排查
问题1:算法早熟收敛
- 现象:Pareto前沿解集分布不均匀
- 解决方法:
- 增加种群多样性:引入反向学习生成部分初始个体
- 调整参数a的递减速度:改为非线性递减
matlab复制a = 2 * (1 - (iter/MaxIter)^2);
问题2:约束违反严重
- 现象:储能SOC频繁越限
- 解决方法:
- 采用修复策略代替惩罚函数:
matlab复制% SOC越限修复 if SOC(t) > SOC_max P_BA(t) = (SOC_max - SOC(t-1))/eta_chg; end - 增加约束可行性判断步骤
- 采用修复策略代替惩罚函数:
问题3:计算时间过长
- 现象:单次优化超过5分钟
- 优化措施:
- 采用并行计算评估种群个体
matlab复制parfor i = 1:PopulationSize [Cost(i), Emission(i)] = Double_CC_fitness(Pop(i,:)); end - 简化部分模型(如线性化燃气轮机效率曲线)
- 采用并行计算评估种群个体
4.3 扩展应用方向
-
多时间尺度优化:
- 日前调度(本案例)
- 实时滚动优化(5-15分钟尺度)
- 长期容量规划(年尺度)
-
不确定性处理:
- 采用鲁棒优化应对负荷预测误差
- 应用随机规划处理可再生能源波动
- 结合场景分析法评估风险
-
商业模式创新:
- 参与需求响应项目
- 提供调频辅助服务
- 基于区块链的P2P能源交易
在实际项目中,我们曾遇到一个典型案例:某医院微电网原采用单目标优化,年运行成本约120万元,碳排放量860吨。改用本方法后,通过选择适当的折中方案,在成本增加不到5%的情况下,碳排放降低了22%,年减排量相当于种植1,500棵树的环境效益。