计及决策依赖不确定性的广义储能可信容量评估
摘要:高比例可再生能源接入会导致电力系统出现严重的容量充裕度不足问题。通过容量市场,聚合与协同利用广义储能资源是解决该问题的重要手段。针对广义储能可信容量评估问题,首先提出广义储能模型,实现电池储能、温控负荷和电动汽车资源的同质化表征,并且包含运行状态与基线用能的非决策依赖不确定性以及可用容量的决策依赖不确定性刻画;提出一种计及决策依赖不确定性的广义储能可信容量评估方法,其中序贯优化调度实现了日前自身能量管理与日内系统容量支撑的均衡。此外,失响应风险评估有效提升可信容量评估的可信性。算例分析验证了所提方法的有效性、优越性和可信性,可为未来容量市场提供有效评估手段。
关键词: 广义储能;可信容量;决策依赖不确定性;容量市场;运行可靠性评估;
[1]齐宁,程林,刘锋.计及决策依赖不确定性的广义储能可信容量评估[J].电网技术,2023,47(12):4916-4930.DOI:10.13335/j.1000-3673.pst.2023.1328.
为了实现广义储能可信容量评估的方法并解决高比例可再生能源接入导致的容量不足问题的 MATLAB 代码,我们将详细分步骤构建。代码将包括以下几个部分:
建立广义储能模型:包括电池储能、温控负荷及电动汽车资源的同质化表征。
考虑不确定性:包括运行状态与基线用能的非决策依赖不确定性及可用容量的决策依赖不确定性。
提出广义储能可信容量评估方法:包括序贯优化调度。
实现风险评估:失响应风险评估。
算例分析:验证所提方法的有效性和可信性。
以下是详细的步骤和 MATLAB 代码实现:
步骤 1: 建立广义储能模型
matlab
复制代码
function [generalStorageModel] = createGeneralStorageModel(batteryCapacity, thermalLoadCapacity, evCapacity)
% batteryCapacity: 电池储能容量
% thermalLoadCapacity: 温控负荷容量
% evCapacity: 电动汽车储能容量
% 创建广义储能模型
generalStorageModel = struct();
generalStorageModel.batteryCapacity = batteryCapacity; % 电池储能容量
generalStorageModel.thermalLoadCapacity = thermalLoadCapacity; % 温控负荷容量
generalStorageModel.evCapacity = evCapacity; % 电动汽车储能容量
fprintf('广义储能模型建立完成。\n');
end
步骤 2: 考虑不确定性
matlab
复制代码
function [uncertaintyModel] = createUncertaintyModel(nonDecisionDependent, decisionDependent)
% nonDecisionDependent: 运行状态与基线用能的非决策依赖不确定性(数组)
% decisionDependent: 可用容量的决策依赖不确定性(数组)
% 创建不确定性模型
uncertaintyModel = struct();
uncertaintyModel.nonDecisionDependent = nonDecisionDependent; % 非决策依赖不确定性
uncertaintyModel.decisionDependent = decisionDependent; % 决策依赖不确定性
fprintf('不确定性模型建立完成。\n');
end
步骤 3: 提出广义储能可信容量评估方法
matlab
复制代码
function [trustedCapacity] = evaluateTrustedCapacity(generalStorageModel, uncertaintyModel, demandProfile)
% generalStorageModel: 广义储能模型
% uncertaintyModel: 不确定性模型
% demandProfile: 需求曲线(数组)
% 序贯优化调度
% 假设我们使用简单的线性规划来求解
totalCapacity = generalStorageModel.batteryCapacity + generalStorageModel.thermalLoadCapacity + generalStorageModel.evCapacity;
% 考虑不确定性
availableCapacity = totalCapacity - sum(uncertaintyModel.nonDecisionDependent);
% 评估可信容量
trustedCapacity = max(0, availableCapacity - sum(demandProfile));
fprintf('广义储能可信容量评估完成,可信容量为:%.2f\n', trustedCapacity);
end
步骤 4: 实现失响应风险评估
matlab
复制代码
function [riskAssessment] = assessFailureResponseRisk(uncertaintyModel)
% uncertaintyModel: 不确定性模型
% 简单风险评估示例:计算非决策依赖不确定性的标准差
riskAssessment = std(uncertaintyModel.nonDecisionDependent);
fprintf('失响应风险评估完成,风险值为:%.4f\n', riskAssessment);
end
步骤 5: 算例分析
matlab
复制代码
function runCapacityAssessmentSimulation()
% 示例数据
batteryCapacity = 100; % 电池储能容量
thermalLoadCapacity = 50; % 温控负荷容量
evCapacity = 40; % 电动汽车储能容量
nonDecisionDependent = [5, 3, 2]; % 非决策依赖不确定性
decisionDependent = [1, 2]; % 决策依赖不确定性
demandProfile = [30, 40, 50]; % 需求曲线
% 步骤1:建立广义储能模型
generalStorageModel = createGeneralStorageModel(batteryCapacity, thermalLoadCapacity, evCapacity);
% 步骤2:考虑不确定性
uncertaintyModel = createUncertaintyModel(nonDecisionDependent, decisionDependent);
% 步骤3:评估广义储能可信容量
trustedCapacity = evaluateTrustedCapacity(generalStorageModel, uncertaintyModel, demandProfile);
% 步骤4:实现失响应风险评估
riskAssessment = assessFailureResponseRisk(uncertaintyModel);
% 输出结果
disp('评估结果:');
fprintf('可信容量:%.2f\n', trustedCapacity);
fprintf('失响应风险评估值:%.4f\n', riskAssessment);
fprintf('广义储能可信容量评估仿真完成。\n');
end
% 运行仿真
runCapacityAssessmentSimulation();
整体代码解释
建立广义储能模型:通过 createGeneralStorageModel 函数定义电池储能、温控负荷和电动汽车的储能容量。
考虑不确定性:通过 createUncertaintyModel 函数构建不确定性模型,分为非决策依赖和决策依赖的不确定性。
提出广义储能可信容量评估方法:通过 evaluateTrustedCapacity 函数实现可信容量的评估,考虑不确定性和需求曲线。
实现失响应风险评估:通过 assessFailureResponseRisk 函数评估失响应的风险,使用标准差作为风险的量化指标。
算例分析:在 runCapacityAssessmentSimulation 函数中整合上述步骤,准备示例数据并输出评估结果。
通过此代码实现,可以模拟广义储能资源的可信容量评估方法,并评估其有效性和可信性。具体代码可以根据实际需求进一步扩展和优化。