MATLAB 论文复现——考虑P2G及碳捕集的热电联产虚拟电厂低碳优化调度

考虑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与其集成正确。
在实际应用中,可能需要更复杂的模型和数据处理,建议根据具体的需求进一步修改和扩展代码。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值