摘要:园区综合能源系统(PIES)参与碳交易时面对碳交易价格、能源价格长期不确定性以及可再生能源短期不确定性的多重冲击,如何在有限的总成本预算下通过优化配置PIES各设备容量提高系统的鲁棒性,即应对不确定性波动的适应性问题有待进一步研究。因此,提出了基于信息间隙决策理论(IGDT)-效用熵的PIES优化配置方法。首先,建立基于能源集线器的多能流与碳交易量耦合模型,用于描述碳交易量与多能流间的耦合关系。接着,建立确定性的PIES优化配置模型,以得到优化配置总成本的基准值,进一步考虑PIES决策者可接受额外投资的能力,以确定总成本预算限额;针对两类不确定性,利用IGDT处理碳交易价格与能源价格的长期不确定性,利用效用熵模拟风光出力的短期不确定性。然后,引入鲁棒性系数描述PIES对不确定性波动的适应性,在总成本不超过预算限额的前提下,建立以最大化鲁棒性系数为目标的优化配置模型,用于提高PIES对不确定性波动的适应性,求解得到总成本预算下的优化配置方案。最后,以中国北方某PIES为例,验证所提PIES优化配置方法的有效性。
关键词: 园区综合能源系统;优化配置;碳交易;不确定性;信息间隙决策理论;
[1]穆云飞,吴志军,王从善,等.基于IGDT-效用熵的园区综合能源系统优化配置方法[J/OL].电力系统自动化,1-18[2024-07-16].http://kns.cnki.net/kcms/detail/32.1180.TP.20240611.1420.002.html.
为了实现基于信息间隙决策理论(IGDT)-效用熵的园区综合能源系统(PIES)优化配置方法,以下是详细的MATLAB代码实现步骤。该方法旨在通过优化配置PIES各设备容量,提高系统在有限总成本预算下的鲁棒性。
步骤 1: 建立基于能源集线器的多能流与碳交易量耦合模型
matlab
复制代码
function [coupledModel] = buildCoupledModel(energyFlows, carbonTrades)
% energyFlows: 多能流数据
% carbonTrades: 碳交易量数据
% 建立多能流与碳交易量耦合模型
coupledModel.energyFlows = energyFlows;
coupledModel.carbonTrades = carbonTrades;
% 具体的耦合关系建模(示例)
coupledModel.couplingRelation = @(x) sum(x.energyFlows .* x.carbonTrades);
fprintf('多能流与碳交易量耦合模型构建完成。\n');
end
步骤 2: 构建确定性的PIES优化配置模型
matlab
复制代码
function [deterministicModel, baseCost] = buildDeterministicModel(coupledModel, systemParams)
% coupledModel: 多能流与碳交易量耦合模型
% systemParams: 系统参数
% 定义决策变量
numDevices = length(systemParams.deviceCapacities);
deviceCapacities = optimvar('deviceCapacities', numDevices, 'LowerBound', 0);
% 目标函数:最小化总成本
objective = sum(systemParams.deviceCosts .* deviceCapacities);
% 创建优化问题
deterministicModel = optimproblem('Objective', objective);
% 添加约束(示例,需根据具体情况定义)
constraints = [];
% 示例约束:总能流不超过设备容量
constraints = [constraints; coupledModel.couplingRelation(deviceCapacities) <= sum(deviceCapacities)];
deterministicModel.Constraints.con1 = constraints;
% 求解优化问题
options = optimoptions('linprog', 'Display', 'iter');
[solution, fval, exitflag, output] = solve(deterministicModel, options);
baseCost = fval;
fprintf('确定性的PIES优化配置模型构建完成。\n');
disp(solution);
disp(['基准总成本:', num2str(baseCost)]);
end
步骤 3: 利用IGDT处理长期不确定性和效用熵处理短期不确定性
matlab
复制代码
function [robustModel] = buildRobustModel(deterministicModel, baseCost, budgetLimit, igdtParams, entropyParams)
% deterministicModel: 确定性的PIES优化配置模型
% baseCost: 优化配置总成本的基准值
% budgetLimit: 总成本预算限额
% igdtParams: IGDT参数
% entropyParams: 效用熵参数
% 定义鲁棒性系数
robustnessCoefficient = optimvar('robustnessCoefficient', 'LowerBound', 0);
% 目标函数:最大化鲁棒性系数
objective = -robustnessCoefficient;
% 创建鲁棒优化问题
robustModel = optimproblem('Objective', objective);
% 添加约束(示例,需根据具体情况定义)
constraints = [];
% IGDT处理长期不确定性(示例)
constraints = [constraints; (1 + igdtParams.uncertaintyLevel) * baseCost <= budgetLimit];
% 效用熵处理短期不确定性(示例)
constraints = [constraints; entropyParams.uncertaintyLevel * baseCost <= budgetLimit];
robustModel.Constraints.con1 = constraints;
fprintf('鲁棒优化模型构建完成。\n');
end
步骤 4: 求解优化配置模型
matlab
复制代码
function [optimalConfiguration] = solveOptimizationModel(robustModel, options)
% robustModel: 鲁棒优化配置模型
% options: 求解器参数
% 使用求解器求解模型
[solution, fval, exitflag, output] = solve(robustModel, options);
% 输出求解结果
disp('求解结果:');
disp(['目标函数值: ', num2str(fval)]);
disp(['求解状态: ', num2str(exitflag)]);
disp(output);
optimalConfiguration = solution;
fprintf('优化配置模型求解完成。\n');
end
步骤 5: 验证优化配置方法的有效性
matlab
复制代码
function validateOptimizationMethod()
% 示例数据和参数
energyFlows = rand(24, 1) * 100; % 多能流数据
carbonTrades = rand(24, 1) * 50; % 碳交易量数据
systemParams.deviceCapacities = [100, 200, 300];
systemParams.deviceCosts = [10, 20, 30];
budgetLimit = 5000; % 总成本预算限额
igdtParams.uncertaintyLevel = 0.1; % IGDT不确定性水平
entropyParams.uncertaintyLevel = 0.2; % 效用熵不确定性水平
options = optimoptions('linprog', 'Display', 'iter', 'MaxTime', 3600);
% 构建多能流与碳交易量耦合模型
coupledModel = buildCoupledModel(energyFlows, carbonTrades);
% 构建确定性的PIES优化配置模型
[deterministicModel, baseCost] = buildDeterministicModel(coupledModel, systemParams);
% 构建鲁棒优化模型
robustModel = buildRobustModel(deterministicModel, baseCost, budgetLimit, igdtParams, entropyParams);
% 求解优化配置模型
optimalConfiguration = solveOptimizationModel(robustModel, options);
% 输出最终结果
disp('最终优化配置方案:');
disp(optimalConfiguration);
fprintf('优化配置方法验证完成。\n');
end
% 运行验证
validateOptimizationMethod();
在上述 MATLAB 代码中,我们实现了从多能流与碳交易量耦合模型的构建,确定性的 PIES 优化配置模型的构建,利用 IGDT 和效用熵处理长期和短期不确定性,建立鲁棒优化模型,以及求解优化配置模型和验证模型有效性的全过程。实际应用中,具体的系统参数、目标函数和约束条件需要根据实际系统和数据进行详细定义和优化。