开源代码分享(9)—面向100%清洁能源的发输电系统扩展规划(附matlab代码)

1.背景介绍

1.1摘要

本文提出了一种新颖的建模框架和基于分解的解决策略,将随机规划(SP)和鲁棒优化(RO)相结合,以应对协调中长期电力系统规划中的多重不确定性。从独立系统运营商(ISO)的角度出发,问题被建模为一个多年的发电和输电规划问题,旨在最小化二进制和连续不确定性下的扩展和运营成本,即系统元件事故和负荷/发电变化。RO利用经修正的事故准则来捕捉N-k事故,而SP嵌入RO通过使用具有时空相关性的历史数据生成操作场景来考虑负荷/发电不确定性。原始混合模型非常复杂,但通过基于列-约束生成和L型算法的分解策略可以减轻其复杂性。我们应用我们的模型来进行长期系统规划,研究了高比例可再生能源渗透度的情况,以及长期规划中100%可再生能源的情况。在多尺度测试系统上进行的数值实验验证了所提出方法的有效性。

1.2引言

对于高可再生能源渗透的电力系统的运营模式和经济状况的研究,引起了学术界和工业界的广泛关注。可再生能源虽然具有清洁能源和零运营成本的优势,但其随机发电模式对电力系统的可靠性构成了挑战,尤其是当电网需要为突发情况提供高水平的备用能力时。因此,尽管美国政府和更广泛的社区极力鼓励可再生能源投资[1],但在高渗透可再生能源的情况下的系统规划仍需要进一步研究。

迄今为止,研究人员已经在基于不确定性的系统规划方面做了广泛的工作[2]-[5]。从ISO的角度来看,发电机和输电线路是最大的可靠性问题,这在许多运行问题中经常存在,例如机组组合问题[6]和输电规划问题[2]。鲁棒优化(RO)可以有效应对这种不确定性,具体描述在[2]和[7]中。RO的基本思想是找到最坏情况,然后做出预防性决策,这也使解决方案高度保守。另一方面,可再生能源和弹性需求的不确定性是系统规划师面临的另一个挑战。大量的文献(例如[8]和[9])也采用RO来处理这种不确定性,通过设置保守边界。然而,相对而言,随机规划(SP)比RO提供了较少保守的解决方案,我们可以利用历史数据生成场景。特别是对于具有高可再生能源渗透的大型系统,通过场景生成,如蒙特卡洛模拟结合多阶段场景树[10],能够准确捕捉可再生能源和需求的时空相关性。

在当今的输电网络中,不确定性层出不穷,例如发电机/线路的二进制状态和持续发电/负荷的波动性。因此,将SP和RO结合起来是一种具有更高可靠性的有前途的方法。最近,许多研究也考虑了融合了持续形式的混合SP和RO形式,如[3]、[5]和[11],但这仅对不确定性进行了有限的评估。很少有研究同时考虑电力系统元件的事故和随机发电,尤其是在高可再生能源渗透水平下的发电和输电扩展问题(G&TEP)中。

由于其非凸性和涉及的不确定性,G&TEP在多重不确定性下的联合优化是一个棘手的问题。A. Moreira等人[4]在连续不确定性中融合了二进制事故,但没有探索改进算法以促进解决方案。L. Gallego等人[12]使用启发式算法来避免求解复杂的模型,但得到的是局部最优解。然而,评估所获得的最优解与全局最优解之间的差距并不容易。我们认为,在像电力系统规划这样可能涉及多个规划年份且不需要实时解决的大规模经济评估中,如果我们能获得一个保证的全局最优解,将是更好的选择。这可以看作是我们提出的方法与那些智能方法相比的优势。此外,大多数现有的研究解决单年度规划问题[11]、[13]、[14],这些问题并未涵盖电力系统规划的某些方面,如发电机投产或退役的时机。然而,在我们的研究中,我们的目标是调查在系统中进行超高可再生能源安装是否有益。由于可再生单位被广泛认为是没有变动运行成本的单位[15],可再生能源投资的经济回报可能在长期内超过传统单位。因此,为了确保对不同发电技术进行公正比较,我们还考虑了投资成本并拟揭示可再生能源投资的成本效益,尤其是在超高可再生能源渗透案例下。

