基于IGFC碳捕集协同电转气的多能互补优化调度模型
摘要:整体煤气化燃料电池(integrated gasification fuel cell,IGFC)发电系统作为一种先进的煤炭清洁技术,是加快“双碳”目标实现的有效途径,在高比例可再生能源接入和多能互补的新型电力系统发展格局下,基于整体煤气化燃料电池构建低碳、经济化的源-网-荷-储灵活运行机制具有重大前瞻性意义。首先,充分考虑多种能源耦合关系,构建整体煤气化燃料电池-电解槽(electrolyzer,EL)氢电联产运行框架;其次,根据联产运行框架,提出二氧化碳处理模型,解耦电碳关系,增加碳捕集(carbon capture storage,CCS)量,提高风光消纳水平;最后,提出多能互补的源-网-荷-储联合运行策略,以综合成本最小化为目标构建优化调度模型,通过算例对比分析,验证了本文所提模型的有效性和可行性。
关键词: 整体煤气化燃料电池;碳捕集;电转气;多能互补;源-荷-网-储一体化;
[1]胡传宝,文中,王灿,等.基于IGFC碳捕集协同电转气的多能互补优化调度模型[J/OL].洁净煤技术,1-11[2024-07-26].http://kns.cnki.net/kcms/detail/11.3676.TD.20240528.0958.002.html.
1. 代码结构
主程序:负责整体流程控制,设置参数、调用模型和优化函数。
参数设置函数:定义系统的各项参数。
优化模型函数:建立优化调度模型并求解。
结果分析函数:分析和展示结果。
2. MATLAB代码
matlab
复制代码
% 主程序
function main()
% 设置系统参数
params = setParameters();
% 执行优化调度模型
[optimalSolution, totalCost] = optimizeIGFC(params);
% 结果分析与展示
analyzeResults(optimalSolution, totalCost);
end
% 设置系统参数函数
function params = setParameters()
% 基本参数
params.coalInput = 100; % 煤输入量 (吨/小时)
params.fuelCellEfficiency = 0.45; % 燃料电池效率
params.electrolyzerEfficiency = 0.7; % 电解槽效率
params.ccsEfficiency = 0.9; % 碳捕集效率
% 经济参数
params.electricityPrice = 0.1; % 电力销售价格 (元/kWh)
params.hydrogenPrice = 5; % 氢气销售价格 (元/kg)
params.carbonCost = 50; % 碳交易价格 (元/吨CO2)
% 运行时间
params.timeHorizon = 24; % 24小时调度
params.timeUnit = 1; % 时间单位 (小时)
% 总运行成本参数
params.fixedCost = 500; % 固定成本 (元)
return;
end
% 优化模型函数
function [optimalSolution, totalCost] = optimizeIGFC(params)
% 定义决策变量
% x(1): 电力输出 (kW)
% x(2): 氢气生产量 (kg)
% x(3): 碳捕集量 (吨)
nVars = 3;
% 约束条件
A = []; b = []; % 线性不等式约束
Aeq = []; beq = []; % 线性等式约束
% 非线性约束
nonlcon = @(x) nonLinearConstraints(x, params);
% 目标函数
objectiveFunction = @(x) objectiveFunction(x, params);
% 初始值
x0 = [0, 0, 0];
% 选项设置
options = optimoptions('fmincon','Display','off');
% 执行优化
[optimalSolution, totalCost] = fmincon(objectiveFunction, x0, A, b, Aeq, beq, [], [], nonlcon, options);
end
% 目标函数
function totalCost = objectiveFunction(x, params)
electricityOutput = x(1); % 电力输出
hydrogenProduction = x(2); % 氢气生产量
carbonCapture = x(3); % 碳捕集量
% 计算总成本
electricityRevenue = electricityOutput * params.electricityPrice;
hydrogenRevenue = hydrogenProduction * params.hydrogenPrice;
carbonCost = carbonCapture * params.carbonCost;
totalCost = params.fixedCost - (electricityRevenue + hydrogenRevenue) + carbonCost;
end
% 非线性约束
function [c, ceq] = nonLinearConstraints(x, params)
c = []; % 不等式约束
ceq = []; % 等式约束
electricityOutput = x(1);
hydrogenProduction = x(2);
carbonCapture = x(3);
% 约束1: 电力输出不能超过燃料电池的理论最大输出
c(1) = electricityOutput - (params.coalInput * params.fuelCellEfficiency);
% 约束2: 氢气生产量根据电力输出和效率计算
c(2) = hydrogenProduction - (electricityOutput * params.electrolyzerEfficiency);
% 约束3: 碳捕集量不能超过煤输入量的碳排放量
c(3) = carbonCapture - (params.coalInput * params.ccsEfficiency);
% 等式约束
ceq(1) = electricityOutput + hydrogenProduction - (params.coalInput * params.fuelCellEfficiency); % 电力和氢气的平衡
return;
end
% 结果分析函数
function analyzeResults(optimalSolution, totalCost)
fprintf('优化后的电力输出:%.2f kW\n', optimalSolution(1));
fprintf('优化后的氢气生产量:%.2f kg\n', optimalSolution(2));
fprintf('优化后的碳捕集量:%.2f 吨\n', optimalSolution(3));
fprintf('总运行成本:%.2f 元\n', totalCost);
end
% 运行主程序
main();
3. 代码说明
主程序(main):负责整体流程的控制,调用参数设置、优化模型和结果分析函数。
参数设置函数(setParameters):定义了系统的各项参数,包括煤输入量、燃料电池效率、电解槽效率和碳捕集效率等。
优化模型函数(optimizeIGFC):使用fmincon进行非线性优化,目标是最小化总运行成本。
目标函数(objectiveFunction):计算当前解的总成本,考虑电力和氢气的收入以及碳捕集的成本。
非线性约束函数(nonLinearConstraints):定义系统的约束条件,确保模型的合理性,控制电力输出、氢气生产和碳捕集。
结果分析函数(analyzeResults):输出优化结果,包括电力输出、氢气生产量、碳捕集量和总成本。
注意事项
该代码是一个简化的示例,实际应用中可能涉及更复杂的约束和多种决策变量的设置。
参数应根据实际系统的特性和数据进行调整,并进行仿真验证。
确保您的MATLAB环境包含了优化工具箱,以支持fmincon函数的使用。