本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主的专栏栏目《论文与完整程序》
这个标题指的是一个综合能源系统(包括多种能源资源和负荷需求),在考虑到源(能源供给)和荷(能源需求)的不确定性的情况下,进行日前和日内的协调优化调度。
让我们拆分这个标题:
-
综合能源系统: 指的是一个整体的能源系统,可能包括电力、热能、风能、太阳能等多种能源资源和相应的能源设备。
-
日前-日内协调: 指的是在两个时间尺度上进行协调。日前通常指的是对未来一天的规划,而日内则是在当天内的短时间范围内进行实时调度。
-
优化调度: 指的是通过数学优化模型和算法,使得能源系统在给定的约束条件下,达到最优的运行状态。这可能包括最小化成本、最大化可再生能源利用、确保能源供应的稳定性等目标。
-
计及源荷不确定性: 强调了在优化调度过程中考虑到了能源供给和需求的不确定性。这可能包括天气预测不确定性(影响可再生能源产生)、负荷需求波动性等因素。
因此,这个标题表明研究的重点在于如何在综合能源系统中,有效地处理源和荷的不确定性,并通过协调的方式,在日前和日内两个时间尺度上实现最优化的能源调度。这对于提高能源系统的鲁棒性、可靠性,以及更有效地利用可再生能源等方面都具有重要意义。
摘要:在能源耦合不断加深、高比例新能源渗透的背景下,为充分调动综合能源系统用能灵活性,并克服新能源和负荷预测不确定性对调度计划产生的影响,提出计及不确定性的综合能源系统日前–日内多目标优化调度方法。首先,针对工业园区型综合能源系统,建立其供能结构和设备模型;其次,分别基于多场景技术和模糊数学理论对负荷需求和光伏出力的日前–日内不确定性进行建模;最后,在不确定性环境中,以园区运行成本、碳排放成本最低和综合能效最高为目标进行日前调度,并基于日前计划在日内进行灵活调整。算例结果表明,所提方法平衡了日前–日内调度计划的风险和回报,能够提升系统运行的经济性、环保性和综合能效。
这段摘要涉及到综合能源系统的日前-日内多目标优化调度方法,旨在应对能源耦合加深和高比例新能源渗透带来的挑战。以下是对摘要的解读:
-
背景: 能源耦合指的是不同形式的能源(如电力、热能等)之间相互耦合和交互的情况。在这个背景下,新能源比例增加,对综合能源系统的管理提出了更高的要求。
-
目的: 提出这种方法的目的在于充分发挥综合能源系统的用能灵活性,同时克服新能源和负荷预测不确定性对调度计划的影响。
-
方法步骤:
- 系统建模: 针对工业园区型综合能源系统,首先建立了供能结构和设备模型,这有助于更好地理解系统的组成和运行特点。
- 不确定性建模: 使用多场景技术和模糊数学理论对负荷需求和光伏出力的日前-日内不确定性进行建模。这是为了更准确地反映能源需求和可再生能源产出的潜在波动性。
- 多目标优化: 在不确定性环境中,以园区运行成本、碳排放成本最低和综合能效最高为目标进行日前调度。这表明系统考虑了经济性、环保性和综合能效等多个方面的优化。
- 日内灵活调整: 在日前计划的基础上,系统在日内进行灵活调整,以适应实际情况的变化。
-
结果: 算例结果表明,提出的方法能够平衡日前-日内调度计划的风险和回报,同时提升系统运行的经济性、环保性和综合能效。这说明该方法在实际应用中具有潜在的有效性和可行性。
总体而言,这个方法旨在在充分利用综合能源系统的能源灵活性的同时,有效地应对新能源和负荷预测不确定性,以实现多目标优化的调度计划。
关键词: 综合能源系统;不确定性;多时间尺度;多场景技术;模糊优化;综合能效;
-
综合能源系统: 指的是将多种能源形式(例如电力、热能等)进行整合和协同管理的系统。这可能涉及到不同类型的能源设备、能源存储系统和能源网络,以实现更高效的能源利用。
-
不确定性: 指的是在能源系统运行中存在的无法完全预测或确定的因素。这可能包括天气变化、能源需求波动、设备故障等。在这种情况下,系统需要灵活应对不确定性,以确保可靠的能源供应和高效的运行。
-
多时间尺度: 表示考虑了不同的时间范围,可能涉及到从短时间内的小时级别到长时间内的日、周、月等不同尺度的时间。这反映了对综合能源系统调度的全面性和长远性考虑。
-
多场景技术: 指的是使用多种可能的情景或场景来描述不同的运行条件。这可以帮助系统更全面地考虑不同的不确定性来源,提高对系统行为的理解。
-
模糊优化: 使用模糊数学理论进行优化。模糊优化考虑到问题中的不确定性和模糊性,使得系统更能适应实际运行中的复杂和模糊情况,提高了决策的灵活性。
-
综合能效: 衡量综合能源系统在满足能源需求的同时,对能源的利用效率、经济性和环境影响等方面的综合考虑。提高综合能效意味着在维持能源供应的同时,更有效地利用资源并降低环境影响。
综合而言,这些关键词揭示了一种面向未来的、考虑多方面因素的综合能源系统优化方法。这包括对不确定性的充分考虑、在多个时间尺度上的灵活调度、利用多场景技术进行全面建模、应用模糊优化以适应不确定性,以及追求在多个方面综合考虑的系统综合能效。这种方法旨在提高综合能源系统的稳定性、可靠性和可持续性。
仿真算例:
以广东某电压等级为 10 kV 的 IES 工业园区为 例分析本文所提优化调度方法的效果,园区的供能 结构如图 1 所示,园区内各类能源设备参数及数量 如附录表 B1 所示。受最大充放能功率的限制,园 区储能设备完成一次充放能耗时较长,且考虑到不 规则充放能会损伤储能设备寿命,因此设定储能设 备每天进行一次充放能循环。广州于 2021 年 12 月 起执行的分时电价如附录表 B2 所示,天然气价格 为 3.80 元/m3,根据天然气热值(9.7 kWh/m3 )可折算 为 0.392 元/(kWh)。碳排放强度参数如附录表 B3 所示,碳排放价格为 252 元/t。本文假设燃气机组 的碳排放配额参照《2019—2020 年全国碳排放权交 易配额总量设定与分配实施方案(发电行业)》给定。 在处理器型号 Intel Core i7-8700 3.20GHz、内 存 16GB 的计算机上计算,程序语言为 MATLAB R2018b,使用 CPLEX 12.8 优化器。
仿真程序复现思路:
经过处理的日前优化模型不再含有分式项,因 此建立的日前–日内优化模型可以通过线性求解器 进行求解。由于将综合能效优化问题进行线性化后 会影响成本目标的表达形式,给编程求解造成困 难,且常用的线性加权法虽然可以按照目标重要程 度和量纲上的差异赋予相应权重系数,但多数情况 下权重的合理取值较为困难,因此本文在日前多目 标优化中采用主目标函数法求解 Pareto 最优解。为 方便编程,选取综合能效最高为目标,将成本转化 为约束条件进行优化,通过变步长地改变成本上限 约束,遍历求解获得 Pareto 最优前沿。
根据描述的情景和要求,在仿真分析中,主要任务是优化调度方法的效果,考虑到供能结构、能源设备参数、电价、天然气价格、碳排放等多个因素。以下是可能的仿真复现思路,并以伪代码形式展示:
仿真思路:
数据准备:
- 收集广东某电压等级为 10 kV 的 IES 工业园区的供能结构数据,包括各类能源设备的参数和数量。
- 获取分时电价、天然气价格、碳排放强度参数等相关数据。
- 理解和整理碳排放配额相关信息。
模型建立与优化器准备:
- 使用 MATLAB 编程语言。
- 安装 CPLEX 12.8 优化器。
仿真步骤:
- 定义能源系统模型和优化目标。
- 以广东某 10 kV IES 工业园区为例,在 MATLAB 中建立能源系统的数学模型,基于描述的各类能源设备参数和数量以及供能结构。
- 将优化问题转化为数学表达式,其中考虑电价、天然气价格、碳排放价格等因素。
- 根据描述中的复杂性,将综合能效最高作为主要目标,将成本作为约束条件。
- 使用 CPLEX 12.8 优化器求解多目标优化问题,采用主目标函数法求解 Pareto 最优解。
- 通过逐步改变成本上限约束,遍历求解获得 Pareto 最优前沿。
伪代码表示(MATLAB 部分):
% 数据准备
% 从附录 B1 获取工业园区各类能源设备参数和数量
% 获取附录 B2 中的分时电价、天然气价格等数据
% 理解和整理碳排放配额相关信息
% 示例数据
equipmentParameters = readEquipmentParameters('附录B1.csv');
electricityPrice = readElectricityPrice('附录B2.csv');
gasPrice = 3.80; % 元/m3
carbonIntensity = readCarbonIntensity('附录B3.csv');
carbonPrice = 252; % 元/t
% 定义变量和参数
% 定义能源设备参数和数量
% 定义电价、天然气价格、碳排放价格等参数
% 示例变量和参数
numEquipmentTypes = length(equipmentParameters);
numTimeSlots = length(electricityPrice);
demand = zeros(numEquipmentTypes, numTimeSlots); % 能源需求
% 其他变量的初始化
% 建立数学模型
% 定义能源系统模型
% 构建优化问题,考虑多目标优化
% 创建 CPLEX 优化问题对象
problem = createOptimizationProblem(equipmentParameters, electricityPrice, gasPrice, carbonIntensity, carbonPrice);
% 设置 CPLEX 优化器参数
options = cplexoptimset('cplex');
options.Display = 'on';
% 设定其他优化器参数
% 多目标优化求解
% 设定目标函数和约束条件
% 将成本作为约束条件,综合能效最高作为主要目标
% 通过变步长改变成本上限约束,求解 Pareto 最优解
% 优化过程
paretoFront = [];
costUpperLimit = initialCostUpperLimit;
while costUpperLimit <= maxCostUpperLimit
% 设定成本上限约束
problem = setCostConstraint(problem, costUpperLimit);
% CPLEX 求解
[x, fval, exitflag, output] = cplexmilp(problem, [], [], [], [], [], [], options);
% 处理求解结果
paretoFront = [paretoFront; fval];
% 增加成本上限
costUpperLimit = costUpperLimit + stepSize;
end
% 结果展示
% 输出 Pareto 最优前沿结果
disp('Pareto 最优前沿:');
disp(paretoFront);
% 辅助函数
function parameters = readEquipmentParameters(filename)
% 从 CSV 文件读取设备参数
% 实际实现需要根据文件格式进行解析
% 返回一个结构体或矩阵包含设备参数
parameters = [];
end
function price = readElectricityPrice(filename)
% 从 CSV 文件读取分时电价
% 实际实现需要根据文件格式进行解析
% 返回一个向量或矩阵包含电价
price = [];
end
function intensity = readCarbonIntensity(filename)
% 从 CSV 文件读取碳排放强度
% 实际实现需要根据文件格式进行解析
% 返回一个向量或矩阵包含碳排放强度
intensity = [];
end
function problem = createOptimizationProblem(parameters, electricityPrice, gasPrice, carbonIntensity, carbonPrice)
% 创建优化问题对象
% 包括定义变量、目标函数和约束条件
% 返回 CPLEX 优化问题对象
problem = [];
% 具体实现需要根据模型进行构建
end
function problem = setCostConstraint(problem, costUpperLimit)
% 设置成本上限约束
% 输入:优化问题对象,成本上限
% 输出:更新后的优化问题对象
problem = [];
% 具体实现需要根据模型进行设置
end
请注意,上述代码中的很多函数和细节都是占位符,实际实现需要根据具体的问题和数据进行调整。在实际编写时,可以根据具体的优化模型和算法来组织代码。希望这个更详细的伪代码能够帮助您更好地理解仿真程序的编写过程。