为了研究百分之百可再生能源的系统,可再生能源之间的相关性也是至关重要的,例如不同地区的风能,风能和太阳能,风能和需求等。在任何时刻,系统应该有足够的可再生能源发电量来满足需求。然而,系统规划者必须采取系统范围的方法,考虑区域间的相互支持,避免特定位置的发电短缺。此外,即使在发生N-k线路故障的情况下,充足的输电能力对于区域间能源交换以保持系统能量平衡至关重要。最终的最优G&TEP投资应考虑到最佳的发电组合和长期的可再生能源发电前景。一些研究人员(例如[14])认为,100%可再生能源的盈利能力不如传统能源发电组合,但这实际上对系统设置非常敏感。

在本文中,我们提出了一种有效的G&TEP建模和解决方案方法,以实现100%可再生能源渗透。[16]提出的柱塔与约束生成(C&CG)方法可以将我们的问题分解为一个主问题和一个子问题。这种方法已被[3]、[6]、[11]等许多研究采用,并成为多阶段RO问题的主流解决方法。此外,正如[11]和[4]中报道的那样,解决子问题消耗了大部分计算时间。我们提出应用L形法[17]来进一步促进子问题的求解,这也可以实现并行计算。同时,我们特别考虑基于蒙特卡罗采样的区域可再生能源对短期和长期时空相关性与负载之间的相关性。图1提供了我们提出的方法的总体框架。

与最先进的研究相比,本文的主要贡献有三个方面。

  1. 我们分析了在超高水平的可再生能源渗透下的协调系统规划,并通过特定参数设置,在IEEE测试系统和WECC系统上调查了100%可再生能源渗透可能存在的问题。

  2. 为了应对G&TEP中的多重不确定性,我们提出了一个三阶段的多年鲁棒共优化模型,其中包含随机调整模型。鲁棒对偶模型捕捉到了N-k容错,而基于样本的情景考虑了可再生能源与负载之间的时空相关性,实现了需求和可再生能源的不确定性。

  3. 我们利用C&CG算法将整个问题分解为主从结构,并基于对偶理论改进了随机子问题,并采用L形法进行了分解。这大大提高了计算效率,多尺度测试案例验证了所提出的方法的有效性。

本文的其余部分安排如下:第三节描述了G&TEP模型的数学表达;第四节介绍了所提出的解决策略和详细的流程图;案例研究和可扩展性测试分别在第五节和第六节分析;第七节对本文进行总结,并提出几点意见。

2.数学模型

在本节中,我们将详细介绍复合不确定性G&TEP的数学模型。首先,我们将展示混合SP和RO模型的三阶段确定等效形式(DEF)。在此,我们所提到的"阶段"指的是所提出的优化框架的数学结构。

目标函数(1)描述了提议的发电机和输电线路扩建的投资成本,以及计划的常规发电机的运行成本和可能的负荷削减。

约束条件(1a)-(1b)对发电机和输电线路的投资预算进行建模,并构建了第一阶段的可行区域。约束条件(1c)-(1e)表示一旦在第t年进行了投资,该组件将在规划时间的剩余部分可用。控制集合N(∗,t)表示候选单位和规划时间之间的映射,我们根据可投资的年限对候选单位进行分类。这些约束条件构成了第一阶段的约束空间。约束条件(1f)显示了发电机和输电线路的N-k准则,其中Kt可以调整以执行不同的应急分析。该约束条件是第二阶段的不确定性集合[18]的形式(第二阶段的目标函数可以被视为{0 a},其中a是故障指标的向量)。该不确定性集合是离散多面体。

对于第三阶段,我们首先解释t和h之间的关系。由于我们考虑的是长期规划问题,在整个一年的8760个小时上进行遍历会给模型带来很重的复杂性。因此,我们考虑第三阶段采用24小时运行作为对一个典型日的小时调度进行分析。这种操作在[14]中也被采用。然后,时间索引映射集合M可以描述为

此外,我们还注意到该设计进一步推广了选择代表性小时/天的应用。当系统规划师打算选择更多代表性小时进行G&TEP研究时,通过增加小时数来调整集合M是微不足道的。这也表明我们提出的框架非常灵活和通用,可以根据系统规划师在G&TEP问题中的需求进行扩展。

