考虑P2G及碳捕集的热电联产虚拟电厂低碳优化调度
摘要:在碳达峰碳中和的政策方针背景下,北方地区的冬季由于需要供热,使得热电联产机组(combined heat and power,CHP)强迫出力,限制了新能源的消纳与碳减排的能力。利用碳捕集与封存(carbon capture and storage,CCS)技术将热电联产机组产生的CO2捕捉并封存,将新能源发电通过电转气(power to gas,P2G)产生氢能并与捕集到的CO2反应生成CH4,热电联产的燃气轮机使用合成的CH4并掺入一定比例的H2进行燃烧,循环使用CO2,减少碳排放并增加收益,进一步提高虚拟电厂参与电力市场的经济性与低碳性,促进新能源消纳,并保障北方冬季的供热量。建立了考虑P2G及碳捕集的热电联产虚拟电厂的数学模型,并通过MATLAB调用CPLEX求解器进行求解,仿真结果验证了所建模型的有效性。
关键词: P2G-CCS;热电联产;掺氢;碳交易机制;虚拟电厂;
[1]薛太林,杨海翔,张海霞,等.考虑P2G及碳捕集的热电联产虚拟电厂低碳优化调度[J].山东电力技术,2024,51(05):1-8.DOI:10.20097/j.cnki.issn1007-9904.2024.05.001.
1. 定义参数和模型
首先,我们需要定义一些基本的参数,比如CO2捕集效率、P2G效率、H2比例等。
matlab
复制代码
function CHP_Virtual_Plant()
% 参数定义
% 热电联产机组输出功率 (MW)
P_CHP = 100; % 例:100 MW
% CO2捕集效率
efficiency_CCS = 0.85; % 85%
% P2G效率
efficiency_P2G = 0.75; % 75%
% 输入的CO2量 (吨)
CO2_input = 200; % 例:200吨
% 生成的氢气比率
H2_ratio = 0.3; % 例:30% H2
% 甲烷生成反应效率
efficiency_Syngas = 0.9; % 90%
% 燃气轮机效率
efficiency_Turbine = 0.5; % 50%
% 计算
% 1. 捕集的CO2量
CO2_captured = CO2_input * efficiency_CCS;
% 2. 转化为氢气的电量
P2G_power = P_CHP * (1 - H2_ratio) * efficiency_P2G; % MW
% 3. 计算生成的CH4
CH4_generated = CO2_captured * efficiency_Syngas; % 例:生成的甲烷 (吨)
% 4. 计算燃气轮机的输出
CHP_output = CH4_generated * efficiency_Turbine; % MW
% 打印结果
fprintf('捕集的CO2量: %.2f 吨\n', CO2_captured);
fprintf('转化为氢气的电量: %.2f MW\n', P2G_power);
fprintf('生成的CH4: %.2f 吨\n', CH4_generated);
fprintf('热电联产的输出功率: %.2f MW\n', CHP_output);
% 这里可以调用 CPLEX 进行更复杂的优化模型求解
% CPLEX_Solver(); % 调用函数求解模型
end
2. CPLEX 求解器调用示例
在MATLAB中,我们需要编写一个函数来调用CPLEX求解器,并进行优化。假设我们要最大化某种收益函数,以下是一个简化的示例:
matlab
复制代码
function CPLEX_Solver()
% 定义优化问题
f = [-10; -20]; % 目标函数的系数,假设为负收益
% 约束矩阵
A = [1, 1; 1, -1];
% 约束右边值
b = [100; 40]; % 例子约束
% 变量界限
lb = [0; 0]; % 变量下限
ub = [inf; inf]; % 变量上限
% 设置 CPLEX 求解器参数
options = cplexoptimset('cplex');
options.Display = 'on'; % 显示求解过程
% 调用 CPLEX 求解器
[x, fval, exitflag, output] = cplexlp(f, [], A, b, [], [], lb, ub, options);
% 打印结果
if exitflag == 1
fprintf('优化成功!\n');
fprintf('最优解: x1 = %.2f, x2 = %.2f\n', x(1), x(2));
fprintf('最优目标值: %.2f\n', -fval); % 目标函数取反
else
fprintf('优化未成功,退出标志: %d\n', exitflag);
end
end
3. 运行代码
你可以将上述两个函数放在同一个MATLAB文件中,或者分别放在不同的文件中。在MATLAB命令窗口中,运行以下命令来执行整个仿真:
matlab
复制代码
CHP_Virtual_Plant();
4. 说明
以上代码是对碳捕集、氢气转化和热电联产机组运作流程的简化示意,具体的参数和约束需要根据实际情况调整。
CPLEX求解器的使用需要安装IBM ILOG CPLEX Optimization Studio,并确保MATLAB与其集成正确。
在实际应用中,可能需要更复杂的模型和数据处理,建议根据具体的需求进一步修改和扩展代码。