值得注意的是,我们公式中的故障指标是以天为基准的变量。正如我们所指出的,第三阶段问题可以视为一个24小时的经济调度问题。对于这种运行问题,通常在整个运行周期内,即24小时内,考虑事故情况[19]。实际上,94%的计划和运行中的故障持续时间超过2小时,其中34.6%的故障持续时间超过48小时[20]。在一些系统规划的研究中,也采用了长期的应急情况[5]。为了简化起见,由于我们选择了一年中的一天作为多个不确定情景的代表性日期,我们稍微滥用了符号,并使用一个以年为基准的索引来表示以天为基准的变量,例如aG g,t。此外,对于第三阶段的运营问题,我们选择使用一个具有多个情景的代表性日进行研究,以调查区域可再生能源和负荷之间的短期相关性,这可以通过小时级的运营更好地捕捉,正如[14]中所采用的方式。

特别地,约束条件(1g)是节点平衡约束,约束条件(1h)定义了直流线路流动方程。需要注意的是,这里我们稍微滥用了符号,使得单位电抗A'在系统基准MVA下应进行归一化处理。约束条件(1i)-(1l)是候选线路和现有线路的线路流量限制约束。约束条件(1m)-(1p)是候选发电机和现有常规发电机以及可再生发电机的发电能力约束。需要注意的是,可再生发电机可以进行调度,因此我们允许可再生能源的削减。约束条件(1q)表示相位角限制。我们可以发现,所有第三阶段的变量都与情景索引ω相关联,用于不同可再生能源和负荷实现的不同情况。需要注意的是,二进制变量和变量的乘法,比如(1h),(1i),(1j),(1m)和(1o),使得该模型成为混合整数非线性模型。

所提出的模型(1)是基于混合随机和鲁棒优化的系统规划的非常通用的框架,并且可以轻松调整或扩展以包括更多关于各种研究方向或工业应用的约束条件。例如,在我们的案例研究中,我们没有任何现有的发电机,因此可以在公式中忽略约束条件(1n)和(1p)。我们还修改了(1)以包含独特的案例设置,例如区域N-1容错和一个候选母线的多个投资,可以通过将约束条件(1f)替换为(1r)并分别添加约束条件(1s)来实现,如下所示。

其中,z表示区域指示符,Z是总区域集合,ncg表示热力发电机的候选母线,ncr表示可再生发电机的候选母线。

3.模型求解方法

在所描述的模型的第三部分中,提出了一个难以解决的三阶段混合整数非线性问题,其中包含随机补偿。然而,我们可以将原始问题分解为一个混合整数线性规划(MILP)主问题和一个混合整数双线性子问题的结构,可以基于C&CG算法的理论进行迭代求解[16]。线性放松技术可以处理子问题的非线性。此外,可以使用L形法对子问题进行进一步的分解[17]。

图2描述了整体的解决方案工作流程。通常,我们采用C&CG算法将问题分解为主-从结构,然后L形算法根据不同的场景进一步对子问题进行分解。我们将在问题的描述中解释图2的过程和符号表示。为了更简洁,下面使用了紧凑的形式。

3.1主问题

在C&CG过程中,我们将主问题表示为式(2)。其中x表示一阶段变量,z表示第三阶段变量,其迭代索引为k,包含当前迭代k之前的所有过去迭代的信息。IC和PC表示投资成本和惩罚成本的向量,而pG和r表示发电机出力和负荷放弃的向量。φ是一个辅助变量,用来构建第二阶段问题的松弛下界。第三阶段变量的约束条件为式(2d)。需要注意的是,这里的第二阶段变量a是固定的,它们是从子问题中获取的。因此,主问题现在成为一个确定性的混合整数线性规划问题,可以通过现成的求解器有效地求解。这里,x包括一阶段变量,z包括第三阶段变量。

3.2子问题

C&CG程序的子问题是由第二和第三阶段问题构建而成的,即确定情景下最坏情况的问题。在这里,变量a包括第二阶段的变量。

请注意,约束中的第一阶段变量成为了在上一次迭代中从主问题中获得的固定参数。由于(3)的内最小化问题具有线性规划特性,根据强对偶理论,在给出第二阶段的客观句柄后,等价于将(3)重写为它的对偶形式(4)。

其中Q(a,π)表示二元化的目标函数,π为(3)中所有对偶变量的向量,Γa,π由约束空间组成。为了更好地演示,问题(4)被进一步修改为一个最小化问题(5),在那里我们以(5a)-(5c)的形式重写了Γa,π。具体来说,(5a)构造了不确定性集,(5b)制定了操作约束,并且(5c)确保了KKT条件的双重可行性。

请注意,在目标函数中,Q(a,π)包含了由主问题确定的第一阶段决策x∗。该子问题展现了典型的两阶段随机混合整数双线性最小化结构。此外,线性松弛技术例如Big M方法(见附录A)可以有效地放松双线性部分而不损失准确性。由于整数变量的二进制特性使得凸松弛更加紧密,我们可以确保所得到的解的准确性。根据随机L形法[17],具有线性回应和有限支持的两阶段混合整数随机规划也是可分解的,如下所示。

在l型主问题中,η是一个辅助变量,αo和βo是由l型子问题的对偶计算出来的子梯度,这将在下一小节中讨论。请注意,这个公式是用于单次切割的l形算法的。

当l形主问题得到一个∗的最优解时,子问题接收到这个解并解决操作问题。设ξ∗(ω)表示运算约束(7a)的最优对偶解。在求解了可以并行完成的ω个单个l形子问题后,每次迭代的子梯度可以计算如下。

然后,l形主问题得到一个最优性切割(6b)。最后,∗形过程的内部迭代循环确定了最终的最坏情况偶然事件,并将其发送回C&CG主问题。由于我们实现了减负荷,所有问题的可行性都得到了保证,因此可行性削减可以忽略不计。

根据收敛性分析[16]和[17],该算法通过第二阶段随机追索不确定集的有限极值点和有限支持来保证其收敛性。图2显示,C&CG过程不会影响嵌入式L形方法的收敛速度,这意味着我们仍然保持了C&CG方法[16]的快速收敛。C&CG部分的收敛性依赖于L形算法的收敛性,并由随机追索中有限的支持度来保证。根据[4]和[11]的报道,解决原始子问题占据了大部分的计算时间。采用L形方法时,我们利用并行计算的优势来方便解决子问题。

4.算例分析

为了说明我们提出的方法,我们修改了IEEE 30节点系统,使其减少传输线路并且没有现有的发电机。图3显示了详细的拓扑结构,其中蓝色和橙色的节点分别表示建设风力发电机和太阳能发电机的候选位置。热力发电机可以投资于任何负荷节点。虚线表示候选输电线路。表格I显示了投资信息,可以在[24]--[26]中找到参考资料。修改后的IEEE 30节点系统每日的峰值功率需求总和为2,000兆瓦,分布在三个地区。我们将负荷削减的惩罚成本设置为1,000美元/兆瓦时。

5.完整代码获取

代码获取链接如下:

https://github.com/thiagojluz/IEEE-Thiago-Luz

相关推荐
IT猿手2 小时前
最新高性能多目标优化算法:多目标麋鹿优化算法(MOEHO)求解TP1-TP10及工程应用---盘式制动器设计,提供完整MATLAB代码
开发语言·深度学习·算法·机器学习·matlab·多目标算法
__lost2 小时前
MATLAB直接推导函数的导函数和积分形式(具体方法和用例)
数学·算法·matlab·微积分·高等数学
IT猿手7 小时前
SDMTSP:粒子群优化算法PSO求解单仓库多旅行商问题,可以更改数据集和起点(MATLAB代码)
开发语言·人工智能·matlab·智能优化算法
我爱C编程15 小时前
基于Qlearning强化学习的机器人路线规划matlab仿真
matlab·机器人·强化学习·路线规划·qlearning·机器人路线规划
Evand J1 天前
LOS/NLOS环境建模与三维TOA定位,MATLAB仿真程序,可自定义锚点数量和轨迹点长度
开发语言·matlab
孤亭远见1 天前
COMSOL with Matlab
matlab
图南楠2 天前
simulink离散传递函数得到差分方程并用C语言实现
matlab
信号处理学渣2 天前
matlab画图,选择性显示legend标签
开发语言·matlab
机器学习之心2 天前
Bayes-GRU-Attention的数据多特征分类预测Matlab实现
matlab·分类·gru
叶庭云2 天前
Matlab 和 R 语言的数组索引都是从 1 开始,并且是左闭右闭的
matlab·编程语言·r·数组索引·从 1 开始